diff --git a/DiscoveryJson/aiplatform.v1.json b/DiscoveryJson/aiplatform.v1.json index cc7c71a29fc..1c2d4b5cd5b 100644 --- a/DiscoveryJson/aiplatform.v1.json +++ b/DiscoveryJson/aiplatform.v1.json @@ -4466,6 +4466,34 @@ "resources": { "features": { "methods": { + "batchCreate": { + "description": "Creates a batch of Features in a given FeatureGroup.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features:batchCreate", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureGroups.features.batchCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/features:batchCreate", + "request": { + "$ref": "GoogleCloudAiplatformV1BatchCreateFeaturesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a new Feature in a given FeatureGroup.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", @@ -17846,7 +17874,7 @@ } } }, - "revision": "20241001", + "revision": "20241007", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -17897,6 +17925,10 @@ "$ref": "CloudAiLargeModelsVisionImageRAIScores", "description": "RAI scores for generated image." }, + "imageSize": { + "$ref": "CloudAiLargeModelsVisionImageImageSize", + "description": "Image size. The size of the image. Can be self reported, or computed from the image bytes." + }, "raiInfo": { "$ref": "CloudAiLargeModelsVisionRaiInfo", "description": "RAI info for image." @@ -17916,6 +17948,25 @@ }, "type": "object" }, + "CloudAiLargeModelsVisionImageImageSize": { + "description": "Image size.", + "id": "CloudAiLargeModelsVisionImageImageSize", + "properties": { + "channels": { + "format": "int32", + "type": "integer" + }, + "height": { + "format": "int32", + "type": "integer" + }, + "width": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "CloudAiLargeModelsVisionImageRAIScores": { "description": "RAI scores for generated image returned.", "id": "CloudAiLargeModelsVisionImageRAIScores", @@ -20496,6 +20547,10 @@ "description": "The ID of the location to store protected artifacts. e.g. us-central1. Populate only when the location is different than CustomJob location. List of supported locations: https://cloud.google.com/vertex-ai/docs/general/locations", "type": "string" }, + "pscInterfaceConfig": { + "$ref": "GoogleCloudAiplatformV1PscInterfaceConfig", + "description": "Optional. Configuration for PSC-I for CustomJob." + }, "reservedIpRanges": { "description": "Optional. A list of names for the reserved ip ranges under the VPC network that can be used for this job. If set, we will deploy the job within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", "items": { @@ -23839,6 +23894,10 @@ "description": "Configuration for Sync. Only one option is set.", "id": "GoogleCloudAiplatformV1FeatureViewSyncConfig", "properties": { + "continuous": { + "description": "Optional. If true, syncs the FeatureView in a continuous manner to Online Store.", + "type": "boolean" + }, "cron": { "description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", "type": "string" @@ -24732,6 +24791,10 @@ "description": "Generation config.", "id": "GoogleCloudAiplatformV1GenerationConfig", "properties": { + "audioTimestamp": { + "description": "Optional. If enabled, audio timestamp will be included in the request to the model.", + "type": "boolean" + }, "candidateCount": { "description": "Optional. Number of candidates to generate.", "format": "int32", @@ -30943,6 +31006,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1PscInterfaceConfig": { + "description": "Configuration for PSC-I.", + "id": "GoogleCloudAiplatformV1PscInterfaceConfig", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1PublisherModel": { "description": "A Model Garden Publisher Model.", "id": "GoogleCloudAiplatformV1PublisherModel", @@ -32988,7 +33057,7 @@ "type": "string" }, "enum": { - "description": "Optional. Possible values of the element of Type.STRING with enum format. For example we can define an Enum Direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]}", + "description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", "items": { "type": "string" }, @@ -34898,6 +34967,162 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1SchemaPromptApiSchema": { + "description": "The A2 schema of a prompt.", + "id": "GoogleCloudAiplatformV1SchemaPromptApiSchema", + "properties": { + "apiSchemaVersion": { + "description": "The Schema version that represents changes to the API behavior.", + "type": "string" + }, + "executions": { + "description": "A list of execution instances for constructing a ready-to-use prompt.", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution" + }, + "type": "array" + }, + "multimodalPrompt": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt", + "description": "Multimodal prompt which embeds preambles to prompt string." + }, + "structuredPrompt": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt", + "description": "The prompt variation that stores preambles in separate fields." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution": { + "description": "A prompt instance's parameters set that contains a set of variable values.", + "id": "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution", + "properties": { + "arguments": { + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue" + }, + "description": "Maps variable names to their value.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue": { + "description": "The value of a variable in prompt.", + "id": "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue", + "properties": { + "partList": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList", + "description": "The parts of the variable value." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt": { + "description": "Prompt variation that embeds preambles to prompt string.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt", + "properties": { + "promptMessage": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", + "description": "The prompt message." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecPartList": { + "description": "A list of elements and information that make up a portion of prompt.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecPartList", + "properties": { + "parts": { + "description": "A list of elements that can be part of a prompt.", + "items": { + "$ref": "GoogleCloudAiplatformV1Part" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage": { + "description": "The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", + "properties": { + "contents": { + "description": "The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + }, + "type": "array" + }, + "generationConfig": { + "$ref": "GoogleCloudAiplatformV1GenerationConfig", + "description": "Generation config." + }, + "model": { + "description": "The model name.", + "type": "string" + }, + "safetySettings": { + "description": "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", + "items": { + "$ref": "GoogleCloudAiplatformV1SafetySetting" + }, + "type": "array" + }, + "systemInstruction": { + "$ref": "GoogleCloudAiplatformV1Content", + "description": "The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph." + }, + "toolConfig": { + "$ref": "GoogleCloudAiplatformV1ToolConfig", + "description": "Tool config. This config is shared for all tools provided in the request." + }, + "tools": { + "description": "A list of `Tools` the model may use to generate the next 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.", + "items": { + "$ref": "GoogleCloudAiplatformV1Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt": { + "description": "Prompt variation that stores preambles in separate fields.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt", + "properties": { + "context": { + "$ref": "GoogleCloudAiplatformV1Content", + "description": "Preamble: The context of the prompt." + }, + "examples": { + "description": "Preamble: A set of examples for expected model response.", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" + }, + "type": "array" + }, + "inputPrefixes": { + "description": "Preamble: The input prefixes before each example input.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputPrefixes": { + "description": "Preamble: The output prefixes before each example output.", + "items": { + "type": "string" + }, + "type": "array" + }, + "promptMessage": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", + "description": "The prompt message." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1SchemaTablesDatasetMetadata": { "description": "The metadata of Datasets that contain tables data.", "id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadata", @@ -35039,6 +35264,10 @@ "description": "User-created prompt note. Note size limit is 2KB.", "type": "string" }, + "promptApiSchema": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptApiSchema", + "description": "The API schema of the prompt to support both UI and SDK usages." + }, "promptType": { "description": "Type of the prompt dataset.", "type": "string" @@ -39220,7 +39449,7 @@ "id": "GoogleCloudAiplatformV1ToolParameterKVMatchSpec", "properties": { "useStrictStringMatch": { - "description": "Optional. Whether to use STRCIT string match on parameter values.", + "description": "Optional. Whether to use STRICT string match on parameter values.", "type": "boolean" } }, diff --git a/DiscoveryJson/aiplatform.v1beta1.json b/DiscoveryJson/aiplatform.v1beta1.json index 32ea908fc47..5603db553b5 100644 --- a/DiscoveryJson/aiplatform.v1beta1.json +++ b/DiscoveryJson/aiplatform.v1beta1.json @@ -6165,6 +6165,34 @@ "resources": { "features": { "methods": { + "batchCreate": { + "description": "Creates a batch of Features in a given FeatureGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features:batchCreate", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureGroups.features.batchCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/features:batchCreate", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a new Feature in a given FeatureGroup.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", @@ -21202,7 +21230,7 @@ } } }, - "revision": "20241001", + "revision": "20241007", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -21253,6 +21281,10 @@ "$ref": "CloudAiLargeModelsVisionImageRAIScores", "description": "RAI scores for generated image." }, + "imageSize": { + "$ref": "CloudAiLargeModelsVisionImageImageSize", + "description": "Image size. The size of the image. Can be self reported, or computed from the image bytes." + }, "raiInfo": { "$ref": "CloudAiLargeModelsVisionRaiInfo", "description": "RAI info for image." @@ -21272,6 +21304,25 @@ }, "type": "object" }, + "CloudAiLargeModelsVisionImageImageSize": { + "description": "Image size.", + "id": "CloudAiLargeModelsVisionImageImageSize", + "properties": { + "channels": { + "format": "int32", + "type": "integer" + }, + "height": { + "format": "int32", + "type": "integer" + }, + "width": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "CloudAiLargeModelsVisionImageRAIScores": { "description": "RAI scores for generated image returned.", "id": "CloudAiLargeModelsVisionImageRAIScores", @@ -24415,6 +24466,10 @@ "description": "The ID of the location to store protected artifacts. e.g. us-central1. Populate only when the location is different than CustomJob location. List of supported locations: https://cloud.google.com/vertex-ai/docs/general/locations", "type": "string" }, + "pscInterfaceConfig": { + "$ref": "GoogleCloudAiplatformV1beta1PscInterfaceConfig", + "description": "Optional. Configuration for PSC-I for CustomJob." + }, "reservedIpRanges": { "description": "Optional. A list of names for the reserved ip ranges under the VPC network that can be used for this job. If set, we will deploy the job within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", "items": { @@ -28238,6 +28293,10 @@ "description": "Configuration for Sync. Only one option is set.", "id": "GoogleCloudAiplatformV1beta1FeatureViewSyncConfig", "properties": { + "continuous": { + "description": "Optional. If true, syncs the FeatureView in a continuous manner to Online Store.", + "type": "boolean" + }, "cron": { "description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", "type": "string" @@ -29323,6 +29382,10 @@ "description": "Generation config.", "id": "GoogleCloudAiplatformV1beta1GenerationConfig", "properties": { + "audioTimestamp": { + "description": "Optional. If enabled, audio timestamp will be included in the request to the model.", + "type": "boolean" + }, "candidateCount": { "description": "Optional. Number of candidates to generate.", "format": "int32", @@ -35980,6 +36043,10 @@ "description": "Optional. Whether to do component level validations before job creation.", "type": "boolean" }, + "pscInterfaceConfig": { + "$ref": "GoogleCloudAiplatformV1beta1PscInterfaceConfig", + "description": "Optional. Configuration for PSC-I for PipelineJob." + }, "reservedIpRanges": { "description": "A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", "items": { @@ -39681,7 +39748,7 @@ "type": "string" }, "enum": { - "description": "Optional. Possible values of the element of Type.STRING with enum format. For example we can define an Enum Direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]}", + "description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", "items": { "type": "string" }, @@ -40920,6 +40987,70 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig": { + "description": "The configuration for grounding checking.", + "id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig", + "properties": { + "disableAttribution": { + "deprecated": true, + "description": "If set, skip finding claim attributions (i.e not generate grounding citation).", + "type": "boolean" + }, + "sources": { + "description": "The sources for the grounding checking.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry": { + "description": "Single source entry for the grounding checking.", + "id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry", + "properties": { + "enterpriseDatastore": { + "deprecated": true, + "description": "The uri of the Vertex AI Search data source. Deprecated. Use vertex_ai_search_datastore instead.", + "type": "string" + }, + "inlineContext": { + "description": "The grounding text passed inline with the Predict API. It can support up to 1 million bytes.", + "type": "string" + }, + "type": { + "description": "The type of the grounding checking source.", + "enum": [ + "UNSPECIFIED", + "WEB", + "ENTERPRISE", + "VERTEX_AI_SEARCH", + "INLINE" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false + ], + "enumDescriptions": [ + "", + "Uses Web Search to check the grounding.", + "Uses Vertex AI Search to check the grounding. Deprecated. Use VERTEX_AI_SEARCH instead.", + "Uses Vertex AI Search to check the grounding", + "Uses inline context to check the grounding." + ], + "type": "string" + }, + "vertexAiSearchDatastore": { + "description": "The uri of the Vertex AI Search data source.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1SchemaPredictParamsImageClassificationPredictionParams": { "description": "Prediction model parameters for Image Classification.", "id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsImageClassificationPredictionParams", @@ -41527,6 +41658,162 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1SchemaPromptApiSchema": { + "description": "The A2 schema of a prompt.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptApiSchema", + "properties": { + "apiSchemaVersion": { + "description": "The Schema version that represents changes to the API behavior.", + "type": "string" + }, + "executions": { + "description": "A list of execution instances for constructing a ready-to-use prompt.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution" + }, + "type": "array" + }, + "multimodalPrompt": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt", + "description": "Multimodal prompt which embeds preambles to prompt string." + }, + "structuredPrompt": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt", + "description": "The prompt variation that stores preambles in separate fields." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution": { + "description": "A prompt instance's parameters set that contains a set of variable values.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution", + "properties": { + "arguments": { + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue" + }, + "description": "Maps variable names to their value.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue": { + "description": "The value of a variable in prompt.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue", + "properties": { + "partList": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList", + "description": "The parts of the variable value." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt": { + "description": "Prompt variation that embeds preambles to prompt string.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt", + "properties": { + "promptMessage": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", + "description": "The prompt message." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList": { + "description": "A list of elements and information that make up a portion of prompt.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList", + "properties": { + "parts": { + "description": "A list of elements that can be part of a prompt.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1Part" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage": { + "description": "The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", + "properties": { + "contents": { + "description": "The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1Content" + }, + "type": "array" + }, + "generationConfig": { + "$ref": "GoogleCloudAiplatformV1beta1GenerationConfig", + "description": "Generation config." + }, + "model": { + "description": "The model name.", + "type": "string" + }, + "safetySettings": { + "description": "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SafetySetting" + }, + "type": "array" + }, + "systemInstruction": { + "$ref": "GoogleCloudAiplatformV1beta1Content", + "description": "The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph." + }, + "toolConfig": { + "$ref": "GoogleCloudAiplatformV1beta1ToolConfig", + "description": "Tool config. This config is shared for all tools provided in the request." + }, + "tools": { + "description": "A list of `Tools` the model may use to generate the next 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.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt": { + "description": "Prompt variation that stores preambles in separate fields.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt", + "properties": { + "context": { + "$ref": "GoogleCloudAiplatformV1beta1Content", + "description": "Preamble: The context of the prompt." + }, + "examples": { + "description": "Preamble: A set of examples for expected model response.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList" + }, + "type": "array" + }, + "inputPrefixes": { + "description": "Preamble: The input prefixes before each example input.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputPrefixes": { + "description": "Preamble: The output prefixes before each example output.", + "items": { + "type": "string" + }, + "type": "array" + }, + "promptMessage": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", + "description": "The prompt message." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadata": { "description": "The metadata of Datasets that contain tables data.", "id": "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadata", @@ -41634,6 +41921,94 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1SchemaTextPromptDatasetMetadata": { + "description": "The metadata of Datasets that contain Text Prompt data.", + "id": "GoogleCloudAiplatformV1beta1SchemaTextPromptDatasetMetadata", + "properties": { + "candidateCount": { + "description": "Number of candidates.", + "format": "int64", + "type": "string" + }, + "gcsUri": { + "description": "The Google Cloud Storage URI that stores the prompt data.", + "type": "string" + }, + "groundingConfig": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig", + "description": "Grounding checking configuration." + }, + "hasPromptVariable": { + "description": "Whether the prompt dataset has prompt variable.", + "type": "boolean" + }, + "logprobs": { + "description": "Whether or not the user has enabled logit probabilities in the model parameters.", + "type": "boolean" + }, + "maxOutputTokens": { + "description": "Value of the maximum number of tokens generated set when the dataset was saved.", + "format": "int64", + "type": "string" + }, + "note": { + "description": "User-created prompt note. Note size limit is 2KB.", + "type": "string" + }, + "promptApiSchema": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptApiSchema", + "description": "The API schema of the prompt to support both UI and SDK usages." + }, + "promptType": { + "description": "Type of the prompt dataset.", + "type": "string" + }, + "seedEnabled": { + "description": "Seeding enables model to return a deterministic response on a best effort basis. Determinism isn't guaranteed. This field determines whether or not seeding is enabled.", + "type": "boolean" + }, + "seedValue": { + "description": "The actual value of the seed.", + "format": "int64", + "type": "string" + }, + "stopSequences": { + "description": "Customized stop sequences.", + "items": { + "type": "string" + }, + "type": "array" + }, + "systemInstruction": { + "description": "The content of the prompt dataset system instruction.", + "type": "string" + }, + "systemInstructionGcsUri": { + "description": "The Google Cloud Storage URI that stores the system instruction, starting with gs://.", + "type": "string" + }, + "temperature": { + "description": "Temperature value used for sampling set when the dataset was saved. This value is used to tune the degree of randomness.", + "format": "float", + "type": "number" + }, + "text": { + "description": "The content of the prompt dataset.", + "type": "string" + }, + "topK": { + "description": "Top K value set when the dataset was saved. This value determines how many candidates with highest probability from the vocab would be selected for each decoding step.", + "format": "int64", + "type": "string" + }, + "topP": { + "description": "Top P value set when the dataset was saved. Given topK tokens for decoding, top candidates will be selected until the sum of their probabilities is topP.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1SchemaTextSegment": { "description": "The text segment inside of DataItem.", "id": "GoogleCloudAiplatformV1beta1SchemaTextSegment", @@ -46120,7 +46495,7 @@ "id": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchSpec", "properties": { "useStrictStringMatch": { - "description": "Optional. Whether to use STRCIT string match on parameter values.", + "description": "Optional. Whether to use STRICT string match on parameter values.", "type": "boolean" } }, diff --git a/DiscoveryJson/checks.v1alpha.json b/DiscoveryJson/checks.v1alpha.json index 8d2785dca7d..47d497b702c 100644 --- a/DiscoveryJson/checks.v1alpha.json +++ b/DiscoveryJson/checks.v1alpha.json @@ -444,7 +444,7 @@ } } }, - "revision": "20240904", + "revision": "20241013", "rootUrl": "https://checks.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -705,7 +705,10 @@ "DATA_MONITORING_OUTDATED_SDK_VERSION", "DATA_MONITORING_CRITICAL_SDK_ISSUE", "PRIVACY_POLICY_DATA_TYPE_SENSITIVE_INFO", - "DATA_MONITORING_PII_LOGCAT_LEAK" + "DATA_MONITORING_PII_LOGCAT_LEAK", + "DATA_MONITORING_MINIMIZE_PERMISSION_MEDIA", + "DATA_MONITORING_MINIMIZE_PERMISSION_CAMERA", + "DATA_MONITORING_MINIMIZE_PERMISSION_DOCUMENTS" ], "enumDescriptions": [ "Not specified.", @@ -796,7 +799,10 @@ "Checks if there are any outdated SDKs.", "Checks if there are any SDKs with critical issues.", "Checks if the Sensitive Information data type declaration matches usage.", - "Checks if there were any PII leaked to device logs." + "Checks if there were any PII leaked to device logs.", + "Checks if there are media (photo and video) permissions that are considered sensitive and should be minimized for Android.", + "Checks if there are camera use permissions that are considered sensitive and should be minimized for Android.", + "Checks if there are documents and file permissions that are considered sensitive and should be minimized for Android." ], "type": "string" } diff --git a/DiscoveryJson/cloudbilling.v1.json b/DiscoveryJson/cloudbilling.v1.json index 8675360d2c8..d592dbd04e5 100644 --- a/DiscoveryJson/cloudbilling.v1.json +++ b/DiscoveryJson/cloudbilling.v1.json @@ -751,7 +751,7 @@ } } }, - "revision": "20240517", + "revision": "20241011", "rootUrl": "https://cloudbilling.googleapis.com/", "schemas": { "AggregationInfo": { @@ -844,6 +844,10 @@ "description": "A billing account in the [Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.", "id": "BillingAccount", "properties": { + "currencyCode": { + "description": "Optional. The currency in which the billing account is billed and charged, represented as an ISO 4217 code such as `USD`. Billing account currency is determined at the time of billing account creation and cannot be updated subsequently, so this field should not be set on update requests. In addition, a subaccount always matches the currency of its parent billing account, so this field should not be set on subaccount creation requests. Clients can read this field to determine the currency of an existing billing account.", + "type": "string" + }, "displayName": { "description": "The display name given to the billing account, such as `My Billing Account`. This name is displayed in the Google Cloud Console.", "type": "string" diff --git a/DiscoveryJson/cloudidentity.v1.json b/DiscoveryJson/cloudidentity.v1.json new file mode 100644 index 00000000000..99448aa27e8 --- /dev/null +++ b/DiscoveryJson/cloudidentity.v1.json @@ -0,0 +1,4277 @@ +{ + "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": "20241010", + "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 new file mode 100644 index 00000000000..0b201eb80a3 --- /dev/null +++ b/DiscoveryJson/cloudidentity.v1beta1.json @@ -0,0 +1,5204 @@ +{ + "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": "20241010", + "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 diff --git a/DiscoveryJson/contactcenteraiplatform.v1alpha1.json b/DiscoveryJson/contactcenteraiplatform.v1alpha1.json index cce2d38b180..75de561bfbf 100644 --- a/DiscoveryJson/contactcenteraiplatform.v1alpha1.json +++ b/DiscoveryJson/contactcenteraiplatform.v1alpha1.json @@ -512,7 +512,7 @@ } } }, - "revision": "20241002", + "revision": "20241009", "rootUrl": "https://contactcenteraiplatform.googleapis.com/", "schemas": { "AdminUser": { @@ -555,7 +555,7 @@ "type": "object" }, "ContactCenter": { - "description": "Message describing ContactCenter object Next ID: 23", + "description": "Message describing ContactCenter object Next ID: 24", "id": "ContactCenter", "properties": { "adminUser": { diff --git a/DiscoveryJson/dataplex.v1.json b/DiscoveryJson/dataplex.v1.json index 32ecefda8f1..6c52fc46237 100644 --- a/DiscoveryJson/dataplex.v1.json +++ b/DiscoveryJson/dataplex.v1.json @@ -5997,7 +5997,7 @@ } } }, - "revision": "20240925", + "revision": "20241001", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -6265,6 +6265,10 @@ "format": "google-datetime", "type": "string" }, + "dataVersion": { + "description": "The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).", + "type": "string" + }, "updateTime": { "description": "The time the aspect was last updated in the source system.", "format": "google-datetime", @@ -7453,7 +7457,7 @@ "id": "GoogleCloudDataplexV1DataQualityDimension", "properties": { "name": { - "description": "The dimension name a rule belongs to. Supported dimensions are \"COMPLETENESS\", \"ACCURACY\", \"CONSISTENCY\", \"VALIDITY\", \"UNIQUENESS\", \"INTEGRITY\"", + "description": "The dimension name a rule belongs to. Supported dimensions are \"COMPLETENESS\", \"ACCURACY\", \"CONSISTENCY\", \"VALIDITY\", \"UNIQUENESS\", \"FRESHNESS\", \"VOLUME\"", "type": "string" } }, @@ -7588,7 +7592,7 @@ "type": "string" }, "dimension": { - "description": "Required. The dimension a rule belongs to. Results are also aggregated at the dimension level. Supported dimensions are \"COMPLETENESS\", \"ACCURACY\", \"CONSISTENCY\", \"VALIDITY\", \"UNIQUENESS\", \"INTEGRITY\"", + "description": "Required. The dimension a rule belongs to. Results are also aggregated at the dimension level. Supported dimensions are \"COMPLETENESS\", \"ACCURACY\", \"CONSISTENCY\", \"VALIDITY\", \"UNIQUENESS\", \"FRESHNESS\", \"VOLUME\"", "type": "string" }, "ignoreNull": { @@ -8062,21 +8066,21 @@ }, "dataProfileResult": { "$ref": "GoogleCloudDataplexV1DataProfileResult", - "description": "Output only. The result of the data profile scan.", + "description": "Output only. The result of a data profile scan.", "readOnly": true }, "dataProfileSpec": { "$ref": "GoogleCloudDataplexV1DataProfileSpec", - "description": "DataProfileScan related setting." + "description": "Settings for a data profile scan." }, "dataQualityResult": { "$ref": "GoogleCloudDataplexV1DataQualityResult", - "description": "Output only. The result of the data quality scan.", + "description": "Output only. The result of a data quality scan.", "readOnly": true }, "dataQualitySpec": { "$ref": "GoogleCloudDataplexV1DataQualitySpec", - "description": "DataQualityScan related setting." + "description": "Settings for a data quality scan." }, "description": { "description": "Optional. Description of the scan. Must be between 1-1024 characters.", @@ -8134,9 +8138,9 @@ "DATA_PROFILE" ], "enumDescriptions": [ - "The DataScan type is unspecified.", - "Data Quality scan.", - "Data Profile scan." + "The data scan type is unspecified.", + "Data quality scan.", + "Data profile scan." ], "readOnly": true, "type": "string" @@ -8454,22 +8458,22 @@ }, "dataProfileResult": { "$ref": "GoogleCloudDataplexV1DataProfileResult", - "description": "Output only. The result of the data profile scan.", + "description": "Output only. The result of a data profile scan.", "readOnly": true }, "dataProfileSpec": { "$ref": "GoogleCloudDataplexV1DataProfileSpec", - "description": "Output only. DataProfileScan related setting.", + "description": "Output only. Settings for a data profile scan.", "readOnly": true }, "dataQualityResult": { "$ref": "GoogleCloudDataplexV1DataQualityResult", - "description": "Output only. The result of the data quality scan.", + "description": "Output only. The result of a data quality scan.", "readOnly": true }, "dataQualitySpec": { "$ref": "GoogleCloudDataplexV1DataQualitySpec", - "description": "Output only. DataQualityScan related setting.", + "description": "Output only. Settings for a data quality scan.", "readOnly": true }, "endTime": { @@ -8525,9 +8529,9 @@ "DATA_PROFILE" ], "enumDescriptions": [ - "The DataScan type is unspecified.", - "Data Quality scan.", - "Data Profile scan." + "The data scan type is unspecified.", + "Data quality scan.", + "Data profile scan." ], "readOnly": true, "type": "string" @@ -8694,6 +8698,10 @@ "description": "Details about the action.", "id": "GoogleCloudDataplexV1DiscoveryEventActionDetails", "properties": { + "issue": { + "description": "The human readable issue associated with the action.", + "type": "string" + }, "type": { "description": "The type of action. Eg. IncompatibleDataSchema, InvalidDataFormat", "type": "string" diff --git a/DiscoveryJson/discoveryengine.v1.json b/DiscoveryJson/discoveryengine.v1.json index 16a23fd702e..11c76a3f663 100644 --- a/DiscoveryJson/discoveryengine.v1.json +++ b/DiscoveryJson/discoveryengine.v1.json @@ -271,6 +271,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -281,6 +286,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -3599,6 +3609,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -3609,6 +3624,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -5986,7 +6006,7 @@ } } }, - "revision": "20241004", + "revision": "20241010", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -6182,7 +6202,8 @@ "NO_RELEVANT_CONTENT", "JAIL_BREAKING_QUERY_IGNORED", "CUSTOMER_POLICY_VIOLATION", - "NON_ANSWER_SEEKING_QUERY_IGNORED_V2" + "NON_ANSWER_SEEKING_QUERY_IGNORED_V2", + "LOW_GROUNDED_ANSWER" ], "enumDescriptions": [ "Default value. The answer skipped reason is not specified.", @@ -6193,7 +6214,8 @@ "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", - "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent." + "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", + "The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." ], "type": "string" }, @@ -7606,6 +7628,59 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1CmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1CmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1CompleteQueryResponse": { "description": "Response message for CompletionService.CompleteQuery method.", "id": "GoogleCloudDiscoveryengineV1CompleteQueryResponse", @@ -8225,6 +8300,11 @@ "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1CmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -8278,6 +8358,10 @@ ], "type": "string" }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "name": { "description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" @@ -10280,6 +10364,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -11543,6 +11632,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata", @@ -11766,7 +11872,8 @@ "NO_RELEVANT_CONTENT", "JAIL_BREAKING_QUERY_IGNORED", "CUSTOMER_POLICY_VIOLATION", - "NON_ANSWER_SEEKING_QUERY_IGNORED_V2" + "NON_ANSWER_SEEKING_QUERY_IGNORED_V2", + "LOW_GROUNDED_ANSWER" ], "enumDescriptions": [ "Default value. The answer skipped reason is not specified.", @@ -11777,7 +11884,8 @@ "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", - "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent." + "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", + "The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." ], "type": "string" }, @@ -12263,6 +12371,59 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaCondition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1alphaCondition", @@ -12622,6 +12783,11 @@ "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -12680,6 +12846,10 @@ ], "type": "string" }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", "description": "Language info for DataStore." @@ -14466,6 +14636,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -15395,6 +15570,23 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata", @@ -15518,6 +15710,59 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaCondition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1betaCondition", @@ -15862,6 +16107,11 @@ "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -15915,6 +16165,10 @@ ], "type": "string" }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1betaLanguageInfo", "description": "Language info for DataStore." @@ -17134,6 +17388,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" diff --git a/DiscoveryJson/discoveryengine.v1alpha.json b/DiscoveryJson/discoveryengine.v1alpha.json index 0d523f0fab3..c4c9ef0b16a 100644 --- a/DiscoveryJson/discoveryengine.v1alpha.json +++ b/DiscoveryJson/discoveryengine.v1alpha.json @@ -245,6 +245,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getCmekConfig": { + "description": "Gets the CmekConfig.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfig", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.getCmekConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "updateAclConfig": { "description": "Default ACL configuration for use in a location of a customer's project. Updates will only reflect to new data stores. Existing data stores will still use the old value.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/aclConfig", @@ -272,9 +297,129 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "updateCmekConfig": { + "description": "Provisions a CMEK key for use in a location of a customer's project. This method will also conduct location validation on the provided cmekConfig to make sure the key is valid and can be used in the selected location.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfig", + "httpMethod": "PATCH", + "id": "discoveryengine.projects.locations.updateCmekConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfig$", + "required": true, + "type": "string" + }, + "setDefault": { + "description": "Set the following CmekConfig as the default to be used for child resources if one is not specified.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { + "cmekConfigs": { + "methods": { + "get": { + "description": "Gets the CmekConfig.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfigs/{cmekConfigsId}", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.cmekConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all the CmekConfigs with the project.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfigs", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.cmekConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent location resource name, such as `projects/{project}/locations/{location}`. If the caller does not have permission to list CmekConfigs under this location, regardless of whether or not a CmekConfig exists, a PERMISSION_DENIED error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/cmekConfigs", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Provisions a CMEK key for use in a location of a customer's project. This method will also conduct location validation on the provided cmekConfig to make sure the key is valid and can be used in the selected location.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfigs/{cmekConfigsId}", + "httpMethod": "PATCH", + "id": "discoveryengine.projects.locations.cmekConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "setDefault": { + "description": "Set the following CmekConfig as the default to be used for child resources if one is not specified.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "collections": { "resources": { "dataConnector": { @@ -407,6 +552,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -417,6 +567,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -4243,6 +4398,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -4253,6 +4413,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -7517,7 +7682,7 @@ } } }, - "revision": "20241004", + "revision": "20241010", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { @@ -7883,6 +8048,59 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1CmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1CmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1Condition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1Condition", @@ -8154,6 +8372,11 @@ "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1CmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -8207,6 +8430,10 @@ ], "type": "string" }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "name": { "description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" @@ -9304,6 +9531,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata", @@ -9443,7 +9687,8 @@ "NO_RELEVANT_CONTENT", "JAIL_BREAKING_QUERY_IGNORED", "CUSTOMER_POLICY_VIOLATION", - "NON_ANSWER_SEEKING_QUERY_IGNORED_V2" + "NON_ANSWER_SEEKING_QUERY_IGNORED_V2", + "LOW_GROUNDED_ANSWER" ], "enumDescriptions": [ "Default value. The answer skipped reason is not specified.", @@ -9454,7 +9699,8 @@ "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", - "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent." + "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", + "The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." ], "type": "string" }, @@ -10964,6 +11210,59 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse": { "description": "Response message for CompletionService.CompleteQuery method.", "id": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse", @@ -11611,6 +11910,11 @@ "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -11669,6 +11973,10 @@ ], "type": "string" }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", "description": "Language info for DataStore." @@ -13577,6 +13885,20 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse": { + "description": "Response message for CmekConfigService.ListCmekConfigs method.", + "id": "GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse", + "properties": { + "cmekConfigs": { + "description": "All the customer's CmekConfigs.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaListControlsResponse": { "description": "Response for ListControls method.", "id": "GoogleCloudDiscoveryengineV1alphaListControlsResponse", @@ -15063,6 +15385,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -16987,6 +17314,23 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata", @@ -17210,6 +17554,59 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaCondition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1betaCondition", @@ -17554,6 +17951,11 @@ "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -17607,6 +18009,10 @@ ], "type": "string" }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1betaLanguageInfo", "description": "Language info for DataStore." @@ -18826,6 +19232,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" diff --git a/DiscoveryJson/discoveryengine.v1beta.json b/DiscoveryJson/discoveryengine.v1beta.json index afe8a810499..3a756496b86 100644 --- a/DiscoveryJson/discoveryengine.v1beta.json +++ b/DiscoveryJson/discoveryengine.v1beta.json @@ -271,6 +271,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -281,6 +286,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -3873,6 +3883,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -3883,6 +3898,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -6860,7 +6880,7 @@ } } }, - "revision": "20241004", + "revision": "20241010", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -7040,6 +7060,59 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1CmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1CmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1Condition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1Condition", @@ -7311,6 +7384,11 @@ "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1CmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -7364,6 +7442,10 @@ ], "type": "string" }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "name": { "description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" @@ -8461,6 +8543,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata", @@ -8569,7 +8668,8 @@ "NO_RELEVANT_CONTENT", "JAIL_BREAKING_QUERY_IGNORED", "CUSTOMER_POLICY_VIOLATION", - "NON_ANSWER_SEEKING_QUERY_IGNORED_V2" + "NON_ANSWER_SEEKING_QUERY_IGNORED_V2", + "LOW_GROUNDED_ANSWER" ], "enumDescriptions": [ "Default value. The answer skipped reason is not specified.", @@ -8580,7 +8680,8 @@ "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", - "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent." + "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", + "The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." ], "type": "string" }, @@ -9066,6 +9167,59 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaCondition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1alphaCondition", @@ -9425,6 +9579,11 @@ "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -9483,6 +9642,10 @@ ], "type": "string" }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", "description": "Language info for DataStore." @@ -11269,6 +11432,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -12198,6 +12366,23 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata", @@ -12337,7 +12522,8 @@ "NO_RELEVANT_CONTENT", "JAIL_BREAKING_QUERY_IGNORED", "CUSTOMER_POLICY_VIOLATION", - "NON_ANSWER_SEEKING_QUERY_IGNORED_V2" + "NON_ANSWER_SEEKING_QUERY_IGNORED_V2", + "LOW_GROUNDED_ANSWER" ], "enumDescriptions": [ "Default value. The answer skipped reason is not specified.", @@ -12348,7 +12534,8 @@ "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", - "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent." + "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", + "The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." ], "type": "string" }, @@ -13765,6 +13952,59 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaCompleteQueryResponse": { "description": "Response message for CompletionService.CompleteQuery method.", "id": "GoogleCloudDiscoveryengineV1betaCompleteQueryResponse", @@ -14397,6 +14637,11 @@ "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -14450,6 +14695,10 @@ ], "type": "string" }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1betaLanguageInfo", "description": "Language info for DataStore." @@ -16983,6 +17232,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" diff --git a/DiscoveryJson/netapp.v1.json b/DiscoveryJson/netapp.v1.json new file mode 100644 index 00000000000..bd0bf4c0412 --- /dev/null +++ b/DiscoveryJson/netapp.v1.json @@ -0,0 +1,4340 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://netapp.googleapis.com/", + "batchPath": "batch", + "canonicalName": "NetApp Files", + "description": "Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/netapp/", + "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": "netapp:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://netapp.mtls.googleapis.com/", + "name": "netapp", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "netapp.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "activeDirectories": { + "methods": { + "create": { + "description": "CreateActiveDirectory Creates the active directory specified in the request.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activeDirectories", + "httpMethod": "POST", + "id": "netapp.projects.locations.activeDirectories.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "activeDirectoryId": { + "description": "Required. ID of the active directory to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter , the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/activeDirectories", + "request": { + "$ref": "ActiveDirectory" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete the active directory specified in the request.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.activeDirectories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the active directory.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describes a specified active directory.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.activeDirectories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the active directory.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ActiveDirectory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists active directories.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activeDirectories", + "httpMethod": "GET", + "id": "netapp.projects.locations.activeDirectories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListActiveDirectoriesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/activeDirectories", + "response": { + "$ref": "ListActiveDirectoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update the parameters of an active directories.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.activeDirectories.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the active directory. Format: `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Active Directory resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "ActiveDirectory" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "backupPolicies": { + "methods": { + "create": { + "description": "Creates new backup policy", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPolicies", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupPolicyId": { + "description": "Required. The ID to use for the backup policy. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location to create the backup policies of, in the format `projects/{project_id}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backupPolicies", + "request": { + "$ref": "BackupPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup policy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup policy resource name, in the format `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup policy by backup_policy_id.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupPolicy resource name, in the format `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "BackupPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns list of all available backup policies.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPolicies", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListBackupPoliciesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backupPolicies", + "response": { + "$ref": "ListBackupPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates settings of a specific backup policy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup policy. Format: `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup Policy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "BackupPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "backupVaults": { + "methods": { + "create": { + "description": "Creates new backup vault", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupVaults.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupVaultId": { + "description": "Required. The ID to use for the backupVault. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location to create the backup vaults, in the format `projects/{project_id}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backupVaults", + "request": { + "$ref": "BackupVault" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup vault.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupVaults.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupVault resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup vault", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupVault resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "BackupVault" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns list of all available backup vaults.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location for which to retrieve backupVault information, in the format `projects/{project_id}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backupVaults", + "response": { + "$ref": "ListBackupVaultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific backup vault.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupVaults.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup vault. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "BackupVault" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "backups": { + "methods": { + "create": { + "description": "Creates a backup from the volume specified in the request The backup can be created from the given snapshot if specified in the request. If no snapshot specified, there'll be a new snapshot taken to initiate the backup creation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupVaults.backups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupId": { + "description": "Required. The ID to use for the backup. The ID must be unique within the specified backupVault. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The NetApp backupVault to create the backups of, in the format `projects/*/locations/*/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backups", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupVaults.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Backup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all backups for a backupVault.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The standard list filter. If specified, backups will be returned based on the attribute name that matches the filter expression. If empty, then no backups are filtered out. See https://google.aip.dev/160", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The backupVault for which to retrieve backup information, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. To retrieve backup information for all locations, use \"-\" for the `{location}` value. To retrieve backup information for all backupVaults, use \"-\" for the `{backup_vault_id}` value. To retrieve backup information for a volume, use \"-\" for the `{backup_vault_id}` value and specify volume full name with the filter.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update backup with full spec.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupVaults.backups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "kmsConfigs": { + "methods": { + "create": { + "description": "Creates a new KMS config.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "kmsConfigId": { + "description": "Required. Id of the requesting KmsConfig. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/kmsConfigs", + "request": { + "$ref": "KmsConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the Kms config.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.kmsConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "encrypt": { + "description": "Encrypt the existing volumes without CMEK encryption with the desired the KMS config for the whole region.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}:encrypt", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.encrypt", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:encrypt", + "request": { + "$ref": "EncryptVolumesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified KMS config by kms_config_id.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.kmsConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "KmsConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all KMS configs owned by the caller.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs", + "httpMethod": "GET", + "id": "netapp.projects.locations.kmsConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/kmsConfigs", + "response": { + "$ref": "ListKmsConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the Kms config properties with the full spec", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.kmsConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the KmsConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "KmsConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "verify": { + "description": "Verifies KMS config reachability.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}:verify", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.verify", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KMS Config to be verified.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:verify", + "request": { + "$ref": "VerifyKmsConfigRequest" + }, + "response": { + "$ref": "VerifyKmsConfigResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "netapp.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "netapp.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "storagePools": { + "methods": { + "create": { + "description": "Creates a new storage pool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "storagePoolId": { + "description": "Required. Id of the requesting storage pool. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/storagePools", + "request": { + "$ref": "StoragePool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the storage pool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.storagePools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified storage pool by poolId.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.storagePools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "StoragePool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all storage pools owned by the caller.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools", + "httpMethod": "GET", + "id": "netapp.projects.locations.storagePools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/storagePools", + "response": { + "$ref": "ListStoragePoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the storage pool properties with the full spec", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.storagePools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the StoragePool resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "StoragePool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "switch": { + "description": "This operation will switch the active/replica zone for a regional storagePool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:switch", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.switch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:switch", + "request": { + "$ref": "SwitchActiveReplicaZoneRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "volumes": { + "methods": { + "create": { + "description": "Creates a new Volume in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "volumeId": { + "description": "Required. Id of the requesting volume. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/volumes", + "request": { + "$ref": "Volume" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "If this field is set as true, CCFE will not block the volume resource deletion even if it has any snapshots resource. (Otherwise, the request will only work if the volume has no snapshots.)", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Volume" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Volumes in a given project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListVolumesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/volumes", + "response": { + "$ref": "ListVolumesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Volume resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Volume" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "revert": { + "description": "Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert all changes made after the snapshot was created.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:revert", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.revert", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the volume, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:revert", + "request": { + "$ref": "RevertVolumeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "replications": { + "methods": { + "create": { + "description": "Create a new replication for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The NetApp volume to create the replications of, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "replicationId": { + "description": "Required. ID of the replication to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/replications", + "request": { + "$ref": "Replication" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a replication.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.replications.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The replication resource name, in the format `projects/*/locations/*/volumes/*/replications/{replication_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describe a replication for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.replications.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The replication resource name, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Replication" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all replications for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.replications.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The volume for which to retrieve replication information, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/replications", + "response": { + "$ref": "ListReplicationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific replication.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.replications.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Replication" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resume": { + "description": "Resume Cross Region Replication.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:resume", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.resume", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:resume", + "request": { + "$ref": "ResumeReplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reverseDirection": { + "description": "Reverses direction of replication. Source becomes destination and destination becomes source.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:reverseDirection", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.reverseDirection", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:reverseDirection", + "request": { + "$ref": "ReverseReplicationDirectionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "stop": { + "description": "Stop Cross Region Replication.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:stop", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.stop", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:stop", + "request": { + "$ref": "StopReplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "snapshots": { + "methods": { + "create": { + "description": "Create a new snapshot for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.snapshots.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The NetApp volume to create the snapshots of, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "snapshotId": { + "description": "Required. ID of the snapshot to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/snapshots", + "request": { + "$ref": "Snapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a snapshot.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.snapshots.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The snapshot resource name, in the format `projects/*/locations/*/volumes/*/snapshots/{snapshot_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describe a snapshot for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.snapshots.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The snapshot resource name, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Snapshot" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all snapshots for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.snapshots.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The volume for which to retrieve snapshot information, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/snapshots", + "response": { + "$ref": "ListSnapshotsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific snapshot.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.snapshots.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the snapshot. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Snapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20241002", + "rootUrl": "https://netapp.googleapis.com/", + "schemas": { + "ActiveDirectory": { + "description": "ActiveDirectory is the public representation of the active directory config.", + "id": "ActiveDirectory", + "properties": { + "administrators": { + "description": "Optional. Users to be added to the Built-in Admininstrators group.", + "items": { + "type": "string" + }, + "type": "array" + }, + "aesEncryption": { + "description": "If enabled, AES encryption will be enabled for SMB communication.", + "type": "boolean" + }, + "backupOperators": { + "description": "Optional. Users to be added to the Built-in Backup Operator active directory group.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Create time of the active directory.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the active directory.", + "type": "string" + }, + "dns": { + "description": "Required. Comma separated list of DNS server IP addresses for the Active Directory domain.", + "type": "string" + }, + "domain": { + "description": "Required. Name of the Active Directory domain", + "type": "string" + }, + "encryptDcConnections": { + "description": "If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.", + "type": "boolean" + }, + "kdcHostname": { + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + "type": "string" + }, + "kdcIp": { + "description": "KDC server IP address for the active directory machine.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels for the active directory.", + "type": "object" + }, + "ldapSigning": { + "description": "Specifies whether or not the LDAP traffic needs to be signed.", + "type": "boolean" + }, + "name": { + "description": "Identifier. The resource name of the active directory. Format: `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`.", + "type": "string" + }, + "netBiosPrefix": { + "description": "Required. NetBIOSPrefix is used as a prefix for SMB server name.", + "type": "string" + }, + "nfsUsersWithLdap": { + "description": "If enabled, will allow access to local users and LDAP users. If access is needed for only LDAP users, it has to be disabled.", + "type": "boolean" + }, + "organizationalUnit": { + "description": "The Organizational Unit (OU) within the Windows Active Directory the user belongs to.", + "type": "string" + }, + "password": { + "description": "Required. Password of the Active Directory domain administrator.", + "type": "string" + }, + "securityOperators": { + "description": "Optional. Domain users to be given the SeSecurityPrivilege.", + "items": { + "type": "string" + }, + "type": "array" + }, + "site": { + "description": "The Active Directory site the service will limit Domain Controller discovery too.", + "type": "string" + }, + "state": { + "description": "Output only. The state of the AD.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "IN_USE", + "DELETING", + "ERROR", + "DIAGNOSING" + ], + "enumDescriptions": [ + "Unspecified Active Directory State", + "Active Directory State is Creating", + "Active Directory State is Ready", + "Active Directory State is Updating", + "Active Directory State is In use", + "Active Directory State is Deleting", + "Active Directory State is Error", + "Active Directory State is Diagnosing." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. The state details of the Active Directory.", + "readOnly": true, + "type": "string" + }, + "username": { + "description": "Required. Username of the Active Directory domain administrator.", + "type": "string" + } + }, + "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" + }, + "Backup": { + "description": "A NetApp Backup.", + "id": "Backup", + "properties": { + "backupType": { + "description": "Output only. Type of backup, manually created or created by a backup policy.", + "enum": [ + "TYPE_UNSPECIFIED", + "MANUAL", + "SCHEDULED" + ], + "enumDescriptions": [ + "Unspecified backup type.", + "Manual backup type.", + "Scheduled backup type." + ], + "readOnly": true, + "type": "string" + }, + "chainStorageBytes": { + "description": "Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size)", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the backup was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`.", + "type": "string" + }, + "sourceSnapshot": { + "description": "If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot taken to initiate the backup creation. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`", + "type": "string" + }, + "sourceVolume": { + "description": "Volume full name of this backup belongs to. Format: `projects/{projects_id}/locations/{location}/volumes/{volume_id}`", + "type": "string" + }, + "state": { + "description": "Output only. The backup state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "UPLOADING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "Backup is being created. While in this state, the snapshot for the backup point-in-time may not have been created yet, and so the point-in-time may not have been fixed.", + "Backup is being uploaded. While in this state, none of the writes to the volume will be included in the backup.", + "Backup is available for use.", + "Backup is being deleted.", + "Backup is not valid and cannot be used for creating new volumes or restoring existing volumes.", + "Backup is being updated." + ], + "readOnly": true, + "type": "string" + }, + "volumeUsageBytes": { + "description": "Output only. Size of the file system when the backup was created. When creating a new volume from the backup, the volume capacity will have to be at least as big.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupConfig": { + "description": "BackupConfig contains backup related config on a volume.", + "id": "BackupConfig", + "properties": { + "backupChainBytes": { + "description": "Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "backupPolicies": { + "description": "Optional. When specified, schedule backups will be created based on the policy configuration.", + "items": { + "type": "string" + }, + "type": "array" + }, + "backupVault": { + "description": "Optional. Name of backup vault. Format: projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}", + "type": "string" + }, + "scheduledBackupEnabled": { + "description": "Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's no backup policy attached.", + "type": "boolean" + } + }, + "type": "object" + }, + "BackupPolicy": { + "description": "Backup Policy.", + "id": "BackupPolicy", + "properties": { + "assignedVolumeCount": { + "description": "Output only. The total number of volumes assigned by this backup policy.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "createTime": { + "description": "Output only. The time when the backup policy was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dailyBackupLimit": { + "description": "Number of daily backups to keep. Note that the minimum daily backup limit is 2.", + "format": "int32", + "type": "integer" + }, + "description": { + "description": "Description of the backup policy.", + "type": "string" + }, + "enabled": { + "description": "If enabled, make backups automatically according to the schedules. This will be applied to all volumes that have this policy attached and enforced on volume level. If not specified, default is true.", + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "monthlyBackupLimit": { + "description": "Number of monthly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Identifier. The resource name of the backup policy. Format: `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The backup policy state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "BackupPolicy is being created.", + "BackupPolicy is available for use.", + "BackupPolicy is being deleted.", + "BackupPolicy is not valid and cannot be used.", + "BackupPolicy is being updated." + ], + "readOnly": true, + "type": "string" + }, + "weeklyBackupLimit": { + "description": "Number of weekly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "BackupVault": { + "description": "A NetApp BackupVault.", + "id": "BackupVault", + "properties": { + "createTime": { + "description": "Output only. Create time of the backup vault.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the backup vault.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the backup vault. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The backup vault state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "BackupVault is being created.", + "BackupVault is available for use.", + "BackupVault is being deleted.", + "BackupVault is not valid and cannot be used.", + "BackupVault is being updated." + ], + "readOnly": true, + "type": "string" + } + }, + "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" + }, + "DailySchedule": { + "description": "Make a snapshot every day e.g. at 04:00, 05:20, 23:50", + "id": "DailySchedule", + "properties": { + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "DestinationVolumeParameters": { + "description": "DestinationVolumeParameters specify input parameters used for creating destination volume.", + "id": "DestinationVolumeParameters", + "properties": { + "description": { + "description": "Description for the destination volume.", + "type": "string" + }, + "shareName": { + "description": "Destination volume's share name. If not specified, source volume's share name will be used.", + "type": "string" + }, + "storagePool": { + "description": "Required. Existing destination StoragePool name.", + "type": "string" + }, + "volumeId": { + "description": "Desired destination volume resource id. If not specified, source volume's resource id will be used. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", + "type": "string" + } + }, + "type": "object" + }, + "DirectLocationAssignment": { + "id": "DirectLocationAssignment", + "properties": { + "location": { + "items": { + "$ref": "LocationAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, + "EncryptVolumesRequest": { + "description": "EncryptVolumesRequest specifies the KMS config to encrypt existing volumes.", + "id": "EncryptVolumesRequest", + "properties": {}, + "type": "object" + }, + "ExportPolicy": { + "description": "Defines the export policy for the volume.", + "id": "ExportPolicy", + "properties": { + "rules": { + "description": "Required. List of export policy rules", + "items": { + "$ref": "SimpleExportPolicyRule" + }, + "type": "array" + } + }, + "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" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "HourlySchedule": { + "description": "Make a snapshot every hour e.g. at 04:00, 05:00, 06:00.", + "id": "HourlySchedule", + "properties": { + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "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" + }, + "KmsConfig": { + "description": "KmsConfig is the customer managed encryption key(CMEK) configuration.", + "id": "KmsConfig", + "properties": { + "createTime": { + "description": "Output only. Create time of the KmsConfig.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "cryptoKeyName": { + "description": "Required. Customer managed crypto key resource full name. Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}.", + "type": "string" + }, + "description": { + "description": "Description of the KmsConfig.", + "type": "string" + }, + "instructions": { + "description": "Output only. Instructions to provide the access to the customer provided encryption key.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels as key value pairs", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the KmsConfig.", + "type": "string" + }, + "serviceAccount": { + "description": "Output only. The Service account which will have access to the customer provided encryption key.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the KmsConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "IN_USE", + "ERROR", + "KEY_CHECK_PENDING", + "KEY_NOT_REACHABLE", + "DISABLING", + "DISABLED", + "MIGRATING" + ], + "enumDescriptions": [ + "Unspecified KmsConfig State", + "KmsConfig State is Ready", + "KmsConfig State is Creating", + "KmsConfig State is Deleting", + "KmsConfig State is Updating", + "KmsConfig State is In Use.", + "KmsConfig State is Error", + "KmsConfig State is Pending to verify crypto key access.", + "KmsConfig State is Not accessbile by the SDE service account to the crypto key.", + "KmsConfig State is Disabling.", + "KmsConfig State is Disabled.", + "KmsConfig State is Migrating. The existing volumes are migrating from SMEK to CMEK." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the KmsConfig.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListActiveDirectoriesResponse": { + "description": "ListActiveDirectoriesResponse contains all the active directories requested.", + "id": "ListActiveDirectoriesResponse", + "properties": { + "activeDirectories": { + "description": "The list of active directories.", + "items": { + "$ref": "ActiveDirectory" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupPoliciesResponse": { + "description": "ListBackupPoliciesResponse contains all the backup policies requested.", + "id": "ListBackupPoliciesResponse", + "properties": { + "backupPolicies": { + "description": "The list of backup policies.", + "items": { + "$ref": "BackupPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupVaultsResponse": { + "description": "ListBackupVaultsResponse is the result of ListBackupVaultsRequest.", + "id": "ListBackupVaultsResponse", + "properties": { + "backupVaults": { + "description": "A list of backupVaults in the project for the specified location.", + "items": { + "$ref": "BackupVault" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupsResponse": { + "description": "ListBackupsResponse is the result of ListBackupsRequest.", + "id": "ListBackupsResponse", + "properties": { + "backups": { + "description": "A list of backups in the project.", + "items": { + "$ref": "Backup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListKmsConfigsResponse": { + "description": "ListKmsConfigsResponse is the response to a ListKmsConfigsRequest.", + "id": "ListKmsConfigsResponse", + "properties": { + "kmsConfigs": { + "description": "The list of KmsConfigs", + "items": { + "$ref": "KmsConfig" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListReplicationsResponse": { + "description": "ListReplicationsResponse is the result of ListReplicationsRequest.", + "id": "ListReplicationsResponse", + "properties": { + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "replications": { + "description": "A list of replications in the project for the specified volume.", + "items": { + "$ref": "Replication" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSnapshotsResponse": { + "description": "ListSnapshotsResponse is the result of ListSnapshotsRequest.", + "id": "ListSnapshotsResponse", + "properties": { + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "snapshots": { + "description": "A list of snapshots in the project for the specified volume.", + "items": { + "$ref": "Snapshot" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListStoragePoolsResponse": { + "description": "ListStoragePoolsResponse is the response to a ListStoragePoolsRequest.", + "id": "ListStoragePoolsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "storagePools": { + "description": "The list of StoragePools", + "items": { + "$ref": "StoragePool" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVolumesResponse": { + "description": "Message for response to listing Volumes", + "id": "ListVolumesResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + }, + "volumes": { + "description": "The list of Volume", + "items": { + "$ref": "Volume" + }, + "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" + }, + "LocationAssignment": { + "id": "LocationAssignment", + "properties": { + "location": { + "type": "string" + }, + "locationType": { + "enum": [ + "UNSPECIFIED", + "CLUSTER", + "POP", + "CLOUD_ZONE", + "CLOUD_REGION", + "MULTI_REGION_GEO", + "MULTI_REGION_JURISDICTION", + "GLOBAL", + "OTHER" + ], + "enumDescriptions": [ + "", + "1-10: Physical failure domains.", + "", + "11-20: Logical failure domains.", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "LocationData": { + "id": "LocationData", + "properties": { + "blobstoreLocation": { + "$ref": "BlobstoreLocation" + }, + "childAssetLocation": { + "$ref": "CloudAssetComposition" + }, + "directLocation": { + "$ref": "DirectLocationAssignment" + }, + "gcpProjectProxy": { + "$ref": "TenantProjectProxy" + }, + "placerLocation": { + "$ref": "PlacerLocation" + }, + "spannerLocation": { + "$ref": "SpannerLocation" + } + }, + "type": "object" + }, + "LocationMetadata": { + "description": "Metadata for a given google.cloud.location.Location.", + "id": "LocationMetadata", + "properties": { + "supportedServiceLevels": { + "description": "Output only. Supported service levels in a location.", + "items": { + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "MonthlySchedule": { + "description": "Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50", + "id": "MonthlySchedule", + "properties": { + "daysOfMonth": { + "description": "Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. Defaults to '1'.", + "type": "string" + }, + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "MountOption": { + "description": "View only mount options for a volume.", + "id": "MountOption", + "properties": { + "export": { + "description": "Export string", + "type": "string" + }, + "exportFull": { + "description": "Full export string", + "type": "string" + }, + "instructions": { + "description": "Instructions for mounting", + "type": "string" + }, + "protocol": { + "description": "Protocol to mount with.", + "enum": [ + "PROTOCOLS_UNSPECIFIED", + "NFSV3", + "NFSV4", + "SMB" + ], + "enumDescriptions": [ + "Unspecified protocol", + "NFS V3 protocol", + "NFS V4 protocol", + "SMB protocol" + ], + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been canceled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PlacerLocation": { + "description": "Message describing that the location of the customer resource is tied to placer allocations", + "id": "PlacerLocation", + "properties": { + "placerConfig": { + "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", + "type": "string" + } + }, + "type": "object" + }, + "RegionalMigDistributionPolicy": { + "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", + "id": "RegionalMigDistributionPolicy", + "properties": { + "targetShape": { + "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", + "format": "int32", + "type": "integer" + }, + "zones": { + "description": "Cloud zones used by regional MIG to create instances.", + "items": { + "$ref": "ZoneConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "Replication": { + "description": "Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions.", + "id": "Replication", + "properties": { + "createTime": { + "description": "Output only. Replication create time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description about this replication relationship.", + "type": "string" + }, + "destinationVolume": { + "description": "Output only. Full name of destination volume resource. Example : \"projects/{project}/locations/{location}/volumes/{volume_id}\"", + "readOnly": true, + "type": "string" + }, + "destinationVolumeParameters": { + "$ref": "DestinationVolumeParameters", + "description": "Required. Input only. Destination volume parameters" + }, + "healthy": { + "description": "Output only. Condition of the relationship. Can be one of the following: - true: The replication relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication relationship is not healthy. It has missed the most recent scheduled transfer.", + "readOnly": true, + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "mirrorState": { + "description": "Output only. Indicates the state of mirroring.", + "enum": [ + "MIRROR_STATE_UNSPECIFIED", + "PREPARING", + "MIRRORED", + "STOPPED", + "TRANSFERRING" + ], + "enumDescriptions": [ + "Unspecified MirrorState", + "Destination volume is being prepared.", + "Destination volume has been initialized and is ready to receive replication transfers.", + "Destination volume is not receiving replication transfers.", + "Incremental replication is in progress." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.", + "type": "string" + }, + "replicationSchedule": { + "description": "Required. Indicates the schedule for replication.", + "enum": [ + "REPLICATION_SCHEDULE_UNSPECIFIED", + "EVERY_10_MINUTES", + "HOURLY", + "DAILY" + ], + "enumDescriptions": [ + "Unspecified ReplicationSchedule", + "Replication happens once every 10 minutes.", + "Replication happens once every hour.", + "Replication happens once every day." + ], + "type": "string" + }, + "role": { + "description": "Output only. Indicates whether this points to source or destination.", + "enum": [ + "REPLICATION_ROLE_UNSPECIFIED", + "SOURCE", + "DESTINATION" + ], + "enumDescriptions": [ + "Unspecified replication role", + "Indicates Source volume.", + "Indicates Destination volume." + ], + "readOnly": true, + "type": "string" + }, + "sourceVolume": { + "description": "Output only. Full name of source volume resource. Example : \"projects/{project}/locations/{location}/volumes/{volume_id}\"", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the replication.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified replication State", + "Replication is creating.", + "Replication is ready.", + "Replication is updating.", + "Replication is deleting.", + "Replication is in error state." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the replication.", + "readOnly": true, + "type": "string" + }, + "transferStats": { + "$ref": "TransferStats", + "description": "Output only. Replication transfer statistics.", + "readOnly": true + } + }, + "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" + }, + "RestoreParameters": { + "description": "The RestoreParameters if volume is created from a snapshot or backup.", + "id": "RestoreParameters", + "properties": { + "sourceBackup": { + "description": "Full name of the backup resource. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}", + "type": "string" + }, + "sourceSnapshot": { + "description": "Full name of the snapshot resource. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}", + "type": "string" + } + }, + "type": "object" + }, + "ResumeReplicationRequest": { + "description": "ResumeReplicationRequest resumes a stopped replication.", + "id": "ResumeReplicationRequest", + "properties": {}, + "type": "object" + }, + "ReverseReplicationDirectionRequest": { + "description": "ReverseReplicationDirectionRequest reverses direction of replication. Source becomes destination and destination becomes source.", + "id": "ReverseReplicationDirectionRequest", + "properties": {}, + "type": "object" + }, + "RevertVolumeRequest": { + "description": "RevertVolumeRequest reverts the given volume to the specified snapshot.", + "id": "RevertVolumeRequest", + "properties": { + "snapshotId": { + "description": "Required. The snapshot resource ID, in the format 'my-snapshot', where the specified ID is the {snapshot_id} of the fully qualified name like projects/{project_id}/locations/{location_id}/volumes/{volume_id}/snapshots/{snapshot_id}", + "type": "string" + } + }, + "type": "object" + }, + "SimpleExportPolicyRule": { + "description": "An export policy rule describing various export options.", + "id": "SimpleExportPolicyRule", + "properties": { + "accessType": { + "description": "Access type (ReadWrite, ReadOnly, None)", + "enum": [ + "ACCESS_TYPE_UNSPECIFIED", + "READ_ONLY", + "READ_WRITE", + "READ_NONE" + ], + "enumDescriptions": [ + "Unspecified Access Type", + "Read Only", + "Read Write", + "None" + ], + "type": "string" + }, + "allowedClients": { + "description": "Comma separated list of allowed clients IP addresses", + "type": "string" + }, + "hasRootAccess": { + "description": "Whether Unix root access will be granted.", + "type": "string" + }, + "kerberos5ReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode.", + "type": "boolean" + }, + "kerberos5ReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The 'kerberos5ReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "kerberos5iReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode.", + "type": "boolean" + }, + "kerberos5iReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "kerberos5pReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode.", + "type": "boolean" + }, + "kerberos5pReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "nfsv3": { + "description": "NFS V3 protocol.", + "type": "boolean" + }, + "nfsv4": { + "description": "NFS V4 protocol.", + "type": "boolean" + } + }, + "type": "object" + }, + "Snapshot": { + "description": "Snapshot is a point-in-time version of a Volume's content.", + "id": "Snapshot", + "properties": { + "createTime": { + "description": "Output only. The time when the snapshot was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the snapshot. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The snapshot state.", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "DISABLED", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified Snapshot State", + "Snapshot State is Ready", + "Snapshot State is Creating", + "Snapshot State is Deleting", + "Snapshot State is Updating", + "Snapshot State is Disabled", + "Snapshot State is Error" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the storage pool", + "readOnly": true, + "type": "string" + }, + "usedBytes": { + "description": "Output only. Current storage usage for the snapshot in bytes.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "SnapshotPolicy": { + "description": "Snapshot Policy for a volume.", + "id": "SnapshotPolicy", + "properties": { + "dailySchedule": { + "$ref": "DailySchedule", + "description": "Daily schedule policy." + }, + "enabled": { + "description": "If enabled, make snapshots automatically according to the schedules. Default is false.", + "type": "boolean" + }, + "hourlySchedule": { + "$ref": "HourlySchedule", + "description": "Hourly schedule policy." + }, + "monthlySchedule": { + "$ref": "MonthlySchedule", + "description": "Monthly schedule policy." + }, + "weeklySchedule": { + "$ref": "WeeklySchedule", + "description": "Weekly schedule policy." + } + }, + "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", + "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" + }, + "StopReplicationRequest": { + "description": "StopReplicationRequest stops a replication until resumed.", + "id": "StopReplicationRequest", + "properties": { + "force": { + "description": "Indicates whether to stop replication forcefully while data transfer is in progress. Warning! if force is true, this will abort any current transfers and can lead to data loss due to partial transfer. If force is false, stop replication will fail while data transfer is in progress and you will need to retry later.", + "type": "boolean" + } + }, + "type": "object" + }, + "StoragePool": { + "description": "StoragePool is a container for volumes with a service level and capacity. Volumes can be created in a pool of sufficient available capacity. StoragePool capacity is what you are billed for.", + "id": "StoragePool", + "properties": { + "activeDirectory": { + "description": "Optional. Specifies the Active Directory to be used for creating a SMB volume.", + "type": "string" + }, + "allowAutoTiering": { + "description": "Optional. True if the storage pool supports Auto Tiering enabled volumes. Default is false. Auto-tiering can be enabled after storage pool creation but it can't be disabled once enabled.", + "type": "boolean" + }, + "capacityGib": { + "description": "Required. Capacity in GIB of the pool", + "format": "int64", + "type": "string" + }, + "createTime": { + "description": "Output only. Create time of the storage pool", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the storage pool", + "type": "string" + }, + "encryptionType": { + "description": "Output only. Specifies the current pool encryption key source.", + "enum": [ + "ENCRYPTION_TYPE_UNSPECIFIED", + "SERVICE_MANAGED", + "CLOUD_KMS" + ], + "enumDescriptions": [ + "The source of the encryption key is not specified.", + "Google managed encryption key.", + "Customer managed encryption key, which is stored in KMS." + ], + "readOnly": true, + "type": "string" + }, + "globalAccessAllowed": { + "deprecated": true, + "description": "Deprecated. Used to allow SO pool to access AD or DNS server from other regions.", + "type": "boolean" + }, + "kmsConfig": { + "description": "Optional. Specifies the KMS config to be used for volume encryption.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "ldapEnabled": { + "description": "Optional. Flag indicating if the pool is NFS LDAP enabled or not.", + "type": "boolean" + }, + "name": { + "description": "Identifier. Name of the storage pool", + "type": "string" + }, + "network": { + "description": "Required. VPC Network name. Format: projects/{project}/global/networks/{network}", + "type": "string" + }, + "psaRange": { + "description": "Optional. This field is not implemented. The values provided in this field are ignored.", + "type": "string" + }, + "replicaZone": { + "description": "Optional. Specifies the replica zone for regional storagePool.", + "type": "string" + }, + "serviceLevel": { + "description": "Required. Service level of the storage pool", + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "type": "string" + }, + "state": { + "description": "Output only. State of the storage pool", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "RESTORING", + "DISABLED", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified Storage Pool State", + "Storage Pool State is Ready", + "Storage Pool State is Creating", + "Storage Pool State is Deleting", + "Storage Pool State is Updating", + "Storage Pool State is Restoring", + "Storage Pool State is Disabled", + "Storage Pool State is Error" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the storage pool", + "readOnly": true, + "type": "string" + }, + "volumeCapacityGib": { + "description": "Output only. Allocated size of all volumes in GIB in the storage pool", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "volumeCount": { + "description": "Output only. Volume count of the storage pool", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "zone": { + "description": "Optional. Specifies the active zone for regional storagePool.", + "type": "string" + } + }, + "type": "object" + }, + "SwitchActiveReplicaZoneRequest": { + "description": "SwitchActiveReplicaZoneRequest switch the active/replica zone for a regional storagePool.", + "id": "SwitchActiveReplicaZoneRequest", + "properties": {}, + "type": "object" + }, + "TenantProjectProxy": { + "id": "TenantProjectProxy", + "properties": { + "projectNumbers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TieringPolicy": { + "description": "Defines tiering policy for the volume.", + "id": "TieringPolicy", + "properties": { + "coolingThresholdDays": { + "description": "Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 7-183. Default is 31.", + "format": "int32", + "type": "integer" + }, + "tierAction": { + "description": "Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED.", + "enum": [ + "TIER_ACTION_UNSPECIFIED", + "ENABLED", + "PAUSED" + ], + "enumDescriptions": [ + "Unspecified.", + "When tiering is enabled, new cold data will be tiered.", + "When paused, tiering won't be performed on new data. Existing data stays tiered until accessed." + ], + "type": "string" + } + }, + "type": "object" + }, + "TransferStats": { + "description": "TransferStats reports all statistics related to replication transfer.", + "id": "TransferStats", + "properties": { + "lagDuration": { + "description": "Lag duration indicates the duration by which Destination region volume content lags behind the primary region volume content.", + "format": "google-duration", + "type": "string" + }, + "lastTransferBytes": { + "description": "Last transfer size in bytes.", + "format": "int64", + "type": "string" + }, + "lastTransferDuration": { + "description": "Time taken during last transfer.", + "format": "google-duration", + "type": "string" + }, + "lastTransferEndTime": { + "description": "Time when last transfer completed.", + "format": "google-datetime", + "type": "string" + }, + "lastTransferError": { + "description": "A message describing the cause of the last transfer failure.", + "type": "string" + }, + "totalTransferDuration": { + "description": "Cumulative time taken across all transfers for the replication relationship.", + "format": "google-duration", + "type": "string" + }, + "transferBytes": { + "description": "Cumulative bytes trasferred so far for the replication relatinonship.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Time when progress was updated last.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "VerifyKmsConfigRequest": { + "description": "VerifyKmsConfigRequest specifies the KMS config to be validated.", + "id": "VerifyKmsConfigRequest", + "properties": {}, + "type": "object" + }, + "VerifyKmsConfigResponse": { + "description": "VerifyKmsConfigResponse contains the information if the config is correctly and error message.", + "id": "VerifyKmsConfigResponse", + "properties": { + "healthError": { + "description": "Output only. Error message if config is not healthy.", + "readOnly": true, + "type": "string" + }, + "healthy": { + "description": "Output only. If the customer key configured correctly to the encrypt volume.", + "readOnly": true, + "type": "boolean" + }, + "instructions": { + "description": "Output only. Instructions for the customers to provide the access to the encryption key.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Volume": { + "description": "Volume provides a filesystem that you can mount.", + "id": "Volume", + "properties": { + "activeDirectory": { + "description": "Output only. Specifies the ActiveDirectory name of a SMB volume.", + "readOnly": true, + "type": "string" + }, + "backupConfig": { + "$ref": "BackupConfig", + "description": "BackupConfig of the volume." + }, + "capacityGib": { + "description": "Required. Capacity in GIB of the volume", + "format": "int64", + "type": "string" + }, + "coldTierSizeGib": { + "description": "Output only. Size of the volume cold tier data in GiB.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Create time of the volume", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the volume", + "type": "string" + }, + "encryptionType": { + "description": "Output only. Specified the current volume encryption key source.", + "enum": [ + "ENCRYPTION_TYPE_UNSPECIFIED", + "SERVICE_MANAGED", + "CLOUD_KMS" + ], + "enumDescriptions": [ + "The source of the encryption key is not specified.", + "Google managed encryption key.", + "Customer managed encryption key, which is stored in KMS." + ], + "readOnly": true, + "type": "string" + }, + "exportPolicy": { + "$ref": "ExportPolicy", + "description": "Optional. Export policy of the volume" + }, + "hasReplication": { + "description": "Output only. Indicates whether the volume is part of a replication relationship.", + "readOnly": true, + "type": "boolean" + }, + "kerberosEnabled": { + "description": "Optional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p).", + "type": "boolean" + }, + "kmsConfig": { + "description": "Output only. Specifies the KMS config to be used for volume encryption.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "largeCapacity": { + "description": "Optional. Flag indicating if the volume will be a large capacity volume or a regular volume.", + "type": "boolean" + }, + "ldapEnabled": { + "description": "Output only. Flag indicating if the volume is NFS LDAP enabled or not.", + "readOnly": true, + "type": "boolean" + }, + "mountOptions": { + "description": "Output only. Mount options of this volume", + "items": { + "$ref": "MountOption" + }, + "readOnly": true, + "type": "array" + }, + "multipleEndpoints": { + "description": "Optional. Flag indicating if the volume will have an IP address per node for volumes supporting multiple IP endpoints. Only the volume with large_capacity will be allowed to have multiple endpoints.", + "type": "boolean" + }, + "name": { + "description": "Identifier. Name of the volume", + "type": "string" + }, + "network": { + "description": "Output only. VPC Network name. Format: projects/{project}/global/networks/{network}", + "readOnly": true, + "type": "string" + }, + "protocols": { + "description": "Required. Protocols required for the volume", + "items": { + "enum": [ + "PROTOCOLS_UNSPECIFIED", + "NFSV3", + "NFSV4", + "SMB" + ], + "enumDescriptions": [ + "Unspecified protocol", + "NFS V3 protocol", + "NFS V4 protocol", + "SMB protocol" + ], + "type": "string" + }, + "type": "array" + }, + "psaRange": { + "description": "Output only. This field is not implemented. The values provided in this field are ignored.", + "readOnly": true, + "type": "string" + }, + "replicaZone": { + "description": "Output only. Specifies the replica zone for regional volume.", + "readOnly": true, + "type": "string" + }, + "restoreParameters": { + "$ref": "RestoreParameters", + "description": "Optional. Specifies the source of the volume to be created from." + }, + "restrictedActions": { + "description": "Optional. List of actions that are restricted on this volume.", + "items": { + "enum": [ + "RESTRICTED_ACTION_UNSPECIFIED", + "DELETE" + ], + "enumDescriptions": [ + "Unspecified restricted action", + "Prevent volume from being deleted when mounted." + ], + "type": "string" + }, + "type": "array" + }, + "securityStyle": { + "description": "Optional. Security Style of the Volume", + "enum": [ + "SECURITY_STYLE_UNSPECIFIED", + "NTFS", + "UNIX" + ], + "enumDescriptions": [ + "SecurityStyle is unspecified", + "SecurityStyle uses NTFS", + "SecurityStyle uses UNIX" + ], + "type": "string" + }, + "serviceLevel": { + "description": "Output only. Service level of the volume", + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "readOnly": true, + "type": "string" + }, + "shareName": { + "description": "Required. Share name of the volume", + "type": "string" + }, + "smbSettings": { + "description": "Optional. SMB share settings for the volume.", + "items": { + "enum": [ + "SMB_SETTINGS_UNSPECIFIED", + "ENCRYPT_DATA", + "BROWSABLE", + "CHANGE_NOTIFY", + "NON_BROWSABLE", + "OPLOCKS", + "SHOW_SNAPSHOT", + "SHOW_PREVIOUS_VERSIONS", + "ACCESS_BASED_ENUMERATION", + "CONTINUOUSLY_AVAILABLE" + ], + "enumDescriptions": [ + "Unspecified default option", + "SMB setting encrypt data", + "SMB setting browsable", + "SMB setting notify change", + "SMB setting not to notify change", + "SMB setting oplocks", + "SMB setting to show snapshots", + "SMB setting to show previous versions", + "SMB setting to access volume based on enumerartion", + "Continuously available enumeration" + ], + "type": "string" + }, + "type": "array" + }, + "snapReserve": { + "description": "Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 percent.", + "format": "double", + "type": "number" + }, + "snapshotDirectory": { + "description": "Optional. Snapshot_directory if enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots.", + "type": "boolean" + }, + "snapshotPolicy": { + "$ref": "SnapshotPolicy", + "description": "Optional. SnapshotPolicy for a volume." + }, + "state": { + "description": "Output only. State of the volume", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "RESTORING", + "DISABLED", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified Volume State", + "Volume State is Ready", + "Volume State is Creating", + "Volume State is Deleting", + "Volume State is Updating", + "Volume State is Restoring", + "Volume State is Disabled", + "Volume State is Error" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the volume", + "readOnly": true, + "type": "string" + }, + "storagePool": { + "description": "Required. StoragePool name of the volume", + "type": "string" + }, + "tieringPolicy": { + "$ref": "TieringPolicy", + "description": "Tiering policy for the volume." + }, + "unixPermissions": { + "description": "Optional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS protocol types only.", + "type": "string" + }, + "usedGib": { + "description": "Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the realtime usage.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "Output only. Specifies the active zone for regional volume.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WeeklySchedule": { + "description": "Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 23:50", + "id": "WeeklySchedule", + "properties": { + "day": { + "description": "Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to 'Sunday'.", + "type": "string" + }, + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ZoneConfiguration": { + "id": "ZoneConfiguration", + "properties": { + "zone": { + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "NetApp API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/DiscoveryJson/netapp.v1beta1.json b/DiscoveryJson/netapp.v1beta1.json new file mode 100644 index 00000000000..1a048b1b959 --- /dev/null +++ b/DiscoveryJson/netapp.v1beta1.json @@ -0,0 +1,4340 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://netapp.googleapis.com/", + "batchPath": "batch", + "canonicalName": "NetApp Files", + "description": "Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/netapp/", + "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": "netapp:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://netapp.mtls.googleapis.com/", + "name": "netapp", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "netapp.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "activeDirectories": { + "methods": { + "create": { + "description": "CreateActiveDirectory Creates the active directory specified in the request.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activeDirectories", + "httpMethod": "POST", + "id": "netapp.projects.locations.activeDirectories.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "activeDirectoryId": { + "description": "Required. ID of the active directory to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter , the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/activeDirectories", + "request": { + "$ref": "ActiveDirectory" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete the active directory specified in the request.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.activeDirectories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the active directory.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describes a specified active directory.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.activeDirectories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the active directory.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "ActiveDirectory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists active directories.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activeDirectories", + "httpMethod": "GET", + "id": "netapp.projects.locations.activeDirectories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListActiveDirectoriesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/activeDirectories", + "response": { + "$ref": "ListActiveDirectoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update the parameters of an active directories.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.activeDirectories.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the active directory. Format: `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Active Directory resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "ActiveDirectory" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "backupPolicies": { + "methods": { + "create": { + "description": "Creates new backup policy", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupPolicies", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupPolicyId": { + "description": "Required. The ID to use for the backup policy. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location to create the backup policies of, in the format `projects/{project_id}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backupPolicies", + "request": { + "$ref": "BackupPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup policy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup policy resource name, in the format `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup policy by backup_policy_id.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupPolicy resource name, in the format `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "BackupPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns list of all available backup policies.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupPolicies", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListBackupPoliciesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backupPolicies", + "response": { + "$ref": "ListBackupPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates settings of a specific backup policy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup policy. Format: `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup Policy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "BackupPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "backupVaults": { + "methods": { + "create": { + "description": "Creates new backup vault", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupVaults.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupVaultId": { + "description": "Required. The ID to use for the backupVault. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location to create the backup vaults, in the format `projects/{project_id}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backupVaults", + "request": { + "$ref": "BackupVault" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup vault.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupVaults.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupVault resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup vault", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupVault resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "BackupVault" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns list of all available backup vaults.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location for which to retrieve backupVault information, in the format `projects/{project_id}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backupVaults", + "response": { + "$ref": "ListBackupVaultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific backup vault.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupVaults.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup vault. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "BackupVault" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "backups": { + "methods": { + "create": { + "description": "Creates a backup from the volume specified in the request The backup can be created from the given snapshot if specified in the request. If no snapshot specified, there'll be a new snapshot taken to initiate the backup creation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupVaults.backups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupId": { + "description": "Required. The ID to use for the backup. The ID must be unique within the specified backupVault. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The NetApp backupVault to create the backups of, in the format `projects/*/locations/*/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backups", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupVaults.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Backup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all backups for a backupVault.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The standard list filter. If specified, backups will be returned based on the attribute name that matches the filter expression. If empty, then no backups are filtered out. See https://google.aip.dev/160", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The backupVault for which to retrieve backup information, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. To retrieve backup information for all locations, use \"-\" for the `{location}` value. To retrieve backup information for all backupVaults, use \"-\" for the `{backup_vault_id}` value. To retrieve backup information for a volume, use \"-\" for the `{backup_vault_id}` value and specify volume full name with the filter.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update backup with full spec.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupVaults.backups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "kmsConfigs": { + "methods": { + "create": { + "description": "Creates a new KMS config.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "kmsConfigId": { + "description": "Required. Id of the requesting KmsConfig. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/kmsConfigs", + "request": { + "$ref": "KmsConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the Kms config.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.kmsConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "encrypt": { + "description": "Encrypt the existing volumes without CMEK encryption with the desired the KMS config for the whole region.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}:encrypt", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.encrypt", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:encrypt", + "request": { + "$ref": "EncryptVolumesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified KMS config by kms_config_id.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.kmsConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "KmsConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all KMS configs owned by the caller.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs", + "httpMethod": "GET", + "id": "netapp.projects.locations.kmsConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/kmsConfigs", + "response": { + "$ref": "ListKmsConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the Kms config properties with the full spec", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.kmsConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the KmsConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "KmsConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "verify": { + "description": "Verifies KMS config reachability.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}:verify", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.verify", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KMS Config to be verified.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:verify", + "request": { + "$ref": "VerifyKmsConfigRequest" + }, + "response": { + "$ref": "VerifyKmsConfigResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "cancel": { + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "netapp.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "netapp.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "storagePools": { + "methods": { + "create": { + "description": "Creates a new storage pool.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "storagePoolId": { + "description": "Required. Id of the requesting storage pool. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/storagePools", + "request": { + "$ref": "StoragePool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the storage pool.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.storagePools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified storage pool by poolId.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.storagePools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "StoragePool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all storage pools owned by the caller.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools", + "httpMethod": "GET", + "id": "netapp.projects.locations.storagePools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/storagePools", + "response": { + "$ref": "ListStoragePoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the storage pool properties with the full spec", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.storagePools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the StoragePool resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "StoragePool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "switch": { + "description": "This operation will switch the active/replica zone for a regional storagePool.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:switch", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.switch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:switch", + "request": { + "$ref": "SwitchActiveReplicaZoneRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "volumes": { + "methods": { + "create": { + "description": "Creates a new Volume in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "volumeId": { + "description": "Required. Id of the requesting volume. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/volumes", + "request": { + "$ref": "Volume" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "If this field is set as true, CCFE will not block the volume resource deletion even if it has any snapshots resource. (Otherwise, the request will only work if the volume has no snapshots.)", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Volume" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Volumes in a given project.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListVolumesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/volumes", + "response": { + "$ref": "ListVolumesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Volume resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Volume" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "revert": { + "description": "Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert all changes made after the snapshot was created.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:revert", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.revert", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the volume, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:revert", + "request": { + "$ref": "RevertVolumeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "replications": { + "methods": { + "create": { + "description": "Create a new replication for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The NetApp volume to create the replications of, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "replicationId": { + "description": "Required. ID of the replication to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/replications", + "request": { + "$ref": "Replication" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a replication.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.replications.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The replication resource name, in the format `projects/*/locations/*/volumes/*/replications/{replication_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describe a replication for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.replications.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The replication resource name, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Replication" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all replications for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.replications.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The volume for which to retrieve replication information, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/replications", + "response": { + "$ref": "ListReplicationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific replication.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.replications.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Replication" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resume": { + "description": "Resume Cross Region Replication.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:resume", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.resume", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:resume", + "request": { + "$ref": "ResumeReplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reverseDirection": { + "description": "Reverses direction of replication. Source becomes destination and destination becomes source.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:reverseDirection", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.reverseDirection", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:reverseDirection", + "request": { + "$ref": "ReverseReplicationDirectionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "stop": { + "description": "Stop Cross Region Replication.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:stop", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.stop", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:stop", + "request": { + "$ref": "StopReplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "snapshots": { + "methods": { + "create": { + "description": "Create a new snapshot for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.snapshots.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The NetApp volume to create the snapshots of, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "snapshotId": { + "description": "Required. ID of the snapshot to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/snapshots", + "request": { + "$ref": "Snapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a snapshot.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.snapshots.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The snapshot resource name, in the format `projects/*/locations/*/volumes/*/snapshots/{snapshot_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describe a snapshot for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.snapshots.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The snapshot resource name, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Snapshot" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all snapshots for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.snapshots.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The volume for which to retrieve snapshot information, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/snapshots", + "response": { + "$ref": "ListSnapshotsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific snapshot.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.snapshots.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the snapshot. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Snapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20241002", + "rootUrl": "https://netapp.googleapis.com/", + "schemas": { + "ActiveDirectory": { + "description": "ActiveDirectory is the public representation of the active directory config.", + "id": "ActiveDirectory", + "properties": { + "administrators": { + "description": "Optional. Users to be added to the Built-in Admininstrators group.", + "items": { + "type": "string" + }, + "type": "array" + }, + "aesEncryption": { + "description": "If enabled, AES encryption will be enabled for SMB communication.", + "type": "boolean" + }, + "backupOperators": { + "description": "Optional. Users to be added to the Built-in Backup Operator active directory group.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Create time of the active directory.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the active directory.", + "type": "string" + }, + "dns": { + "description": "Required. Comma separated list of DNS server IP addresses for the Active Directory domain.", + "type": "string" + }, + "domain": { + "description": "Required. Name of the Active Directory domain", + "type": "string" + }, + "encryptDcConnections": { + "description": "If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.", + "type": "boolean" + }, + "kdcHostname": { + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + "type": "string" + }, + "kdcIp": { + "description": "KDC server IP address for the active directory machine.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels for the active directory.", + "type": "object" + }, + "ldapSigning": { + "description": "Specifies whether or not the LDAP traffic needs to be signed.", + "type": "boolean" + }, + "name": { + "description": "Identifier. The resource name of the active directory. Format: `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`.", + "type": "string" + }, + "netBiosPrefix": { + "description": "Required. NetBIOSPrefix is used as a prefix for SMB server name.", + "type": "string" + }, + "nfsUsersWithLdap": { + "description": "If enabled, will allow access to local users and LDAP users. If access is needed for only LDAP users, it has to be disabled.", + "type": "boolean" + }, + "organizationalUnit": { + "description": "The Organizational Unit (OU) within the Windows Active Directory the user belongs to.", + "type": "string" + }, + "password": { + "description": "Required. Password of the Active Directory domain administrator.", + "type": "string" + }, + "securityOperators": { + "description": "Optional. Domain users to be given the SeSecurityPrivilege.", + "items": { + "type": "string" + }, + "type": "array" + }, + "site": { + "description": "The Active Directory site the service will limit Domain Controller discovery too.", + "type": "string" + }, + "state": { + "description": "Output only. The state of the AD.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "IN_USE", + "DELETING", + "ERROR", + "DIAGNOSING" + ], + "enumDescriptions": [ + "Unspecified Active Directory State", + "Active Directory State is Creating", + "Active Directory State is Ready", + "Active Directory State is Updating", + "Active Directory State is In use", + "Active Directory State is Deleting", + "Active Directory State is Error", + "Active Directory State is Diagnosing." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. The state details of the Active Directory.", + "readOnly": true, + "type": "string" + }, + "username": { + "description": "Required. Username of the Active Directory domain administrator.", + "type": "string" + } + }, + "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" + }, + "Backup": { + "description": "A NetApp Backup.", + "id": "Backup", + "properties": { + "backupType": { + "description": "Output only. Type of backup, manually created or created by a backup policy.", + "enum": [ + "TYPE_UNSPECIFIED", + "MANUAL", + "SCHEDULED" + ], + "enumDescriptions": [ + "Unspecified backup type.", + "Manual backup type.", + "Scheduled backup type." + ], + "readOnly": true, + "type": "string" + }, + "chainStorageBytes": { + "description": "Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size)", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the backup was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`.", + "type": "string" + }, + "sourceSnapshot": { + "description": "If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot taken to initiate the backup creation. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`", + "type": "string" + }, + "sourceVolume": { + "description": "Volume full name of this backup belongs to. Format: `projects/{projects_id}/locations/{location}/volumes/{volume_id}`", + "type": "string" + }, + "state": { + "description": "Output only. The backup state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "UPLOADING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "Backup is being created. While in this state, the snapshot for the backup point-in-time may not have been created yet, and so the point-in-time may not have been fixed.", + "Backup is being uploaded. While in this state, none of the writes to the volume will be included in the backup.", + "Backup is available for use.", + "Backup is being deleted.", + "Backup is not valid and cannot be used for creating new volumes or restoring existing volumes.", + "Backup is being updated." + ], + "readOnly": true, + "type": "string" + }, + "volumeUsageBytes": { + "description": "Output only. Size of the file system when the backup was created. When creating a new volume from the backup, the volume capacity will have to be at least as big.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupConfig": { + "description": "BackupConfig contains backup related config on a volume.", + "id": "BackupConfig", + "properties": { + "backupChainBytes": { + "description": "Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "backupPolicies": { + "description": "Optional. When specified, schedule backups will be created based on the policy configuration.", + "items": { + "type": "string" + }, + "type": "array" + }, + "backupVault": { + "description": "Optional. Name of backup vault. Format: projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}", + "type": "string" + }, + "scheduledBackupEnabled": { + "description": "Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's no backup policy attached.", + "type": "boolean" + } + }, + "type": "object" + }, + "BackupPolicy": { + "description": "Backup Policy.", + "id": "BackupPolicy", + "properties": { + "assignedVolumeCount": { + "description": "Output only. The total number of volumes assigned by this backup policy.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "createTime": { + "description": "Output only. The time when the backup policy was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dailyBackupLimit": { + "description": "Number of daily backups to keep. Note that the minimum daily backup limit is 2.", + "format": "int32", + "type": "integer" + }, + "description": { + "description": "Description of the backup policy.", + "type": "string" + }, + "enabled": { + "description": "If enabled, make backups automatically according to the schedules. This will be applied to all volumes that have this policy attached and enforced on volume level. If not specified, default is true.", + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "monthlyBackupLimit": { + "description": "Number of monthly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Identifier. The resource name of the backup policy. Format: `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The backup policy state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "BackupPolicy is being created.", + "BackupPolicy is available for use.", + "BackupPolicy is being deleted.", + "BackupPolicy is not valid and cannot be used.", + "BackupPolicy is being updated." + ], + "readOnly": true, + "type": "string" + }, + "weeklyBackupLimit": { + "description": "Number of weekly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "BackupVault": { + "description": "A NetApp BackupVault.", + "id": "BackupVault", + "properties": { + "createTime": { + "description": "Output only. Create time of the backup vault.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the backup vault.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the backup vault. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The backup vault state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "BackupVault is being created.", + "BackupVault is available for use.", + "BackupVault is being deleted.", + "BackupVault is not valid and cannot be used.", + "BackupVault is being updated." + ], + "readOnly": true, + "type": "string" + } + }, + "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" + }, + "DailySchedule": { + "description": "Make a snapshot every day e.g. at 04:00, 05:20, 23:50", + "id": "DailySchedule", + "properties": { + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "DestinationVolumeParameters": { + "description": "DestinationVolumeParameters specify input parameters used for creating destination volume.", + "id": "DestinationVolumeParameters", + "properties": { + "description": { + "description": "Description for the destination volume.", + "type": "string" + }, + "shareName": { + "description": "Destination volume's share name. If not specified, source volume's share name will be used.", + "type": "string" + }, + "storagePool": { + "description": "Required. Existing destination StoragePool name.", + "type": "string" + }, + "volumeId": { + "description": "Desired destination volume resource id. If not specified, source volume's resource id will be used. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", + "type": "string" + } + }, + "type": "object" + }, + "DirectLocationAssignment": { + "id": "DirectLocationAssignment", + "properties": { + "location": { + "items": { + "$ref": "LocationAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, + "EncryptVolumesRequest": { + "description": "EncryptVolumesRequest specifies the KMS config to encrypt existing volumes.", + "id": "EncryptVolumesRequest", + "properties": {}, + "type": "object" + }, + "ExportPolicy": { + "description": "Defines the export policy for the volume.", + "id": "ExportPolicy", + "properties": { + "rules": { + "description": "Required. List of export policy rules", + "items": { + "$ref": "SimpleExportPolicyRule" + }, + "type": "array" + } + }, + "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" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "HourlySchedule": { + "description": "Make a snapshot every hour e.g. at 04:00, 05:00, 06:00.", + "id": "HourlySchedule", + "properties": { + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "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" + }, + "KmsConfig": { + "description": "KmsConfig is the customer managed encryption key(CMEK) configuration.", + "id": "KmsConfig", + "properties": { + "createTime": { + "description": "Output only. Create time of the KmsConfig.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "cryptoKeyName": { + "description": "Required. Customer managed crypto key resource full name. Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}.", + "type": "string" + }, + "description": { + "description": "Description of the KmsConfig.", + "type": "string" + }, + "instructions": { + "description": "Output only. Instructions to provide the access to the customer provided encryption key.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels as key value pairs", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the KmsConfig.", + "type": "string" + }, + "serviceAccount": { + "description": "Output only. The Service account which will have access to the customer provided encryption key.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the KmsConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "IN_USE", + "ERROR", + "KEY_CHECK_PENDING", + "KEY_NOT_REACHABLE", + "DISABLING", + "DISABLED", + "MIGRATING" + ], + "enumDescriptions": [ + "Unspecified KmsConfig State", + "KmsConfig State is Ready", + "KmsConfig State is Creating", + "KmsConfig State is Deleting", + "KmsConfig State is Updating", + "KmsConfig State is In Use.", + "KmsConfig State is Error", + "KmsConfig State is Pending to verify crypto key access.", + "KmsConfig State is Not accessbile by the SDE service account to the crypto key.", + "KmsConfig State is Disabling.", + "KmsConfig State is Disabled.", + "KmsConfig State is Migrating. The existing volumes are migrating from SMEK to CMEK." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the KmsConfig.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListActiveDirectoriesResponse": { + "description": "ListActiveDirectoriesResponse contains all the active directories requested.", + "id": "ListActiveDirectoriesResponse", + "properties": { + "activeDirectories": { + "description": "The list of active directories.", + "items": { + "$ref": "ActiveDirectory" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupPoliciesResponse": { + "description": "ListBackupPoliciesResponse contains all the backup policies requested.", + "id": "ListBackupPoliciesResponse", + "properties": { + "backupPolicies": { + "description": "The list of backup policies.", + "items": { + "$ref": "BackupPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupVaultsResponse": { + "description": "ListBackupVaultsResponse is the result of ListBackupVaultsRequest.", + "id": "ListBackupVaultsResponse", + "properties": { + "backupVaults": { + "description": "A list of backupVaults in the project for the specified location.", + "items": { + "$ref": "BackupVault" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupsResponse": { + "description": "ListBackupsResponse is the result of ListBackupsRequest.", + "id": "ListBackupsResponse", + "properties": { + "backups": { + "description": "A list of backups in the project.", + "items": { + "$ref": "Backup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListKmsConfigsResponse": { + "description": "ListKmsConfigsResponse is the response to a ListKmsConfigsRequest.", + "id": "ListKmsConfigsResponse", + "properties": { + "kmsConfigs": { + "description": "The list of KmsConfigs", + "items": { + "$ref": "KmsConfig" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListReplicationsResponse": { + "description": "ListReplicationsResponse is the result of ListReplicationsRequest.", + "id": "ListReplicationsResponse", + "properties": { + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "replications": { + "description": "A list of replications in the project for the specified volume.", + "items": { + "$ref": "Replication" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSnapshotsResponse": { + "description": "ListSnapshotsResponse is the result of ListSnapshotsRequest.", + "id": "ListSnapshotsResponse", + "properties": { + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "snapshots": { + "description": "A list of snapshots in the project for the specified volume.", + "items": { + "$ref": "Snapshot" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListStoragePoolsResponse": { + "description": "ListStoragePoolsResponse is the response to a ListStoragePoolsRequest.", + "id": "ListStoragePoolsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "storagePools": { + "description": "The list of StoragePools", + "items": { + "$ref": "StoragePool" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVolumesResponse": { + "description": "Message for response to listing Volumes", + "id": "ListVolumesResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + }, + "volumes": { + "description": "The list of Volume", + "items": { + "$ref": "Volume" + }, + "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" + }, + "LocationAssignment": { + "id": "LocationAssignment", + "properties": { + "location": { + "type": "string" + }, + "locationType": { + "enum": [ + "UNSPECIFIED", + "CLUSTER", + "POP", + "CLOUD_ZONE", + "CLOUD_REGION", + "MULTI_REGION_GEO", + "MULTI_REGION_JURISDICTION", + "GLOBAL", + "OTHER" + ], + "enumDescriptions": [ + "", + "1-10: Physical failure domains.", + "", + "11-20: Logical failure domains.", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "LocationData": { + "id": "LocationData", + "properties": { + "blobstoreLocation": { + "$ref": "BlobstoreLocation" + }, + "childAssetLocation": { + "$ref": "CloudAssetComposition" + }, + "directLocation": { + "$ref": "DirectLocationAssignment" + }, + "gcpProjectProxy": { + "$ref": "TenantProjectProxy" + }, + "placerLocation": { + "$ref": "PlacerLocation" + }, + "spannerLocation": { + "$ref": "SpannerLocation" + } + }, + "type": "object" + }, + "LocationMetadata": { + "description": "Metadata for a given google.cloud.location.Location.", + "id": "LocationMetadata", + "properties": { + "supportedServiceLevels": { + "description": "Output only. Supported service levels in a location.", + "items": { + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "MonthlySchedule": { + "description": "Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50", + "id": "MonthlySchedule", + "properties": { + "daysOfMonth": { + "description": "Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. Defaults to '1'.", + "type": "string" + }, + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "MountOption": { + "description": "View only mount options for a volume.", + "id": "MountOption", + "properties": { + "export": { + "description": "Export string", + "type": "string" + }, + "exportFull": { + "description": "Full export string", + "type": "string" + }, + "instructions": { + "description": "Instructions for mounting", + "type": "string" + }, + "protocol": { + "description": "Protocol to mount with.", + "enum": [ + "PROTOCOLS_UNSPECIFIED", + "NFSV3", + "NFSV4", + "SMB" + ], + "enumDescriptions": [ + "Unspecified protocol", + "NFS V3 protocol", + "NFS V4 protocol", + "SMB protocol" + ], + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been canceled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PlacerLocation": { + "description": "Message describing that the location of the customer resource is tied to placer allocations", + "id": "PlacerLocation", + "properties": { + "placerConfig": { + "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", + "type": "string" + } + }, + "type": "object" + }, + "RegionalMigDistributionPolicy": { + "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", + "id": "RegionalMigDistributionPolicy", + "properties": { + "targetShape": { + "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", + "format": "int32", + "type": "integer" + }, + "zones": { + "description": "Cloud zones used by regional MIG to create instances.", + "items": { + "$ref": "ZoneConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "Replication": { + "description": "Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions.", + "id": "Replication", + "properties": { + "createTime": { + "description": "Output only. Replication create time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description about this replication relationship.", + "type": "string" + }, + "destinationVolume": { + "description": "Output only. Full name of destination volume resource. Example : \"projects/{project}/locations/{location}/volumes/{volume_id}\"", + "readOnly": true, + "type": "string" + }, + "destinationVolumeParameters": { + "$ref": "DestinationVolumeParameters", + "description": "Required. Input only. Destination volume parameters" + }, + "healthy": { + "description": "Output only. Condition of the relationship. Can be one of the following: - true: The replication relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication relationship is not healthy. It has missed the most recent scheduled transfer.", + "readOnly": true, + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "mirrorState": { + "description": "Output only. Indicates the state of mirroring.", + "enum": [ + "MIRROR_STATE_UNSPECIFIED", + "PREPARING", + "MIRRORED", + "STOPPED", + "TRANSFERRING" + ], + "enumDescriptions": [ + "Unspecified MirrorState", + "Destination volume is being prepared.", + "Destination volume has been initialized and is ready to receive replication transfers.", + "Destination volume is not receiving replication transfers.", + "Incremental replication is in progress." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.", + "type": "string" + }, + "replicationSchedule": { + "description": "Required. Indicates the schedule for replication.", + "enum": [ + "REPLICATION_SCHEDULE_UNSPECIFIED", + "EVERY_10_MINUTES", + "HOURLY", + "DAILY" + ], + "enumDescriptions": [ + "Unspecified ReplicationSchedule", + "Replication happens once every 10 minutes.", + "Replication happens once every hour.", + "Replication happens once every day." + ], + "type": "string" + }, + "role": { + "description": "Output only. Indicates whether this points to source or destination.", + "enum": [ + "REPLICATION_ROLE_UNSPECIFIED", + "SOURCE", + "DESTINATION" + ], + "enumDescriptions": [ + "Unspecified replication role", + "Indicates Source volume.", + "Indicates Destination volume." + ], + "readOnly": true, + "type": "string" + }, + "sourceVolume": { + "description": "Output only. Full name of source volume resource. Example : \"projects/{project}/locations/{location}/volumes/{volume_id}\"", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the replication.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified replication State", + "Replication is creating.", + "Replication is ready.", + "Replication is updating.", + "Replication is deleting.", + "Replication is in error state." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the replication.", + "readOnly": true, + "type": "string" + }, + "transferStats": { + "$ref": "TransferStats", + "description": "Output only. Replication transfer statistics.", + "readOnly": true + } + }, + "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" + }, + "RestoreParameters": { + "description": "The RestoreParameters if volume is created from a snapshot or backup.", + "id": "RestoreParameters", + "properties": { + "sourceBackup": { + "description": "Full name of the backup resource. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}", + "type": "string" + }, + "sourceSnapshot": { + "description": "Full name of the snapshot resource. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}", + "type": "string" + } + }, + "type": "object" + }, + "ResumeReplicationRequest": { + "description": "ResumeReplicationRequest resumes a stopped replication.", + "id": "ResumeReplicationRequest", + "properties": {}, + "type": "object" + }, + "ReverseReplicationDirectionRequest": { + "description": "ReverseReplicationDirectionRequest reverses direction of replication. Source becomes destination and destination becomes source.", + "id": "ReverseReplicationDirectionRequest", + "properties": {}, + "type": "object" + }, + "RevertVolumeRequest": { + "description": "RevertVolumeRequest reverts the given volume to the specified snapshot.", + "id": "RevertVolumeRequest", + "properties": { + "snapshotId": { + "description": "Required. The snapshot resource ID, in the format 'my-snapshot', where the specified ID is the {snapshot_id} of the fully qualified name like projects/{project_id}/locations/{location_id}/volumes/{volume_id}/snapshots/{snapshot_id}", + "type": "string" + } + }, + "type": "object" + }, + "SimpleExportPolicyRule": { + "description": "An export policy rule describing various export options.", + "id": "SimpleExportPolicyRule", + "properties": { + "accessType": { + "description": "Access type (ReadWrite, ReadOnly, None)", + "enum": [ + "ACCESS_TYPE_UNSPECIFIED", + "READ_ONLY", + "READ_WRITE", + "READ_NONE" + ], + "enumDescriptions": [ + "Unspecified Access Type", + "Read Only", + "Read Write", + "None" + ], + "type": "string" + }, + "allowedClients": { + "description": "Comma separated list of allowed clients IP addresses", + "type": "string" + }, + "hasRootAccess": { + "description": "Whether Unix root access will be granted.", + "type": "string" + }, + "kerberos5ReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode.", + "type": "boolean" + }, + "kerberos5ReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The 'kerberos5ReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "kerberos5iReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode.", + "type": "boolean" + }, + "kerberos5iReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "kerberos5pReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode.", + "type": "boolean" + }, + "kerberos5pReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "nfsv3": { + "description": "NFS V3 protocol.", + "type": "boolean" + }, + "nfsv4": { + "description": "NFS V4 protocol.", + "type": "boolean" + } + }, + "type": "object" + }, + "Snapshot": { + "description": "Snapshot is a point-in-time version of a Volume's content.", + "id": "Snapshot", + "properties": { + "createTime": { + "description": "Output only. The time when the snapshot was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the snapshot. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The snapshot state.", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "DISABLED", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified Snapshot State", + "Snapshot State is Ready", + "Snapshot State is Creating", + "Snapshot State is Deleting", + "Snapshot State is Updating", + "Snapshot State is Disabled", + "Snapshot State is Error" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the storage pool", + "readOnly": true, + "type": "string" + }, + "usedBytes": { + "description": "Output only. Current storage usage for the snapshot in bytes.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "SnapshotPolicy": { + "description": "Snapshot Policy for a volume.", + "id": "SnapshotPolicy", + "properties": { + "dailySchedule": { + "$ref": "DailySchedule", + "description": "Daily schedule policy." + }, + "enabled": { + "description": "If enabled, make snapshots automatically according to the schedules. Default is false.", + "type": "boolean" + }, + "hourlySchedule": { + "$ref": "HourlySchedule", + "description": "Hourly schedule policy." + }, + "monthlySchedule": { + "$ref": "MonthlySchedule", + "description": "Monthly schedule policy." + }, + "weeklySchedule": { + "$ref": "WeeklySchedule", + "description": "Weekly schedule policy." + } + }, + "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", + "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" + }, + "StopReplicationRequest": { + "description": "StopReplicationRequest stops a replication until resumed.", + "id": "StopReplicationRequest", + "properties": { + "force": { + "description": "Indicates whether to stop replication forcefully while data transfer is in progress. Warning! if force is true, this will abort any current transfers and can lead to data loss due to partial transfer. If force is false, stop replication will fail while data transfer is in progress and you will need to retry later.", + "type": "boolean" + } + }, + "type": "object" + }, + "StoragePool": { + "description": "StoragePool is a container for volumes with a service level and capacity. Volumes can be created in a pool of sufficient available capacity. StoragePool capacity is what you are billed for.", + "id": "StoragePool", + "properties": { + "activeDirectory": { + "description": "Optional. Specifies the Active Directory to be used for creating a SMB volume.", + "type": "string" + }, + "allowAutoTiering": { + "description": "Optional. True if the storage pool supports Auto Tiering enabled volumes. Default is false. Auto-tiering can be enabled after storage pool creation but it can't be disabled once enabled.", + "type": "boolean" + }, + "capacityGib": { + "description": "Required. Capacity in GIB of the pool", + "format": "int64", + "type": "string" + }, + "createTime": { + "description": "Output only. Create time of the storage pool", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the storage pool", + "type": "string" + }, + "encryptionType": { + "description": "Output only. Specifies the current pool encryption key source.", + "enum": [ + "ENCRYPTION_TYPE_UNSPECIFIED", + "SERVICE_MANAGED", + "CLOUD_KMS" + ], + "enumDescriptions": [ + "The source of the encryption key is not specified.", + "Google managed encryption key.", + "Customer managed encryption key, which is stored in KMS." + ], + "readOnly": true, + "type": "string" + }, + "globalAccessAllowed": { + "deprecated": true, + "description": "Deprecated. Used to allow SO pool to access AD or DNS server from other regions.", + "type": "boolean" + }, + "kmsConfig": { + "description": "Optional. Specifies the KMS config to be used for volume encryption.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "ldapEnabled": { + "description": "Optional. Flag indicating if the pool is NFS LDAP enabled or not.", + "type": "boolean" + }, + "name": { + "description": "Identifier. Name of the storage pool", + "type": "string" + }, + "network": { + "description": "Required. VPC Network name. Format: projects/{project}/global/networks/{network}", + "type": "string" + }, + "psaRange": { + "description": "Optional. This field is not implemented. The values provided in this field are ignored.", + "type": "string" + }, + "replicaZone": { + "description": "Optional. Specifies the replica zone for regional storagePool.", + "type": "string" + }, + "serviceLevel": { + "description": "Required. Service level of the storage pool", + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "type": "string" + }, + "state": { + "description": "Output only. State of the storage pool", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "RESTORING", + "DISABLED", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified Storage Pool State", + "Storage Pool State is Ready", + "Storage Pool State is Creating", + "Storage Pool State is Deleting", + "Storage Pool State is Updating", + "Storage Pool State is Restoring", + "Storage Pool State is Disabled", + "Storage Pool State is Error" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the storage pool", + "readOnly": true, + "type": "string" + }, + "volumeCapacityGib": { + "description": "Output only. Allocated size of all volumes in GIB in the storage pool", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "volumeCount": { + "description": "Output only. Volume count of the storage pool", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "zone": { + "description": "Optional. Specifies the active zone for regional storagePool.", + "type": "string" + } + }, + "type": "object" + }, + "SwitchActiveReplicaZoneRequest": { + "description": "SwitchActiveReplicaZoneRequest switch the active/replica zone for a regional storagePool.", + "id": "SwitchActiveReplicaZoneRequest", + "properties": {}, + "type": "object" + }, + "TenantProjectProxy": { + "id": "TenantProjectProxy", + "properties": { + "projectNumbers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TieringPolicy": { + "description": "Defines tiering policy for the volume.", + "id": "TieringPolicy", + "properties": { + "coolingThresholdDays": { + "description": "Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 7-183. Default is 31.", + "format": "int32", + "type": "integer" + }, + "tierAction": { + "description": "Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED.", + "enum": [ + "TIER_ACTION_UNSPECIFIED", + "ENABLED", + "PAUSED" + ], + "enumDescriptions": [ + "Unspecified.", + "When tiering is enabled, new cold data will be tiered.", + "When paused, tiering won't be performed on new data. Existing data stays tiered until accessed." + ], + "type": "string" + } + }, + "type": "object" + }, + "TransferStats": { + "description": "TransferStats reports all statistics related to replication transfer.", + "id": "TransferStats", + "properties": { + "lagDuration": { + "description": "Lag duration indicates the duration by which Destination region volume content lags behind the primary region volume content.", + "format": "google-duration", + "type": "string" + }, + "lastTransferBytes": { + "description": "Last transfer size in bytes.", + "format": "int64", + "type": "string" + }, + "lastTransferDuration": { + "description": "Time taken during last transfer.", + "format": "google-duration", + "type": "string" + }, + "lastTransferEndTime": { + "description": "Time when last transfer completed.", + "format": "google-datetime", + "type": "string" + }, + "lastTransferError": { + "description": "A message describing the cause of the last transfer failure.", + "type": "string" + }, + "totalTransferDuration": { + "description": "Cumulative time taken across all transfers for the replication relationship.", + "format": "google-duration", + "type": "string" + }, + "transferBytes": { + "description": "Cumulative bytes trasferred so far for the replication relatinonship.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Time when progress was updated last.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "VerifyKmsConfigRequest": { + "description": "VerifyKmsConfigRequest specifies the KMS config to be validated.", + "id": "VerifyKmsConfigRequest", + "properties": {}, + "type": "object" + }, + "VerifyKmsConfigResponse": { + "description": "VerifyKmsConfigResponse contains the information if the config is correctly and error message.", + "id": "VerifyKmsConfigResponse", + "properties": { + "healthError": { + "description": "Output only. Error message if config is not healthy.", + "readOnly": true, + "type": "string" + }, + "healthy": { + "description": "Output only. If the customer key configured correctly to the encrypt volume.", + "readOnly": true, + "type": "boolean" + }, + "instructions": { + "description": "Output only. Instructions for the customers to provide the access to the encryption key.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Volume": { + "description": "Volume provides a filesystem that you can mount.", + "id": "Volume", + "properties": { + "activeDirectory": { + "description": "Output only. Specifies the ActiveDirectory name of a SMB volume.", + "readOnly": true, + "type": "string" + }, + "backupConfig": { + "$ref": "BackupConfig", + "description": "BackupConfig of the volume." + }, + "capacityGib": { + "description": "Required. Capacity in GIB of the volume", + "format": "int64", + "type": "string" + }, + "coldTierSizeGib": { + "description": "Output only. Size of the volume cold tier data in GiB.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Create time of the volume", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the volume", + "type": "string" + }, + "encryptionType": { + "description": "Output only. Specified the current volume encryption key source.", + "enum": [ + "ENCRYPTION_TYPE_UNSPECIFIED", + "SERVICE_MANAGED", + "CLOUD_KMS" + ], + "enumDescriptions": [ + "The source of the encryption key is not specified.", + "Google managed encryption key.", + "Customer managed encryption key, which is stored in KMS." + ], + "readOnly": true, + "type": "string" + }, + "exportPolicy": { + "$ref": "ExportPolicy", + "description": "Optional. Export policy of the volume" + }, + "hasReplication": { + "description": "Output only. Indicates whether the volume is part of a replication relationship.", + "readOnly": true, + "type": "boolean" + }, + "kerberosEnabled": { + "description": "Optional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p).", + "type": "boolean" + }, + "kmsConfig": { + "description": "Output only. Specifies the KMS config to be used for volume encryption.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "largeCapacity": { + "description": "Optional. Flag indicating if the volume will be a large capacity volume or a regular volume.", + "type": "boolean" + }, + "ldapEnabled": { + "description": "Output only. Flag indicating if the volume is NFS LDAP enabled or not.", + "readOnly": true, + "type": "boolean" + }, + "mountOptions": { + "description": "Output only. Mount options of this volume", + "items": { + "$ref": "MountOption" + }, + "readOnly": true, + "type": "array" + }, + "multipleEndpoints": { + "description": "Optional. Flag indicating if the volume will have an IP address per node for volumes supporting multiple IP endpoints. Only the volume with large_capacity will be allowed to have multiple endpoints.", + "type": "boolean" + }, + "name": { + "description": "Identifier. Name of the volume", + "type": "string" + }, + "network": { + "description": "Output only. VPC Network name. Format: projects/{project}/global/networks/{network}", + "readOnly": true, + "type": "string" + }, + "protocols": { + "description": "Required. Protocols required for the volume", + "items": { + "enum": [ + "PROTOCOLS_UNSPECIFIED", + "NFSV3", + "NFSV4", + "SMB" + ], + "enumDescriptions": [ + "Unspecified protocol", + "NFS V3 protocol", + "NFS V4 protocol", + "SMB protocol" + ], + "type": "string" + }, + "type": "array" + }, + "psaRange": { + "description": "Output only. This field is not implemented. The values provided in this field are ignored.", + "readOnly": true, + "type": "string" + }, + "replicaZone": { + "description": "Output only. Specifies the replica zone for regional volume.", + "readOnly": true, + "type": "string" + }, + "restoreParameters": { + "$ref": "RestoreParameters", + "description": "Optional. Specifies the source of the volume to be created from." + }, + "restrictedActions": { + "description": "Optional. List of actions that are restricted on this volume.", + "items": { + "enum": [ + "RESTRICTED_ACTION_UNSPECIFIED", + "DELETE" + ], + "enumDescriptions": [ + "Unspecified restricted action", + "Prevent volume from being deleted when mounted." + ], + "type": "string" + }, + "type": "array" + }, + "securityStyle": { + "description": "Optional. Security Style of the Volume", + "enum": [ + "SECURITY_STYLE_UNSPECIFIED", + "NTFS", + "UNIX" + ], + "enumDescriptions": [ + "SecurityStyle is unspecified", + "SecurityStyle uses NTFS", + "SecurityStyle uses UNIX" + ], + "type": "string" + }, + "serviceLevel": { + "description": "Output only. Service level of the volume", + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "readOnly": true, + "type": "string" + }, + "shareName": { + "description": "Required. Share name of the volume", + "type": "string" + }, + "smbSettings": { + "description": "Optional. SMB share settings for the volume.", + "items": { + "enum": [ + "SMB_SETTINGS_UNSPECIFIED", + "ENCRYPT_DATA", + "BROWSABLE", + "CHANGE_NOTIFY", + "NON_BROWSABLE", + "OPLOCKS", + "SHOW_SNAPSHOT", + "SHOW_PREVIOUS_VERSIONS", + "ACCESS_BASED_ENUMERATION", + "CONTINUOUSLY_AVAILABLE" + ], + "enumDescriptions": [ + "Unspecified default option", + "SMB setting encrypt data", + "SMB setting browsable", + "SMB setting notify change", + "SMB setting not to notify change", + "SMB setting oplocks", + "SMB setting to show snapshots", + "SMB setting to show previous versions", + "SMB setting to access volume based on enumerartion", + "Continuously available enumeration" + ], + "type": "string" + }, + "type": "array" + }, + "snapReserve": { + "description": "Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 percent.", + "format": "double", + "type": "number" + }, + "snapshotDirectory": { + "description": "Optional. Snapshot_directory if enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots.", + "type": "boolean" + }, + "snapshotPolicy": { + "$ref": "SnapshotPolicy", + "description": "Optional. SnapshotPolicy for a volume." + }, + "state": { + "description": "Output only. State of the volume", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "RESTORING", + "DISABLED", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified Volume State", + "Volume State is Ready", + "Volume State is Creating", + "Volume State is Deleting", + "Volume State is Updating", + "Volume State is Restoring", + "Volume State is Disabled", + "Volume State is Error" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the volume", + "readOnly": true, + "type": "string" + }, + "storagePool": { + "description": "Required. StoragePool name of the volume", + "type": "string" + }, + "tieringPolicy": { + "$ref": "TieringPolicy", + "description": "Tiering policy for the volume." + }, + "unixPermissions": { + "description": "Optional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS protocol types only.", + "type": "string" + }, + "usedGib": { + "description": "Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the realtime usage.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "Output only. Specifies the active zone for regional volume.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WeeklySchedule": { + "description": "Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 23:50", + "id": "WeeklySchedule", + "properties": { + "day": { + "description": "Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to 'Sunday'.", + "type": "string" + }, + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "ZoneConfiguration": { + "id": "ZoneConfiguration", + "properties": { + "zone": { + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "NetApp API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/DiscoveryJson/places.v1.json b/DiscoveryJson/places.v1.json index 849be1f610d..30b3976984b 100644 --- a/DiscoveryJson/places.v1.json +++ b/DiscoveryJson/places.v1.json @@ -280,7 +280,7 @@ } } }, - "revision": "20240920", + "revision": "20241013", "rootUrl": "https://places.googleapis.com/", "schemas": { "GoogleGeoTypeViewport": { @@ -298,6 +298,120 @@ }, "type": "object" }, + "GoogleMapsPlacesV1AddressDescriptor": { + "description": "A relational description of a location. Includes a ranked set of nearby landmarks and precise containing areas and their relationship to the target location.", + "id": "GoogleMapsPlacesV1AddressDescriptor", + "properties": { + "areas": { + "description": "A ranked list of containing or adjacent areas. The most recognizable and precise areas are ranked first.", + "items": { + "$ref": "GoogleMapsPlacesV1AddressDescriptorArea" + }, + "type": "array" + }, + "landmarks": { + "description": "A ranked list of nearby landmarks. The most recognizable and nearby landmarks are ranked first.", + "items": { + "$ref": "GoogleMapsPlacesV1AddressDescriptorLandmark" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleMapsPlacesV1AddressDescriptorArea": { + "description": "Area information and the area's relationship with the target location. Areas includes precise sublocality, neighborhoods, and large compounds that are useful for describing a location.", + "id": "GoogleMapsPlacesV1AddressDescriptorArea", + "properties": { + "containment": { + "description": "Defines the spatial relationship between the target location and the area.", + "enum": [ + "CONTAINMENT_UNSPECIFIED", + "WITHIN", + "OUTSKIRTS", + "NEAR" + ], + "enumDescriptions": [ + "The containment is unspecified.", + "The target location is within the area region, close to the center.", + "The target location is within the area region, close to the edge.", + "The target location is outside the area region, but close by." + ], + "type": "string" + }, + "displayName": { + "$ref": "GoogleTypeLocalizedText", + "description": "The area's display name." + }, + "name": { + "description": "The area's resource name.", + "type": "string" + }, + "placeId": { + "description": "The area's place id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleMapsPlacesV1AddressDescriptorLandmark": { + "description": "Basic landmark information and the landmark's relationship with the target location. Landmarks are prominent places that can be used to describe a location.", + "id": "GoogleMapsPlacesV1AddressDescriptorLandmark", + "properties": { + "displayName": { + "$ref": "GoogleTypeLocalizedText", + "description": "The landmark's display name." + }, + "name": { + "description": "The landmark's resource name.", + "type": "string" + }, + "placeId": { + "description": "The landmark's place id.", + "type": "string" + }, + "spatialRelationship": { + "description": "Defines the spatial relationship between the target location and the landmark.", + "enum": [ + "NEAR", + "WITHIN", + "BESIDE", + "ACROSS_THE_ROAD", + "DOWN_THE_ROAD", + "AROUND_THE_CORNER", + "BEHIND" + ], + "enumDescriptions": [ + "This is the default relationship when nothing more specific below applies.", + "The landmark has a spatial geometry and the target is within its bounds.", + "The target is directly adjacent to the landmark.", + "The target is directly opposite the landmark on the other side of the road.", + "On the same route as the landmark but not besides or across.", + "Not on the same route as the landmark but a single turn away.", + "Close to the landmark's structure but further away from its street entrances." + ], + "type": "string" + }, + "straightLineDistanceMeters": { + "description": "The straight line distance in meters between the target location and the landmark.", + "format": "float", + "type": "number" + }, + "travelDistanceMeters": { + "description": "The travel distance in meters along the road network if known. This does not take into account the mode of transportation (walking/driving).", + "format": "float", + "type": "number" + }, + "types": { + "description": "A set of type tags for this landmark. For a complete list of possible values, see https://developers.google.com/maps/documentation/places/web-service/place-types.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleMapsPlacesV1AuthorAttribution": { "description": "Information about the author of the UGC data. Used in Photo, and Review.", "id": "GoogleMapsPlacesV1AuthorAttribution", @@ -890,6 +1004,10 @@ }, "type": "array" }, + "addressDescriptor": { + "$ref": "GoogleMapsPlacesV1AddressDescriptor", + "description": "The address descriptor of the place. Address descriptors include additional information that help describe a location using landmarks and areas. See address descriptor regional coverage in https://developers.google.com/maps/documentation/geocoding/address-descriptors/coverage." + }, "adrFormatAddress": { "description": "The place's address in adr microformat: http://microformats.org/wiki/adr.", "type": "string" diff --git a/DiscoveryJson/readerrevenuesubscriptionlinking.v1.json b/DiscoveryJson/readerrevenuesubscriptionlinking.v1.json index 174e670f584..8f572514fc4 100644 --- a/DiscoveryJson/readerrevenuesubscriptionlinking.v1.json +++ b/DiscoveryJson/readerrevenuesubscriptionlinking.v1.json @@ -207,7 +207,7 @@ } } }, - "revision": "20230222", + "revision": "20241014", "rootUrl": "https://readerrevenuesubscriptionlinking.googleapis.com/", "schemas": { "DeleteReaderResponse": { @@ -225,7 +225,7 @@ "type": "string" }, "expireTime": { - "description": "Required. Expiration time of the entitlement. Entitlements that have expired over 30 days will be purged. Required. LINT.IfChange(expire_time) The max expire_time is 398 days from now(). LINT.ThenChange(//depot/google3/java/com/google/subscribewithgoogle/accountlinking/subscriptionlink/service/config/protoconf.pi:max_expiry_age)", + "description": "Required. Expiration time of the entitlement. Entitlements that have expired over 30 days will be purged. The max expire_time is 398 days from now(). LINT.ThenChange(//depot/google3/java/com/google/subscribewithgoogle/accountlinking/subscriptionlink/service/config/protoconf.pi:max_expiry_age)", "format": "google-datetime", "type": "string" }, diff --git a/DiscoveryJson/recaptchaenterprise.v1.json b/DiscoveryJson/recaptchaenterprise.v1.json index 653ca4d6207..1f90f6a482c 100644 --- a/DiscoveryJson/recaptchaenterprise.v1.json +++ b/DiscoveryJson/recaptchaenterprise.v1.json @@ -786,7 +786,7 @@ } } }, - "revision": "20240906", + "revision": "20241013", "rootUrl": "https://recaptchaenterprise.googleapis.com/", "schemas": { "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": { @@ -1854,6 +1854,23 @@ "description": "Risk analysis result for an event.", "id": "GoogleCloudRecaptchaenterpriseV1RiskAnalysis", "properties": { + "challenge": { + "description": "Output only. Challenge information for SCORE_AND_CHALLENGE keys", + "enum": [ + "CHALLENGE_UNSPECIFIED", + "NOCAPTCHA", + "PASSED", + "FAILED" + ], + "enumDescriptions": [ + "Default unspecified type.", + "No challenge was presented for solving.", + "A solution was submitted that was correct.", + "A solution was submitted that was incorrect or otherwise deemed suspicious." + ], + "readOnly": true, + "type": "string" + }, "extendedVerdictReasons": { "description": "Output only. Extended verdict reasons to be used for experimentation only. The set of possible reasons is subject to change.", "items": { diff --git a/DiscoveryJson/recommender.v1.json b/DiscoveryJson/recommender.v1.json index e4c7dbf796f..90fe6a5d842 100644 --- a/DiscoveryJson/recommender.v1.json +++ b/DiscoveryJson/recommender.v1.json @@ -1686,7 +1686,7 @@ } } }, - "revision": "20240428", + "revision": "20241013", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1CostProjection": { @@ -1739,6 +1739,13 @@ "$ref": "GoogleCloudRecommenderV1CostProjection", "description": "Use with CategoryType.COST" }, + "impactComponents": { + "description": "If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details.", + "items": { + "$ref": "GoogleCloudRecommenderV1Impact" + }, + "type": "array" + }, "reliabilityProjection": { "$ref": "GoogleCloudRecommenderV1ReliabilityProjection", "description": "Use with CategoryType.RELIABILITY" @@ -1747,6 +1754,10 @@ "$ref": "GoogleCloudRecommenderV1SecurityProjection", "description": "Use with CategoryType.SECURITY" }, + "service": { + "description": "The service that this impact is associated with.", + "type": "string" + }, "sustainabilityProjection": { "$ref": "GoogleCloudRecommenderV1SustainabilityProjection", "description": "Use with CategoryType.SUSTAINABILITY" diff --git a/DiscoveryJson/sheets.v4.json b/DiscoveryJson/sheets.v4.json index 4b25e9a6282..89769477f93 100644 --- a/DiscoveryJson/sheets.v4.json +++ b/DiscoveryJson/sheets.v4.json @@ -870,7 +870,7 @@ } } }, - "revision": "20241001", + "revision": "20241008", "rootUrl": "https://sheets.googleapis.com/", "schemas": { "AddBandingRequest": { @@ -7182,22 +7182,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/DiscoveryJson/spanner.v1.json b/DiscoveryJson/spanner.v1.json index 66ac3ec2ce9..0a63e54662e 100644 --- a/DiscoveryJson/spanner.v1.json +++ b/DiscoveryJson/spanner.v1.json @@ -37,6 +37,11 @@ "endpointUrl": "https://spanner.us-central1.rep.googleapis.com/", "location": "us-central1" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, { "description": "Regional Endpoint", "endpointUrl": "https://spanner.us-east1.rep.googleapis.com/", @@ -52,6 +57,11 @@ "endpointUrl": "https://spanner.us-east5.rep.googleapis.com/", "location": "us-east5" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, { "description": "Regional Endpoint", "endpointUrl": "https://spanner.us-south1.rep.googleapis.com/", @@ -67,6 +77,11 @@ "endpointUrl": "https://spanner.us-west2.rep.googleapis.com/", "location": "us-west2" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://spanner.us-west4.rep.googleapis.com/", @@ -3304,13 +3319,35 @@ } } }, - "revision": "20240930", + "revision": "20241010", "rootUrl": "https://spanner.googleapis.com/", "schemas": { + "AsymmetricAutoscalingOption": { + "description": "AsymmetricAutoscalingOption specifies the scaling of replicas identified by the given selection.", + "id": "AsymmetricAutoscalingOption", + "properties": { + "overrides": { + "$ref": "AutoscalingConfigOverrides", + "description": "Optional. Overrides applied to the top-level autoscaling configuration for the selected replicas." + }, + "replicaSelection": { + "$ref": "InstanceReplicaSelection", + "description": "Required. Selects the replicas to which this AsymmetricAutoscalingOption applies. Only read-only replicas are supported." + } + }, + "type": "object" + }, "AutoscalingConfig": { "description": "Autoscaling configuration for an instance.", "id": "AutoscalingConfig", "properties": { + "asymmetricAutoscalingOptions": { + "description": "Optional. Optional asymmetric autoscaling options. Replicas matching the replica selection criteria will be autoscaled independently from other replicas. The autoscaler will scale the replicas based on the utilization of replicas identified by the replica selection. Replica selections should not overlap with each other. Other replicas (those do not match any replica selection) will be autoscaled together and will have the same compute capacity allocated to them.", + "items": { + "$ref": "AsymmetricAutoscalingOption" + }, + "type": "array" + }, "autoscalingLimits": { "$ref": "AutoscalingLimits", "description": "Required. Autoscaling limits for an instance." @@ -3322,6 +3359,22 @@ }, "type": "object" }, + "AutoscalingConfigOverrides": { + "description": "Overrides the top-level autoscaling configuration for the replicas identified by `replica_selection`. All fields in this message are optional. Any unspecified fields will use the corresponding values from the top-level autoscaling configuration.", + "id": "AutoscalingConfigOverrides", + "properties": { + "autoscalingLimits": { + "$ref": "AutoscalingLimits", + "description": "Optional. If specified, overrides the min/max limit in the top-level autoscaling configuration for the selected replicas." + }, + "autoscalingTargetHighPriorityCpuUtilizationPercent": { + "description": "Optional. If specified, overrides the autoscaling target high_priority_cpu_utilization_percent in the top-level autoscaling configuration for the selected replicas.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "AutoscalingLimits": { "description": "The autoscaling limits for the instance. Users can define the minimum and maximum compute capacity allocated to the instance, and the autoscaler will only scale within that range. Users can either use nodes or processing units to specify the limits, but should use the same unit to set both the min_limit and max_limit.", "id": "AutoscalingLimits", @@ -4582,12 +4635,16 @@ "enum": [ "NORMAL", "PLAN", - "PROFILE" + "PROFILE", + "WITH_STATS", + "WITH_PLAN_AND_STATS" ], "enumDescriptions": [ "The default mode. Only the statement results are returned.", "This mode returns only the query plan, without any results or execution statistics information.", - "This mode returns the query plan, overall execution statistics, operator level execution statistics along with the results. This has a performance overhead compared to the other modes. It is not recommended to use this mode for production traffic." + "This mode returns the query plan, overall execution statistics, operator level execution statistics along with the results. This has a performance overhead compared to the other modes. It is not recommended to use this mode for production traffic.", + "This mode returns the overall (but not operator-level) execution statistics along with the results.", + "This mode returns the query plan, overall (but not operator-level) execution statistics along with the results." ], "type": "string" }, @@ -4886,15 +4943,23 @@ "type": "string" }, "nodeCount": { - "description": "The number of nodes allocated to this instance. At most, one of either `node_count` or `processing_units` should be present in the message. Users can set the `node_count` field to specify the target number of nodes allocated to the instance. If autoscaling is enabled, `node_count` is treated as an `OUTPUT_ONLY` field and reflects the current number of nodes allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. For more information, see [Compute capacity, nodes, and processing units](https://cloud.google.com/spanner/docs/compute-capacity).", + "description": "The number of nodes allocated to this instance. At most, one of either `node_count` or `processing_units` should be present in the message. Users can set the `node_count` field to specify the target number of nodes allocated to the instance. If autoscaling is enabled, `node_count` is treated as an `OUTPUT_ONLY` field and reflects the current number of nodes allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. If the instance has varying node count across replicas (achieved by setting asymmetric_autoscaling_options in autoscaling config), the node_count here is the maximum node count across all replicas. For more information, see [Compute capacity, nodes, and processing units](https://cloud.google.com/spanner/docs/compute-capacity).", "format": "int32", "type": "integer" }, "processingUnits": { - "description": "The number of processing units allocated to this instance. At most, one of either `processing_units` or `node_count` should be present in the message. Users can set the `processing_units` field to specify the target number of processing units allocated to the instance. If autoscaling is enabled, `processing_units` is treated as an `OUTPUT_ONLY` field and reflects the current number of processing units allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. For more information, see [Compute capacity, nodes and processing units](https://cloud.google.com/spanner/docs/compute-capacity).", + "description": "The number of processing units allocated to this instance. At most, one of either `processing_units` or `node_count` should be present in the message. Users can set the `processing_units` field to specify the target number of processing units allocated to the instance. If autoscaling is enabled, `processing_units` is treated as an `OUTPUT_ONLY` field and reflects the current number of processing units allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. If the instance has varying processing units per replica (achieved by setting asymmetric_autoscaling_options in autoscaling config), the processing_units here is the maximum processing units across all replicas. For more information, see [Compute capacity, nodes and processing units](https://cloud.google.com/spanner/docs/compute-capacity).", "format": "int32", "type": "integer" }, + "replicaComputeCapacity": { + "description": "Output only. Lists the compute capacity per ReplicaSelection. A replica selection identifies a set of replicas with common properties. Replicas identified by a ReplicaSelection are scaled with the same compute capacity.", + "items": { + "$ref": "ReplicaComputeCapacity" + }, + "readOnly": true, + "type": "array" + }, "state": { "description": "Output only. The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.", "enum": [ @@ -5147,6 +5212,17 @@ }, "type": "object" }, + "InstanceReplicaSelection": { + "description": "ReplicaSelection identifies replicas with common properties.", + "id": "InstanceReplicaSelection", + "properties": { + "location": { + "description": "Required. Name of the location of the replicas (e.g., \"us-central1\").", + "type": "string" + } + }, + "type": "object" + }, "KeyRange": { "description": "KeyRange represents a range of rows in a table or index. A range has a start key and an end key. These keys can be open or closed, indicating if the range includes rows with that key. Keys are represented by lists, where the ith value in the list corresponds to the ith component of the table or index primary key. Individual values are encoded as described here. For example, consider the following table definition: CREATE TABLE UserEvents ( UserName STRING(MAX), EventDate STRING(10) ) PRIMARY KEY(UserName, EventDate); The following keys name rows in this table: \"Bob\", \"2014-09-23\" Since the `UserEvents` table's `PRIMARY KEY` clause names two columns, each `UserEvents` key has two elements; the first is the `UserName`, and the second is the `EventDate`. Key ranges with multiple components are interpreted lexicographically by component using the table or index key's declared sort order. For example, the following range returns all events for user `\"Bob\"` that occurred in the year 2015: \"start_closed\": [\"Bob\", \"2015-01-01\"] \"end_closed\": [\"Bob\", \"2015-12-31\"] Start and end keys can omit trailing key components. This affects the inclusion and exclusion of rows that exactly match the provided key components: if the key is closed, then rows that exactly match the provided components are included; if the key is open, then rows that exactly match are not included. For example, the following range includes all events for `\"Bob\"` that occurred during and after the year 2000: \"start_closed\": [\"Bob\", \"2000-01-01\"] \"end_closed\": [\"Bob\"] The next example retrieves all events for `\"Bob\"`: \"start_closed\": [\"Bob\"] \"end_closed\": [\"Bob\"] To retrieve events before the year 2000: \"start_closed\": [\"Bob\"] \"end_open\": [\"Bob\", \"2000-01-01\"] The following range includes all rows in the table: \"start_closed\": [] \"end_closed\": [] This range returns all users whose `UserName` begins with any character from A to C: \"start_closed\": [\"A\"] \"end_open\": [\"D\"] This range returns all users whose `UserName` begins with B: \"start_closed\": [\"B\"] \"end_open\": [\"C\"] Key ranges honor column sort order. For example, suppose a table is defined as follows: CREATE TABLE DescendingSortedTable { Key INT64, ... ) PRIMARY KEY(Key DESC); The following range retrieves all rows with key values between 1 and 100 inclusive: \"start_closed\": [\"100\"] \"end_closed\": [\"1\"] Note that 100 is passed as the start, and 1 is passed as the end, because `Key` is a descending column in the schema.", "id": "KeyRange", @@ -6321,6 +6397,27 @@ }, "type": "object" }, + "ReplicaComputeCapacity": { + "description": "ReplicaComputeCapacity describes the amount of server resources that are allocated to each replica identified by the replica selection.", + "id": "ReplicaComputeCapacity", + "properties": { + "nodeCount": { + "description": "The number of nodes allocated to each replica. This may be zero in API responses for instances that are not yet in state `READY`.", + "format": "int32", + "type": "integer" + }, + "processingUnits": { + "description": "The number of processing units allocated to each replica. This may be zero in API responses for instances that are not yet in state `READY`.", + "format": "int32", + "type": "integer" + }, + "replicaSelection": { + "$ref": "InstanceReplicaSelection", + "description": "Required. Identifies replicas by specified properties. All replicas in the selection have the same amount of compute capacity." + } + }, + "type": "object" + }, "ReplicaInfo": { "id": "ReplicaInfo", "properties": { @@ -6927,7 +7024,8 @@ "NUMERIC", "JSON", "PROTO", - "ENUM" + "ENUM", + "INTERVAL" ], "enumDescriptions": [ "Not specified.", @@ -6944,7 +7042,8 @@ "Encoded as `string`, in decimal format or scientific notation format. Decimal format: `[+-]Digits[.[Digits]]` or `+-.Digits` Scientific notation: `[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or `+-.Digits[ExponentIndicator[+-]Digits]` (ExponentIndicator is `\"e\"` or `\"E\"`)", "Encoded as a JSON-formatted `string` as described in RFC 7159. The following rules are applied when parsing JSON input: - Whitespace characters are not preserved. - If a JSON object has duplicate keys, only the first key is preserved. - Members of a JSON object are not guaranteed to have their order preserved. - JSON array elements will have their order preserved.", "Encoded as a base64-encoded `string`, as described in RFC 4648, section 4.", - "Encoded as `string`, in decimal format." + "Encoded as `string`, in decimal format.", + "Encoded as `string`, in `ISO8601` duration format - `P[n]Y[n]M[n]DT[n]H[n]M[n[.fraction]]S` where `n` is an integer. For example, `P1Y2M3DT4H5M6.5S` represents time duration of 1 year, 2 months, 3 days, 4 hours, 5 minutes, and 6.5 seconds." ], "type": "string" }, diff --git a/DiscoveryJson/texttospeech.v1.json b/DiscoveryJson/texttospeech.v1.json index 80e1c407e23..782a11f4fdc 100644 --- a/DiscoveryJson/texttospeech.v1.json +++ b/DiscoveryJson/texttospeech.v1.json @@ -294,24 +294,6 @@ }, "voices": { "methods": { - "generateVoiceCloningKey": { - "description": "Generates voice clone key given a short voice prompt. This method validates the voice prompts with a series of checks against the voice talent statement to verify the voice clone is safe to generate.", - "flatPath": "v1/voices:generateVoiceCloningKey", - "httpMethod": "POST", - "id": "texttospeech.voices.generateVoiceCloningKey", - "parameterOrder": [], - "parameters": {}, - "path": "v1/voices:generateVoiceCloningKey", - "request": { - "$ref": "GenerateVoiceCloningKeyRequest" - }, - "response": { - "$ref": "GenerateVoiceCloningKeyResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "list": { "description": "Returns a list of Voice supported for synthesis.", "flatPath": "v1/voices", @@ -336,7 +318,7 @@ } } }, - "revision": "20241001", + "revision": "20241008", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AdvancedVoiceOptions": { @@ -485,40 +467,6 @@ "properties": {}, "type": "object" }, - "GenerateVoiceCloningKeyRequest": { - "description": "Request message for the `GenerateVoiceCloningKey` method.", - "id": "GenerateVoiceCloningKeyRequest", - "properties": { - "consentScript": { - "description": "Required. The script used for the voice talent statement. The script will be provided to the caller through other channels. It must be returned unchanged in this field.", - "type": "string" - }, - "languageCode": { - "description": "Required. The language of the supplied audio as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\". See [Language Support](https://cloud.google.com/speech-to-text/docs/languages) for a list of the currently supported language codes.", - "type": "string" - }, - "referenceAudio": { - "$ref": "InputAudio", - "description": "Required. The training audio used to create voice clone. This is currently limited to LINEAR16 PCM WAV files mono audio with 24khz sample rate. This needs to be specified in [InputAudio.audio_config], other values will be explicitly rejected." - }, - "voiceTalentConsent": { - "$ref": "InputAudio", - "description": "Required. The voice talent audio used to verify consent to voice clone." - } - }, - "type": "object" - }, - "GenerateVoiceCloningKeyResponse": { - "description": "Response message for the `GenerateVoiceCloningKey` method.", - "id": "GenerateVoiceCloningKeyResponse", - "properties": { - "voiceCloningKey": { - "description": "The voice clone key. Use it in the SynthesizeSpeechRequest by setting [voice.voice_clone.voice_cloning_key].", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudTexttospeechV1SynthesizeLongAudioMetadata": { "description": "Metadata for response returned by the `SynthesizeLongAudio` method.", "id": "GoogleCloudTexttospeechV1SynthesizeLongAudioMetadata", @@ -542,54 +490,6 @@ }, "type": "object" }, - "InputAudio": { - "description": "Holds audio content and config.", - "id": "InputAudio", - "properties": { - "audioConfig": { - "$ref": "InputAudioConfig", - "description": "Required. Provides information that specifies how to process content." - }, - "content": { - "description": "Required. The audio data bytes encoded as specified in `InputAudioConfig`. Note: as with all bytes fields, proto buffers use a pure binary representation, whereas JSON representations use base64. Audio samples should be between 5-25 seconds in length.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "InputAudioConfig": { - "description": "Description of inputted audio data.", - "id": "InputAudioConfig", - "properties": { - "audioEncoding": { - "description": "Required. The format of the audio byte stream.", - "enum": [ - "AUDIO_ENCODING_UNSPECIFIED", - "LINEAR16", - "MP3", - "OGG_OPUS", - "MULAW", - "ALAW" - ], - "enumDescriptions": [ - "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", - "Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.", - "MP3 audio at 32kbps.", - "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. Audio content returned as MULAW also contains a WAV header.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header." - ], - "type": "string" - }, - "sampleRateHertz": { - "description": "Required. The sample rate (in hertz) for this audio.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -823,17 +723,6 @@ }, "type": "object" }, - "VoiceCloneParams": { - "description": "The configuration of Voice Clone feature.", - "id": "VoiceCloneParams", - "properties": { - "voiceCloningKey": { - "description": "Required. Created by GenerateVoiceCloningKey.", - "type": "string" - } - }, - "type": "object" - }, "VoiceSelectionParams": { "description": "Description of which voice to use for a synthesis request.", "id": "VoiceSelectionParams", @@ -865,10 +754,6 @@ "A gender-neutral voice. This voice is not yet supported." ], "type": "string" - }, - "voiceClone": { - "$ref": "VoiceCloneParams", - "description": "Optional. The configuration for a voice clone. If [VoiceCloneParams.voice_clone_key] is set, the service will choose the voice clone matching the specified configuration." } }, "type": "object" diff --git a/DiscoveryJson/texttospeech.v1beta1.json b/DiscoveryJson/texttospeech.v1beta1.json index 9c93a509129..11bf3960958 100644 --- a/DiscoveryJson/texttospeech.v1beta1.json +++ b/DiscoveryJson/texttospeech.v1beta1.json @@ -237,24 +237,6 @@ }, "voices": { "methods": { - "generateVoiceCloningKey": { - "description": "Generates voice clone key given a short voice prompt. This method validates the voice prompts with a series of checks against the voice talent statement to verify the voice clone is safe to generate.", - "flatPath": "v1beta1/voices:generateVoiceCloningKey", - "httpMethod": "POST", - "id": "texttospeech.voices.generateVoiceCloningKey", - "parameterOrder": [], - "parameters": {}, - "path": "v1beta1/voices:generateVoiceCloningKey", - "request": { - "$ref": "GenerateVoiceCloningKeyRequest" - }, - "response": { - "$ref": "GenerateVoiceCloningKeyResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "list": { "description": "Returns a list of Voice supported for synthesis.", "flatPath": "v1beta1/voices", @@ -279,7 +261,7 @@ } } }, - "revision": "20241001", + "revision": "20241008", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AdvancedVoiceOptions": { @@ -418,40 +400,6 @@ }, "type": "object" }, - "GenerateVoiceCloningKeyRequest": { - "description": "Request message for the `GenerateVoiceCloningKey` method.", - "id": "GenerateVoiceCloningKeyRequest", - "properties": { - "consentScript": { - "description": "Required. The script used for the voice talent statement. The script will be provided to the caller through other channels. It must be returned unchanged in this field.", - "type": "string" - }, - "languageCode": { - "description": "Required. The language of the supplied audio as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\". See [Language Support](https://cloud.google.com/speech-to-text/docs/languages) for a list of the currently supported language codes.", - "type": "string" - }, - "referenceAudio": { - "$ref": "InputAudio", - "description": "Required. The training audio used to create voice clone. This is currently limited to LINEAR16 PCM WAV files mono audio with 24khz sample rate. This needs to be specified in [InputAudio.audio_config], other values will be explicitly rejected." - }, - "voiceTalentConsent": { - "$ref": "InputAudio", - "description": "Required. The voice talent audio used to verify consent to voice clone." - } - }, - "type": "object" - }, - "GenerateVoiceCloningKeyResponse": { - "description": "Response message for the `GenerateVoiceCloningKey` method.", - "id": "GenerateVoiceCloningKeyResponse", - "properties": { - "voiceCloningKey": { - "description": "The voice clone key. Use it in the SynthesizeSpeechRequest by setting [voice.voice_clone.voice_cloning_key].", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudTexttospeechV1beta1SynthesizeLongAudioMetadata": { "description": "Metadata for response returned by the `SynthesizeLongAudio` method.", "id": "GoogleCloudTexttospeechV1beta1SynthesizeLongAudioMetadata", @@ -475,56 +423,6 @@ }, "type": "object" }, - "InputAudio": { - "description": "Holds audio content and config.", - "id": "InputAudio", - "properties": { - "audioConfig": { - "$ref": "InputAudioConfig", - "description": "Required. Provides information that specifies how to process content." - }, - "content": { - "description": "Required. The audio data bytes encoded as specified in `InputAudioConfig`. Note: as with all bytes fields, proto buffers use a pure binary representation, whereas JSON representations use base64. Audio samples should be between 5-25 seconds in length.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "InputAudioConfig": { - "description": "Description of inputted audio data.", - "id": "InputAudioConfig", - "properties": { - "audioEncoding": { - "description": "Required. The format of the audio byte stream.", - "enum": [ - "AUDIO_ENCODING_UNSPECIFIED", - "LINEAR16", - "MP3", - "MP3_64_KBPS", - "OGG_OPUS", - "MULAW", - "ALAW" - ], - "enumDescriptions": [ - "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", - "Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.", - "MP3 audio at 32kbps.", - "MP3 at 64kbps.", - "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. Audio content returned as MULAW also contains a WAV header.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header." - ], - "type": "string" - }, - "sampleRateHertz": { - "description": "Required. The sample rate (in hertz) for this audio.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -800,17 +698,6 @@ }, "type": "object" }, - "VoiceCloneParams": { - "description": "The configuration of Voice Clone feature.", - "id": "VoiceCloneParams", - "properties": { - "voiceCloningKey": { - "description": "Required. Created by GenerateVoiceCloningKey.", - "type": "string" - } - }, - "type": "object" - }, "VoiceSelectionParams": { "description": "Description of which voice to use for a synthesis request.", "id": "VoiceSelectionParams", @@ -842,10 +729,6 @@ "A gender-neutral voice. This voice is not yet supported." ], "type": "string" - }, - "voiceClone": { - "$ref": "VoiceCloneParams", - "description": "Optional. The configuration for a voice clone. If [VoiceCloneParams.voice_clone_key] is set, the service will choose the voice clone matching the specified configuration." } }, "type": "object" diff --git a/EnumStorage/netapp.v1.json b/EnumStorage/netapp.v1.json new file mode 100644 index 00000000000..7894f9c0795 --- /dev/null +++ b/EnumStorage/netapp.v1.json @@ -0,0 +1,11 @@ +{ + "Google.Apis.NetAppFiles.v1.NetAppFilesBaseServiceRequest<>.AltEnum": [ + "json", + "media", + "proto" + ], + "Google.Apis.NetAppFiles.v1.NetAppFilesBaseServiceRequest<>.XgafvEnum": [ + "1", + "2" + ] +} \ No newline at end of file diff --git a/EnumStorage/netapp.v1beta1.json b/EnumStorage/netapp.v1beta1.json new file mode 100644 index 00000000000..53e707e4b63 --- /dev/null +++ b/EnumStorage/netapp.v1beta1.json @@ -0,0 +1,11 @@ +{ + "Google.Apis.NetAppFiles.v1beta1.NetAppFilesBaseServiceRequest<>.AltEnum": [ + "json", + "media", + "proto" + ], + "Google.Apis.NetAppFiles.v1beta1.NetAppFilesBaseServiceRequest<>.XgafvEnum": [ + "1", + "2" + ] +} \ No newline at end of file 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 bf7a4104798..b103fb4fae8 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 @@ -9392,6 +9392,69 @@ protected override void InitParameters() } } + /// Creates a batch of Features in a given FeatureGroup. + /// The body of the request. + /// + /// Required. The resource name of the EntityType/FeatureGroup to create the batch of Features + /// under. Format: + /// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + /// `projects/{project}/locations/{location}/featureGroups/{feature_group}` + /// + public virtual BatchCreateRequest BatchCreate(Google.Apis.Aiplatform.v1.Data.GoogleCloudAiplatformV1BatchCreateFeaturesRequest body, string parent) + { + return new BatchCreateRequest(this.service, body, parent); + } + + /// Creates a batch of Features in a given FeatureGroup. + public class BatchCreateRequest : AiplatformBaseServiceRequest + { + /// Constructs a new BatchCreate request. + public BatchCreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Aiplatform.v1.Data.GoogleCloudAiplatformV1BatchCreateFeaturesRequest body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the EntityType/FeatureGroup to create the batch of Features + /// under. Format: + /// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + /// `projects/{project}/locations/{location}/featureGroups/{feature_group}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.Aiplatform.v1.Data.GoogleCloudAiplatformV1BatchCreateFeaturesRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "batchCreate"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/features:batchCreate"; + + /// Initializes BatchCreate 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/[^/]+/featureGroups/[^/]+$", + }); + } + } + /// Creates a new Feature in a given FeatureGroup. /// The body of the request. /// @@ -40558,6 +40621,12 @@ public class CloudAiLargeModelsVisionImage : Google.Apis.Requests.IDirectRespons [Newtonsoft.Json.JsonPropertyAttribute("imageRaiScores")] public virtual CloudAiLargeModelsVisionImageRAIScores ImageRaiScores { get; set; } + /// + /// Image size. The size of the image. Can be self reported, or computed from the image bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("imageSize")] + public virtual CloudAiLargeModelsVisionImageImageSize ImageSize { get; set; } + /// RAI info for image. [Newtonsoft.Json.JsonPropertyAttribute("raiInfo")] public virtual CloudAiLargeModelsVisionRaiInfo RaiInfo { get; set; } @@ -40578,6 +40647,22 @@ public class CloudAiLargeModelsVisionImage : Google.Apis.Requests.IDirectRespons public virtual string ETag { get; set; } } + /// Image size. + public class CloudAiLargeModelsVisionImageImageSize : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("channels")] + public virtual System.Nullable Channels { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("height")] + public virtual System.Nullable Height { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("width")] + public virtual System.Nullable Width { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// RAI scores for generated image returned. public class CloudAiLargeModelsVisionImageRAIScores : Google.Apis.Requests.IDirectResponseSchema { @@ -43874,6 +43959,10 @@ public class GoogleCloudAiplatformV1CustomJobSpec : Google.Apis.Requests.IDirect [Newtonsoft.Json.JsonPropertyAttribute("protectedArtifactLocationId")] public virtual string ProtectedArtifactLocationId { get; set; } + /// Optional. Configuration for PSC-I for CustomJob. + [Newtonsoft.Json.JsonPropertyAttribute("pscInterfaceConfig")] + public virtual GoogleCloudAiplatformV1PscInterfaceConfig PscInterfaceConfig { get; set; } + /// /// Optional. A list of names for the reserved ip ranges under the VPC network that can be used for this job. If /// set, we will deploy the job within the provided ip ranges. Otherwise, the job will be deployed to any ip @@ -48772,6 +48861,10 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// Configuration for Sync. Only one option is set. public class GoogleCloudAiplatformV1FeatureViewSyncConfig : Google.Apis.Requests.IDirectResponseSchema { + /// Optional. If true, syncs the FeatureView in a continuous manner to Online Store. + [Newtonsoft.Json.JsonPropertyAttribute("continuous")] + public virtual System.Nullable Continuous { get; set; } + /// /// Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to /// the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". The @@ -49820,6 +49913,10 @@ public class GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata : Googl /// Generation config. public class GoogleCloudAiplatformV1GenerationConfig : Google.Apis.Requests.IDirectResponseSchema { + /// Optional. If enabled, audio timestamp will be included in the request to the model. + [Newtonsoft.Json.JsonPropertyAttribute("audioTimestamp")] + public virtual System.Nullable AudioTimestamp { get; set; } + /// Optional. Number of candidates to generate. [Newtonsoft.Json.JsonPropertyAttribute("candidateCount")] public virtual System.Nullable CandidateCount { get; set; } @@ -57712,6 +57809,13 @@ public class GoogleCloudAiplatformV1PscAutomatedEndpoints : Google.Apis.Requests public virtual string ETag { get; set; } } + /// Configuration for PSC-I. + public class GoogleCloudAiplatformV1PscInterfaceConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// A Model Garden Publisher Model. public class GoogleCloudAiplatformV1PublisherModel : Google.Apis.Requests.IDirectResponseSchema { @@ -59995,8 +60099,9 @@ public class GoogleCloudAiplatformV1Schema : Google.Apis.Requests.IDirectRespons public virtual string Description { get; set; } /// - /// Optional. Possible values of the element of Type.STRING with enum format. For example we can define an Enum - /// Direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} + /// Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define + /// direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment + /// number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} /// [Newtonsoft.Json.JsonPropertyAttribute("enum")] public virtual System.Collections.Generic.IList Enum__ { get; set; } @@ -61919,6 +62024,149 @@ public class GoogleCloudAiplatformV1SchemaPredictionResultError : Google.Apis.Re public virtual string ETag { get; set; } } + /// The A2 schema of a prompt. + public class GoogleCloudAiplatformV1SchemaPromptApiSchema : Google.Apis.Requests.IDirectResponseSchema + { + /// The Schema version that represents changes to the API behavior. + [Newtonsoft.Json.JsonPropertyAttribute("apiSchemaVersion")] + public virtual string ApiSchemaVersion { get; set; } + + /// A list of execution instances for constructing a ready-to-use prompt. + [Newtonsoft.Json.JsonPropertyAttribute("executions")] + public virtual System.Collections.Generic.IList Executions { get; set; } + + /// Multimodal prompt which embeds preambles to prompt string. + [Newtonsoft.Json.JsonPropertyAttribute("multimodalPrompt")] + public virtual GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt MultimodalPrompt { get; set; } + + /// The prompt variation that stores preambles in separate fields. + [Newtonsoft.Json.JsonPropertyAttribute("structuredPrompt")] + public virtual GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt StructuredPrompt { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A prompt instance's parameters set that contains a set of variable values. + public class GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution : Google.Apis.Requests.IDirectResponseSchema + { + /// Maps variable names to their value. + [Newtonsoft.Json.JsonPropertyAttribute("arguments")] + public virtual System.Collections.Generic.IDictionary Arguments { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The value of a variable in prompt. + public class GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue : Google.Apis.Requests.IDirectResponseSchema + { + /// The parts of the variable value. + [Newtonsoft.Json.JsonPropertyAttribute("partList")] + public virtual GoogleCloudAiplatformV1SchemaPromptSpecPartList PartList { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Prompt variation that embeds preambles to prompt string. + public class GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt : Google.Apis.Requests.IDirectResponseSchema + { + /// The prompt message. + [Newtonsoft.Json.JsonPropertyAttribute("promptMessage")] + public virtual GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage PromptMessage { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A list of elements and information that make up a portion of prompt. + public class GoogleCloudAiplatformV1SchemaPromptSpecPartList : Google.Apis.Requests.IDirectResponseSchema + { + /// A list of elements that can be part of a prompt. + [Newtonsoft.Json.JsonPropertyAttribute("parts")] + public virtual System.Collections.Generic.IList Parts { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest. + /// + public class GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The content of the current conversation with the model. For single-turn queries, this is a single instance. + /// For multi-turn queries, this is a repeated field that contains conversation history + latest request. + /// + [Newtonsoft.Json.JsonPropertyAttribute("contents")] + public virtual System.Collections.Generic.IList Contents { get; set; } + + /// Generation config. + [Newtonsoft.Json.JsonPropertyAttribute("generationConfig")] + public virtual GoogleCloudAiplatformV1GenerationConfig GenerationConfig { get; set; } + + /// The model name. + [Newtonsoft.Json.JsonPropertyAttribute("model")] + public virtual string Model { get; set; } + + /// + /// Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates. + /// + [Newtonsoft.Json.JsonPropertyAttribute("safetySettings")] + public virtual System.Collections.Generic.IList SafetySettings { get; set; } + + /// + /// The user provided system instructions for the model. Note: only text should be used in parts and content in + /// each part will be in a separate paragraph. + /// + [Newtonsoft.Json.JsonPropertyAttribute("systemInstruction")] + public virtual GoogleCloudAiplatformV1Content SystemInstruction { get; set; } + + /// Tool config. This config is shared for all tools provided in the request. + [Newtonsoft.Json.JsonPropertyAttribute("toolConfig")] + public virtual GoogleCloudAiplatformV1ToolConfig ToolConfig { get; set; } + + /// + /// A list of `Tools` the model may use to generate the next 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("tools")] + public virtual System.Collections.Generic.IList Tools { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Prompt variation that stores preambles in separate fields. + public class GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt : Google.Apis.Requests.IDirectResponseSchema + { + /// Preamble: The context of the prompt. + [Newtonsoft.Json.JsonPropertyAttribute("context")] + public virtual GoogleCloudAiplatformV1Content Context { get; set; } + + /// Preamble: A set of examples for expected model response. + [Newtonsoft.Json.JsonPropertyAttribute("examples")] + public virtual System.Collections.Generic.IList Examples { get; set; } + + /// Preamble: The input prefixes before each example input. + [Newtonsoft.Json.JsonPropertyAttribute("inputPrefixes")] + public virtual System.Collections.Generic.IList InputPrefixes { get; set; } + + /// Preamble: The output prefixes before each example output. + [Newtonsoft.Json.JsonPropertyAttribute("outputPrefixes")] + public virtual System.Collections.Generic.IList OutputPrefixes { get; set; } + + /// The prompt message. + [Newtonsoft.Json.JsonPropertyAttribute("promptMessage")] + public virtual GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage PromptMessage { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// The metadata of Datasets that contain tables data. public class GoogleCloudAiplatformV1SchemaTablesDatasetMetadata : Google.Apis.Requests.IDirectResponseSchema { @@ -62065,6 +62313,10 @@ public class GoogleCloudAiplatformV1SchemaTextPromptDatasetMetadata : Google.Api [Newtonsoft.Json.JsonPropertyAttribute("note")] public virtual string Note { get; set; } + /// The API schema of the prompt to support both UI and SDK usages. + [Newtonsoft.Json.JsonPropertyAttribute("promptApiSchema")] + public virtual GoogleCloudAiplatformV1SchemaPromptApiSchema PromptApiSchema { get; set; } + /// Type of the prompt dataset. [Newtonsoft.Json.JsonPropertyAttribute("promptType")] public virtual string PromptType { get; set; } @@ -66999,7 +67251,7 @@ public class GoogleCloudAiplatformV1ToolParameterKVMatchResults : Google.Apis.Re /// Spec for tool parameter key value match metric. public class GoogleCloudAiplatformV1ToolParameterKVMatchSpec : Google.Apis.Requests.IDirectResponseSchema { - /// Optional. Whether to use STRCIT string match on parameter values. + /// Optional. Whether to use STRICT string match on parameter values. [Newtonsoft.Json.JsonPropertyAttribute("useStrictStringMatch")] public virtual System.Nullable UseStrictStringMatch { get; set; } diff --git a/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.csproj b/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.csproj index 5bc54e04c7d..85b0a08afd8 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.3561 + 1.68.0.3567 Google LLC Copyright 2024 Google LLC Google 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 069cddd06c5..d8178d628b0 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 @@ -13106,6 +13106,69 @@ protected override void InitParameters() } } + /// Creates a batch of Features in a given FeatureGroup. + /// The body of the request. + /// + /// Required. The resource name of the EntityType/FeatureGroup to create the batch of Features + /// under. Format: + /// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + /// `projects/{project}/locations/{location}/featureGroups/{feature_group}` + /// + public virtual BatchCreateRequest BatchCreate(Google.Apis.Aiplatform.v1beta1.Data.GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest body, string parent) + { + return new BatchCreateRequest(this.service, body, parent); + } + + /// Creates a batch of Features in a given FeatureGroup. + public class BatchCreateRequest : AiplatformBaseServiceRequest + { + /// Constructs a new BatchCreate request. + public BatchCreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Aiplatform.v1beta1.Data.GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the EntityType/FeatureGroup to create the batch of Features + /// under. Format: + /// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` + /// `projects/{project}/locations/{location}/featureGroups/{feature_group}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.Aiplatform.v1beta1.Data.GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "batchCreate"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+parent}/features:batchCreate"; + + /// Initializes BatchCreate 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/[^/]+/featureGroups/[^/]+$", + }); + } + } + /// Creates a new Feature in a given FeatureGroup. /// The body of the request. /// @@ -48273,6 +48336,12 @@ public class CloudAiLargeModelsVisionImage : Google.Apis.Requests.IDirectRespons [Newtonsoft.Json.JsonPropertyAttribute("imageRaiScores")] public virtual CloudAiLargeModelsVisionImageRAIScores ImageRaiScores { get; set; } + /// + /// Image size. The size of the image. Can be self reported, or computed from the image bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("imageSize")] + public virtual CloudAiLargeModelsVisionImageImageSize ImageSize { get; set; } + /// RAI info for image. [Newtonsoft.Json.JsonPropertyAttribute("raiInfo")] public virtual CloudAiLargeModelsVisionRaiInfo RaiInfo { get; set; } @@ -48293,6 +48362,22 @@ public class CloudAiLargeModelsVisionImage : Google.Apis.Requests.IDirectRespons public virtual string ETag { get; set; } } + /// Image size. + public class CloudAiLargeModelsVisionImageImageSize : Google.Apis.Requests.IDirectResponseSchema + { + [Newtonsoft.Json.JsonPropertyAttribute("channels")] + public virtual System.Nullable Channels { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("height")] + public virtual System.Nullable Height { get; set; } + + [Newtonsoft.Json.JsonPropertyAttribute("width")] + public virtual System.Nullable Width { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// RAI scores for generated image returned. public class CloudAiLargeModelsVisionImageRAIScores : Google.Apis.Requests.IDirectResponseSchema { @@ -52223,6 +52308,10 @@ public class GoogleCloudAiplatformV1beta1CustomJobSpec : Google.Apis.Requests.ID [Newtonsoft.Json.JsonPropertyAttribute("protectedArtifactLocationId")] public virtual string ProtectedArtifactLocationId { get; set; } + /// Optional. Configuration for PSC-I for CustomJob. + [Newtonsoft.Json.JsonPropertyAttribute("pscInterfaceConfig")] + public virtual GoogleCloudAiplatformV1beta1PscInterfaceConfig PscInterfaceConfig { get; set; } + /// /// Optional. A list of names for the reserved ip ranges under the VPC network that can be used for this job. If /// set, we will deploy the job within the provided ip ranges. Otherwise, the job will be deployed to any ip @@ -57632,6 +57721,10 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// Configuration for Sync. Only one option is set. public class GoogleCloudAiplatformV1beta1FeatureViewSyncConfig : Google.Apis.Requests.IDirectResponseSchema { + /// Optional. If true, syncs the FeatureView in a continuous manner to Online Store. + [Newtonsoft.Json.JsonPropertyAttribute("continuous")] + public virtual System.Nullable Continuous { get; set; } + /// /// Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to /// the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}". The @@ -58856,6 +58949,10 @@ public class GoogleCloudAiplatformV1beta1GenerateVideoResponse : Google.Apis.Req /// Generation config. public class GoogleCloudAiplatformV1beta1GenerationConfig : Google.Apis.Requests.IDirectResponseSchema { + /// Optional. If enabled, audio timestamp will be included in the request to the model. + [Newtonsoft.Json.JsonPropertyAttribute("audioTimestamp")] + public virtual System.Nullable AudioTimestamp { get; set; } + /// Optional. Number of candidates to generate. [Newtonsoft.Json.JsonPropertyAttribute("candidateCount")] public virtual System.Nullable CandidateCount { get; set; } @@ -67276,6 +67373,10 @@ public virtual System.DateTimeOffset? EndTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("preflightValidations")] public virtual System.Nullable PreflightValidations { get; set; } + /// Optional. Configuration for PSC-I for PipelineJob. + [Newtonsoft.Json.JsonPropertyAttribute("pscInterfaceConfig")] + public virtual GoogleCloudAiplatformV1beta1PscInterfaceConfig PscInterfaceConfig { get; set; } + /// /// A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's /// workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the @@ -71592,8 +71693,9 @@ public class GoogleCloudAiplatformV1beta1Schema : Google.Apis.Requests.IDirectRe public virtual string Description { get; set; } /// - /// Optional. Possible values of the element of Type.STRING with enum format. For example we can define an Enum - /// Direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} + /// Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define + /// direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment + /// number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} /// [Newtonsoft.Json.JsonPropertyAttribute("enum")] public virtual System.Collections.Generic.IList Enum__ { get; set; } @@ -72884,6 +72986,48 @@ public class GoogleCloudAiplatformV1beta1SchemaPredictInstanceVideoObjectTrackin public virtual string ETag { get; set; } } + /// The configuration for grounding checking. + public class GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// If set, skip finding claim attributions (i.e not generate grounding citation). + [Newtonsoft.Json.JsonPropertyAttribute("disableAttribution")] + public virtual System.Nullable DisableAttribution { get; set; } + + /// The sources for the grounding checking. + [Newtonsoft.Json.JsonPropertyAttribute("sources")] + public virtual System.Collections.Generic.IList Sources { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Single source entry for the grounding checking. + public class GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The uri of the Vertex AI Search data source. Deprecated. Use vertex_ai_search_datastore instead. + /// + [Newtonsoft.Json.JsonPropertyAttribute("enterpriseDatastore")] + public virtual string EnterpriseDatastore { get; set; } + + /// + /// The grounding text passed inline with the Predict API. It can support up to 1 million bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("inlineContext")] + public virtual string InlineContext { get; set; } + + /// The type of the grounding checking source. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } + + /// The uri of the Vertex AI Search data source. + [Newtonsoft.Json.JsonPropertyAttribute("vertexAiSearchDatastore")] + public virtual string VertexAiSearchDatastore { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Prediction model parameters for Image Classification. public class GoogleCloudAiplatformV1beta1SchemaPredictParamsImageClassificationPredictionParams : Google.Apis.Requests.IDirectResponseSchema { @@ -73474,6 +73618,149 @@ public class GoogleCloudAiplatformV1beta1SchemaPredictionResultError : Google.Ap public virtual string ETag { get; set; } } + /// The A2 schema of a prompt. + public class GoogleCloudAiplatformV1beta1SchemaPromptApiSchema : Google.Apis.Requests.IDirectResponseSchema + { + /// The Schema version that represents changes to the API behavior. + [Newtonsoft.Json.JsonPropertyAttribute("apiSchemaVersion")] + public virtual string ApiSchemaVersion { get; set; } + + /// A list of execution instances for constructing a ready-to-use prompt. + [Newtonsoft.Json.JsonPropertyAttribute("executions")] + public virtual System.Collections.Generic.IList Executions { get; set; } + + /// Multimodal prompt which embeds preambles to prompt string. + [Newtonsoft.Json.JsonPropertyAttribute("multimodalPrompt")] + public virtual GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt MultimodalPrompt { get; set; } + + /// The prompt variation that stores preambles in separate fields. + [Newtonsoft.Json.JsonPropertyAttribute("structuredPrompt")] + public virtual GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt StructuredPrompt { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A prompt instance's parameters set that contains a set of variable values. + public class GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution : Google.Apis.Requests.IDirectResponseSchema + { + /// Maps variable names to their value. + [Newtonsoft.Json.JsonPropertyAttribute("arguments")] + public virtual System.Collections.Generic.IDictionary Arguments { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The value of a variable in prompt. + public class GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue : Google.Apis.Requests.IDirectResponseSchema + { + /// The parts of the variable value. + [Newtonsoft.Json.JsonPropertyAttribute("partList")] + public virtual GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList PartList { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Prompt variation that embeds preambles to prompt string. + public class GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt : Google.Apis.Requests.IDirectResponseSchema + { + /// The prompt message. + [Newtonsoft.Json.JsonPropertyAttribute("promptMessage")] + public virtual GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage PromptMessage { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A list of elements and information that make up a portion of prompt. + public class GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList : Google.Apis.Requests.IDirectResponseSchema + { + /// A list of elements that can be part of a prompt. + [Newtonsoft.Json.JsonPropertyAttribute("parts")] + public virtual System.Collections.Generic.IList Parts { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest. + /// + public class GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The content of the current conversation with the model. For single-turn queries, this is a single instance. + /// For multi-turn queries, this is a repeated field that contains conversation history + latest request. + /// + [Newtonsoft.Json.JsonPropertyAttribute("contents")] + public virtual System.Collections.Generic.IList Contents { get; set; } + + /// Generation config. + [Newtonsoft.Json.JsonPropertyAttribute("generationConfig")] + public virtual GoogleCloudAiplatformV1beta1GenerationConfig GenerationConfig { get; set; } + + /// The model name. + [Newtonsoft.Json.JsonPropertyAttribute("model")] + public virtual string Model { get; set; } + + /// + /// Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates. + /// + [Newtonsoft.Json.JsonPropertyAttribute("safetySettings")] + public virtual System.Collections.Generic.IList SafetySettings { get; set; } + + /// + /// The user provided system instructions for the model. Note: only text should be used in parts and content in + /// each part will be in a separate paragraph. + /// + [Newtonsoft.Json.JsonPropertyAttribute("systemInstruction")] + public virtual GoogleCloudAiplatformV1beta1Content SystemInstruction { get; set; } + + /// Tool config. This config is shared for all tools provided in the request. + [Newtonsoft.Json.JsonPropertyAttribute("toolConfig")] + public virtual GoogleCloudAiplatformV1beta1ToolConfig ToolConfig { get; set; } + + /// + /// A list of `Tools` the model may use to generate the next 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("tools")] + public virtual System.Collections.Generic.IList Tools { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Prompt variation that stores preambles in separate fields. + public class GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt : Google.Apis.Requests.IDirectResponseSchema + { + /// Preamble: The context of the prompt. + [Newtonsoft.Json.JsonPropertyAttribute("context")] + public virtual GoogleCloudAiplatformV1beta1Content Context { get; set; } + + /// Preamble: A set of examples for expected model response. + [Newtonsoft.Json.JsonPropertyAttribute("examples")] + public virtual System.Collections.Generic.IList Examples { get; set; } + + /// Preamble: The input prefixes before each example input. + [Newtonsoft.Json.JsonPropertyAttribute("inputPrefixes")] + public virtual System.Collections.Generic.IList InputPrefixes { get; set; } + + /// Preamble: The output prefixes before each example output. + [Newtonsoft.Json.JsonPropertyAttribute("outputPrefixes")] + public virtual System.Collections.Generic.IList OutputPrefixes { get; set; } + + /// The prompt message. + [Newtonsoft.Json.JsonPropertyAttribute("promptMessage")] + public virtual GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage PromptMessage { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// The metadata of Datasets that contain tables data. public class GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadata : Google.Apis.Requests.IDirectResponseSchema { @@ -73589,6 +73876,97 @@ public class GoogleCloudAiplatformV1beta1SchemaTextExtractionAnnotation : Google public virtual string ETag { get; set; } } + /// The metadata of Datasets that contain Text Prompt data. + public class GoogleCloudAiplatformV1beta1SchemaTextPromptDatasetMetadata : Google.Apis.Requests.IDirectResponseSchema + { + /// Number of candidates. + [Newtonsoft.Json.JsonPropertyAttribute("candidateCount")] + public virtual System.Nullable CandidateCount { get; set; } + + /// The Google Cloud Storage URI that stores the prompt data. + [Newtonsoft.Json.JsonPropertyAttribute("gcsUri")] + public virtual string GcsUri { get; set; } + + /// Grounding checking configuration. + [Newtonsoft.Json.JsonPropertyAttribute("groundingConfig")] + public virtual GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig GroundingConfig { get; set; } + + /// Whether the prompt dataset has prompt variable. + [Newtonsoft.Json.JsonPropertyAttribute("hasPromptVariable")] + public virtual System.Nullable HasPromptVariable { get; set; } + + /// Whether or not the user has enabled logit probabilities in the model parameters. + [Newtonsoft.Json.JsonPropertyAttribute("logprobs")] + public virtual System.Nullable Logprobs { get; set; } + + /// Value of the maximum number of tokens generated set when the dataset was saved. + [Newtonsoft.Json.JsonPropertyAttribute("maxOutputTokens")] + public virtual System.Nullable MaxOutputTokens { get; set; } + + /// User-created prompt note. Note size limit is 2KB. + [Newtonsoft.Json.JsonPropertyAttribute("note")] + public virtual string Note { get; set; } + + /// The API schema of the prompt to support both UI and SDK usages. + [Newtonsoft.Json.JsonPropertyAttribute("promptApiSchema")] + public virtual GoogleCloudAiplatformV1beta1SchemaPromptApiSchema PromptApiSchema { get; set; } + + /// Type of the prompt dataset. + [Newtonsoft.Json.JsonPropertyAttribute("promptType")] + public virtual string PromptType { get; set; } + + /// + /// Seeding enables model to return a deterministic response on a best effort basis. Determinism isn't + /// guaranteed. This field determines whether or not seeding is enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("seedEnabled")] + public virtual System.Nullable SeedEnabled { get; set; } + + /// The actual value of the seed. + [Newtonsoft.Json.JsonPropertyAttribute("seedValue")] + public virtual System.Nullable SeedValue { get; set; } + + /// Customized stop sequences. + [Newtonsoft.Json.JsonPropertyAttribute("stopSequences")] + public virtual System.Collections.Generic.IList StopSequences { get; set; } + + /// The content of the prompt dataset system instruction. + [Newtonsoft.Json.JsonPropertyAttribute("systemInstruction")] + public virtual string SystemInstruction { get; set; } + + /// The Google Cloud Storage URI that stores the system instruction, starting with gs://. + [Newtonsoft.Json.JsonPropertyAttribute("systemInstructionGcsUri")] + public virtual string SystemInstructionGcsUri { get; set; } + + /// + /// Temperature value used for sampling set when the dataset was saved. This value is used to tune the degree of + /// randomness. + /// + [Newtonsoft.Json.JsonPropertyAttribute("temperature")] + public virtual System.Nullable Temperature { get; set; } + + /// The content of the prompt dataset. + [Newtonsoft.Json.JsonPropertyAttribute("text")] + public virtual string Text { get; set; } + + /// + /// Top K value set when the dataset was saved. This value determines how many candidates with highest + /// probability from the vocab would be selected for each decoding step. + /// + [Newtonsoft.Json.JsonPropertyAttribute("topK")] + public virtual System.Nullable TopK { get; set; } + + /// + /// Top P value set when the dataset was saved. Given topK tokens for decoding, top candidates will be selected + /// until the sum of their probabilities is topP. + /// + [Newtonsoft.Json.JsonPropertyAttribute("topP")] + public virtual System.Nullable TopP { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// The text segment inside of DataItem. public class GoogleCloudAiplatformV1beta1SchemaTextSegment : Google.Apis.Requests.IDirectResponseSchema { @@ -78903,7 +79281,7 @@ public class GoogleCloudAiplatformV1beta1ToolParameterKVMatchResults : Google.Ap /// Spec for tool parameter key value match metric. public class GoogleCloudAiplatformV1beta1ToolParameterKVMatchSpec : Google.Apis.Requests.IDirectResponseSchema { - /// Optional. Whether to use STRCIT string match on parameter values. + /// Optional. Whether to use STRICT string match on parameter values. [Newtonsoft.Json.JsonPropertyAttribute("useStrictStringMatch")] public virtual System.Nullable UseStrictStringMatch { get; set; } 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 104884a8fc1..08291a4cb57 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.3561 + 1.68.0.3567 Google LLC Copyright 2024 Google LLC Google 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 105e2324cad..61c73c1764e 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 @@ -1210,7 +1210,7 @@ public class Component : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Message describing ContactCenter object Next ID: 23 + /// Message describing ContactCenter object Next ID: 24 public class ContactCenter : Google.Apis.Requests.IDirectResponseSchema { /// Optional. Info about the first admin user, such as given name and family name. 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 cfc22133190..1a274558e5e 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.3562 + 1.68.0.3569 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.ChecksService.v1alpha/Google.Apis.ChecksService.v1alpha.csproj b/Src/Generated/Google.Apis.ChecksService.v1alpha/Google.Apis.ChecksService.v1alpha.csproj index ccd7143d7b2..1873c1470ef 100644 --- a/Src/Generated/Google.Apis.ChecksService.v1alpha/Google.Apis.ChecksService.v1alpha.csproj +++ b/Src/Generated/Google.Apis.ChecksService.v1alpha/Google.Apis.ChecksService.v1alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.ChecksService.v1alpha Client Library - 1.68.0.3534 + 1.68.0.3573 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs index b7cfdd40054..6df262123fa 100644 --- a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs +++ b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs @@ -14609,6 +14609,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } + /// + /// The version of the data format used to produce this data. This field is used to indicated when the + /// underlying data format changes (e.g., schema modifications, changes to the source URL format definition, + /// etc). + /// + [Newtonsoft.Json.JsonPropertyAttribute("dataVersion")] + public virtual string DataVersion { get; set; } + private string _updateTimeRaw; private object _updateTime; @@ -16306,7 +16314,7 @@ public class GoogleCloudDataplexV1DataQualityDimension : Google.Apis.Requests.ID { /// /// The dimension name a rule belongs to. Supported dimensions are "COMPLETENESS", "ACCURACY", "CONSISTENCY", - /// "VALIDITY", "UNIQUENESS", "INTEGRITY" + /// "VALIDITY", "UNIQUENESS", "FRESHNESS", "VOLUME" /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -16423,7 +16431,7 @@ public class GoogleCloudDataplexV1DataQualityRule : Google.Apis.Requests.IDirect /// /// Required. The dimension a rule belongs to. Results are also aggregated at the dimension level. Supported - /// dimensions are "COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", "INTEGRITY" + /// dimensions are "COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", "FRESHNESS", "VOLUME" /// [Newtonsoft.Json.JsonPropertyAttribute("dimension")] public virtual string Dimension { get; set; } @@ -16955,19 +16963,19 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("data")] public virtual GoogleCloudDataplexV1DataSource Data { get; set; } - /// Output only. The result of the data profile scan. + /// Output only. The result of a data profile scan. [Newtonsoft.Json.JsonPropertyAttribute("dataProfileResult")] public virtual GoogleCloudDataplexV1DataProfileResult DataProfileResult { get; set; } - /// DataProfileScan related setting. + /// Settings for a data profile scan. [Newtonsoft.Json.JsonPropertyAttribute("dataProfileSpec")] public virtual GoogleCloudDataplexV1DataProfileSpec DataProfileSpec { get; set; } - /// Output only. The result of the data quality scan. + /// Output only. The result of a data quality scan. [Newtonsoft.Json.JsonPropertyAttribute("dataQualityResult")] public virtual GoogleCloudDataplexV1DataQualityResult DataQualityResult { get; set; } - /// DataQualityScan related setting. + /// Settings for a data quality scan. [Newtonsoft.Json.JsonPropertyAttribute("dataQualitySpec")] public virtual GoogleCloudDataplexV1DataQualitySpec DataQualitySpec { get; set; } @@ -17536,19 +17544,19 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); } - /// Output only. The result of the data profile scan. + /// Output only. The result of a data profile scan. [Newtonsoft.Json.JsonPropertyAttribute("dataProfileResult")] public virtual GoogleCloudDataplexV1DataProfileResult DataProfileResult { get; set; } - /// Output only. DataProfileScan related setting. + /// Output only. Settings for a data profile scan. [Newtonsoft.Json.JsonPropertyAttribute("dataProfileSpec")] public virtual GoogleCloudDataplexV1DataProfileSpec DataProfileSpec { get; set; } - /// Output only. The result of the data quality scan. + /// Output only. The result of a data quality scan. [Newtonsoft.Json.JsonPropertyAttribute("dataQualityResult")] public virtual GoogleCloudDataplexV1DataQualityResult DataQualityResult { get; set; } - /// Output only. DataQualityScan related setting. + /// Output only. Settings for a data quality scan. [Newtonsoft.Json.JsonPropertyAttribute("dataQualitySpec")] public virtual GoogleCloudDataplexV1DataQualitySpec DataQualitySpec { get; set; } @@ -17857,6 +17865,10 @@ public class GoogleCloudDataplexV1DiscoveryEvent : Google.Apis.Requests.IDirectR /// Details about the action. public class GoogleCloudDataplexV1DiscoveryEventActionDetails : Google.Apis.Requests.IDirectResponseSchema { + /// The human readable issue associated with the action. + [Newtonsoft.Json.JsonPropertyAttribute("issue")] + public virtual string Issue { get; set; } + /// The type of action. Eg. IncompatibleDataSchema, InvalidDataFormat [Newtonsoft.Json.JsonPropertyAttribute("type")] public virtual string Type { get; set; } diff --git a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj index 0ca59c71b5a..7a93d81d60d 100644 --- a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj +++ b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudDataplex.v1 Client Library - 1.68.0.3555 + 1.68.0.3561 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.CloudIdentity.v1/Google.Apis.CloudIdentity.v1.csproj b/Src/Generated/Google.Apis.CloudIdentity.v1/Google.Apis.CloudIdentity.v1.csproj index 0509cb50bc2..fb681560786 100644 --- a/Src/Generated/Google.Apis.CloudIdentity.v1/Google.Apis.CloudIdentity.v1.csproj +++ b/Src/Generated/Google.Apis.CloudIdentity.v1/Google.Apis.CloudIdentity.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudIdentity.v1 Client Library - 1.68.0.3554 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.CloudIdentity.v1beta1/Google.Apis.CloudIdentity.v1beta1.csproj b/Src/Generated/Google.Apis.CloudIdentity.v1beta1/Google.Apis.CloudIdentity.v1beta1.csproj index 8e7713fc247..3020695b5f4 100644 --- a/Src/Generated/Google.Apis.CloudIdentity.v1beta1/Google.Apis.CloudIdentity.v1beta1.csproj +++ b/Src/Generated/Google.Apis.CloudIdentity.v1beta1/Google.Apis.CloudIdentity.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudIdentity.v1beta1 Client Library - 1.68.0.3561 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.Cloudbilling.v1/Google.Apis.Cloudbilling.v1.cs b/Src/Generated/Google.Apis.Cloudbilling.v1/Google.Apis.Cloudbilling.v1.cs index 258918847ee..20c6d9bf23d 100644 --- a/Src/Generated/Google.Apis.Cloudbilling.v1/Google.Apis.Cloudbilling.v1.cs +++ b/Src/Generated/Google.Apis.Cloudbilling.v1/Google.Apis.Cloudbilling.v1.cs @@ -1981,6 +1981,16 @@ public class AuditLogConfig : Google.Apis.Requests.IDirectResponseSchema /// public class BillingAccount : Google.Apis.Requests.IDirectResponseSchema { + /// + /// Optional. The currency in which the billing account is billed and charged, represented as an ISO 4217 code + /// such as `USD`. Billing account currency is determined at the time of billing account creation and cannot be + /// updated subsequently, so this field should not be set on update requests. In addition, a subaccount always + /// matches the currency of its parent billing account, so this field should not be set on subaccount creation + /// requests. Clients can read this field to determine the currency of an existing billing account. + /// + [Newtonsoft.Json.JsonPropertyAttribute("currencyCode")] + public virtual string CurrencyCode { get; set; } + /// /// The display name given to the billing account, such as `My Billing Account`. This name is displayed in the /// Google Cloud Console. diff --git a/Src/Generated/Google.Apis.Cloudbilling.v1/Google.Apis.Cloudbilling.v1.csproj b/Src/Generated/Google.Apis.Cloudbilling.v1/Google.Apis.Cloudbilling.v1.csproj index 93496f930b3..ee68cf60826 100644 --- a/Src/Generated/Google.Apis.Cloudbilling.v1/Google.Apis.Cloudbilling.v1.csproj +++ b/Src/Generated/Google.Apis.Cloudbilling.v1/Google.Apis.Cloudbilling.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Cloudbilling.v1 Client Library - 1.68.0.3424 + 1.68.0.3571 Google LLC Copyright 2024 Google LLC Google 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 c0f3a2065c2..2613739b2fa 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 @@ -5665,6 +5665,10 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } + /// Resource name of the CmekConfig to use for protecting this DataStore. + [Google.Apis.Util.RequestParameterAttribute("cmekConfigName", Google.Apis.Util.RequestParameterType.Query)] + public virtual string CmekConfigName { get; set; } + /// /// A boolean flag indicating whether user want to directly create an advanced data store for /// site search. If the data store is not configured as site search (GENERIC vertical and @@ -5682,6 +5686,13 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("dataStoreId", Google.Apis.Util.RequestParameterType.Query)] public virtual string DataStoreId { get; set; } + /// + /// DataStore without CMEK protections. If a default CmekConfig is set for the project, setting + /// this field will override the default CmekConfig as well. + /// + [Google.Apis.Util.RequestParameterAttribute("disableCmek", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DisableCmek { get; set; } + /// /// A boolean flag indicating whether to skip the default schema creation for the data store. /// Only enable this flag if you are certain that the default schema is incompatible with your @@ -5719,6 +5730,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+/collections/[^/]+$", }); + RequestParameters.Add("cmekConfigName", new Google.Apis.Discovery.Parameter + { + Name = "cmekConfigName", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("createAdvancedSiteSearch", new Google.Apis.Discovery.Parameter { Name = "createAdvancedSiteSearch", @@ -5735,6 +5754,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("disableCmek", new Google.Apis.Discovery.Parameter + { + Name = "disableCmek", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("skipDefaultSchemaCreation", new Google.Apis.Discovery.Parameter { Name = "skipDefaultSchemaCreation", @@ -12812,6 +12839,10 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } + /// Resource name of the CmekConfig to use for protecting this DataStore. + [Google.Apis.Util.RequestParameterAttribute("cmekConfigName", Google.Apis.Util.RequestParameterType.Query)] + public virtual string CmekConfigName { get; set; } + /// /// A boolean flag indicating whether user want to directly create an advanced data store for site /// search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE @@ -12829,6 +12860,13 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("dataStoreId", Google.Apis.Util.RequestParameterType.Query)] public virtual string DataStoreId { get; set; } + /// + /// DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this + /// field will override the default CmekConfig as well. + /// + [Google.Apis.Util.RequestParameterAttribute("disableCmek", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DisableCmek { get; set; } + /// /// A boolean flag indicating whether to skip the default schema creation for the data store. Only /// enable this flag if you are certain that the default schema is incompatible with your use case. @@ -12865,6 +12903,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+$", }); + RequestParameters.Add("cmekConfigName", new Google.Apis.Discovery.Parameter + { + Name = "cmekConfigName", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("createAdvancedSiteSearch", new Google.Apis.Discovery.Parameter { Name = "createAdvancedSiteSearch", @@ -12881,6 +12927,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("disableCmek", new Google.Apis.Discovery.Parameter + { + Name = "disableCmek", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("skipDefaultSchemaCreation", new Google.Apis.Discovery.Parameter { Name = "skipDefaultSchemaCreation", @@ -16007,6 +16061,45 @@ public class GoogleCloudDiscoveryengineV1CloudSqlSource : Google.Apis.Requests.I public virtual string ETag { get; set; } } + /// Configurations used to enable CMEK data encryption with Cloud KMS keys. + public class GoogleCloudDiscoveryengineV1CmekConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The default CmekConfig for the Customer. + [Newtonsoft.Json.JsonPropertyAttribute("isDefault")] + public virtual System.Nullable IsDefault { get; set; } + + /// + /// Kms key resource name which will be used to encrypt resources + /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] + public virtual string KmsKey { get; set; } + + /// + /// Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyVersion")] + public virtual string KmsKeyVersion { get; set; } + + /// Output only. The timestamp of the last key rotation. + [Newtonsoft.Json.JsonPropertyAttribute("lastRotationTimestampMicros")] + public virtual System.Nullable LastRotationTimestampMicros { get; set; } + + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the CmekConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response message for CompletionService.CompleteQuery method. public class GoogleCloudDiscoveryengineV1CompleteQueryResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -17118,6 +17211,10 @@ public class GoogleCloudDiscoveryengineV1DataStore : Google.Apis.Requests.IDirec [Newtonsoft.Json.JsonPropertyAttribute("billingEstimation")] public virtual GoogleCloudDiscoveryengineV1DataStoreBillingEstimation BillingEstimation { get; set; } + /// Output only. CMEK-related information for the DataStore. + [Newtonsoft.Json.JsonPropertyAttribute("cmekConfig")] + public virtual GoogleCloudDiscoveryengineV1CmekConfig CmekConfig { get; set; } + /// /// Immutable. The content config of the data store. If this field is unset, the server behavior defaults to /// ContentConfig.NO_CONTENT. @@ -17181,6 +17278,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("industryVertical")] public virtual string IndustryVertical { get; set; } + /// + /// Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that + /// need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the + /// DataStore will be protected by the KMS key, as indicated in the cmek_config field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyName")] + public virtual string KmsKeyName { get; set; } + /// /// Immutable. The full resource name of the data store. Format: /// `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field @@ -20655,6 +20760,13 @@ public class GoogleCloudDiscoveryengineV1SearchRequest : Google.Apis.Requests.ID [Newtonsoft.Json.JsonPropertyAttribute("offset")] public virtual System.Nullable Offset { get; set; } + /// + /// The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default + /// number is 10. + /// + [Newtonsoft.Json.JsonPropertyAttribute("oneBoxPageSize")] + public virtual System.Nullable OneBoxPageSize { get; set; } + /// /// The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave /// it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering @@ -22305,6 +22417,90 @@ public class GoogleCloudDiscoveryengineV1TransactionInfo : Google.Apis.Requests. public virtual string ETag { get; set; } } + /// + /// Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by + /// the google.longrunning.Operation.metadata field. + /// + public class GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Operation create 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); + } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Operation last update time. If the operation is done, this is also the finish time. + [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; } + } + /// Metadata for UpdateSchema LRO. public class GoogleCloudDiscoveryengineV1UpdateSchemaMetadata : Google.Apis.Requests.IDirectResponseSchema { @@ -23311,6 +23507,45 @@ public class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse : G public virtual string ETag { get; set; } } + /// Configurations used to enable CMEK data encryption with Cloud KMS keys. + public class GoogleCloudDiscoveryengineV1alphaCmekConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The default CmekConfig for the Customer. + [Newtonsoft.Json.JsonPropertyAttribute("isDefault")] + public virtual System.Nullable IsDefault { get; set; } + + /// + /// Kms key resource name which will be used to encrypt resources + /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] + public virtual string KmsKey { get; set; } + + /// + /// Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyVersion")] + public virtual string KmsKeyVersion { get; set; } + + /// Output only. The timestamp of the last key rotation. + [Newtonsoft.Json.JsonPropertyAttribute("lastRotationTimestampMicros")] + public virtual System.Nullable LastRotationTimestampMicros { get; set; } + + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the CmekConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Defines circumstances to be checked before allowing a behavior public class GoogleCloudDiscoveryengineV1alphaCondition : Google.Apis.Requests.IDirectResponseSchema { @@ -24052,6 +24287,10 @@ public class GoogleCloudDiscoveryengineV1alphaDataStore : Google.Apis.Requests.I [Newtonsoft.Json.JsonPropertyAttribute("billingEstimation")] public virtual GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation BillingEstimation { get; set; } + /// Output only. CMEK-related information for the DataStore. + [Newtonsoft.Json.JsonPropertyAttribute("cmekConfig")] + public virtual GoogleCloudDiscoveryengineV1alphaCmekConfig CmekConfig { get; set; } + /// /// Immutable. The content config of the data store. If this field is unset, the server behavior defaults to /// ContentConfig.NO_CONTENT. @@ -24119,6 +24358,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("industryVertical")] public virtual string IndustryVertical { get; set; } + /// + /// Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that + /// need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the + /// DataStore will be protected by the KMS key, as indicated in the cmek_config field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyName")] + public virtual string KmsKeyName { get; set; } + /// Language info for DataStore. [Newtonsoft.Json.JsonPropertyAttribute("languageInfo")] public virtual GoogleCloudDiscoveryengineV1alphaLanguageInfo LanguageInfo { get; set; } @@ -27398,6 +27645,13 @@ public class GoogleCloudDiscoveryengineV1alphaSearchRequest : Google.Apis.Reques [Newtonsoft.Json.JsonPropertyAttribute("offset")] public virtual System.Nullable Offset { get; set; } + /// + /// The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default + /// number is 10. + /// + [Newtonsoft.Json.JsonPropertyAttribute("oneBoxPageSize")] + public virtual System.Nullable OneBoxPageSize { get; set; } + /// /// The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave /// it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering @@ -28744,6 +28998,90 @@ public class GoogleCloudDiscoveryengineV1alphaTuneEngineResponse : Google.Apis.R public virtual string ETag { get; set; } } + /// + /// Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by + /// the google.longrunning.Operation.metadata field. + /// + public class GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Operation create 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); + } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Operation last update time. If the operation is done, this is also the finish time. + [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; } + } + /// Metadata for UpdateSchema LRO. public class GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata : Google.Apis.Requests.IDirectResponseSchema { @@ -29059,6 +29397,45 @@ public class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse : Go public virtual string ETag { get; set; } } + /// Configurations used to enable CMEK data encryption with Cloud KMS keys. + public class GoogleCloudDiscoveryengineV1betaCmekConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The default CmekConfig for the Customer. + [Newtonsoft.Json.JsonPropertyAttribute("isDefault")] + public virtual System.Nullable IsDefault { get; set; } + + /// + /// Kms key resource name which will be used to encrypt resources + /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] + public virtual string KmsKey { get; set; } + + /// + /// Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyVersion")] + public virtual string KmsKeyVersion { get; set; } + + /// Output only. The timestamp of the last key rotation. + [Newtonsoft.Json.JsonPropertyAttribute("lastRotationTimestampMicros")] + public virtual System.Nullable LastRotationTimestampMicros { get; set; } + + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the CmekConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Defines circumstances to be checked before allowing a behavior public class GoogleCloudDiscoveryengineV1betaCondition : Google.Apis.Requests.IDirectResponseSchema { @@ -29779,6 +30156,10 @@ public class GoogleCloudDiscoveryengineV1betaDataStore : Google.Apis.Requests.ID [Newtonsoft.Json.JsonPropertyAttribute("billingEstimation")] public virtual GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation BillingEstimation { get; set; } + /// Output only. CMEK-related information for the DataStore. + [Newtonsoft.Json.JsonPropertyAttribute("cmekConfig")] + public virtual GoogleCloudDiscoveryengineV1betaCmekConfig CmekConfig { get; set; } + /// /// Immutable. The content config of the data store. If this field is unset, the server behavior defaults to /// ContentConfig.NO_CONTENT. @@ -29842,6 +30223,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("industryVertical")] public virtual string IndustryVertical { get; set; } + /// + /// Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that + /// need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the + /// DataStore will be protected by the KMS key, as indicated in the cmek_config field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyName")] + public virtual string KmsKeyName { get; set; } + /// Language info for DataStore. [Newtonsoft.Json.JsonPropertyAttribute("languageInfo")] public virtual GoogleCloudDiscoveryengineV1betaLanguageInfo LanguageInfo { get; set; } @@ -32353,6 +32742,13 @@ public class GoogleCloudDiscoveryengineV1betaSearchRequest : Google.Apis.Request [Newtonsoft.Json.JsonPropertyAttribute("offset")] public virtual System.Nullable Offset { get; set; } + /// + /// The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default + /// number is 10. + /// + [Newtonsoft.Json.JsonPropertyAttribute("oneBoxPageSize")] + public virtual System.Nullable OneBoxPageSize { get; set; } + /// /// The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave /// it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering 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 bfcf0333102..e4343b6a8fa 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.3564 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google 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 d558f76bc9b..28333ef25a2 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 @@ -293,6 +293,7 @@ public class LocationsResource public LocationsResource(Google.Apis.Services.IClientService service) { this.service = service; + CmekConfigs = new CmekConfigsResource(service); Collections = new CollectionsResource(service); DataStores = new DataStoresResource(service); Evaluations = new EvaluationsResource(service); @@ -306,6 +307,213 @@ public LocationsResource(Google.Apis.Services.IClientService service) UserStores = new UserStoresResource(service); } + /// Gets the CmekConfigs resource. + public virtual CmekConfigsResource CmekConfigs { get; } + + /// The "cmekConfigs" collection of methods. + public class CmekConfigsResource + { + private const string Resource = "cmekConfigs"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public CmekConfigsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Gets the CmekConfig. + /// + /// Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or + /// `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the + /// CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Gets the CmekConfig. + public class GetRequest : DiscoveryEngineBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or + /// `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the + /// CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/cmekConfigs/[^/]+$", + }); + } + } + + /// Lists all the CmekConfigs with the project. + /// + /// Required. The parent location resource name, such as `projects/{project}/locations/{location}`. If + /// the caller does not have permission to list CmekConfigs under this location, regardless of whether + /// or not a CmekConfig exists, a PERMISSION_DENIED error is returned. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Lists all the CmekConfigs with the project. + public class ListRequest : DiscoveryEngineBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The parent location resource name, such as `projects/{project}/locations/{location}`. + /// If the caller does not have permission to list CmekConfigs under this location, regardless of + /// whether or not a CmekConfig exists, a PERMISSION_DENIED error is returned. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+parent}/cmekConfigs"; + + /// 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/[^/]+$", + }); + } + } + + /// + /// Provisions a CMEK key for use in a location of a customer's project. This method will also conduct + /// location validation on the provided cmekConfig to make sure the key is valid and can be used in the + /// selected location. + /// + /// The body of the request. + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` + /// or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + public virtual PatchRequest Patch(Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaCmekConfig body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// + /// Provisions a CMEK key for use in a location of a customer's project. This method will also conduct + /// location validation on the provided cmekConfig to make sure the key is valid and can be used in the + /// selected location. + /// + public class PatchRequest : DiscoveryEngineBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaCmekConfig body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. Name of the CmekConfig, of the form + /// `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Set the following CmekConfig as the default to be used for child resources if one is not + /// specified. + /// + [Google.Apis.Util.RequestParameterAttribute("setDefault", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable SetDefault { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaCmekConfig Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/cmekConfigs/[^/]+$", + }); + RequestParameters.Add("setDefault", new Google.Apis.Discovery.Parameter + { + Name = "setDefault", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + /// Gets the Collections resource. public virtual CollectionsResource Collections { get; } @@ -6287,6 +6495,10 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } + /// Resource name of the CmekConfig to use for protecting this DataStore. + [Google.Apis.Util.RequestParameterAttribute("cmekConfigName", Google.Apis.Util.RequestParameterType.Query)] + public virtual string CmekConfigName { get; set; } + /// /// A boolean flag indicating whether user want to directly create an advanced data store for /// site search. If the data store is not configured as site search (GENERIC vertical and @@ -6304,6 +6516,13 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("dataStoreId", Google.Apis.Util.RequestParameterType.Query)] public virtual string DataStoreId { get; set; } + /// + /// DataStore without CMEK protections. If a default CmekConfig is set for the project, setting + /// this field will override the default CmekConfig as well. + /// + [Google.Apis.Util.RequestParameterAttribute("disableCmek", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DisableCmek { get; set; } + /// /// A boolean flag indicating whether to skip the default schema creation for the data store. /// Only enable this flag if you are certain that the default schema is incompatible with your @@ -6341,6 +6560,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+/collections/[^/]+$", }); + RequestParameters.Add("cmekConfigName", new Google.Apis.Discovery.Parameter + { + Name = "cmekConfigName", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("createAdvancedSiteSearch", new Google.Apis.Discovery.Parameter { Name = "createAdvancedSiteSearch", @@ -6357,6 +6584,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("disableCmek", new Google.Apis.Discovery.Parameter + { + Name = "disableCmek", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("skipDefaultSchemaCreation", new Google.Apis.Discovery.Parameter { Name = "skipDefaultSchemaCreation", @@ -14470,6 +14705,10 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } + /// Resource name of the CmekConfig to use for protecting this DataStore. + [Google.Apis.Util.RequestParameterAttribute("cmekConfigName", Google.Apis.Util.RequestParameterType.Query)] + public virtual string CmekConfigName { get; set; } + /// /// A boolean flag indicating whether user want to directly create an advanced data store for site /// search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE @@ -14487,6 +14726,13 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("dataStoreId", Google.Apis.Util.RequestParameterType.Query)] public virtual string DataStoreId { get; set; } + /// + /// DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this + /// field will override the default CmekConfig as well. + /// + [Google.Apis.Util.RequestParameterAttribute("disableCmek", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DisableCmek { get; set; } + /// /// A boolean flag indicating whether to skip the default schema creation for the data store. Only /// enable this flag if you are certain that the default schema is incompatible with your use case. @@ -14523,6 +14769,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+$", }); + RequestParameters.Add("cmekConfigName", new Google.Apis.Discovery.Parameter + { + Name = "cmekConfigName", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("createAdvancedSiteSearch", new Google.Apis.Discovery.Parameter { Name = "createAdvancedSiteSearch", @@ -14539,6 +14793,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("disableCmek", new Google.Apis.Discovery.Parameter + { + Name = "disableCmek", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("skipDefaultSchemaCreation", new Google.Apis.Discovery.Parameter { Name = "skipDefaultSchemaCreation", @@ -17347,6 +17609,59 @@ protected override void InitParameters() } } + /// Gets the CmekConfig. + /// + /// Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or + /// `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the CmekConfig, + /// regardless of whether or not it exists, a PERMISSION_DENIED error is returned. + /// + public virtual GetCmekConfigRequest GetCmekConfig(string name) + { + return new GetCmekConfigRequest(this.service, name); + } + + /// Gets the CmekConfig. + public class GetCmekConfigRequest : DiscoveryEngineBaseServiceRequest + { + /// Constructs a new GetCmekConfig request. + public GetCmekConfigRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or + /// `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the + /// CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. + /// + [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 => "getCmekConfig"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; + + /// Initializes GetCmekConfig 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/[^/]+/cmekConfig$", + }); + } + } + /// /// Default ACL configuration for use in a location of a customer's project. Updates will only reflect to /// new data stores. Existing data stores will still use the old value. @@ -17413,6 +17728,87 @@ protected override void InitParameters() }); } } + + /// + /// Provisions a CMEK key for use in a location of a customer's project. This method will also conduct + /// location validation on the provided cmekConfig to make sure the key is valid and can be used in the + /// selected location. + /// + /// The body of the request. + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + public virtual UpdateCmekConfigRequest UpdateCmekConfig(Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaCmekConfig body, string name) + { + return new UpdateCmekConfigRequest(this.service, body, name); + } + + /// + /// Provisions a CMEK key for use in a location of a customer's project. This method will also conduct + /// location validation on the provided cmekConfig to make sure the key is valid and can be used in the + /// selected location. + /// + public class UpdateCmekConfigRequest : DiscoveryEngineBaseServiceRequest + { + /// Constructs a new UpdateCmekConfig request. + public UpdateCmekConfigRequest(Google.Apis.Services.IClientService service, Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaCmekConfig body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` + /// or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Set the following CmekConfig as the default to be used for child resources if one is not specified. + /// + [Google.Apis.Util.RequestParameterAttribute("setDefault", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable SetDefault { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaCmekConfig Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "updateCmekConfig"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+name}"; + + /// Initializes UpdateCmekConfig 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/[^/]+/cmekConfig$", + }); + RequestParameters.Add("setDefault", new Google.Apis.Discovery.Parameter + { + Name = "setDefault", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } } /// Gets the Operations resource. @@ -18281,6 +18677,45 @@ public class GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse : Google public virtual string ETag { get; set; } } + /// Configurations used to enable CMEK data encryption with Cloud KMS keys. + public class GoogleCloudDiscoveryengineV1CmekConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The default CmekConfig for the Customer. + [Newtonsoft.Json.JsonPropertyAttribute("isDefault")] + public virtual System.Nullable IsDefault { get; set; } + + /// + /// Kms key resource name which will be used to encrypt resources + /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] + public virtual string KmsKey { get; set; } + + /// + /// Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyVersion")] + public virtual string KmsKeyVersion { get; set; } + + /// Output only. The timestamp of the last key rotation. + [Newtonsoft.Json.JsonPropertyAttribute("lastRotationTimestampMicros")] + public virtual System.Nullable LastRotationTimestampMicros { get; set; } + + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the CmekConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Defines circumstances to be checked before allowing a behavior public class GoogleCloudDiscoveryengineV1Condition : Google.Apis.Requests.IDirectResponseSchema { @@ -18883,6 +19318,10 @@ public class GoogleCloudDiscoveryengineV1DataStore : Google.Apis.Requests.IDirec [Newtonsoft.Json.JsonPropertyAttribute("billingEstimation")] public virtual GoogleCloudDiscoveryengineV1DataStoreBillingEstimation BillingEstimation { get; set; } + /// Output only. CMEK-related information for the DataStore. + [Newtonsoft.Json.JsonPropertyAttribute("cmekConfig")] + public virtual GoogleCloudDiscoveryengineV1CmekConfig CmekConfig { get; set; } + /// /// Immutable. The content config of the data store. If this field is unset, the server behavior defaults to /// ContentConfig.NO_CONTENT. @@ -18946,6 +19385,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("industryVertical")] public virtual string IndustryVertical { get; set; } + /// + /// Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that + /// need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the + /// DataStore will be protected by the KMS key, as indicated in the cmek_config field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyName")] + public virtual string KmsKeyName { get; set; } + /// /// Immutable. The full resource name of the data store. Format: /// `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field @@ -21318,6 +21765,90 @@ public class GoogleCloudDiscoveryengineV1TrainCustomModelResponse : Google.Apis. public virtual string ETag { get; set; } } + /// + /// Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by + /// the google.longrunning.Operation.metadata field. + /// + public class GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Operation create 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); + } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Operation last update time. If the operation is done, this is also the finish time. + [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; } + } + /// Metadata for UpdateSchema LRO. public class GoogleCloudDiscoveryengineV1UpdateSchemaMetadata : Google.Apis.Requests.IDirectResponseSchema { @@ -23322,6 +23853,45 @@ public class GoogleCloudDiscoveryengineV1alphaCloudSqlSource : Google.Apis.Reque public virtual string ETag { get; set; } } + /// Configurations used to enable CMEK data encryption with Cloud KMS keys. + public class GoogleCloudDiscoveryengineV1alphaCmekConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The default CmekConfig for the Customer. + [Newtonsoft.Json.JsonPropertyAttribute("isDefault")] + public virtual System.Nullable IsDefault { get; set; } + + /// + /// Kms key resource name which will be used to encrypt resources + /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] + public virtual string KmsKey { get; set; } + + /// + /// Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyVersion")] + public virtual string KmsKeyVersion { get; set; } + + /// Output only. The timestamp of the last key rotation. + [Newtonsoft.Json.JsonPropertyAttribute("lastRotationTimestampMicros")] + public virtual System.Nullable LastRotationTimestampMicros { get; set; } + + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the CmekConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response message for CompletionService.CompleteQuery method. public class GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -24465,6 +25035,10 @@ public class GoogleCloudDiscoveryengineV1alphaDataStore : Google.Apis.Requests.I [Newtonsoft.Json.JsonPropertyAttribute("billingEstimation")] public virtual GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation BillingEstimation { get; set; } + /// Output only. CMEK-related information for the DataStore. + [Newtonsoft.Json.JsonPropertyAttribute("cmekConfig")] + public virtual GoogleCloudDiscoveryengineV1alphaCmekConfig CmekConfig { get; set; } + /// /// Immutable. The content config of the data store. If this field is unset, the server behavior defaults to /// ContentConfig.NO_CONTENT. @@ -24532,6 +25106,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("industryVertical")] public virtual string IndustryVertical { get; set; } + /// + /// Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that + /// need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the + /// DataStore will be protected by the KMS key, as indicated in the cmek_config field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyName")] + public virtual string KmsKeyName { get; set; } + /// Language info for DataStore. [Newtonsoft.Json.JsonPropertyAttribute("languageInfo")] public virtual GoogleCloudDiscoveryengineV1alphaLanguageInfo LanguageInfo { get; set; } @@ -27594,6 +28176,17 @@ public class GoogleCloudDiscoveryengineV1alphaListChunksResponse : Google.Apis.R public virtual string ETag { get; set; } } + /// Response message for CmekConfigService.ListCmekConfigs method. + public class GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// All the customer's CmekConfigs. + [Newtonsoft.Json.JsonPropertyAttribute("cmekConfigs")] + public virtual System.Collections.Generic.IList CmekConfigs { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response for ListControls method. public class GoogleCloudDiscoveryengineV1alphaListControlsResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -29782,6 +30375,13 @@ public class GoogleCloudDiscoveryengineV1alphaSearchRequest : Google.Apis.Reques [Newtonsoft.Json.JsonPropertyAttribute("offset")] public virtual System.Nullable Offset { get; set; } + /// + /// The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default + /// number is 10. + /// + [Newtonsoft.Json.JsonPropertyAttribute("oneBoxPageSize")] + public virtual System.Nullable OneBoxPageSize { get; set; } + /// /// The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave /// it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering @@ -32234,6 +32834,90 @@ public class GoogleCloudDiscoveryengineV1alphaTuneEngineResponse : Google.Apis.R public virtual string ETag { get; set; } } + /// + /// Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by + /// the google.longrunning.Operation.metadata field. + /// + public class GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Operation create 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); + } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Operation last update time. If the operation is done, this is also the finish time. + [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; } + } + /// Metadata for UpdateSchema LRO. public class GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata : Google.Apis.Requests.IDirectResponseSchema { @@ -32764,6 +33448,45 @@ public class GoogleCloudDiscoveryengineV1betaBatchCreateTargetSitesResponse : Go public virtual string ETag { get; set; } } + /// Configurations used to enable CMEK data encryption with Cloud KMS keys. + public class GoogleCloudDiscoveryengineV1betaCmekConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The default CmekConfig for the Customer. + [Newtonsoft.Json.JsonPropertyAttribute("isDefault")] + public virtual System.Nullable IsDefault { get; set; } + + /// + /// Kms key resource name which will be used to encrypt resources + /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] + public virtual string KmsKey { get; set; } + + /// + /// Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyVersion")] + public virtual string KmsKeyVersion { get; set; } + + /// Output only. The timestamp of the last key rotation. + [Newtonsoft.Json.JsonPropertyAttribute("lastRotationTimestampMicros")] + public virtual System.Nullable LastRotationTimestampMicros { get; set; } + + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the CmekConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Defines circumstances to be checked before allowing a behavior public class GoogleCloudDiscoveryengineV1betaCondition : Google.Apis.Requests.IDirectResponseSchema { @@ -33484,6 +34207,10 @@ public class GoogleCloudDiscoveryengineV1betaDataStore : Google.Apis.Requests.ID [Newtonsoft.Json.JsonPropertyAttribute("billingEstimation")] public virtual GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation BillingEstimation { get; set; } + /// Output only. CMEK-related information for the DataStore. + [Newtonsoft.Json.JsonPropertyAttribute("cmekConfig")] + public virtual GoogleCloudDiscoveryengineV1betaCmekConfig CmekConfig { get; set; } + /// /// Immutable. The content config of the data store. If this field is unset, the server behavior defaults to /// ContentConfig.NO_CONTENT. @@ -33547,6 +34274,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("industryVertical")] public virtual string IndustryVertical { get; set; } + /// + /// Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that + /// need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the + /// DataStore will be protected by the KMS key, as indicated in the cmek_config field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyName")] + public virtual string KmsKeyName { get; set; } + /// Language info for DataStore. [Newtonsoft.Json.JsonPropertyAttribute("languageInfo")] public virtual GoogleCloudDiscoveryengineV1betaLanguageInfo LanguageInfo { get; set; } @@ -36058,6 +36793,13 @@ public class GoogleCloudDiscoveryengineV1betaSearchRequest : Google.Apis.Request [Newtonsoft.Json.JsonPropertyAttribute("offset")] public virtual System.Nullable Offset { get; set; } + /// + /// The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default + /// number is 10. + /// + [Newtonsoft.Json.JsonPropertyAttribute("oneBoxPageSize")] + public virtual System.Nullable OneBoxPageSize { get; set; } + /// /// The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave /// it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering 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 3e2d2035dfc..7a4650e310b 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.3564 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google 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 12e1b00765b..8b44d259b01 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 @@ -5881,6 +5881,10 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } + /// Resource name of the CmekConfig to use for protecting this DataStore. + [Google.Apis.Util.RequestParameterAttribute("cmekConfigName", Google.Apis.Util.RequestParameterType.Query)] + public virtual string CmekConfigName { get; set; } + /// /// A boolean flag indicating whether user want to directly create an advanced data store for /// site search. If the data store is not configured as site search (GENERIC vertical and @@ -5898,6 +5902,13 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("dataStoreId", Google.Apis.Util.RequestParameterType.Query)] public virtual string DataStoreId { get; set; } + /// + /// DataStore without CMEK protections. If a default CmekConfig is set for the project, setting + /// this field will override the default CmekConfig as well. + /// + [Google.Apis.Util.RequestParameterAttribute("disableCmek", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DisableCmek { get; set; } + /// /// A boolean flag indicating whether to skip the default schema creation for the data store. /// Only enable this flag if you are certain that the default schema is incompatible with your @@ -5935,6 +5946,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+/collections/[^/]+$", }); + RequestParameters.Add("cmekConfigName", new Google.Apis.Discovery.Parameter + { + Name = "cmekConfigName", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("createAdvancedSiteSearch", new Google.Apis.Discovery.Parameter { Name = "createAdvancedSiteSearch", @@ -5951,6 +5970,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("disableCmek", new Google.Apis.Discovery.Parameter + { + Name = "disableCmek", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("skipDefaultSchemaCreation", new Google.Apis.Discovery.Parameter { Name = "skipDefaultSchemaCreation", @@ -13649,6 +13676,10 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } + /// Resource name of the CmekConfig to use for protecting this DataStore. + [Google.Apis.Util.RequestParameterAttribute("cmekConfigName", Google.Apis.Util.RequestParameterType.Query)] + public virtual string CmekConfigName { get; set; } + /// /// A boolean flag indicating whether user want to directly create an advanced data store for site /// search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE @@ -13666,6 +13697,13 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Di [Google.Apis.Util.RequestParameterAttribute("dataStoreId", Google.Apis.Util.RequestParameterType.Query)] public virtual string DataStoreId { get; set; } + /// + /// DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this + /// field will override the default CmekConfig as well. + /// + [Google.Apis.Util.RequestParameterAttribute("disableCmek", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable DisableCmek { get; set; } + /// /// A boolean flag indicating whether to skip the default schema creation for the data store. Only /// enable this flag if you are certain that the default schema is incompatible with your use case. @@ -13702,6 +13740,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = @"^projects/[^/]+/locations/[^/]+$", }); + RequestParameters.Add("cmekConfigName", new Google.Apis.Discovery.Parameter + { + Name = "cmekConfigName", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("createAdvancedSiteSearch", new Google.Apis.Discovery.Parameter { Name = "createAdvancedSiteSearch", @@ -13718,6 +13764,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("disableCmek", new Google.Apis.Discovery.Parameter + { + Name = "disableCmek", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("skipDefaultSchemaCreation", new Google.Apis.Discovery.Parameter { Name = "skipDefaultSchemaCreation", @@ -16516,6 +16570,45 @@ public class GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse : Google public virtual string ETag { get; set; } } + /// Configurations used to enable CMEK data encryption with Cloud KMS keys. + public class GoogleCloudDiscoveryengineV1CmekConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The default CmekConfig for the Customer. + [Newtonsoft.Json.JsonPropertyAttribute("isDefault")] + public virtual System.Nullable IsDefault { get; set; } + + /// + /// Kms key resource name which will be used to encrypt resources + /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] + public virtual string KmsKey { get; set; } + + /// + /// Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyVersion")] + public virtual string KmsKeyVersion { get; set; } + + /// Output only. The timestamp of the last key rotation. + [Newtonsoft.Json.JsonPropertyAttribute("lastRotationTimestampMicros")] + public virtual System.Nullable LastRotationTimestampMicros { get; set; } + + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the CmekConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Defines circumstances to be checked before allowing a behavior public class GoogleCloudDiscoveryengineV1Condition : Google.Apis.Requests.IDirectResponseSchema { @@ -17118,6 +17211,10 @@ public class GoogleCloudDiscoveryengineV1DataStore : Google.Apis.Requests.IDirec [Newtonsoft.Json.JsonPropertyAttribute("billingEstimation")] public virtual GoogleCloudDiscoveryengineV1DataStoreBillingEstimation BillingEstimation { get; set; } + /// Output only. CMEK-related information for the DataStore. + [Newtonsoft.Json.JsonPropertyAttribute("cmekConfig")] + public virtual GoogleCloudDiscoveryengineV1CmekConfig CmekConfig { get; set; } + /// /// Immutable. The content config of the data store. If this field is unset, the server behavior defaults to /// ContentConfig.NO_CONTENT. @@ -17181,6 +17278,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("industryVertical")] public virtual string IndustryVertical { get; set; } + /// + /// Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that + /// need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the + /// DataStore will be protected by the KMS key, as indicated in the cmek_config field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyName")] + public virtual string KmsKeyName { get; set; } + /// /// Immutable. The full resource name of the data store. Format: /// `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field @@ -19553,6 +19658,90 @@ public class GoogleCloudDiscoveryengineV1TrainCustomModelResponse : Google.Apis. public virtual string ETag { get; set; } } + /// + /// Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by + /// the google.longrunning.Operation.metadata field. + /// + public class GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Operation create 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); + } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Operation last update time. If the operation is done, this is also the finish time. + [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; } + } + /// Metadata for UpdateSchema LRO. public class GoogleCloudDiscoveryengineV1UpdateSchemaMetadata : Google.Apis.Requests.IDirectResponseSchema { @@ -20318,6 +20507,45 @@ public class GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse : G public virtual string ETag { get; set; } } + /// Configurations used to enable CMEK data encryption with Cloud KMS keys. + public class GoogleCloudDiscoveryengineV1alphaCmekConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The default CmekConfig for the Customer. + [Newtonsoft.Json.JsonPropertyAttribute("isDefault")] + public virtual System.Nullable IsDefault { get; set; } + + /// + /// Kms key resource name which will be used to encrypt resources + /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] + public virtual string KmsKey { get; set; } + + /// + /// Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyVersion")] + public virtual string KmsKeyVersion { get; set; } + + /// Output only. The timestamp of the last key rotation. + [Newtonsoft.Json.JsonPropertyAttribute("lastRotationTimestampMicros")] + public virtual System.Nullable LastRotationTimestampMicros { get; set; } + + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the CmekConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Defines circumstances to be checked before allowing a behavior public class GoogleCloudDiscoveryengineV1alphaCondition : Google.Apis.Requests.IDirectResponseSchema { @@ -21059,6 +21287,10 @@ public class GoogleCloudDiscoveryengineV1alphaDataStore : Google.Apis.Requests.I [Newtonsoft.Json.JsonPropertyAttribute("billingEstimation")] public virtual GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation BillingEstimation { get; set; } + /// Output only. CMEK-related information for the DataStore. + [Newtonsoft.Json.JsonPropertyAttribute("cmekConfig")] + public virtual GoogleCloudDiscoveryengineV1alphaCmekConfig CmekConfig { get; set; } + /// /// Immutable. The content config of the data store. If this field is unset, the server behavior defaults to /// ContentConfig.NO_CONTENT. @@ -21126,6 +21358,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("industryVertical")] public virtual string IndustryVertical { get; set; } + /// + /// Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that + /// need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the + /// DataStore will be protected by the KMS key, as indicated in the cmek_config field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyName")] + public virtual string KmsKeyName { get; set; } + /// Language info for DataStore. [Newtonsoft.Json.JsonPropertyAttribute("languageInfo")] public virtual GoogleCloudDiscoveryengineV1alphaLanguageInfo LanguageInfo { get; set; } @@ -24405,6 +24645,13 @@ public class GoogleCloudDiscoveryengineV1alphaSearchRequest : Google.Apis.Reques [Newtonsoft.Json.JsonPropertyAttribute("offset")] public virtual System.Nullable Offset { get; set; } + /// + /// The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default + /// number is 10. + /// + [Newtonsoft.Json.JsonPropertyAttribute("oneBoxPageSize")] + public virtual System.Nullable OneBoxPageSize { get; set; } + /// /// The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave /// it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering @@ -25751,6 +25998,90 @@ public class GoogleCloudDiscoveryengineV1alphaTuneEngineResponse : Google.Apis.R public virtual string ETag { get; set; } } + /// + /// Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by + /// the google.longrunning.Operation.metadata field. + /// + public class GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Operation create 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); + } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Operation last update time. If the operation is done, this is also the finish time. + [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; } + } + /// Metadata for UpdateSchema LRO. public class GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata : Google.Apis.Requests.IDirectResponseSchema { @@ -27599,6 +27930,45 @@ public class GoogleCloudDiscoveryengineV1betaCloudSqlSource : Google.Apis.Reques public virtual string ETag { get; set; } } + /// Configurations used to enable CMEK data encryption with Cloud KMS keys. + public class GoogleCloudDiscoveryengineV1betaCmekConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The default CmekConfig for the Customer. + [Newtonsoft.Json.JsonPropertyAttribute("isDefault")] + public virtual System.Nullable IsDefault { get; set; } + + /// + /// Kms key resource name which will be used to encrypt resources + /// `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] + public virtual string KmsKey { get; set; } + + /// + /// Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyVersion")] + public virtual string KmsKeyVersion { get; set; } + + /// Output only. The timestamp of the last key rotation. + [Newtonsoft.Json.JsonPropertyAttribute("lastRotationTimestampMicros")] + public virtual System.Nullable LastRotationTimestampMicros { get; set; } + + /// + /// Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or + /// `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. State of the CmekConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response message for CompletionService.CompleteQuery method. public class GoogleCloudDiscoveryengineV1betaCompleteQueryResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -28721,6 +29091,10 @@ public class GoogleCloudDiscoveryengineV1betaDataStore : Google.Apis.Requests.ID [Newtonsoft.Json.JsonPropertyAttribute("billingEstimation")] public virtual GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation BillingEstimation { get; set; } + /// Output only. CMEK-related information for the DataStore. + [Newtonsoft.Json.JsonPropertyAttribute("cmekConfig")] + public virtual GoogleCloudDiscoveryengineV1betaCmekConfig CmekConfig { get; set; } + /// /// Immutable. The content config of the data store. If this field is unset, the server behavior defaults to /// ContentConfig.NO_CONTENT. @@ -28784,6 +29158,14 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("industryVertical")] public virtual string IndustryVertical { get; set; } + /// + /// Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that + /// need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the + /// DataStore will be protected by the KMS key, as indicated in the cmek_config field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKeyName")] + public virtual string KmsKeyName { get; set; } + /// Language info for DataStore. [Newtonsoft.Json.JsonPropertyAttribute("languageInfo")] public virtual GoogleCloudDiscoveryengineV1betaLanguageInfo LanguageInfo { get; set; } @@ -32937,6 +33319,13 @@ public class GoogleCloudDiscoveryengineV1betaSearchRequest : Google.Apis.Request [Newtonsoft.Json.JsonPropertyAttribute("offset")] public virtual System.Nullable Offset { get; set; } + /// + /// The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default + /// number is 10. + /// + [Newtonsoft.Json.JsonPropertyAttribute("oneBoxPageSize")] + public virtual System.Nullable OneBoxPageSize { get; set; } + /// /// The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave /// it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering 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 7d0b2dce4d1..6363e8910fb 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.3564 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.MapsPlaces.v1/Google.Apis.MapsPlaces.v1.cs b/Src/Generated/Google.Apis.MapsPlaces.v1/Google.Apis.MapsPlaces.v1.cs index a926c44b978..a9f9b461ac6 100644 --- a/Src/Generated/Google.Apis.MapsPlaces.v1/Google.Apis.MapsPlaces.v1.cs +++ b/Src/Generated/Google.Apis.MapsPlaces.v1/Google.Apis.MapsPlaces.v1.cs @@ -699,6 +699,98 @@ public class GoogleGeoTypeViewport : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// A relational description of a location. Includes a ranked set of nearby landmarks and precise containing areas + /// and their relationship to the target location. + /// + public class GoogleMapsPlacesV1AddressDescriptor : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A ranked list of containing or adjacent areas. The most recognizable and precise areas are ranked first. + /// + [Newtonsoft.Json.JsonPropertyAttribute("areas")] + public virtual System.Collections.Generic.IList Areas { get; set; } + + /// + /// A ranked list of nearby landmarks. The most recognizable and nearby landmarks are ranked first. + /// + [Newtonsoft.Json.JsonPropertyAttribute("landmarks")] + public virtual System.Collections.Generic.IList Landmarks { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Area information and the area's relationship with the target location. Areas includes precise sublocality, + /// neighborhoods, and large compounds that are useful for describing a location. + /// + public class GoogleMapsPlacesV1AddressDescriptorArea : Google.Apis.Requests.IDirectResponseSchema + { + /// Defines the spatial relationship between the target location and the area. + [Newtonsoft.Json.JsonPropertyAttribute("containment")] + public virtual string Containment { get; set; } + + /// The area's display name. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual GoogleTypeLocalizedText DisplayName { get; set; } + + /// The area's resource name. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The area's place id. + [Newtonsoft.Json.JsonPropertyAttribute("placeId")] + public virtual string PlaceId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Basic landmark information and the landmark's relationship with the target location. Landmarks are prominent + /// places that can be used to describe a location. + /// + public class GoogleMapsPlacesV1AddressDescriptorLandmark : Google.Apis.Requests.IDirectResponseSchema + { + /// The landmark's display name. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual GoogleTypeLocalizedText DisplayName { get; set; } + + /// The landmark's resource name. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The landmark's place id. + [Newtonsoft.Json.JsonPropertyAttribute("placeId")] + public virtual string PlaceId { get; set; } + + /// Defines the spatial relationship between the target location and the landmark. + [Newtonsoft.Json.JsonPropertyAttribute("spatialRelationship")] + public virtual string SpatialRelationship { get; set; } + + /// The straight line distance in meters between the target location and the landmark. + [Newtonsoft.Json.JsonPropertyAttribute("straightLineDistanceMeters")] + public virtual System.Nullable StraightLineDistanceMeters { get; set; } + + /// + /// The travel distance in meters along the road network if known. This does not take into account the mode of + /// transportation (walking/driving). + /// + [Newtonsoft.Json.JsonPropertyAttribute("travelDistanceMeters")] + public virtual System.Nullable TravelDistanceMeters { get; set; } + + /// + /// A set of type tags for this landmark. For a complete list of possible values, see + /// https://developers.google.com/maps/documentation/places/web-service/place-types. + /// + [Newtonsoft.Json.JsonPropertyAttribute("types")] + public virtual System.Collections.Generic.IList Types { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Information about the author of the UGC data. Used in Photo, and Review. public class GoogleMapsPlacesV1AuthorAttribution : Google.Apis.Requests.IDirectResponseSchema { @@ -1418,6 +1510,14 @@ public class GoogleMapsPlacesV1Place : Google.Apis.Requests.IDirectResponseSchem [Newtonsoft.Json.JsonPropertyAttribute("addressComponents")] public virtual System.Collections.Generic.IList AddressComponents { get; set; } + /// + /// The address descriptor of the place. Address descriptors include additional information that help describe a + /// location using landmarks and areas. See address descriptor regional coverage in + /// https://developers.google.com/maps/documentation/geocoding/address-descriptors/coverage. + /// + [Newtonsoft.Json.JsonPropertyAttribute("addressDescriptor")] + public virtual GoogleMapsPlacesV1AddressDescriptor AddressDescriptor { get; set; } + /// The place's address in adr microformat: http://microformats.org/wiki/adr. [Newtonsoft.Json.JsonPropertyAttribute("adrFormatAddress")] public virtual string AdrFormatAddress { get; set; } diff --git a/Src/Generated/Google.Apis.MapsPlaces.v1/Google.Apis.MapsPlaces.v1.csproj b/Src/Generated/Google.Apis.MapsPlaces.v1/Google.Apis.MapsPlaces.v1.csproj index 782d1b0635c..abc33ab5643 100644 --- a/Src/Generated/Google.Apis.MapsPlaces.v1/Google.Apis.MapsPlaces.v1.csproj +++ b/Src/Generated/Google.Apis.MapsPlaces.v1/Google.Apis.MapsPlaces.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.MapsPlaces.v1 Client Library - 1.68.0.3550 + 1.68.0.3573 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.NetAppFiles.v1/Google.Apis.NetAppFiles.v1.cs b/Src/Generated/Google.Apis.NetAppFiles.v1/Google.Apis.NetAppFiles.v1.cs new file mode 100644 index 00000000000..9f9e082db88 --- /dev/null +++ b/Src/Generated/Google.Apis.NetAppFiles.v1/Google.Apis.NetAppFiles.v1.cs @@ -0,0 +1,6629 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated code. DO NOT EDIT! + +namespace Google.Apis.NetAppFiles.v1 +{ + /// The NetAppFiles Service. + public class NetAppFilesService : Google.Apis.Services.BaseClientService + { + /// The API version. + public const string Version = "v1"; + + /// The discovery version used to generate this service. + public static Google.Apis.Discovery.DiscoveryVersion DiscoveryVersionUsed = Google.Apis.Discovery.DiscoveryVersion.Version_1_0; + + /// Constructs a new service. + public NetAppFilesService() : this(new Google.Apis.Services.BaseClientService.Initializer()) + { + } + + /// Constructs a new service. + /// The service initializer. + public NetAppFilesService(Google.Apis.Services.BaseClientService.Initializer initializer) : base(initializer) + { + Projects = new ProjectsResource(this); + BaseUri = GetEffectiveUri(BaseUriOverride, "https://netapp.googleapis.com/"); + BatchUri = GetEffectiveUri(null, "https://netapp.googleapis.com/batch"); + } + + /// Gets the service supported features. + public override System.Collections.Generic.IList Features => new string[0]; + + /// Gets the service name. + public override string Name => "netapp"; + + /// Gets the service base URI. + public override string BaseUri { get; } + + /// Gets the service base path. + public override string BasePath => ""; + + /// Gets the batch base URI; null if unspecified. + public override string BatchUri { get; } + + /// Gets the batch base path; null if unspecified. + public override string BatchPath => "batch"; + + /// Available OAuth 2.0 scopes for use with the NetApp API. + public class Scope + { + /// + /// See, edit, configure, and delete your Google Cloud data and see the email address for your Google + /// Account. + /// + public static string CloudPlatform = "https://www.googleapis.com/auth/cloud-platform"; + } + + /// Available OAuth 2.0 scope constants for use with the NetApp API. + public static class ScopeConstants + { + /// + /// See, edit, configure, and delete your Google Cloud data and see the email address for your Google + /// Account. + /// + public const string CloudPlatform = "https://www.googleapis.com/auth/cloud-platform"; + } + + /// Gets the Projects resource. + public virtual ProjectsResource Projects { get; } + } + + /// A base abstract class for NetAppFiles requests. + public abstract class NetAppFilesBaseServiceRequest : Google.Apis.Requests.ClientServiceRequest + { + /// Constructs a new NetAppFilesBaseServiceRequest instance. + protected NetAppFilesBaseServiceRequest(Google.Apis.Services.IClientService service) : base(service) + { + } + + /// V1 error format. + [Google.Apis.Util.RequestParameterAttribute("$.xgafv", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Xgafv { get; set; } + + /// V1 error format. + public enum XgafvEnum + { + /// v1 error format + [Google.Apis.Util.StringValueAttribute("1")] + Value1 = 0, + + /// v2 error format + [Google.Apis.Util.StringValueAttribute("2")] + Value2 = 1, + } + + /// OAuth access token. + [Google.Apis.Util.RequestParameterAttribute("access_token", Google.Apis.Util.RequestParameterType.Query)] + public virtual string AccessToken { get; set; } + + /// Data format for response. + [Google.Apis.Util.RequestParameterAttribute("alt", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Alt { get; set; } + + /// Data format for response. + public enum AltEnum + { + /// Responses with Content-Type of application/json + [Google.Apis.Util.StringValueAttribute("json")] + Json = 0, + + /// Media download with context-dependent Content-Type + [Google.Apis.Util.StringValueAttribute("media")] + Media = 1, + + /// Responses with Content-Type of application/x-protobuf + [Google.Apis.Util.StringValueAttribute("proto")] + Proto = 2, + } + + /// JSONP + [Google.Apis.Util.RequestParameterAttribute("callback", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Callback { get; set; } + + /// Selector specifying which fields to include in a partial response. + [Google.Apis.Util.RequestParameterAttribute("fields", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Fields { get; set; } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("key", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Key { get; set; } + + /// OAuth 2.0 token for the current user. + [Google.Apis.Util.RequestParameterAttribute("oauth_token", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OauthToken { get; set; } + + /// Returns response with indentations and line breaks. + [Google.Apis.Util.RequestParameterAttribute("prettyPrint", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PrettyPrint { get; set; } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("quotaUser", Google.Apis.Util.RequestParameterType.Query)] + public virtual string QuotaUser { get; set; } + + /// Legacy upload protocol for media (e.g. "media", "multipart"). + [Google.Apis.Util.RequestParameterAttribute("uploadType", Google.Apis.Util.RequestParameterType.Query)] + public virtual string UploadType { get; set; } + + /// Upload protocol for media (e.g. "raw", "multipart"). + [Google.Apis.Util.RequestParameterAttribute("upload_protocol", Google.Apis.Util.RequestParameterType.Query)] + public virtual string UploadProtocol { get; set; } + + /// Initializes NetAppFiles parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("$.xgafv", new Google.Apis.Discovery.Parameter + { + Name = "$.xgafv", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("access_token", new Google.Apis.Discovery.Parameter + { + Name = "access_token", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("alt", new Google.Apis.Discovery.Parameter + { + Name = "alt", + IsRequired = false, + ParameterType = "query", + DefaultValue = "json", + Pattern = null, + }); + RequestParameters.Add("callback", new Google.Apis.Discovery.Parameter + { + Name = "callback", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("fields", new Google.Apis.Discovery.Parameter + { + Name = "fields", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("key", new Google.Apis.Discovery.Parameter + { + Name = "key", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("oauth_token", new Google.Apis.Discovery.Parameter + { + Name = "oauth_token", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("prettyPrint", new Google.Apis.Discovery.Parameter + { + Name = "prettyPrint", + IsRequired = false, + ParameterType = "query", + DefaultValue = "true", + Pattern = null, + }); + RequestParameters.Add("quotaUser", new Google.Apis.Discovery.Parameter + { + Name = "quotaUser", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("uploadType", new Google.Apis.Discovery.Parameter + { + Name = "uploadType", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("upload_protocol", new Google.Apis.Discovery.Parameter + { + Name = "upload_protocol", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// The "projects" collection of methods. + public class ProjectsResource + { + private const string Resource = "projects"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ProjectsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Locations = new LocationsResource(service); + } + + /// Gets the Locations resource. + public virtual LocationsResource Locations { get; } + + /// The "locations" collection of methods. + public class LocationsResource + { + private const string Resource = "locations"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public LocationsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + ActiveDirectories = new ActiveDirectoriesResource(service); + BackupPolicies = new BackupPoliciesResource(service); + BackupVaults = new BackupVaultsResource(service); + KmsConfigs = new KmsConfigsResource(service); + Operations = new OperationsResource(service); + StoragePools = new StoragePoolsResource(service); + Volumes = new VolumesResource(service); + } + + /// Gets the ActiveDirectories resource. + public virtual ActiveDirectoriesResource ActiveDirectories { get; } + + /// The "activeDirectories" collection of methods. + public class ActiveDirectoriesResource + { + private const string Resource = "activeDirectories"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ActiveDirectoriesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// CreateActiveDirectory Creates the active directory specified in the request. + /// The body of the request. + /// Required. Value for parent. + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1.Data.ActiveDirectory body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// CreateActiveDirectory Creates the active directory specified in the request. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.ActiveDirectory body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// Required. Value for parent. + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. ID of the active directory to create. Must be unique within the parent resource. Must + /// contain only letters, numbers and hyphen, with the first character a letter , the last a letter + /// or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("activeDirectoryId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ActiveDirectoryId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.ActiveDirectory 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 => "v1/{+parent}/activeDirectories"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("activeDirectoryId", new Google.Apis.Discovery.Parameter + { + Name = "activeDirectoryId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Delete the active directory specified in the request. + /// Required. Name of the active directory. + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Delete the active directory specified in the request. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the active directory. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + }); + } + } + + /// Describes a specified active directory. + /// Required. Name of the active directory. + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Describes a specified active directory. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the active directory. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + }); + } + } + + /// Lists active directories. + /// Required. Parent value for ListActiveDirectoriesRequest + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Lists active directories. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent value for ListActiveDirectoriesRequest + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Filtering results + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Hint for how to order the results + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Server may return fewer items than requested. If unspecified, the server + /// will pick an appropriate default. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// A token identifying a page of results the server should return. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/activeDirectories"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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, + }); + } + } + + /// Update the parameters of an active directories. + /// The body of the request. + /// + /// Identifier. The resource name of the active directory. Format: + /// `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1.Data.ActiveDirectory body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Update the parameters of an active directories. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.ActiveDirectory body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the active directory. Format: + /// `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the Active Directory + /// resource by the update. The fields specified in the update_mask are relative to the resource, + /// not the full request. A field will be overwritten if it is in the mask. If the user does not + /// provide a mask then all fields will be overwritten. + /// + [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.NetAppFiles.v1.Data.ActiveDirectory 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 => "v1/{+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/[^/]+/activeDirectories/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the BackupPolicies resource. + public virtual BackupPoliciesResource BackupPolicies { get; } + + /// The "backupPolicies" collection of methods. + public class BackupPoliciesResource + { + private const string Resource = "backupPolicies"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public BackupPoliciesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates new backup policy + /// The body of the request. + /// + /// Required. The location to create the backup policies of, in the format + /// `projects/{project_id}/locations/{location}` + /// + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1.Data.BackupPolicy body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates new backup policy + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.BackupPolicy body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The location to create the backup policies of, in the format + /// `projects/{project_id}/locations/{location}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. The ID to use for the backup policy. The ID must be unique within the specified + /// location. Must contain only letters, numbers and hyphen, with the first character a letter, the + /// last a letter or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("backupPolicyId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string BackupPolicyId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.BackupPolicy 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 => "v1/{+parent}/backupPolicies"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("backupPolicyId", new Google.Apis.Discovery.Parameter + { + Name = "backupPolicyId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Warning! This operation will permanently delete the backup policy. + /// + /// Required. The backup policy resource name, in the format + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}` + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Warning! This operation will permanently delete the backup policy. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backup policy resource name, in the format + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + }); + } + } + + /// Returns the description of the specified backup policy by backup_policy_id. + /// + /// Required. The backupPolicy resource name, in the format + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}` + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the description of the specified backup policy by backup_policy_id. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backupPolicy resource name, in the format + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + }); + } + } + + /// Returns list of all available backup policies. + /// Required. Parent value for ListBackupPoliciesRequest + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns list of all available backup policies. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent value for ListBackupPoliciesRequest + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Filtering results + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Hint for how to order the results + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Server may return fewer items than requested. If unspecified, the server + /// will pick an appropriate default. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// A token identifying a page of results the server should return. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/backupPolicies"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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 settings of a specific backup policy. + /// The body of the request. + /// + /// Identifier. The resource name of the backup policy. Format: + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1.Data.BackupPolicy body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates settings of a specific backup policy. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.BackupPolicy body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the backup policy. Format: + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the Backup Policy + /// resource by the update. The fields specified in the update_mask are relative to the resource, + /// not the full request. A field will be overwritten if it is in the mask. If the user does not + /// provide a mask then all fields will be overwritten. + /// + [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.NetAppFiles.v1.Data.BackupPolicy 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 => "v1/{+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/[^/]+/backupPolicies/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the BackupVaults resource. + public virtual BackupVaultsResource BackupVaults { get; } + + /// The "backupVaults" collection of methods. + public class BackupVaultsResource + { + private const string Resource = "backupVaults"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public BackupVaultsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Backups = new BackupsResource(service); + } + + /// Gets the Backups resource. + public virtual BackupsResource Backups { get; } + + /// The "backups" collection of methods. + public class BackupsResource + { + private const string Resource = "backups"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public BackupsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Creates a backup from the volume specified in the request The backup can be created from the + /// given snapshot if specified in the request. If no snapshot specified, there'll be a new snapshot + /// taken to initiate the backup creation. + /// + /// The body of the request. + /// + /// Required. The NetApp backupVault to create the backups of, in the format + /// `projects/*/locations/*/backupVaults/{backup_vault_id}` + /// + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1.Data.Backup body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// + /// Creates a backup from the volume specified in the request The backup can be created from the + /// given snapshot if specified in the request. If no snapshot specified, there'll be a new snapshot + /// taken to initiate the backup creation. + /// + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.Backup body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The NetApp backupVault to create the backups of, in the format + /// `projects/*/locations/*/backupVaults/{backup_vault_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. The ID to use for the backup. The ID must be unique within the specified + /// backupVault. Must contain only letters, numbers and hyphen, with the first character a + /// letter, the last a letter or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("backupId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string BackupId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.Backup 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 => "v1/{+parent}/backups"; + + /// 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/[^/]+/backupVaults/[^/]+$", + }); + RequestParameters.Add("backupId", new Google.Apis.Discovery.Parameter + { + Name = "backupId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Warning! This operation will permanently delete the backup. + /// + /// Required. The backup resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}` + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Warning! This operation will permanently delete the backup. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backup resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + }); + } + } + + /// Returns the description of the specified backup + /// + /// Required. The backup resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}` + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the description of the specified backup + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backup resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + }); + } + } + + /// Returns descriptions of all backups for a backupVault. + /// + /// Required. The backupVault for which to retrieve backup information, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. To retrieve backup + /// information for all locations, use "-" for the `{location}` value. To retrieve backup + /// information for all backupVaults, use "-" for the `{backup_vault_id}` value. To retrieve backup + /// information for a volume, use "-" for the `{backup_vault_id}` value and specify volume full name + /// with the filter. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns descriptions of all backups for a backupVault. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The backupVault for which to retrieve backup information, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. To retrieve + /// backup information for all locations, use "-" for the `{location}` value. To retrieve backup + /// information for all backupVaults, use "-" for the `{backup_vault_id}` value. To retrieve + /// backup information for a volume, use "-" for the `{backup_vault_id}` value and specify + /// volume full name with the filter. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// The standard list filter. If specified, backups will be returned based on the attribute name + /// that matches the filter expression. If empty, then no backups are filtered out. See + /// https://google.aip.dev/160 + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Sort results. Supported values are "name", "name desc" or "" (unsorted). + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// The maximum number of items to return. The service may return fewer than this value. The + /// maximum value is 1000; values above 1000 will be coerced to 1000. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// The next_page_token value to use if there are additional results to retrieve for this list + /// request. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/backups"; + + /// 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/[^/]+/backupVaults/[^/]+$", + }); + 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, + }); + } + } + + /// Update backup with full spec. + /// The body of the request. + /// + /// Identifier. The resource name of the backup. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1.Data.Backup body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Update backup with full spec. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.Backup body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the backup. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the Backup resource + /// to be updated. The fields specified in the update_mask are relative to the resource, not the + /// full request. A field will be overwritten if it is in the mask. If the user does not provide + /// a mask then all fields will be overwritten. + /// + [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.NetAppFiles.v1.Data.Backup 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 => "v1/{+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/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Creates new backup vault + /// The body of the request. + /// + /// Required. The location to create the backup vaults, in the format + /// `projects/{project_id}/locations/{location}` + /// + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1.Data.BackupVault body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates new backup vault + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.BackupVault body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The location to create the backup vaults, in the format + /// `projects/{project_id}/locations/{location}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. The ID to use for the backupVault. The ID must be unique within the specified + /// location. Must contain only letters, numbers and hyphen, with the first character a letter, the + /// last a letter or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("backupVaultId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string BackupVaultId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.BackupVault 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 => "v1/{+parent}/backupVaults"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("backupVaultId", new Google.Apis.Discovery.Parameter + { + Name = "backupVaultId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Warning! This operation will permanently delete the backup vault. + /// + /// Required. The backupVault resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}` + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Warning! This operation will permanently delete the backup vault. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backupVault resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + }); + } + } + + /// Returns the description of the specified backup vault + /// + /// Required. The backupVault resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}` + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the description of the specified backup vault + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backupVault resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + }); + } + } + + /// Returns list of all available backup vaults. + /// + /// Required. The location for which to retrieve backupVault information, in the format + /// `projects/{project_id}/locations/{location}`. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns list of all available backup vaults. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The location for which to retrieve backupVault information, in the format + /// `projects/{project_id}/locations/{location}`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// List filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Sort results. Supported values are "name", "name desc" or "" (unsorted). + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// The maximum number of items to return. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// The next_page_token value to use if there are additional results to retrieve for this list + /// request. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/backupVaults"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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 the settings of a specific backup vault. + /// The body of the request. + /// + /// Identifier. The resource name of the backup vault. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1.Data.BackupVault body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the settings of a specific backup vault. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.BackupVault body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the backup vault. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the Backup resource to + /// be updated. The fields specified in the update_mask are relative to the resource, not the full + /// request. A field will be overwritten if it is in the mask. If the user does not provide a mask + /// then all fields will be overwritten. + /// + [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.NetAppFiles.v1.Data.BackupVault 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 => "v1/{+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/[^/]+/backupVaults/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the KmsConfigs resource. + public virtual KmsConfigsResource KmsConfigs { get; } + + /// The "kmsConfigs" collection of methods. + public class KmsConfigsResource + { + private const string Resource = "kmsConfigs"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public KmsConfigsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates a new KMS config. + /// The body of the request. + /// Required. Value for parent. + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1.Data.KmsConfig body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates a new KMS config. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.KmsConfig body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// Required. Value for parent. + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. Id of the requesting KmsConfig. Must be unique within the parent resource. Must + /// contain only letters, numbers and hyphen, with the first character a letter, the last a letter + /// or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("kmsConfigId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string KmsConfigId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.KmsConfig 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 => "v1/{+parent}/kmsConfigs"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("kmsConfigId", new Google.Apis.Discovery.Parameter + { + Name = "kmsConfigId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Warning! This operation will permanently delete the Kms config. + /// Required. Name of the KmsConfig. + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Warning! This operation will permanently delete the Kms config. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the KmsConfig. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + }); + } + } + + /// + /// Encrypt the existing volumes without CMEK encryption with the desired the KMS config for the whole + /// region. + /// + /// The body of the request. + /// Required. Name of the KmsConfig. + public virtual EncryptRequest Encrypt(Google.Apis.NetAppFiles.v1.Data.EncryptVolumesRequest body, string name) + { + return new EncryptRequest(this.service, body, name); + } + + /// + /// Encrypt the existing volumes without CMEK encryption with the desired the KMS config for the whole + /// region. + /// + public class EncryptRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Encrypt request. + public EncryptRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.EncryptVolumesRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Required. Name of the KmsConfig. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.EncryptVolumesRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "encrypt"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:encrypt"; + + /// Initializes Encrypt 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/[^/]+/kmsConfigs/[^/]+$", + }); + } + } + + /// Returns the description of the specified KMS config by kms_config_id. + /// Required. Name of the KmsConfig + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the description of the specified KMS config by kms_config_id. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the KmsConfig + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + }); + } + } + + /// Returns descriptions of all KMS configs owned by the caller. + /// Required. Parent value + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns descriptions of all KMS configs owned by the caller. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent value + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// List filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Sort results. Supported values are "name", "name desc" or "" (unsorted). + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// The maximum number of items to return. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// The next_page_token value to use if there are additional results to retrieve for this list + /// request. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/kmsConfigs"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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 the Kms config properties with the full spec + /// The body of the request. + /// Identifier. Name of the KmsConfig. + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1.Data.KmsConfig body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the Kms config properties with the full spec + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.KmsConfig body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Identifier. Name of the KmsConfig. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the KmsConfig resource + /// by the update. The fields specified in the update_mask are relative to the resource, not the + /// full request. A field will be overwritten if it is in the mask. If the user does not provide a + /// mask then all fields will be overwritten. + /// + [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.NetAppFiles.v1.Data.KmsConfig 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 => "v1/{+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/[^/]+/kmsConfigs/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Verifies KMS config reachability. + /// The body of the request. + /// Required. Name of the KMS Config to be verified. + public virtual VerifyRequest Verify(Google.Apis.NetAppFiles.v1.Data.VerifyKmsConfigRequest body, string name) + { + return new VerifyRequest(this.service, body, name); + } + + /// Verifies KMS config reachability. + public class VerifyRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Verify request. + public VerifyRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.VerifyKmsConfigRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Required. Name of the KMS Config to be verified. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.VerifyKmsConfigRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "verify"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:verify"; + + /// Initializes Verify 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/[^/]+/kmsConfigs/[^/]+$", + }); + } + } + } + + /// Gets the Operations resource. + public virtual OperationsResource Operations { get; } + + /// The "operations" collection of methods. + public class OperationsResource + { + private const string Resource = "operations"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public OperationsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Starts asynchronous cancellation on a long-running operation. The server makes a best effort to + /// cancel the operation, but success is not guaranteed. If the server doesn't support this method, it + /// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to + /// check whether the cancellation succeeded or whether the operation completed despite cancellation. On + /// successful cancellation, the operation is not deleted; instead, it becomes an operation with an + /// Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + /// + /// The body of the request. + /// The name of the operation resource to be cancelled. + public virtual CancelRequest Cancel(Google.Apis.NetAppFiles.v1.Data.CancelOperationRequest body, string name) + { + return new CancelRequest(this.service, body, name); + } + + /// + /// Starts asynchronous cancellation on a long-running operation. The server makes a best effort to + /// cancel the operation, but success is not guaranteed. If the server doesn't support this method, it + /// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to + /// check whether the cancellation succeeded or whether the operation completed despite cancellation. On + /// successful cancellation, the operation is not deleted; instead, it becomes an operation with an + /// Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + /// + public class CancelRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Cancel request. + public CancelRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.CancelOperationRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// The name of the operation resource to be cancelled. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.CancelOperationRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "cancel"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:cancel"; + + /// Initializes Cancel parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + }); + } + } + + /// + /// Deletes a long-running operation. This method indicates that the client is no longer interested in + /// the operation result. It does not cancel the operation. If the server doesn't support this method, + /// it returns `google.rpc.Code.UNIMPLEMENTED`. + /// + /// The name of the operation resource to be deleted. + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// + /// Deletes a long-running operation. This method indicates that the client is no longer interested in + /// the operation result. It does not cancel the operation. If the server doesn't support this method, + /// it returns `google.rpc.Code.UNIMPLEMENTED`. + /// + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The name of the operation resource to be deleted. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + }); + } + } + + /// + /// Gets the latest state of a long-running operation. Clients can use this method to poll the operation + /// result at intervals as recommended by the API service. + /// + /// The name of the operation resource. + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// + /// Gets the latest state of a long-running operation. Clients can use this method to poll the operation + /// result at intervals as recommended by the API service. + /// + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The name of the operation resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + }); + } + } + + /// + /// Lists operations that match the specified filter in the request. If the server doesn't support this + /// method, it returns `UNIMPLEMENTED`. + /// + /// The name of the operation's parent resource. + public virtual ListRequest List(string name) + { + return new ListRequest(this.service, name); + } + + /// + /// Lists operations that match the specified filter in the request. If the server doesn't support this + /// method, it returns `UNIMPLEMENTED`. + /// + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The name of the operation's parent resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// The standard list filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// The standard list page size. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// The standard list page token. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}/operations"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the StoragePools resource. + public virtual StoragePoolsResource StoragePools { get; } + + /// The "storagePools" collection of methods. + public class StoragePoolsResource + { + private const string Resource = "storagePools"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public StoragePoolsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates a new storage pool. + /// The body of the request. + /// Required. Value for parent. + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1.Data.StoragePool body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates a new storage pool. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.StoragePool body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// Required. Value for parent. + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. Id of the requesting storage pool. Must be unique within the parent resource. Must + /// contain only letters, numbers and hyphen, with the first character a letter, the last a letter + /// or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("storagePoolId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string StoragePoolId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.StoragePool 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 => "v1/{+parent}/storagePools"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("storagePoolId", new Google.Apis.Discovery.Parameter + { + Name = "storagePoolId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Warning! This operation will permanently delete the storage pool. + /// Required. Name of the storage pool + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Warning! This operation will permanently delete the storage pool. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the storage pool + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + }); + } + } + + /// Returns the description of the specified storage pool by poolId. + /// Required. Name of the storage pool + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the description of the specified storage pool by poolId. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the storage pool + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + }); + } + } + + /// Returns descriptions of all storage pools owned by the caller. + /// Required. Parent value + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns descriptions of all storage pools owned by the caller. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent value + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Optional. List filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Optional. Sort results. Supported values are "name", "name desc" or "" (unsorted). + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// Optional. The maximum number of items to return. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// Optional. The next_page_token value to use if there are additional results to retrieve for this + /// list request. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/storagePools"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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 the storage pool properties with the full spec + /// The body of the request. + /// Identifier. Name of the storage pool + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1.Data.StoragePool body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the storage pool properties with the full spec + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.StoragePool body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Identifier. Name of the storage pool + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the StoragePool resource + /// by the update. The fields specified in the update_mask are relative to the resource, not the + /// full request. A field will be overwritten if it is in the mask. If the user does not provide a + /// mask then all fields will be overwritten. + /// + [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.NetAppFiles.v1.Data.StoragePool 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 => "v1/{+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/[^/]+/storagePools/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// This operation will switch the active/replica zone for a regional storagePool. + /// The body of the request. + /// Required. Name of the storage pool + public virtual NetAppFilesSwitchRequest NetAppFilesSwitch(Google.Apis.NetAppFiles.v1.Data.SwitchActiveReplicaZoneRequest body, string name) + { + return new NetAppFilesSwitchRequest(this.service, body, name); + } + + /// This operation will switch the active/replica zone for a regional storagePool. + public class NetAppFilesSwitchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new NetAppFilesSwitch request. + public NetAppFilesSwitchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.SwitchActiveReplicaZoneRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Required. Name of the storage pool + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.SwitchActiveReplicaZoneRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "switch"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:switch"; + + /// Initializes NetAppFilesSwitch 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/[^/]+/storagePools/[^/]+$", + }); + } + } + } + + /// Gets the Volumes resource. + public virtual VolumesResource Volumes { get; } + + /// The "volumes" collection of methods. + public class VolumesResource + { + private const string Resource = "volumes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public VolumesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Replications = new ReplicationsResource(service); + Snapshots = new SnapshotsResource(service); + } + + /// Gets the Replications resource. + public virtual ReplicationsResource Replications { get; } + + /// The "replications" collection of methods. + public class ReplicationsResource + { + private const string Resource = "replications"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ReplicationsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Create a new replication for a volume. + /// The body of the request. + /// + /// Required. The NetApp volume to create the replications of, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}` + /// + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1.Data.Replication body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Create a new replication for a volume. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.Replication body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The NetApp volume to create the replications of, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. ID of the replication to create. Must be unique within the parent resource. Must + /// contain only letters, numbers and hyphen, with the first character a letter, the last a + /// letter or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("replicationId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ReplicationId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.Replication 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 => "v1/{+parent}/replications"; + + /// 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/[^/]+/volumes/[^/]+$", + }); + RequestParameters.Add("replicationId", new Google.Apis.Discovery.Parameter + { + Name = "replicationId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes a replication. + /// + /// Required. The replication resource name, in the format + /// `projects/*/locations/*/volumes/*/replications/{replication_id}` + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Deletes a replication. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The replication resource name, in the format + /// `projects/*/locations/*/volumes/*/replications/{replication_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + } + } + + /// Describe a replication for a volume. + /// + /// Required. The replication resource name, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Describe a replication for a volume. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The replication resource name, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + } + } + + /// Returns descriptions of all replications for a volume. + /// + /// Required. The volume for which to retrieve replication information, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}`. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns descriptions of all replications for a volume. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The volume for which to retrieve replication information, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// List filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Sort results. Supported values are "name", "name desc" or "" (unsorted). + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// The maximum number of items to return. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// The next_page_token value to use if there are additional results to retrieve for this list + /// request. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/replications"; + + /// 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/[^/]+/volumes/[^/]+$", + }); + 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 the settings of a specific replication. + /// The body of the request. + /// + /// Identifier. The resource name of the Replication. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1.Data.Replication body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the settings of a specific replication. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.Replication body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the Replication. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Mask of fields to update. At least one path must be supplied in this field. + /// + [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.NetAppFiles.v1.Data.Replication 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 => "v1/{+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/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Resume Cross Region Replication. + /// The body of the request. + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + public virtual ResumeRequest Resume(Google.Apis.NetAppFiles.v1.Data.ResumeReplicationRequest body, string name) + { + return new ResumeRequest(this.service, body, name); + } + + /// Resume Cross Region Replication. + public class ResumeRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Resume request. + public ResumeRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.ResumeReplicationRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.ResumeReplicationRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "resume"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:resume"; + + /// Initializes Resume 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/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + } + } + + /// + /// Reverses direction of replication. Source becomes destination and destination becomes source. + /// + /// The body of the request. + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + public virtual ReverseDirectionRequest ReverseDirection(Google.Apis.NetAppFiles.v1.Data.ReverseReplicationDirectionRequest body, string name) + { + return new ReverseDirectionRequest(this.service, body, name); + } + + /// + /// Reverses direction of replication. Source becomes destination and destination becomes source. + /// + public class ReverseDirectionRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new ReverseDirection request. + public ReverseDirectionRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.ReverseReplicationDirectionRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.ReverseReplicationDirectionRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "reverseDirection"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:reverseDirection"; + + /// Initializes ReverseDirection 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/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + } + } + + /// Stop Cross Region Replication. + /// The body of the request. + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + public virtual StopRequest Stop(Google.Apis.NetAppFiles.v1.Data.StopReplicationRequest body, string name) + { + return new StopRequest(this.service, body, name); + } + + /// Stop Cross Region Replication. + public class StopRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Stop request. + public StopRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.StopReplicationRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.StopReplicationRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "stop"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:stop"; + + /// Initializes Stop 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/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + } + } + } + + /// Gets the Snapshots resource. + public virtual SnapshotsResource Snapshots { get; } + + /// The "snapshots" collection of methods. + public class SnapshotsResource + { + private const string Resource = "snapshots"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public SnapshotsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Create a new snapshot for a volume. + /// The body of the request. + /// + /// Required. The NetApp volume to create the snapshots of, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}` + /// + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1.Data.Snapshot body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Create a new snapshot for a volume. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.Snapshot body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The NetApp volume to create the snapshots of, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. ID of the snapshot to create. Must be unique within the parent resource. Must + /// contain only letters, numbers and hyphen, with the first character a letter, the last a + /// letter or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("snapshotId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string SnapshotId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.Snapshot 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 => "v1/{+parent}/snapshots"; + + /// 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/[^/]+/volumes/[^/]+$", + }); + RequestParameters.Add("snapshotId", new Google.Apis.Discovery.Parameter + { + Name = "snapshotId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes a snapshot. + /// + /// Required. The snapshot resource name, in the format + /// `projects/*/locations/*/volumes/*/snapshots/{snapshot_id}` + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Deletes a snapshot. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The snapshot resource name, in the format + /// `projects/*/locations/*/volumes/*/snapshots/{snapshot_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + }); + } + } + + /// Describe a snapshot for a volume. + /// + /// Required. The snapshot resource name, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Describe a snapshot for a volume. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The snapshot resource name, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + }); + } + } + + /// Returns descriptions of all snapshots for a volume. + /// + /// Required. The volume for which to retrieve snapshot information, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}`. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns descriptions of all snapshots for a volume. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The volume for which to retrieve snapshot information, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// List filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Sort results. Supported values are "name", "name desc" or "" (unsorted). + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// The maximum number of items to return. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// The next_page_token value to use if there are additional results to retrieve for this list + /// request. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/snapshots"; + + /// 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/[^/]+/volumes/[^/]+$", + }); + 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 the settings of a specific snapshot. + /// The body of the request. + /// + /// Identifier. The resource name of the snapshot. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1.Data.Snapshot body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the settings of a specific snapshot. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.Snapshot body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the snapshot. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Mask of fields to update. At least one path must be supplied in this field. + /// + [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.NetAppFiles.v1.Data.Snapshot 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 => "v1/{+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/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Creates a new Volume in a given project and location. + /// The body of the request. + /// Required. Value for parent. + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1.Data.Volume body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates a new Volume in a given project and location. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.Volume body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// Required. Value for parent. + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. Id of the requesting volume. Must be unique within the parent resource. Must contain + /// only letters, numbers and hyphen, with the first character a letter, the last a letter or a + /// number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("volumeId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string VolumeId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.Volume 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 => "v1/{+parent}/volumes"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("volumeId", new Google.Apis.Discovery.Parameter + { + Name = "volumeId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes a single Volume. + /// Required. Name of the volume + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Deletes a single Volume. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the volume + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// If this field is set as true, CCFE will not block the volume resource deletion even if it has + /// any snapshots resource. (Otherwise, the request will only work if the volume has no snapshots.) + /// + [Google.Apis.Util.RequestParameterAttribute("force", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Force { 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 => "v1/{+name}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + }); + RequestParameters.Add("force", new Google.Apis.Discovery.Parameter + { + Name = "force", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Gets details of a single Volume. + /// Required. Name of the volume + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Gets details of a single Volume. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the volume + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + }); + } + } + + /// Lists Volumes in a given project. + /// Required. Parent value for ListVolumesRequest + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Lists Volumes in a given project. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent value for ListVolumesRequest + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Filtering results + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Hint for how to order the results + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Server may return fewer items than requested. If unspecified, the server + /// will pick an appropriate default. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// A token identifying a page of results the server should return. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+parent}/volumes"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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 the parameters of a single Volume. + /// The body of the request. + /// Identifier. Name of the volume + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1.Data.Volume body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the parameters of a single Volume. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.Volume body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Identifier. Name of the volume + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the Volume resource by + /// the update. The fields specified in the update_mask are relative to the resource, not the full + /// request. A field will be overwritten if it is in the mask. If the user does not provide a mask + /// then all fields will be overwritten. + /// + [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.NetAppFiles.v1.Data.Volume 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 => "v1/{+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/[^/]+/volumes/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert + /// all changes made after the snapshot was created. + /// + /// The body of the request. + /// + /// Required. The resource name of the volume, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}. + /// + public virtual RevertRequest Revert(Google.Apis.NetAppFiles.v1.Data.RevertVolumeRequest body, string name) + { + return new RevertRequest(this.service, body, name); + } + + /// + /// Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert + /// all changes made after the snapshot was created. + /// + public class RevertRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Revert request. + public RevertRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1.Data.RevertVolumeRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the volume, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1.Data.RevertVolumeRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "revert"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:revert"; + + /// Initializes Revert 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/[^/]+/volumes/[^/]+$", + }); + } + } + } + + /// Gets information about a location. + /// Resource name for the location. + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Gets information about a location. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Resource name for the location. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + } + } + + /// Lists information about the supported locations for this service. + /// The resource that owns the locations collection, if applicable. + public virtual ListRequest List(string name) + { + return new ListRequest(this.service, name); + } + + /// Lists information about the supported locations for this service. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The resource that owns the locations collection, if applicable. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// A filter to narrow down results to a preferred subset. The filtering language accepts strings like + /// `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of results to return. If not set, the service selects a default. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A page token received from the `next_page_token` field in the response. Send that page token to + /// receive the subsequent page. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}/locations"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } +} +namespace Google.Apis.NetAppFiles.v1.Data +{ + /// ActiveDirectory is the public representation of the active directory config. + public class ActiveDirectory : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Users to be added to the Built-in Admininstrators group. + [Newtonsoft.Json.JsonPropertyAttribute("administrators")] + public virtual System.Collections.Generic.IList Administrators { get; set; } + + /// If enabled, AES encryption will be enabled for SMB communication. + [Newtonsoft.Json.JsonPropertyAttribute("aesEncryption")] + public virtual System.Nullable AesEncryption { get; set; } + + /// Optional. Users to be added to the Built-in Backup Operator active directory group. + [Newtonsoft.Json.JsonPropertyAttribute("backupOperators")] + public virtual System.Collections.Generic.IList BackupOperators { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Create time of the active directory. + [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); + } + + /// Description of the active directory. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// Required. Comma separated list of DNS server IP addresses for the Active Directory domain. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dns")] + public virtual string Dns { get; set; } + + /// Required. Name of the Active Directory domain + [Newtonsoft.Json.JsonPropertyAttribute("domain")] + public virtual string Domain { get; set; } + + /// If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted. + [Newtonsoft.Json.JsonPropertyAttribute("encryptDcConnections")] + public virtual System.Nullable EncryptDcConnections { get; set; } + + /// + /// Name of the active directory machine. This optional parameter is used only while creating kerberos volume + /// + [Newtonsoft.Json.JsonPropertyAttribute("kdcHostname")] + public virtual string KdcHostname { get; set; } + + /// KDC server IP address for the active directory machine. + [Newtonsoft.Json.JsonPropertyAttribute("kdcIp")] + public virtual string KdcIp { get; set; } + + /// Labels for the active directory. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Specifies whether or not the LDAP traffic needs to be signed. + [Newtonsoft.Json.JsonPropertyAttribute("ldapSigning")] + public virtual System.Nullable LdapSigning { get; set; } + + /// + /// Identifier. The resource name of the active directory. Format: + /// `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. NetBIOSPrefix is used as a prefix for SMB server name. + [Newtonsoft.Json.JsonPropertyAttribute("netBiosPrefix")] + public virtual string NetBiosPrefix { get; set; } + + /// + /// If enabled, will allow access to local users and LDAP users. If access is needed for only LDAP users, it has + /// to be disabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nfsUsersWithLdap")] + public virtual System.Nullable NfsUsersWithLdap { get; set; } + + /// The Organizational Unit (OU) within the Windows Active Directory the user belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("organizationalUnit")] + public virtual string OrganizationalUnit { get; set; } + + /// Required. Password of the Active Directory domain administrator. + [Newtonsoft.Json.JsonPropertyAttribute("password")] + public virtual string Password { get; set; } + + /// Optional. Domain users to be given the SeSecurityPrivilege. + [Newtonsoft.Json.JsonPropertyAttribute("securityOperators")] + public virtual System.Collections.Generic.IList SecurityOperators { get; set; } + + /// The Active Directory site the service will limit Domain Controller discovery too. + [Newtonsoft.Json.JsonPropertyAttribute("site")] + public virtual string Site { get; set; } + + /// Output only. The state of the AD. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. The state details of the Active Directory. + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// Required. Username of the Active Directory domain administrator. + [Newtonsoft.Json.JsonPropertyAttribute("username")] + public virtual string Username { get; set; } + + /// The ETag of the item. + 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; } + } + + /// A NetApp Backup. + public class Backup : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Type of backup, manually created or created by a backup policy. + [Newtonsoft.Json.JsonPropertyAttribute("backupType")] + public virtual string BackupType { get; set; } + + /// + /// Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup + /// size) + /// + [Newtonsoft.Json.JsonPropertyAttribute("chainStorageBytes")] + public virtual System.Nullable ChainStorageBytes { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The time when the backup 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); + } + + /// + /// A description of the backup with 2048 characters or less. Requests with longer descriptions will be + /// rejected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Resource labels to represent user provided metadata. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// + /// Identifier. The resource name of the backup. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot + /// taken to initiate the backup creation. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceSnapshot")] + public virtual string SourceSnapshot { get; set; } + + /// + /// Volume full name of this backup belongs to. Format: + /// `projects/{projects_id}/locations/{location}/volumes/{volume_id}` + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceVolume")] + public virtual string SourceVolume { get; set; } + + /// Output only. The backup state. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// + /// Output only. Size of the file system when the backup was created. When creating a new volume from the + /// backup, the volume capacity will have to be at least as big. + /// + [Newtonsoft.Json.JsonPropertyAttribute("volumeUsageBytes")] + public virtual System.Nullable VolumeUsageBytes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// BackupConfig contains backup related config on a volume. + public class BackupConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup + /// size). + /// + [Newtonsoft.Json.JsonPropertyAttribute("backupChainBytes")] + public virtual System.Nullable BackupChainBytes { get; set; } + + /// + /// Optional. When specified, schedule backups will be created based on the policy configuration. + /// + [Newtonsoft.Json.JsonPropertyAttribute("backupPolicies")] + public virtual System.Collections.Generic.IList BackupPolicies { get; set; } + + /// + /// Optional. Name of backup vault. Format: + /// projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id} + /// + [Newtonsoft.Json.JsonPropertyAttribute("backupVault")] + public virtual string BackupVault { get; set; } + + /// + /// Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's + /// no backup policy attached. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scheduledBackupEnabled")] + public virtual System.Nullable ScheduledBackupEnabled { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Backup Policy. + public class BackupPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The total number of volumes assigned by this backup policy. + [Newtonsoft.Json.JsonPropertyAttribute("assignedVolumeCount")] + public virtual System.Nullable AssignedVolumeCount { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The time when the backup policy 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); + } + + /// Number of daily backups to keep. Note that the minimum daily backup limit is 2. + [Newtonsoft.Json.JsonPropertyAttribute("dailyBackupLimit")] + public virtual System.Nullable DailyBackupLimit { get; set; } + + /// Description of the backup policy. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// If enabled, make backups automatically according to the schedules. This will be applied to all volumes that + /// have this policy attached and enforced on volume level. If not specified, default is true. + /// + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// Resource labels to represent user provided metadata. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// + /// Number of monthly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater + /// than 1. + /// + [Newtonsoft.Json.JsonPropertyAttribute("monthlyBackupLimit")] + public virtual System.Nullable MonthlyBackupLimit { get; set; } + + /// + /// Identifier. The resource name of the backup policy. Format: + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. The backup policy state. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// + /// Number of weekly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater + /// than 1. + /// + [Newtonsoft.Json.JsonPropertyAttribute("weeklyBackupLimit")] + public virtual System.Nullable WeeklyBackupLimit { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A NetApp BackupVault. + public class BackupVault : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Create time of the backup vault. + [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); + } + + /// Description of the backup vault. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Resource labels to represent user provided metadata. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// + /// Identifier. The resource name of the backup vault. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. The backup vault state. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + 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 + { + /// The ETag of the item. + 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; } + } + + /// Make a snapshot every day e.g. at 04:00, 05:20, 23:50 + public class DailySchedule : Google.Apis.Requests.IDirectResponseSchema + { + /// Set the hour to start the snapshot (0-23), defaults to midnight (0). + [Newtonsoft.Json.JsonPropertyAttribute("hour")] + public virtual System.Nullable Hour { get; set; } + + /// + /// Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + /// + [Newtonsoft.Json.JsonPropertyAttribute("minute")] + public virtual System.Nullable Minute { get; set; } + + /// The maximum number of Snapshots to keep for the hourly schedule + [Newtonsoft.Json.JsonPropertyAttribute("snapshotsToKeep")] + public virtual System.Nullable SnapshotsToKeep { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// DestinationVolumeParameters specify input parameters used for creating destination volume. + public class DestinationVolumeParameters : Google.Apis.Requests.IDirectResponseSchema + { + /// Description for the destination volume. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// Destination volume's share name. If not specified, source volume's share name will be used. + /// + [Newtonsoft.Json.JsonPropertyAttribute("shareName")] + public virtual string ShareName { get; set; } + + /// Required. Existing destination StoragePool name. + [Newtonsoft.Json.JsonPropertyAttribute("storagePool")] + public virtual string StoragePool { get; set; } + + /// + /// Desired destination volume resource id. If not specified, source volume's resource id will be used. This + /// value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and + /// cannot end with a hyphen. + /// + [Newtonsoft.Json.JsonPropertyAttribute("volumeId")] + public virtual string VolumeId { get; set; } + + /// The ETag of the item. + 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; } + } + + /// EncryptVolumesRequest specifies the KMS config to encrypt existing volumes. + public class EncryptVolumesRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Defines the export policy for the volume. + public class ExportPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. List of export policy rules + [Newtonsoft.Json.JsonPropertyAttribute("rules")] + public virtual System.Collections.Generic.IList Rules { get; set; } + + /// The ETag of the item. + 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; } + } + + /// + /// 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 GoogleProtobufEmpty : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Make a snapshot every hour e.g. at 04:00, 05:00, 06:00. + public class HourlySchedule : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + /// + [Newtonsoft.Json.JsonPropertyAttribute("minute")] + public virtual System.Nullable Minute { get; set; } + + /// The maximum number of Snapshots to keep for the hourly schedule + [Newtonsoft.Json.JsonPropertyAttribute("snapshotsToKeep")] + public virtual System.Nullable SnapshotsToKeep { 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; } + } + + /// KmsConfig is the customer managed encryption key(CMEK) configuration. + public class KmsConfig : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Create time of the KmsConfig. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// + /// Required. Customer managed crypto key resource full name. Format: + /// projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cryptoKeyName")] + public virtual string CryptoKeyName { get; set; } + + /// Description of the KmsConfig. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Output only. Instructions to provide the access to the customer provided encryption key. + [Newtonsoft.Json.JsonPropertyAttribute("instructions")] + public virtual string Instructions { get; set; } + + /// Labels as key value pairs + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Identifier. Name of the KmsConfig. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Output only. The Service account which will have access to the customer provided encryption key. + /// + [Newtonsoft.Json.JsonPropertyAttribute("serviceAccount")] + public virtual string ServiceAccount { get; set; } + + /// Output only. State of the KmsConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. State details of the KmsConfig. + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListActiveDirectoriesResponse contains all the active directories requested. + public class ListActiveDirectoriesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of active directories. + [Newtonsoft.Json.JsonPropertyAttribute("activeDirectories")] + public virtual System.Collections.Generic.IList ActiveDirectories { get; set; } + + /// A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListBackupPoliciesResponse contains all the backup policies requested. + public class ListBackupPoliciesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of backup policies. + [Newtonsoft.Json.JsonPropertyAttribute("backupPolicies")] + public virtual System.Collections.Generic.IList BackupPolicies { get; set; } + + /// A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListBackupVaultsResponse is the result of ListBackupVaultsRequest. + public class ListBackupVaultsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// A list of backupVaults in the project for the specified location. + [Newtonsoft.Json.JsonPropertyAttribute("backupVaults")] + public virtual System.Collections.Generic.IList BackupVaults { get; set; } + + /// + /// The token you can use to retrieve the next page of results. Not returned if there are no more results in the + /// list. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListBackupsResponse is the result of ListBackupsRequest. + public class ListBackupsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// A list of backups in the project. + [Newtonsoft.Json.JsonPropertyAttribute("backups")] + public virtual System.Collections.Generic.IList Backups { get; set; } + + /// + /// The token you can use to retrieve the next page of results. Not returned if there are no more results in the + /// list. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListKmsConfigsResponse is the response to a ListKmsConfigsRequest. + public class ListKmsConfigsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of KmsConfigs + [Newtonsoft.Json.JsonPropertyAttribute("kmsConfigs")] + public virtual System.Collections.Generic.IList KmsConfigs { get; set; } + + /// A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// 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; } + } + + /// 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; } + } + + /// ListReplicationsResponse is the result of ListReplicationsRequest. + public class ListReplicationsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The token you can use to retrieve the next page of results. Not returned if there are no more results in the + /// list. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// A list of replications in the project for the specified volume. + [Newtonsoft.Json.JsonPropertyAttribute("replications")] + public virtual System.Collections.Generic.IList Replications { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListSnapshotsResponse is the result of ListSnapshotsRequest. + public class ListSnapshotsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The token you can use to retrieve the next page of results. Not returned if there are no more results in the + /// list. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// A list of snapshots in the project for the specified volume. + [Newtonsoft.Json.JsonPropertyAttribute("snapshots")] + public virtual System.Collections.Generic.IList Snapshots { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListStoragePoolsResponse is the response to a ListStoragePoolsRequest. + public class ListStoragePoolsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The list of StoragePools + [Newtonsoft.Json.JsonPropertyAttribute("storagePools")] + public virtual System.Collections.Generic.IList StoragePools { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Message for response to listing Volumes + public class ListVolumesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The list of Volume + [Newtonsoft.Json.JsonPropertyAttribute("volumes")] + public virtual System.Collections.Generic.IList Volumes { 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; } + } + + 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; } + } + + /// Metadata for a given google.cloud.location.Location. + public class LocationMetadata : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Supported service levels in a location. + [Newtonsoft.Json.JsonPropertyAttribute("supportedServiceLevels")] + public virtual System.Collections.Generic.IList SupportedServiceLevels { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50 + public class MonthlySchedule : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. + /// Defaults to '1'. + /// + [Newtonsoft.Json.JsonPropertyAttribute("daysOfMonth")] + public virtual string DaysOfMonth { get; set; } + + /// Set the hour to start the snapshot (0-23), defaults to midnight (0). + [Newtonsoft.Json.JsonPropertyAttribute("hour")] + public virtual System.Nullable Hour { get; set; } + + /// + /// Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + /// + [Newtonsoft.Json.JsonPropertyAttribute("minute")] + public virtual System.Nullable Minute { get; set; } + + /// The maximum number of Snapshots to keep for the hourly schedule + [Newtonsoft.Json.JsonPropertyAttribute("snapshotsToKeep")] + public virtual System.Nullable SnapshotsToKeep { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// View only mount options for a volume. + public class MountOption : Google.Apis.Requests.IDirectResponseSchema + { + /// Export string + [Newtonsoft.Json.JsonPropertyAttribute("export")] + public virtual string Export { get; set; } + + /// Full export string + [Newtonsoft.Json.JsonPropertyAttribute("exportFull")] + public virtual string ExportFull { get; set; } + + /// Instructions for mounting + [Newtonsoft.Json.JsonPropertyAttribute("instructions")] + public virtual string Instructions { get; set; } + + /// Protocol to mount with. + [Newtonsoft.Json.JsonPropertyAttribute("protocol")] + public virtual string Protocol { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// This resource represents a long-running operation that is the result of a network API call. + public class Operation : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, + /// and either `error` or `response` is available. + /// + [Newtonsoft.Json.JsonPropertyAttribute("done")] + public virtual System.Nullable Done { get; set; } + + /// The error result of the operation in case of failure or cancellation. + [Newtonsoft.Json.JsonPropertyAttribute("error")] + public virtual Status Error { get; set; } + + /// + /// Service-specific metadata associated with the operation. It typically contains progress information and + /// common metadata such as create time. Some services might not provide such metadata. Any method that returns + /// a long-running operation should document the metadata type, if any. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// + /// The server-assigned name, which is only unique within the same service that originally returns it. If you + /// use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// The normal, successful response of the operation. If the original method returns no data on success, such as + /// `Delete`, the response is `google.protobuf.Empty`. If the original method is standard + /// `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have + /// the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is + /// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("response")] + public virtual System.Collections.Generic.IDictionary Response { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Represents the metadata of the long-running operation. + public class OperationMetadata : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. API version used to start the operation. + [Newtonsoft.Json.JsonPropertyAttribute("apiVersion")] + public virtual string ApiVersion { get; set; } + + 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. Identifies whether the user has requested cancellation of the operation. Operations that have + /// been canceled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to + /// `Code.CANCELLED`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("requestedCancellation")] + public virtual System.Nullable RequestedCancellation { get; set; } + + /// Output only. Human-readable status of the operation, if any. + [Newtonsoft.Json.JsonPropertyAttribute("statusMessage")] + public virtual string StatusMessage { 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; } + } + + /// 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; } + } + + /// + /// 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; } + } + + /// + /// Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 + /// volumes in different regions. + /// + public class Replication : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Replication create 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); + } + + /// A description about this replication relationship. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// Output only. Full name of destination volume resource. Example : + /// "projects/{project}/locations/{location}/volumes/{volume_id}" + /// + [Newtonsoft.Json.JsonPropertyAttribute("destinationVolume")] + public virtual string DestinationVolume { get; set; } + + /// Required. Input only. Destination volume parameters + [Newtonsoft.Json.JsonPropertyAttribute("destinationVolumeParameters")] + public virtual DestinationVolumeParameters DestinationVolumeParameters { get; set; } + + /// + /// Output only. Condition of the relationship. Can be one of the following: - true: The replication + /// relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication + /// relationship is not healthy. It has missed the most recent scheduled transfer. + /// + [Newtonsoft.Json.JsonPropertyAttribute("healthy")] + public virtual System.Nullable Healthy { get; set; } + + /// Resource labels to represent user provided metadata. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Output only. Indicates the state of mirroring. + [Newtonsoft.Json.JsonPropertyAttribute("mirrorState")] + public virtual string MirrorState { get; set; } + + /// + /// Identifier. The resource name of the Replication. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. Indicates the schedule for replication. + [Newtonsoft.Json.JsonPropertyAttribute("replicationSchedule")] + public virtual string ReplicationSchedule { get; set; } + + /// Output only. Indicates whether this points to source or destination. + [Newtonsoft.Json.JsonPropertyAttribute("role")] + public virtual string Role { get; set; } + + /// + /// Output only. Full name of source volume resource. Example : + /// "projects/{project}/locations/{location}/volumes/{volume_id}" + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceVolume")] + public virtual string SourceVolume { get; set; } + + /// Output only. State of the replication. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. State details of the replication. + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// Output only. Replication transfer statistics. + [Newtonsoft.Json.JsonPropertyAttribute("transferStats")] + public virtual TransferStats TransferStats { 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; } + } + + /// The RestoreParameters if volume is created from a snapshot or backup. + public class RestoreParameters : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Full name of the backup resource. Format: + /// projects/{project}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id} + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceBackup")] + public virtual string SourceBackup { get; set; } + + /// + /// Full name of the snapshot resource. Format: + /// projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot} + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceSnapshot")] + public virtual string SourceSnapshot { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ResumeReplicationRequest resumes a stopped replication. + public class ResumeReplicationRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// ReverseReplicationDirectionRequest reverses direction of replication. Source becomes destination and destination + /// becomes source. + /// + public class ReverseReplicationDirectionRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// RevertVolumeRequest reverts the given volume to the specified snapshot. + public class RevertVolumeRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The snapshot resource ID, in the format 'my-snapshot', where the specified ID is the {snapshot_id} + /// of the fully qualified name like + /// projects/{project_id}/locations/{location_id}/volumes/{volume_id}/snapshots/{snapshot_id} + /// + [Newtonsoft.Json.JsonPropertyAttribute("snapshotId")] + public virtual string SnapshotId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// An export policy rule describing various export options. + public class SimpleExportPolicyRule : Google.Apis.Requests.IDirectResponseSchema + { + /// Access type (ReadWrite, ReadOnly, None) + [Newtonsoft.Json.JsonPropertyAttribute("accessType")] + public virtual string AccessType { get; set; } + + /// Comma separated list of allowed clients IP addresses + [Newtonsoft.Json.JsonPropertyAttribute("allowedClients")] + public virtual string AllowedClients { get; set; } + + /// Whether Unix root access will be granted. + [Newtonsoft.Json.JsonPropertyAttribute("hasRootAccess")] + public virtual string HasRootAccess { get; set; } + + /// + /// If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'authentication' kerberos security mode. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5ReadOnly")] + public virtual System.Nullable Kerberos5ReadOnly { get; set; } + + /// + /// If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The + /// 'kerberos5ReadOnly' value be ignored if this is enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5ReadWrite")] + public virtual System.Nullable Kerberos5ReadWrite { get; set; } + + /// + /// If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'integrity' kerberos security mode. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5iReadOnly")] + public virtual System.Nullable Kerberos5iReadOnly { get; set; } + + /// + /// If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The + /// 'kerberos5iReadOnly' value be ignored if this is enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5iReadWrite")] + public virtual System.Nullable Kerberos5iReadWrite { get; set; } + + /// + /// If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'privacy' kerberos security mode. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5pReadOnly")] + public virtual System.Nullable Kerberos5pReadOnly { get; set; } + + /// + /// If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The + /// 'kerberos5pReadOnly' value be ignored if this is enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5pReadWrite")] + public virtual System.Nullable Kerberos5pReadWrite { get; set; } + + /// NFS V3 protocol. + [Newtonsoft.Json.JsonPropertyAttribute("nfsv3")] + public virtual System.Nullable Nfsv3 { get; set; } + + /// NFS V4 protocol. + [Newtonsoft.Json.JsonPropertyAttribute("nfsv4")] + public virtual System.Nullable Nfsv4 { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Snapshot is a point-in-time version of a Volume's content. + public class Snapshot : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The time when the snapshot 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); + } + + /// + /// A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be + /// rejected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Resource labels to represent user provided metadata. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// + /// Identifier. The resource name of the snapshot. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. The snapshot state. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. State details of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// Output only. Current storage usage for the snapshot in bytes. + [Newtonsoft.Json.JsonPropertyAttribute("usedBytes")] + public virtual System.Nullable UsedBytes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Snapshot Policy for a volume. + public class SnapshotPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// Daily schedule policy. + [Newtonsoft.Json.JsonPropertyAttribute("dailySchedule")] + public virtual DailySchedule DailySchedule { get; set; } + + /// If enabled, make snapshots automatically according to the schedules. Default is false. + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// Hourly schedule policy. + [Newtonsoft.Json.JsonPropertyAttribute("hourlySchedule")] + public virtual HourlySchedule HourlySchedule { get; set; } + + /// Monthly schedule policy. + [Newtonsoft.Json.JsonPropertyAttribute("monthlySchedule")] + public virtual MonthlySchedule MonthlySchedule { get; set; } + + /// Weekly schedule policy. + [Newtonsoft.Json.JsonPropertyAttribute("weeklySchedule")] + public virtual WeeklySchedule WeeklySchedule { get; set; } + + /// The ETag of the item. + 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 + /// three pieces of data: error code, error message, and error details. You can find out more about this error model + /// and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + /// + public class Status : Google.Apis.Requests.IDirectResponseSchema + { + /// The status code, which should be an enum value of google.rpc.Code. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual System.Nullable Code { get; set; } + + /// + /// A list of messages that carry the error details. There is a common set of message types for APIs to use. + /// + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList> Details { get; set; } + + /// + /// A developer-facing error message, which should be in English. Any user-facing error message should be + /// localized and sent in the google.rpc.Status.details field, or localized by the client. + /// + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// StopReplicationRequest stops a replication until resumed. + public class StopReplicationRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Indicates whether to stop replication forcefully while data transfer is in progress. Warning! if force is + /// true, this will abort any current transfers and can lead to data loss due to partial transfer. If force is + /// false, stop replication will fail while data transfer is in progress and you will need to retry later. + /// + [Newtonsoft.Json.JsonPropertyAttribute("force")] + public virtual System.Nullable Force { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// StoragePool is a container for volumes with a service level and capacity. Volumes can be created in a pool of + /// sufficient available capacity. StoragePool capacity is what you are billed for. + /// + public class StoragePool : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Specifies the Active Directory to be used for creating a SMB volume. + [Newtonsoft.Json.JsonPropertyAttribute("activeDirectory")] + public virtual string ActiveDirectory { get; set; } + + /// + /// Optional. True if the storage pool supports Auto Tiering enabled volumes. Default is false. Auto-tiering can + /// be enabled after storage pool creation but it can't be disabled once enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("allowAutoTiering")] + public virtual System.Nullable AllowAutoTiering { get; set; } + + /// Required. Capacity in GIB of the pool + [Newtonsoft.Json.JsonPropertyAttribute("capacityGib")] + public virtual System.Nullable CapacityGib { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Create time of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Optional. Description of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Output only. Specifies the current pool encryption key source. + [Newtonsoft.Json.JsonPropertyAttribute("encryptionType")] + public virtual string EncryptionType { get; set; } + + /// Deprecated. Used to allow SO pool to access AD or DNS server from other regions. + [Newtonsoft.Json.JsonPropertyAttribute("globalAccessAllowed")] + public virtual System.Nullable GlobalAccessAllowed { get; set; } + + /// Optional. Specifies the KMS config to be used for volume encryption. + [Newtonsoft.Json.JsonPropertyAttribute("kmsConfig")] + public virtual string KmsConfig { get; set; } + + /// Optional. Labels as key value pairs + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Optional. Flag indicating if the pool is NFS LDAP enabled or not. + [Newtonsoft.Json.JsonPropertyAttribute("ldapEnabled")] + public virtual System.Nullable LdapEnabled { get; set; } + + /// Identifier. Name of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. VPC Network name. Format: projects/{project}/global/networks/{network} + [Newtonsoft.Json.JsonPropertyAttribute("network")] + public virtual string Network { get; set; } + + /// Optional. This field is not implemented. The values provided in this field are ignored. + [Newtonsoft.Json.JsonPropertyAttribute("psaRange")] + public virtual string PsaRange { get; set; } + + /// Optional. Specifies the replica zone for regional storagePool. + [Newtonsoft.Json.JsonPropertyAttribute("replicaZone")] + public virtual string ReplicaZone { get; set; } + + /// Required. Service level of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("serviceLevel")] + public virtual string ServiceLevel { get; set; } + + /// Output only. State of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. State details of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// Output only. Allocated size of all volumes in GIB in the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("volumeCapacityGib")] + public virtual System.Nullable VolumeCapacityGib { get; set; } + + /// Output only. Volume count of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("volumeCount")] + public virtual System.Nullable VolumeCount { get; set; } + + /// Optional. Specifies the active zone for regional storagePool. + [Newtonsoft.Json.JsonPropertyAttribute("zone")] + public virtual string Zone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// SwitchActiveReplicaZoneRequest switch the active/replica zone for a regional storagePool. + public class SwitchActiveReplicaZoneRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + 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; } + } + + /// Defines tiering policy for the volume. + public class TieringPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be + /// range from 7-183. Default is 31. + /// + [Newtonsoft.Json.JsonPropertyAttribute("coolingThresholdDays")] + public virtual System.Nullable CoolingThresholdDays { get; set; } + + /// + /// Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED. + /// + [Newtonsoft.Json.JsonPropertyAttribute("tierAction")] + public virtual string TierAction { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// TransferStats reports all statistics related to replication transfer. + public class TransferStats : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Lag duration indicates the duration by which Destination region volume content lags behind the primary + /// region volume content. + /// + [Newtonsoft.Json.JsonPropertyAttribute("lagDuration")] + public virtual object LagDuration { get; set; } + + /// Last transfer size in bytes. + [Newtonsoft.Json.JsonPropertyAttribute("lastTransferBytes")] + public virtual System.Nullable LastTransferBytes { get; set; } + + /// Time taken during last transfer. + [Newtonsoft.Json.JsonPropertyAttribute("lastTransferDuration")] + public virtual object LastTransferDuration { get; set; } + + private string _lastTransferEndTimeRaw; + + private object _lastTransferEndTime; + + /// Time when last transfer completed. + [Newtonsoft.Json.JsonPropertyAttribute("lastTransferEndTime")] + public virtual string LastTransferEndTimeRaw + { + get => _lastTransferEndTimeRaw; + set + { + _lastTransferEndTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _lastTransferEndTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastTransferEndTimeDateTimeOffset instead.")] + public virtual object LastTransferEndTime + { + get => _lastTransferEndTime; + set + { + _lastTransferEndTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _lastTransferEndTime = value; + } + } + + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? LastTransferEndTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastTransferEndTimeRaw); + set => LastTransferEndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// A message describing the cause of the last transfer failure. + [Newtonsoft.Json.JsonPropertyAttribute("lastTransferError")] + public virtual string LastTransferError { get; set; } + + /// Cumulative time taken across all transfers for the replication relationship. + [Newtonsoft.Json.JsonPropertyAttribute("totalTransferDuration")] + public virtual object TotalTransferDuration { get; set; } + + /// Cumulative bytes trasferred so far for the replication relatinonship. + [Newtonsoft.Json.JsonPropertyAttribute("transferBytes")] + public virtual System.Nullable TransferBytes { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Time when progress was updated last. + [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; } + } + + /// VerifyKmsConfigRequest specifies the KMS config to be validated. + public class VerifyKmsConfigRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// VerifyKmsConfigResponse contains the information if the config is correctly and error message. + /// + public class VerifyKmsConfigResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Error message if config is not healthy. + [Newtonsoft.Json.JsonPropertyAttribute("healthError")] + public virtual string HealthError { get; set; } + + /// Output only. If the customer key configured correctly to the encrypt volume. + [Newtonsoft.Json.JsonPropertyAttribute("healthy")] + public virtual System.Nullable Healthy { get; set; } + + /// Output only. Instructions for the customers to provide the access to the encryption key. + [Newtonsoft.Json.JsonPropertyAttribute("instructions")] + public virtual string Instructions { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Volume provides a filesystem that you can mount. + public class Volume : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Specifies the ActiveDirectory name of a SMB volume. + [Newtonsoft.Json.JsonPropertyAttribute("activeDirectory")] + public virtual string ActiveDirectory { get; set; } + + /// BackupConfig of the volume. + [Newtonsoft.Json.JsonPropertyAttribute("backupConfig")] + public virtual BackupConfig BackupConfig { get; set; } + + /// Required. Capacity in GIB of the volume + [Newtonsoft.Json.JsonPropertyAttribute("capacityGib")] + public virtual System.Nullable CapacityGib { get; set; } + + /// Output only. Size of the volume cold tier data in GiB. + [Newtonsoft.Json.JsonPropertyAttribute("coldTierSizeGib")] + public virtual System.Nullable ColdTierSizeGib { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Create time of the volume + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Optional. Description of the volume + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Output only. Specified the current volume encryption key source. + [Newtonsoft.Json.JsonPropertyAttribute("encryptionType")] + public virtual string EncryptionType { get; set; } + + /// Optional. Export policy of the volume + [Newtonsoft.Json.JsonPropertyAttribute("exportPolicy")] + public virtual ExportPolicy ExportPolicy { get; set; } + + /// Output only. Indicates whether the volume is part of a replication relationship. + [Newtonsoft.Json.JsonPropertyAttribute("hasReplication")] + public virtual System.Nullable HasReplication { get; set; } + + /// + /// Optional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos + /// security modes (krb5, krb5i, krb5p). + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberosEnabled")] + public virtual System.Nullable KerberosEnabled { get; set; } + + /// Output only. Specifies the KMS config to be used for volume encryption. + [Newtonsoft.Json.JsonPropertyAttribute("kmsConfig")] + public virtual string KmsConfig { get; set; } + + /// Optional. Labels as key value pairs + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// + /// Optional. Flag indicating if the volume will be a large capacity volume or a regular volume. + /// + [Newtonsoft.Json.JsonPropertyAttribute("largeCapacity")] + public virtual System.Nullable LargeCapacity { get; set; } + + /// Output only. Flag indicating if the volume is NFS LDAP enabled or not. + [Newtonsoft.Json.JsonPropertyAttribute("ldapEnabled")] + public virtual System.Nullable LdapEnabled { get; set; } + + /// Output only. Mount options of this volume + [Newtonsoft.Json.JsonPropertyAttribute("mountOptions")] + public virtual System.Collections.Generic.IList MountOptions { get; set; } + + /// + /// Optional. Flag indicating if the volume will have an IP address per node for volumes supporting multiple IP + /// endpoints. Only the volume with large_capacity will be allowed to have multiple endpoints. + /// + [Newtonsoft.Json.JsonPropertyAttribute("multipleEndpoints")] + public virtual System.Nullable MultipleEndpoints { get; set; } + + /// Identifier. Name of the volume + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. VPC Network name. Format: projects/{project}/global/networks/{network} + [Newtonsoft.Json.JsonPropertyAttribute("network")] + public virtual string Network { get; set; } + + /// Required. Protocols required for the volume + [Newtonsoft.Json.JsonPropertyAttribute("protocols")] + public virtual System.Collections.Generic.IList Protocols { get; set; } + + /// + /// Output only. This field is not implemented. The values provided in this field are ignored. + /// + [Newtonsoft.Json.JsonPropertyAttribute("psaRange")] + public virtual string PsaRange { get; set; } + + /// Output only. Specifies the replica zone for regional volume. + [Newtonsoft.Json.JsonPropertyAttribute("replicaZone")] + public virtual string ReplicaZone { get; set; } + + /// Optional. Specifies the source of the volume to be created from. + [Newtonsoft.Json.JsonPropertyAttribute("restoreParameters")] + public virtual RestoreParameters RestoreParameters { get; set; } + + /// Optional. List of actions that are restricted on this volume. + [Newtonsoft.Json.JsonPropertyAttribute("restrictedActions")] + public virtual System.Collections.Generic.IList RestrictedActions { get; set; } + + /// Optional. Security Style of the Volume + [Newtonsoft.Json.JsonPropertyAttribute("securityStyle")] + public virtual string SecurityStyle { get; set; } + + /// Output only. Service level of the volume + [Newtonsoft.Json.JsonPropertyAttribute("serviceLevel")] + public virtual string ServiceLevel { get; set; } + + /// Required. Share name of the volume + [Newtonsoft.Json.JsonPropertyAttribute("shareName")] + public virtual string ShareName { get; set; } + + /// Optional. SMB share settings for the volume. + [Newtonsoft.Json.JsonPropertyAttribute("smbSettings")] + public virtual System.Collections.Generic.IList SmbSettings { get; set; } + + /// + /// Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 + /// percent. + /// + [Newtonsoft.Json.JsonPropertyAttribute("snapReserve")] + public virtual System.Nullable SnapReserve { get; set; } + + /// + /// Optional. Snapshot_directory if enabled (true) the volume will contain a read-only .snapshot directory which + /// provides access to each of the volume's snapshots. + /// + [Newtonsoft.Json.JsonPropertyAttribute("snapshotDirectory")] + public virtual System.Nullable SnapshotDirectory { get; set; } + + /// Optional. SnapshotPolicy for a volume. + [Newtonsoft.Json.JsonPropertyAttribute("snapshotPolicy")] + public virtual SnapshotPolicy SnapshotPolicy { get; set; } + + /// Output only. State of the volume + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. State details of the volume + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// Required. StoragePool name of the volume + [Newtonsoft.Json.JsonPropertyAttribute("storagePool")] + public virtual string StoragePool { get; set; } + + /// Tiering policy for the volume. + [Newtonsoft.Json.JsonPropertyAttribute("tieringPolicy")] + public virtual TieringPolicy TieringPolicy { get; set; } + + /// + /// Optional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS + /// protocol types only. + /// + [Newtonsoft.Json.JsonPropertyAttribute("unixPermissions")] + public virtual string UnixPermissions { get; set; } + + /// + /// Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the + /// realtime usage. + /// + [Newtonsoft.Json.JsonPropertyAttribute("usedGib")] + public virtual System.Nullable UsedGib { get; set; } + + /// Output only. Specifies the active zone for regional volume. + [Newtonsoft.Json.JsonPropertyAttribute("zone")] + public virtual string Zone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 23:50 + public class WeeklySchedule : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to + /// 'Sunday'. + /// + [Newtonsoft.Json.JsonPropertyAttribute("day")] + public virtual string Day { get; set; } + + /// Set the hour to start the snapshot (0-23), defaults to midnight (0). + [Newtonsoft.Json.JsonPropertyAttribute("hour")] + public virtual System.Nullable Hour { get; set; } + + /// + /// Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + /// + [Newtonsoft.Json.JsonPropertyAttribute("minute")] + public virtual System.Nullable Minute { get; set; } + + /// The maximum number of Snapshots to keep for the hourly schedule + [Newtonsoft.Json.JsonPropertyAttribute("snapshotsToKeep")] + public virtual System.Nullable SnapshotsToKeep { get; set; } + + /// 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.NetAppFiles.v1/Google.Apis.NetAppFiles.v1.csproj b/Src/Generated/Google.Apis.NetAppFiles.v1/Google.Apis.NetAppFiles.v1.csproj new file mode 100644 index 00000000000..b286c899bda --- /dev/null +++ b/Src/Generated/Google.Apis.NetAppFiles.v1/Google.Apis.NetAppFiles.v1.csproj @@ -0,0 +1,66 @@ + + + + + Google.Apis.NetAppFiles.v1 Client Library + 1.68.0.3562 + Google LLC + Copyright 2024 Google LLC + Google + https://github.com/google/google-api-dotnet-client + Apache-2.0 + git + https://github.com/google/google-api-dotnet-client + https://www.gstatic.com/images/branding/product/1x/google_developers_64dp.png + NuGetIcon.png + + Google APIs Client Library for working with Netapp v1. + + Product documentation is available at: + https://cloud.google.com/netapp/ + + API reference documentation for this package is available at: + https://googleapis.dev/dotnet/Google.Apis.NetAppFiles.v1/latest/api/Google.Apis.NetAppFiles.v1.html + + The source code for this package is available at: + https://github.com/google/google-api-dotnet-client/tree/master/Src/Generated/Google.Apis.NetAppFiles.v1 + + Supported Platforms: + - .NET Framework 4.6.2+ + - .NET Standard 2.0 + - .NET 6.0+ + + Incompatible platforms: + - .NET Framework < 4.6.2 + - Silverlight + - UWP (will build, but is known not to work at runtime) + - Xamarin/MAUI + - Windows 8 Apps + - Windows Phone 8.1 + - Windows Phone Silverlight 8.0 + + + + + + + + + + + netstandard2.0;net462;net6.0 + true + ..\..\..\google.apis.snk + portable + true + 1570,1587,1591 + + + + + + + + + + diff --git a/Src/Generated/Google.Apis.NetAppFiles.v1beta1/Google.Apis.NetAppFiles.v1beta1.cs b/Src/Generated/Google.Apis.NetAppFiles.v1beta1/Google.Apis.NetAppFiles.v1beta1.cs new file mode 100644 index 00000000000..b0170d5b00a --- /dev/null +++ b/Src/Generated/Google.Apis.NetAppFiles.v1beta1/Google.Apis.NetAppFiles.v1beta1.cs @@ -0,0 +1,6629 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated code. DO NOT EDIT! + +namespace Google.Apis.NetAppFiles.v1beta1 +{ + /// The NetAppFiles Service. + public class NetAppFilesService : Google.Apis.Services.BaseClientService + { + /// The API version. + public const string Version = "v1beta1"; + + /// The discovery version used to generate this service. + public static Google.Apis.Discovery.DiscoveryVersion DiscoveryVersionUsed = Google.Apis.Discovery.DiscoveryVersion.Version_1_0; + + /// Constructs a new service. + public NetAppFilesService() : this(new Google.Apis.Services.BaseClientService.Initializer()) + { + } + + /// Constructs a new service. + /// The service initializer. + public NetAppFilesService(Google.Apis.Services.BaseClientService.Initializer initializer) : base(initializer) + { + Projects = new ProjectsResource(this); + BaseUri = GetEffectiveUri(BaseUriOverride, "https://netapp.googleapis.com/"); + BatchUri = GetEffectiveUri(null, "https://netapp.googleapis.com/batch"); + } + + /// Gets the service supported features. + public override System.Collections.Generic.IList Features => new string[0]; + + /// Gets the service name. + public override string Name => "netapp"; + + /// Gets the service base URI. + public override string BaseUri { get; } + + /// Gets the service base path. + public override string BasePath => ""; + + /// Gets the batch base URI; null if unspecified. + public override string BatchUri { get; } + + /// Gets the batch base path; null if unspecified. + public override string BatchPath => "batch"; + + /// Available OAuth 2.0 scopes for use with the NetApp API. + public class Scope + { + /// + /// See, edit, configure, and delete your Google Cloud data and see the email address for your Google + /// Account. + /// + public static string CloudPlatform = "https://www.googleapis.com/auth/cloud-platform"; + } + + /// Available OAuth 2.0 scope constants for use with the NetApp API. + public static class ScopeConstants + { + /// + /// See, edit, configure, and delete your Google Cloud data and see the email address for your Google + /// Account. + /// + public const string CloudPlatform = "https://www.googleapis.com/auth/cloud-platform"; + } + + /// Gets the Projects resource. + public virtual ProjectsResource Projects { get; } + } + + /// A base abstract class for NetAppFiles requests. + public abstract class NetAppFilesBaseServiceRequest : Google.Apis.Requests.ClientServiceRequest + { + /// Constructs a new NetAppFilesBaseServiceRequest instance. + protected NetAppFilesBaseServiceRequest(Google.Apis.Services.IClientService service) : base(service) + { + } + + /// V1 error format. + [Google.Apis.Util.RequestParameterAttribute("$.xgafv", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Xgafv { get; set; } + + /// V1 error format. + public enum XgafvEnum + { + /// v1 error format + [Google.Apis.Util.StringValueAttribute("1")] + Value1 = 0, + + /// v2 error format + [Google.Apis.Util.StringValueAttribute("2")] + Value2 = 1, + } + + /// OAuth access token. + [Google.Apis.Util.RequestParameterAttribute("access_token", Google.Apis.Util.RequestParameterType.Query)] + public virtual string AccessToken { get; set; } + + /// Data format for response. + [Google.Apis.Util.RequestParameterAttribute("alt", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Alt { get; set; } + + /// Data format for response. + public enum AltEnum + { + /// Responses with Content-Type of application/json + [Google.Apis.Util.StringValueAttribute("json")] + Json = 0, + + /// Media download with context-dependent Content-Type + [Google.Apis.Util.StringValueAttribute("media")] + Media = 1, + + /// Responses with Content-Type of application/x-protobuf + [Google.Apis.Util.StringValueAttribute("proto")] + Proto = 2, + } + + /// JSONP + [Google.Apis.Util.RequestParameterAttribute("callback", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Callback { get; set; } + + /// Selector specifying which fields to include in a partial response. + [Google.Apis.Util.RequestParameterAttribute("fields", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Fields { get; set; } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("key", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Key { get; set; } + + /// OAuth 2.0 token for the current user. + [Google.Apis.Util.RequestParameterAttribute("oauth_token", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OauthToken { get; set; } + + /// Returns response with indentations and line breaks. + [Google.Apis.Util.RequestParameterAttribute("prettyPrint", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PrettyPrint { get; set; } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("quotaUser", Google.Apis.Util.RequestParameterType.Query)] + public virtual string QuotaUser { get; set; } + + /// Legacy upload protocol for media (e.g. "media", "multipart"). + [Google.Apis.Util.RequestParameterAttribute("uploadType", Google.Apis.Util.RequestParameterType.Query)] + public virtual string UploadType { get; set; } + + /// Upload protocol for media (e.g. "raw", "multipart"). + [Google.Apis.Util.RequestParameterAttribute("upload_protocol", Google.Apis.Util.RequestParameterType.Query)] + public virtual string UploadProtocol { get; set; } + + /// Initializes NetAppFiles parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("$.xgafv", new Google.Apis.Discovery.Parameter + { + Name = "$.xgafv", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("access_token", new Google.Apis.Discovery.Parameter + { + Name = "access_token", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("alt", new Google.Apis.Discovery.Parameter + { + Name = "alt", + IsRequired = false, + ParameterType = "query", + DefaultValue = "json", + Pattern = null, + }); + RequestParameters.Add("callback", new Google.Apis.Discovery.Parameter + { + Name = "callback", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("fields", new Google.Apis.Discovery.Parameter + { + Name = "fields", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("key", new Google.Apis.Discovery.Parameter + { + Name = "key", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("oauth_token", new Google.Apis.Discovery.Parameter + { + Name = "oauth_token", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("prettyPrint", new Google.Apis.Discovery.Parameter + { + Name = "prettyPrint", + IsRequired = false, + ParameterType = "query", + DefaultValue = "true", + Pattern = null, + }); + RequestParameters.Add("quotaUser", new Google.Apis.Discovery.Parameter + { + Name = "quotaUser", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("uploadType", new Google.Apis.Discovery.Parameter + { + Name = "uploadType", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("upload_protocol", new Google.Apis.Discovery.Parameter + { + Name = "upload_protocol", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// The "projects" collection of methods. + public class ProjectsResource + { + private const string Resource = "projects"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ProjectsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Locations = new LocationsResource(service); + } + + /// Gets the Locations resource. + public virtual LocationsResource Locations { get; } + + /// The "locations" collection of methods. + public class LocationsResource + { + private const string Resource = "locations"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public LocationsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + ActiveDirectories = new ActiveDirectoriesResource(service); + BackupPolicies = new BackupPoliciesResource(service); + BackupVaults = new BackupVaultsResource(service); + KmsConfigs = new KmsConfigsResource(service); + Operations = new OperationsResource(service); + StoragePools = new StoragePoolsResource(service); + Volumes = new VolumesResource(service); + } + + /// Gets the ActiveDirectories resource. + public virtual ActiveDirectoriesResource ActiveDirectories { get; } + + /// The "activeDirectories" collection of methods. + public class ActiveDirectoriesResource + { + private const string Resource = "activeDirectories"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ActiveDirectoriesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// CreateActiveDirectory Creates the active directory specified in the request. + /// The body of the request. + /// Required. Value for parent. + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1beta1.Data.ActiveDirectory body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// CreateActiveDirectory Creates the active directory specified in the request. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.ActiveDirectory body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// Required. Value for parent. + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. ID of the active directory to create. Must be unique within the parent resource. Must + /// contain only letters, numbers and hyphen, with the first character a letter , the last a letter + /// or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("activeDirectoryId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ActiveDirectoryId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.ActiveDirectory 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 => "v1beta1/{+parent}/activeDirectories"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("activeDirectoryId", new Google.Apis.Discovery.Parameter + { + Name = "activeDirectoryId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Delete the active directory specified in the request. + /// Required. Name of the active directory. + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Delete the active directory specified in the request. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the active directory. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/activeDirectories/[^/]+$", + }); + } + } + + /// Describes a specified active directory. + /// Required. Name of the active directory. + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Describes a specified active directory. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the active directory. + [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 => "v1beta1/{+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/[^/]+/activeDirectories/[^/]+$", + }); + } + } + + /// Lists active directories. + /// Required. Parent value for ListActiveDirectoriesRequest + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Lists active directories. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent value for ListActiveDirectoriesRequest + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Filtering results + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Hint for how to order the results + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Server may return fewer items than requested. If unspecified, the server + /// will pick an appropriate default. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// A token identifying a page of results the server should return. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+parent}/activeDirectories"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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, + }); + } + } + + /// Update the parameters of an active directories. + /// The body of the request. + /// + /// Identifier. The resource name of the active directory. Format: + /// `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1beta1.Data.ActiveDirectory body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Update the parameters of an active directories. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.ActiveDirectory body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the active directory. Format: + /// `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the Active Directory + /// resource by the update. The fields specified in the update_mask are relative to the resource, + /// not the full request. A field will be overwritten if it is in the mask. If the user does not + /// provide a mask then all fields will be overwritten. + /// + [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.NetAppFiles.v1beta1.Data.ActiveDirectory 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 => "v1beta1/{+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/[^/]+/activeDirectories/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the BackupPolicies resource. + public virtual BackupPoliciesResource BackupPolicies { get; } + + /// The "backupPolicies" collection of methods. + public class BackupPoliciesResource + { + private const string Resource = "backupPolicies"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public BackupPoliciesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates new backup policy + /// The body of the request. + /// + /// Required. The location to create the backup policies of, in the format + /// `projects/{project_id}/locations/{location}` + /// + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1beta1.Data.BackupPolicy body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates new backup policy + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.BackupPolicy body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The location to create the backup policies of, in the format + /// `projects/{project_id}/locations/{location}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. The ID to use for the backup policy. The ID must be unique within the specified + /// location. Must contain only letters, numbers and hyphen, with the first character a letter, the + /// last a letter or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("backupPolicyId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string BackupPolicyId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.BackupPolicy 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 => "v1beta1/{+parent}/backupPolicies"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("backupPolicyId", new Google.Apis.Discovery.Parameter + { + Name = "backupPolicyId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Warning! This operation will permanently delete the backup policy. + /// + /// Required. The backup policy resource name, in the format + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}` + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Warning! This operation will permanently delete the backup policy. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backup policy resource name, in the format + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/backupPolicies/[^/]+$", + }); + } + } + + /// Returns the description of the specified backup policy by backup_policy_id. + /// + /// Required. The backupPolicy resource name, in the format + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}` + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the description of the specified backup policy by backup_policy_id. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backupPolicy resource name, in the format + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/backupPolicies/[^/]+$", + }); + } + } + + /// Returns list of all available backup policies. + /// Required. Parent value for ListBackupPoliciesRequest + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns list of all available backup policies. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent value for ListBackupPoliciesRequest + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Filtering results + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Hint for how to order the results + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Server may return fewer items than requested. If unspecified, the server + /// will pick an appropriate default. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// A token identifying a page of results the server should return. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+parent}/backupPolicies"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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 settings of a specific backup policy. + /// The body of the request. + /// + /// Identifier. The resource name of the backup policy. Format: + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1beta1.Data.BackupPolicy body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates settings of a specific backup policy. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.BackupPolicy body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the backup policy. Format: + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the Backup Policy + /// resource by the update. The fields specified in the update_mask are relative to the resource, + /// not the full request. A field will be overwritten if it is in the mask. If the user does not + /// provide a mask then all fields will be overwritten. + /// + [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.NetAppFiles.v1beta1.Data.BackupPolicy 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 => "v1beta1/{+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/[^/]+/backupPolicies/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the BackupVaults resource. + public virtual BackupVaultsResource BackupVaults { get; } + + /// The "backupVaults" collection of methods. + public class BackupVaultsResource + { + private const string Resource = "backupVaults"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public BackupVaultsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Backups = new BackupsResource(service); + } + + /// Gets the Backups resource. + public virtual BackupsResource Backups { get; } + + /// The "backups" collection of methods. + public class BackupsResource + { + private const string Resource = "backups"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public BackupsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Creates a backup from the volume specified in the request The backup can be created from the + /// given snapshot if specified in the request. If no snapshot specified, there'll be a new snapshot + /// taken to initiate the backup creation. + /// + /// The body of the request. + /// + /// Required. The NetApp backupVault to create the backups of, in the format + /// `projects/*/locations/*/backupVaults/{backup_vault_id}` + /// + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1beta1.Data.Backup body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// + /// Creates a backup from the volume specified in the request The backup can be created from the + /// given snapshot if specified in the request. If no snapshot specified, there'll be a new snapshot + /// taken to initiate the backup creation. + /// + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.Backup body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The NetApp backupVault to create the backups of, in the format + /// `projects/*/locations/*/backupVaults/{backup_vault_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. The ID to use for the backup. The ID must be unique within the specified + /// backupVault. Must contain only letters, numbers and hyphen, with the first character a + /// letter, the last a letter or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("backupId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string BackupId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.Backup 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 => "v1beta1/{+parent}/backups"; + + /// 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/[^/]+/backupVaults/[^/]+$", + }); + RequestParameters.Add("backupId", new Google.Apis.Discovery.Parameter + { + Name = "backupId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Warning! This operation will permanently delete the backup. + /// + /// Required. The backup resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}` + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Warning! This operation will permanently delete the backup. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backup resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + }); + } + } + + /// Returns the description of the specified backup + /// + /// Required. The backup resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}` + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the description of the specified backup + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backup resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + }); + } + } + + /// Returns descriptions of all backups for a backupVault. + /// + /// Required. The backupVault for which to retrieve backup information, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. To retrieve backup + /// information for all locations, use "-" for the `{location}` value. To retrieve backup + /// information for all backupVaults, use "-" for the `{backup_vault_id}` value. To retrieve backup + /// information for a volume, use "-" for the `{backup_vault_id}` value and specify volume full name + /// with the filter. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns descriptions of all backups for a backupVault. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The backupVault for which to retrieve backup information, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. To retrieve + /// backup information for all locations, use "-" for the `{location}` value. To retrieve backup + /// information for all backupVaults, use "-" for the `{backup_vault_id}` value. To retrieve + /// backup information for a volume, use "-" for the `{backup_vault_id}` value and specify + /// volume full name with the filter. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// The standard list filter. If specified, backups will be returned based on the attribute name + /// that matches the filter expression. If empty, then no backups are filtered out. See + /// https://google.aip.dev/160 + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Sort results. Supported values are "name", "name desc" or "" (unsorted). + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// The maximum number of items to return. The service may return fewer than this value. The + /// maximum value is 1000; values above 1000 will be coerced to 1000. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// The next_page_token value to use if there are additional results to retrieve for this list + /// request. + /// + [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 => "v1beta1/{+parent}/backups"; + + /// 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/[^/]+/backupVaults/[^/]+$", + }); + 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, + }); + } + } + + /// Update backup with full spec. + /// The body of the request. + /// + /// Identifier. The resource name of the backup. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1beta1.Data.Backup body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Update backup with full spec. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.Backup body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the backup. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the Backup resource + /// to be updated. The fields specified in the update_mask are relative to the resource, not the + /// full request. A field will be overwritten if it is in the mask. If the user does not provide + /// a mask then all fields will be overwritten. + /// + [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.NetAppFiles.v1beta1.Data.Backup 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 => "v1beta1/{+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/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Creates new backup vault + /// The body of the request. + /// + /// Required. The location to create the backup vaults, in the format + /// `projects/{project_id}/locations/{location}` + /// + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1beta1.Data.BackupVault body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates new backup vault + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.BackupVault body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The location to create the backup vaults, in the format + /// `projects/{project_id}/locations/{location}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. The ID to use for the backupVault. The ID must be unique within the specified + /// location. Must contain only letters, numbers and hyphen, with the first character a letter, the + /// last a letter or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("backupVaultId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string BackupVaultId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.BackupVault 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 => "v1beta1/{+parent}/backupVaults"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("backupVaultId", new Google.Apis.Discovery.Parameter + { + Name = "backupVaultId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Warning! This operation will permanently delete the backup vault. + /// + /// Required. The backupVault resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}` + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Warning! This operation will permanently delete the backup vault. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backupVault resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/backupVaults/[^/]+$", + }); + } + } + + /// Returns the description of the specified backup vault + /// + /// Required. The backupVault resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}` + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the description of the specified backup vault + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The backupVault resource name, in the format + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/backupVaults/[^/]+$", + }); + } + } + + /// Returns list of all available backup vaults. + /// + /// Required. The location for which to retrieve backupVault information, in the format + /// `projects/{project_id}/locations/{location}`. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns list of all available backup vaults. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The location for which to retrieve backupVault information, in the format + /// `projects/{project_id}/locations/{location}`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// List filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Sort results. Supported values are "name", "name desc" or "" (unsorted). + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// The maximum number of items to return. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// The next_page_token value to use if there are additional results to retrieve for this list + /// request. + /// + [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 => "v1beta1/{+parent}/backupVaults"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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 the settings of a specific backup vault. + /// The body of the request. + /// + /// Identifier. The resource name of the backup vault. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1beta1.Data.BackupVault body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the settings of a specific backup vault. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.BackupVault body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the backup vault. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the Backup resource to + /// be updated. The fields specified in the update_mask are relative to the resource, not the full + /// request. A field will be overwritten if it is in the mask. If the user does not provide a mask + /// then all fields will be overwritten. + /// + [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.NetAppFiles.v1beta1.Data.BackupVault 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 => "v1beta1/{+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/[^/]+/backupVaults/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the KmsConfigs resource. + public virtual KmsConfigsResource KmsConfigs { get; } + + /// The "kmsConfigs" collection of methods. + public class KmsConfigsResource + { + private const string Resource = "kmsConfigs"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public KmsConfigsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates a new KMS config. + /// The body of the request. + /// Required. Value for parent. + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1beta1.Data.KmsConfig body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates a new KMS config. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.KmsConfig body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// Required. Value for parent. + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. Id of the requesting KmsConfig. Must be unique within the parent resource. Must + /// contain only letters, numbers and hyphen, with the first character a letter, the last a letter + /// or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("kmsConfigId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string KmsConfigId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.KmsConfig 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 => "v1beta1/{+parent}/kmsConfigs"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("kmsConfigId", new Google.Apis.Discovery.Parameter + { + Name = "kmsConfigId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Warning! This operation will permanently delete the Kms config. + /// Required. Name of the KmsConfig. + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Warning! This operation will permanently delete the Kms config. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the KmsConfig. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/kmsConfigs/[^/]+$", + }); + } + } + + /// + /// Encrypt the existing volumes without CMEK encryption with the desired the KMS config for the whole + /// region. + /// + /// The body of the request. + /// Required. Name of the KmsConfig. + public virtual EncryptRequest Encrypt(Google.Apis.NetAppFiles.v1beta1.Data.EncryptVolumesRequest body, string name) + { + return new EncryptRequest(this.service, body, name); + } + + /// + /// Encrypt the existing volumes without CMEK encryption with the desired the KMS config for the whole + /// region. + /// + public class EncryptRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Encrypt request. + public EncryptRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.EncryptVolumesRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Required. Name of the KmsConfig. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.EncryptVolumesRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "encrypt"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:encrypt"; + + /// Initializes Encrypt 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/[^/]+/kmsConfigs/[^/]+$", + }); + } + } + + /// Returns the description of the specified KMS config by kms_config_id. + /// Required. Name of the KmsConfig + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the description of the specified KMS config by kms_config_id. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the KmsConfig + [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 => "v1beta1/{+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/[^/]+/kmsConfigs/[^/]+$", + }); + } + } + + /// Returns descriptions of all KMS configs owned by the caller. + /// Required. Parent value + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns descriptions of all KMS configs owned by the caller. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent value + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// List filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Sort results. Supported values are "name", "name desc" or "" (unsorted). + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// The maximum number of items to return. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// The next_page_token value to use if there are additional results to retrieve for this list + /// request. + /// + [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 => "v1beta1/{+parent}/kmsConfigs"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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 the Kms config properties with the full spec + /// The body of the request. + /// Identifier. Name of the KmsConfig. + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1beta1.Data.KmsConfig body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the Kms config properties with the full spec + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.KmsConfig body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Identifier. Name of the KmsConfig. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the KmsConfig resource + /// by the update. The fields specified in the update_mask are relative to the resource, not the + /// full request. A field will be overwritten if it is in the mask. If the user does not provide a + /// mask then all fields will be overwritten. + /// + [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.NetAppFiles.v1beta1.Data.KmsConfig 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 => "v1beta1/{+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/[^/]+/kmsConfigs/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Verifies KMS config reachability. + /// The body of the request. + /// Required. Name of the KMS Config to be verified. + public virtual VerifyRequest Verify(Google.Apis.NetAppFiles.v1beta1.Data.VerifyKmsConfigRequest body, string name) + { + return new VerifyRequest(this.service, body, name); + } + + /// Verifies KMS config reachability. + public class VerifyRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Verify request. + public VerifyRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.VerifyKmsConfigRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Required. Name of the KMS Config to be verified. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.VerifyKmsConfigRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "verify"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:verify"; + + /// Initializes Verify 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/[^/]+/kmsConfigs/[^/]+$", + }); + } + } + } + + /// Gets the Operations resource. + public virtual OperationsResource Operations { get; } + + /// The "operations" collection of methods. + public class OperationsResource + { + private const string Resource = "operations"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public OperationsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Starts asynchronous cancellation on a long-running operation. The server makes a best effort to + /// cancel the operation, but success is not guaranteed. If the server doesn't support this method, it + /// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to + /// check whether the cancellation succeeded or whether the operation completed despite cancellation. On + /// successful cancellation, the operation is not deleted; instead, it becomes an operation with an + /// Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + /// + /// The body of the request. + /// The name of the operation resource to be cancelled. + public virtual CancelRequest Cancel(Google.Apis.NetAppFiles.v1beta1.Data.CancelOperationRequest body, string name) + { + return new CancelRequest(this.service, body, name); + } + + /// + /// Starts asynchronous cancellation on a long-running operation. The server makes a best effort to + /// cancel the operation, but success is not guaranteed. If the server doesn't support this method, it + /// returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to + /// check whether the cancellation succeeded or whether the operation completed despite cancellation. On + /// successful cancellation, the operation is not deleted; instead, it becomes an operation with an + /// Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + /// + public class CancelRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Cancel request. + public CancelRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.CancelOperationRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// The name of the operation resource to be cancelled. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.CancelOperationRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "cancel"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:cancel"; + + /// Initializes Cancel parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + }); + } + } + + /// + /// Deletes a long-running operation. This method indicates that the client is no longer interested in + /// the operation result. It does not cancel the operation. If the server doesn't support this method, + /// it returns `google.rpc.Code.UNIMPLEMENTED`. + /// + /// The name of the operation resource to be deleted. + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// + /// Deletes a long-running operation. This method indicates that the client is no longer interested in + /// the operation result. It does not cancel the operation. If the server doesn't support this method, + /// it returns `google.rpc.Code.UNIMPLEMENTED`. + /// + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The name of the operation resource to be deleted. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/operations/[^/]+$", + }); + } + } + + /// + /// Gets the latest state of a long-running operation. Clients can use this method to poll the operation + /// result at intervals as recommended by the API service. + /// + /// The name of the operation resource. + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// + /// Gets the latest state of a long-running operation. Clients can use this method to poll the operation + /// result at intervals as recommended by the API service. + /// + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The name of the operation resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/operations/[^/]+$", + }); + } + } + + /// + /// Lists operations that match the specified filter in the request. If the server doesn't support this + /// method, it returns `UNIMPLEMENTED`. + /// + /// The name of the operation's parent resource. + public virtual ListRequest List(string name) + { + return new ListRequest(this.service, name); + } + + /// + /// Lists operations that match the specified filter in the request. If the server doesn't support this + /// method, it returns `UNIMPLEMENTED`. + /// + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The name of the operation's parent resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// The standard list filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// The standard list page size. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// The standard list page token. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}/operations"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the StoragePools resource. + public virtual StoragePoolsResource StoragePools { get; } + + /// The "storagePools" collection of methods. + public class StoragePoolsResource + { + private const string Resource = "storagePools"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public StoragePoolsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates a new storage pool. + /// The body of the request. + /// Required. Value for parent. + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1beta1.Data.StoragePool body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates a new storage pool. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.StoragePool body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// Required. Value for parent. + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. Id of the requesting storage pool. Must be unique within the parent resource. Must + /// contain only letters, numbers and hyphen, with the first character a letter, the last a letter + /// or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("storagePoolId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string StoragePoolId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.StoragePool 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 => "v1beta1/{+parent}/storagePools"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("storagePoolId", new Google.Apis.Discovery.Parameter + { + Name = "storagePoolId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Warning! This operation will permanently delete the storage pool. + /// Required. Name of the storage pool + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Warning! This operation will permanently delete the storage pool. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the storage pool + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/storagePools/[^/]+$", + }); + } + } + + /// Returns the description of the specified storage pool by poolId. + /// Required. Name of the storage pool + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Returns the description of the specified storage pool by poolId. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the storage pool + [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 => "v1beta1/{+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/[^/]+/storagePools/[^/]+$", + }); + } + } + + /// Returns descriptions of all storage pools owned by the caller. + /// Required. Parent value + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns descriptions of all storage pools owned by the caller. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent value + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Optional. List filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Optional. Sort results. Supported values are "name", "name desc" or "" (unsorted). + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// Optional. The maximum number of items to return. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// Optional. The next_page_token value to use if there are additional results to retrieve for this + /// list request. + /// + [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 => "v1beta1/{+parent}/storagePools"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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 the storage pool properties with the full spec + /// The body of the request. + /// Identifier. Name of the storage pool + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1beta1.Data.StoragePool body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the storage pool properties with the full spec + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.StoragePool body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Identifier. Name of the storage pool + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the StoragePool resource + /// by the update. The fields specified in the update_mask are relative to the resource, not the + /// full request. A field will be overwritten if it is in the mask. If the user does not provide a + /// mask then all fields will be overwritten. + /// + [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.NetAppFiles.v1beta1.Data.StoragePool 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 => "v1beta1/{+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/[^/]+/storagePools/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// This operation will switch the active/replica zone for a regional storagePool. + /// The body of the request. + /// Required. Name of the storage pool + public virtual NetAppFilesSwitchRequest NetAppFilesSwitch(Google.Apis.NetAppFiles.v1beta1.Data.SwitchActiveReplicaZoneRequest body, string name) + { + return new NetAppFilesSwitchRequest(this.service, body, name); + } + + /// This operation will switch the active/replica zone for a regional storagePool. + public class NetAppFilesSwitchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new NetAppFilesSwitch request. + public NetAppFilesSwitchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.SwitchActiveReplicaZoneRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Required. Name of the storage pool + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.SwitchActiveReplicaZoneRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "switch"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:switch"; + + /// Initializes NetAppFilesSwitch 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/[^/]+/storagePools/[^/]+$", + }); + } + } + } + + /// Gets the Volumes resource. + public virtual VolumesResource Volumes { get; } + + /// The "volumes" collection of methods. + public class VolumesResource + { + private const string Resource = "volumes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public VolumesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Replications = new ReplicationsResource(service); + Snapshots = new SnapshotsResource(service); + } + + /// Gets the Replications resource. + public virtual ReplicationsResource Replications { get; } + + /// The "replications" collection of methods. + public class ReplicationsResource + { + private const string Resource = "replications"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ReplicationsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Create a new replication for a volume. + /// The body of the request. + /// + /// Required. The NetApp volume to create the replications of, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}` + /// + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1beta1.Data.Replication body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Create a new replication for a volume. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.Replication body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The NetApp volume to create the replications of, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. ID of the replication to create. Must be unique within the parent resource. Must + /// contain only letters, numbers and hyphen, with the first character a letter, the last a + /// letter or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("replicationId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ReplicationId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.Replication 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 => "v1beta1/{+parent}/replications"; + + /// 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/[^/]+/volumes/[^/]+$", + }); + RequestParameters.Add("replicationId", new Google.Apis.Discovery.Parameter + { + Name = "replicationId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes a replication. + /// + /// Required. The replication resource name, in the format + /// `projects/*/locations/*/volumes/*/replications/{replication_id}` + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Deletes a replication. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The replication resource name, in the format + /// `projects/*/locations/*/volumes/*/replications/{replication_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + } + } + + /// Describe a replication for a volume. + /// + /// Required. The replication resource name, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Describe a replication for a volume. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The replication resource name, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + } + } + + /// Returns descriptions of all replications for a volume. + /// + /// Required. The volume for which to retrieve replication information, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}`. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns descriptions of all replications for a volume. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The volume for which to retrieve replication information, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// List filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Sort results. Supported values are "name", "name desc" or "" (unsorted). + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// The maximum number of items to return. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// The next_page_token value to use if there are additional results to retrieve for this list + /// request. + /// + [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 => "v1beta1/{+parent}/replications"; + + /// 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/[^/]+/volumes/[^/]+$", + }); + 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 the settings of a specific replication. + /// The body of the request. + /// + /// Identifier. The resource name of the Replication. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1beta1.Data.Replication body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the settings of a specific replication. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.Replication body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the Replication. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Mask of fields to update. At least one path must be supplied in this field. + /// + [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.NetAppFiles.v1beta1.Data.Replication 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 => "v1beta1/{+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/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Resume Cross Region Replication. + /// The body of the request. + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + public virtual ResumeRequest Resume(Google.Apis.NetAppFiles.v1beta1.Data.ResumeReplicationRequest body, string name) + { + return new ResumeRequest(this.service, body, name); + } + + /// Resume Cross Region Replication. + public class ResumeRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Resume request. + public ResumeRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.ResumeReplicationRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.ResumeReplicationRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "resume"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:resume"; + + /// Initializes Resume 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/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + } + } + + /// + /// Reverses direction of replication. Source becomes destination and destination becomes source. + /// + /// The body of the request. + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + public virtual ReverseDirectionRequest ReverseDirection(Google.Apis.NetAppFiles.v1beta1.Data.ReverseReplicationDirectionRequest body, string name) + { + return new ReverseDirectionRequest(this.service, body, name); + } + + /// + /// Reverses direction of replication. Source becomes destination and destination becomes source. + /// + public class ReverseDirectionRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new ReverseDirection request. + public ReverseDirectionRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.ReverseReplicationDirectionRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.ReverseReplicationDirectionRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "reverseDirection"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:reverseDirection"; + + /// Initializes ReverseDirection 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/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + } + } + + /// Stop Cross Region Replication. + /// The body of the request. + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + public virtual StopRequest Stop(Google.Apis.NetAppFiles.v1beta1.Data.StopReplicationRequest body, string name) + { + return new StopRequest(this.service, body, name); + } + + /// Stop Cross Region Replication. + public class StopRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Stop request. + public StopRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.StopReplicationRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the replication, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.StopReplicationRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "stop"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:stop"; + + /// Initializes Stop 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/[^/]+/volumes/[^/]+/replications/[^/]+$", + }); + } + } + } + + /// Gets the Snapshots resource. + public virtual SnapshotsResource Snapshots { get; } + + /// The "snapshots" collection of methods. + public class SnapshotsResource + { + private const string Resource = "snapshots"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public SnapshotsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Create a new snapshot for a volume. + /// The body of the request. + /// + /// Required. The NetApp volume to create the snapshots of, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}` + /// + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1beta1.Data.Snapshot body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Create a new snapshot for a volume. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.Snapshot body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// + /// Required. The NetApp volume to create the snapshots of, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. ID of the snapshot to create. Must be unique within the parent resource. Must + /// contain only letters, numbers and hyphen, with the first character a letter, the last a + /// letter or a number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("snapshotId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string SnapshotId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.Snapshot 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 => "v1beta1/{+parent}/snapshots"; + + /// 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/[^/]+/volumes/[^/]+$", + }); + RequestParameters.Add("snapshotId", new Google.Apis.Discovery.Parameter + { + Name = "snapshotId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes a snapshot. + /// + /// Required. The snapshot resource name, in the format + /// `projects/*/locations/*/volumes/*/snapshots/{snapshot_id}` + /// + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Deletes a snapshot. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The snapshot resource name, in the format + /// `projects/*/locations/*/volumes/*/snapshots/{snapshot_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + }); + } + } + + /// Describe a snapshot for a volume. + /// + /// Required. The snapshot resource name, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Describe a snapshot for a volume. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The snapshot resource name, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+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/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + }); + } + } + + /// Returns descriptions of all snapshots for a volume. + /// + /// Required. The volume for which to retrieve snapshot information, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}`. + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Returns descriptions of all snapshots for a volume. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The volume for which to retrieve snapshot information, in the format + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// List filter. + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Sort results. Supported values are "name", "name desc" or "" (unsorted). + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// The maximum number of items to return. + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// The next_page_token value to use if there are additional results to retrieve for this list + /// request. + /// + [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 => "v1beta1/{+parent}/snapshots"; + + /// 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/[^/]+/volumes/[^/]+$", + }); + 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 the settings of a specific snapshot. + /// The body of the request. + /// + /// Identifier. The resource name of the snapshot. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1beta1.Data.Snapshot body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the settings of a specific snapshot. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.Snapshot body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Identifier. The resource name of the snapshot. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Mask of fields to update. At least one path must be supplied in this field. + /// + [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.NetAppFiles.v1beta1.Data.Snapshot 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 => "v1beta1/{+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/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Creates a new Volume in a given project and location. + /// The body of the request. + /// Required. Value for parent. + public virtual CreateRequest Create(Google.Apis.NetAppFiles.v1beta1.Data.Volume body, string parent) + { + return new CreateRequest(this.service, body, parent); + } + + /// Creates a new Volume in a given project and location. + public class CreateRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.Volume body, string parent) : base(service) + { + Parent = parent; + Body = body; + InitParameters(); + } + + /// Required. Value for parent. + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// Required. Id of the requesting volume. Must be unique within the parent resource. Must contain + /// only letters, numbers and hyphen, with the first character a letter, the last a letter or a + /// number, and a 63 character maximum. + /// + [Google.Apis.Util.RequestParameterAttribute("volumeId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string VolumeId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.Volume 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 => "v1beta1/{+parent}/volumes"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("volumeId", new Google.Apis.Discovery.Parameter + { + Name = "volumeId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes a single Volume. + /// Required. Name of the volume + public virtual DeleteRequest Delete(string name) + { + return new DeleteRequest(this.service, name); + } + + /// Deletes a single Volume. + public class DeleteRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the volume + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// If this field is set as true, CCFE will not block the volume resource deletion even if it has + /// any snapshots resource. (Otherwise, the request will only work if the volume has no snapshots.) + /// + [Google.Apis.Util.RequestParameterAttribute("force", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Force { 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 => "v1beta1/{+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/[^/]+/volumes/[^/]+$", + }); + RequestParameters.Add("force", new Google.Apis.Discovery.Parameter + { + Name = "force", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Gets details of a single Volume. + /// Required. Name of the volume + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Gets details of a single Volume. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Required. Name of the volume + [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 => "v1beta1/{+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/[^/]+/volumes/[^/]+$", + }); + } + } + + /// Lists Volumes in a given project. + /// Required. Parent value for ListVolumesRequest + public virtual ListRequest List(string parent) + { + return new ListRequest(this.service, parent); + } + + /// Lists Volumes in a given project. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// Required. Parent value for ListVolumesRequest + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// Filtering results + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Hint for how to order the results + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Server may return fewer items than requested. If unspecified, the server + /// will pick an appropriate default. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// A token identifying a page of results the server should return. + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+parent}/volumes"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("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 the parameters of a single Volume. + /// The body of the request. + /// Identifier. Name of the volume + public virtual PatchRequest Patch(Google.Apis.NetAppFiles.v1beta1.Data.Volume body, string name) + { + return new PatchRequest(this.service, body, name); + } + + /// Updates the parameters of a single Volume. + public class PatchRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.Volume body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// Identifier. Name of the volume + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Required. Field mask is used to specify the fields to be overwritten in the Volume resource by + /// the update. The fields specified in the update_mask are relative to the resource, not the full + /// request. A field will be overwritten if it is in the mask. If the user does not provide a mask + /// then all fields will be overwritten. + /// + [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.NetAppFiles.v1beta1.Data.Volume 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 => "v1beta1/{+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/[^/]+/volumes/[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert + /// all changes made after the snapshot was created. + /// + /// The body of the request. + /// + /// Required. The resource name of the volume, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}. + /// + public virtual RevertRequest Revert(Google.Apis.NetAppFiles.v1beta1.Data.RevertVolumeRequest body, string name) + { + return new RevertRequest(this.service, body, name); + } + + /// + /// Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert + /// all changes made after the snapshot was created. + /// + public class RevertRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Revert request. + public RevertRequest(Google.Apis.Services.IClientService service, Google.Apis.NetAppFiles.v1beta1.Data.RevertVolumeRequest body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the volume, in the format of + /// projects/{project_id}/locations/{location}/volumes/{volume_id}. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.NetAppFiles.v1beta1.Data.RevertVolumeRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "revert"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:revert"; + + /// Initializes Revert 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/[^/]+/volumes/[^/]+$", + }); + } + } + } + + /// Gets information about a location. + /// Resource name for the location. + public virtual GetRequest Get(string name) + { + return new GetRequest(this.service, name); + } + + /// Gets information about a location. + public class GetRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// Resource name for the location. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+$", + }); + } + } + + /// Lists information about the supported locations for this service. + /// The resource that owns the locations collection, if applicable. + public virtual ListRequest List(string name) + { + return new ListRequest(this.service, name); + } + + /// Lists information about the supported locations for this service. + public class ListRequest : NetAppFilesBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The resource that owns the locations collection, if applicable. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// A filter to narrow down results to a preferred subset. The filtering language accepts strings like + /// `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// The maximum number of results to return. If not set, the service selects a default. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A page token received from the `next_page_token` field in the response. Send that page token to + /// receive the subsequent page. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}/locations"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } +} +namespace Google.Apis.NetAppFiles.v1beta1.Data +{ + /// ActiveDirectory is the public representation of the active directory config. + public class ActiveDirectory : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Users to be added to the Built-in Admininstrators group. + [Newtonsoft.Json.JsonPropertyAttribute("administrators")] + public virtual System.Collections.Generic.IList Administrators { get; set; } + + /// If enabled, AES encryption will be enabled for SMB communication. + [Newtonsoft.Json.JsonPropertyAttribute("aesEncryption")] + public virtual System.Nullable AesEncryption { get; set; } + + /// Optional. Users to be added to the Built-in Backup Operator active directory group. + [Newtonsoft.Json.JsonPropertyAttribute("backupOperators")] + public virtual System.Collections.Generic.IList BackupOperators { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Create time of the active directory. + [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); + } + + /// Description of the active directory. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// Required. Comma separated list of DNS server IP addresses for the Active Directory domain. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dns")] + public virtual string Dns { get; set; } + + /// Required. Name of the Active Directory domain + [Newtonsoft.Json.JsonPropertyAttribute("domain")] + public virtual string Domain { get; set; } + + /// If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted. + [Newtonsoft.Json.JsonPropertyAttribute("encryptDcConnections")] + public virtual System.Nullable EncryptDcConnections { get; set; } + + /// + /// Name of the active directory machine. This optional parameter is used only while creating kerberos volume + /// + [Newtonsoft.Json.JsonPropertyAttribute("kdcHostname")] + public virtual string KdcHostname { get; set; } + + /// KDC server IP address for the active directory machine. + [Newtonsoft.Json.JsonPropertyAttribute("kdcIp")] + public virtual string KdcIp { get; set; } + + /// Labels for the active directory. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Specifies whether or not the LDAP traffic needs to be signed. + [Newtonsoft.Json.JsonPropertyAttribute("ldapSigning")] + public virtual System.Nullable LdapSigning { get; set; } + + /// + /// Identifier. The resource name of the active directory. Format: + /// `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. NetBIOSPrefix is used as a prefix for SMB server name. + [Newtonsoft.Json.JsonPropertyAttribute("netBiosPrefix")] + public virtual string NetBiosPrefix { get; set; } + + /// + /// If enabled, will allow access to local users and LDAP users. If access is needed for only LDAP users, it has + /// to be disabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nfsUsersWithLdap")] + public virtual System.Nullable NfsUsersWithLdap { get; set; } + + /// The Organizational Unit (OU) within the Windows Active Directory the user belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("organizationalUnit")] + public virtual string OrganizationalUnit { get; set; } + + /// Required. Password of the Active Directory domain administrator. + [Newtonsoft.Json.JsonPropertyAttribute("password")] + public virtual string Password { get; set; } + + /// Optional. Domain users to be given the SeSecurityPrivilege. + [Newtonsoft.Json.JsonPropertyAttribute("securityOperators")] + public virtual System.Collections.Generic.IList SecurityOperators { get; set; } + + /// The Active Directory site the service will limit Domain Controller discovery too. + [Newtonsoft.Json.JsonPropertyAttribute("site")] + public virtual string Site { get; set; } + + /// Output only. The state of the AD. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. The state details of the Active Directory. + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// Required. Username of the Active Directory domain administrator. + [Newtonsoft.Json.JsonPropertyAttribute("username")] + public virtual string Username { get; set; } + + /// The ETag of the item. + 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; } + } + + /// A NetApp Backup. + public class Backup : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Type of backup, manually created or created by a backup policy. + [Newtonsoft.Json.JsonPropertyAttribute("backupType")] + public virtual string BackupType { get; set; } + + /// + /// Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup + /// size) + /// + [Newtonsoft.Json.JsonPropertyAttribute("chainStorageBytes")] + public virtual System.Nullable ChainStorageBytes { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The time when the backup 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); + } + + /// + /// A description of the backup with 2048 characters or less. Requests with longer descriptions will be + /// rejected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Resource labels to represent user provided metadata. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// + /// Identifier. The resource name of the backup. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot + /// taken to initiate the backup creation. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}` + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceSnapshot")] + public virtual string SourceSnapshot { get; set; } + + /// + /// Volume full name of this backup belongs to. Format: + /// `projects/{projects_id}/locations/{location}/volumes/{volume_id}` + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceVolume")] + public virtual string SourceVolume { get; set; } + + /// Output only. The backup state. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// + /// Output only. Size of the file system when the backup was created. When creating a new volume from the + /// backup, the volume capacity will have to be at least as big. + /// + [Newtonsoft.Json.JsonPropertyAttribute("volumeUsageBytes")] + public virtual System.Nullable VolumeUsageBytes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// BackupConfig contains backup related config on a volume. + public class BackupConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup + /// size). + /// + [Newtonsoft.Json.JsonPropertyAttribute("backupChainBytes")] + public virtual System.Nullable BackupChainBytes { get; set; } + + /// + /// Optional. When specified, schedule backups will be created based on the policy configuration. + /// + [Newtonsoft.Json.JsonPropertyAttribute("backupPolicies")] + public virtual System.Collections.Generic.IList BackupPolicies { get; set; } + + /// + /// Optional. Name of backup vault. Format: + /// projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id} + /// + [Newtonsoft.Json.JsonPropertyAttribute("backupVault")] + public virtual string BackupVault { get; set; } + + /// + /// Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's + /// no backup policy attached. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scheduledBackupEnabled")] + public virtual System.Nullable ScheduledBackupEnabled { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Backup Policy. + public class BackupPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The total number of volumes assigned by this backup policy. + [Newtonsoft.Json.JsonPropertyAttribute("assignedVolumeCount")] + public virtual System.Nullable AssignedVolumeCount { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The time when the backup policy 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); + } + + /// Number of daily backups to keep. Note that the minimum daily backup limit is 2. + [Newtonsoft.Json.JsonPropertyAttribute("dailyBackupLimit")] + public virtual System.Nullable DailyBackupLimit { get; set; } + + /// Description of the backup policy. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// If enabled, make backups automatically according to the schedules. This will be applied to all volumes that + /// have this policy attached and enforced on volume level. If not specified, default is true. + /// + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// Resource labels to represent user provided metadata. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// + /// Number of monthly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater + /// than 1. + /// + [Newtonsoft.Json.JsonPropertyAttribute("monthlyBackupLimit")] + public virtual System.Nullable MonthlyBackupLimit { get; set; } + + /// + /// Identifier. The resource name of the backup policy. Format: + /// `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. The backup policy state. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// + /// Number of weekly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater + /// than 1. + /// + [Newtonsoft.Json.JsonPropertyAttribute("weeklyBackupLimit")] + public virtual System.Nullable WeeklyBackupLimit { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A NetApp BackupVault. + public class BackupVault : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Create time of the backup vault. + [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); + } + + /// Description of the backup vault. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Resource labels to represent user provided metadata. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// + /// Identifier. The resource name of the backup vault. Format: + /// `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. The backup vault state. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + 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 + { + /// The ETag of the item. + 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; } + } + + /// Make a snapshot every day e.g. at 04:00, 05:20, 23:50 + public class DailySchedule : Google.Apis.Requests.IDirectResponseSchema + { + /// Set the hour to start the snapshot (0-23), defaults to midnight (0). + [Newtonsoft.Json.JsonPropertyAttribute("hour")] + public virtual System.Nullable Hour { get; set; } + + /// + /// Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + /// + [Newtonsoft.Json.JsonPropertyAttribute("minute")] + public virtual System.Nullable Minute { get; set; } + + /// The maximum number of Snapshots to keep for the hourly schedule + [Newtonsoft.Json.JsonPropertyAttribute("snapshotsToKeep")] + public virtual System.Nullable SnapshotsToKeep { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// DestinationVolumeParameters specify input parameters used for creating destination volume. + public class DestinationVolumeParameters : Google.Apis.Requests.IDirectResponseSchema + { + /// Description for the destination volume. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// Destination volume's share name. If not specified, source volume's share name will be used. + /// + [Newtonsoft.Json.JsonPropertyAttribute("shareName")] + public virtual string ShareName { get; set; } + + /// Required. Existing destination StoragePool name. + [Newtonsoft.Json.JsonPropertyAttribute("storagePool")] + public virtual string StoragePool { get; set; } + + /// + /// Desired destination volume resource id. If not specified, source volume's resource id will be used. This + /// value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and + /// cannot end with a hyphen. + /// + [Newtonsoft.Json.JsonPropertyAttribute("volumeId")] + public virtual string VolumeId { get; set; } + + /// The ETag of the item. + 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; } + } + + /// EncryptVolumesRequest specifies the KMS config to encrypt existing volumes. + public class EncryptVolumesRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Defines the export policy for the volume. + public class ExportPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. List of export policy rules + [Newtonsoft.Json.JsonPropertyAttribute("rules")] + public virtual System.Collections.Generic.IList Rules { get; set; } + + /// The ETag of the item. + 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; } + } + + /// + /// 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 GoogleProtobufEmpty : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Make a snapshot every hour e.g. at 04:00, 05:00, 06:00. + public class HourlySchedule : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + /// + [Newtonsoft.Json.JsonPropertyAttribute("minute")] + public virtual System.Nullable Minute { get; set; } + + /// The maximum number of Snapshots to keep for the hourly schedule + [Newtonsoft.Json.JsonPropertyAttribute("snapshotsToKeep")] + public virtual System.Nullable SnapshotsToKeep { 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; } + } + + /// KmsConfig is the customer managed encryption key(CMEK) configuration. + public class KmsConfig : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Create time of the KmsConfig. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// + /// Required. Customer managed crypto key resource full name. Format: + /// projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cryptoKeyName")] + public virtual string CryptoKeyName { get; set; } + + /// Description of the KmsConfig. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Output only. Instructions to provide the access to the customer provided encryption key. + [Newtonsoft.Json.JsonPropertyAttribute("instructions")] + public virtual string Instructions { get; set; } + + /// Labels as key value pairs + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Identifier. Name of the KmsConfig. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Output only. The Service account which will have access to the customer provided encryption key. + /// + [Newtonsoft.Json.JsonPropertyAttribute("serviceAccount")] + public virtual string ServiceAccount { get; set; } + + /// Output only. State of the KmsConfig. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. State details of the KmsConfig. + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListActiveDirectoriesResponse contains all the active directories requested. + public class ListActiveDirectoriesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of active directories. + [Newtonsoft.Json.JsonPropertyAttribute("activeDirectories")] + public virtual System.Collections.Generic.IList ActiveDirectories { get; set; } + + /// A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListBackupPoliciesResponse contains all the backup policies requested. + public class ListBackupPoliciesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of backup policies. + [Newtonsoft.Json.JsonPropertyAttribute("backupPolicies")] + public virtual System.Collections.Generic.IList BackupPolicies { get; set; } + + /// A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListBackupVaultsResponse is the result of ListBackupVaultsRequest. + public class ListBackupVaultsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// A list of backupVaults in the project for the specified location. + [Newtonsoft.Json.JsonPropertyAttribute("backupVaults")] + public virtual System.Collections.Generic.IList BackupVaults { get; set; } + + /// + /// The token you can use to retrieve the next page of results. Not returned if there are no more results in the + /// list. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListBackupsResponse is the result of ListBackupsRequest. + public class ListBackupsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// A list of backups in the project. + [Newtonsoft.Json.JsonPropertyAttribute("backups")] + public virtual System.Collections.Generic.IList Backups { get; set; } + + /// + /// The token you can use to retrieve the next page of results. Not returned if there are no more results in the + /// list. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListKmsConfigsResponse is the response to a ListKmsConfigsRequest. + public class ListKmsConfigsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of KmsConfigs + [Newtonsoft.Json.JsonPropertyAttribute("kmsConfigs")] + public virtual System.Collections.Generic.IList KmsConfigs { get; set; } + + /// A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// 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; } + } + + /// 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; } + } + + /// ListReplicationsResponse is the result of ListReplicationsRequest. + public class ListReplicationsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The token you can use to retrieve the next page of results. Not returned if there are no more results in the + /// list. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// A list of replications in the project for the specified volume. + [Newtonsoft.Json.JsonPropertyAttribute("replications")] + public virtual System.Collections.Generic.IList Replications { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListSnapshotsResponse is the result of ListSnapshotsRequest. + public class ListSnapshotsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The token you can use to retrieve the next page of results. Not returned if there are no more results in the + /// list. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// A list of snapshots in the project for the specified volume. + [Newtonsoft.Json.JsonPropertyAttribute("snapshots")] + public virtual System.Collections.Generic.IList Snapshots { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ListStoragePoolsResponse is the response to a ListStoragePoolsRequest. + public class ListStoragePoolsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The list of StoragePools + [Newtonsoft.Json.JsonPropertyAttribute("storagePools")] + public virtual System.Collections.Generic.IList StoragePools { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Message for response to listing Volumes + public class ListVolumesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// A token identifying a page of results the server should return. + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// Locations that could not be reached. + [Newtonsoft.Json.JsonPropertyAttribute("unreachable")] + public virtual System.Collections.Generic.IList Unreachable { get; set; } + + /// The list of Volume + [Newtonsoft.Json.JsonPropertyAttribute("volumes")] + public virtual System.Collections.Generic.IList Volumes { 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; } + } + + 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; } + } + + /// Metadata for a given google.cloud.location.Location. + public class LocationMetadata : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Supported service levels in a location. + [Newtonsoft.Json.JsonPropertyAttribute("supportedServiceLevels")] + public virtual System.Collections.Generic.IList SupportedServiceLevels { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50 + public class MonthlySchedule : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. + /// Defaults to '1'. + /// + [Newtonsoft.Json.JsonPropertyAttribute("daysOfMonth")] + public virtual string DaysOfMonth { get; set; } + + /// Set the hour to start the snapshot (0-23), defaults to midnight (0). + [Newtonsoft.Json.JsonPropertyAttribute("hour")] + public virtual System.Nullable Hour { get; set; } + + /// + /// Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + /// + [Newtonsoft.Json.JsonPropertyAttribute("minute")] + public virtual System.Nullable Minute { get; set; } + + /// The maximum number of Snapshots to keep for the hourly schedule + [Newtonsoft.Json.JsonPropertyAttribute("snapshotsToKeep")] + public virtual System.Nullable SnapshotsToKeep { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// View only mount options for a volume. + public class MountOption : Google.Apis.Requests.IDirectResponseSchema + { + /// Export string + [Newtonsoft.Json.JsonPropertyAttribute("export")] + public virtual string Export { get; set; } + + /// Full export string + [Newtonsoft.Json.JsonPropertyAttribute("exportFull")] + public virtual string ExportFull { get; set; } + + /// Instructions for mounting + [Newtonsoft.Json.JsonPropertyAttribute("instructions")] + public virtual string Instructions { get; set; } + + /// Protocol to mount with. + [Newtonsoft.Json.JsonPropertyAttribute("protocol")] + public virtual string Protocol { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// This resource represents a long-running operation that is the result of a network API call. + public class Operation : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, + /// and either `error` or `response` is available. + /// + [Newtonsoft.Json.JsonPropertyAttribute("done")] + public virtual System.Nullable Done { get; set; } + + /// The error result of the operation in case of failure or cancellation. + [Newtonsoft.Json.JsonPropertyAttribute("error")] + public virtual Status Error { get; set; } + + /// + /// Service-specific metadata associated with the operation. It typically contains progress information and + /// common metadata such as create time. Some services might not provide such metadata. Any method that returns + /// a long-running operation should document the metadata type, if any. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// + /// The server-assigned name, which is only unique within the same service that originally returns it. If you + /// use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// The normal, successful response of the operation. If the original method returns no data on success, such as + /// `Delete`, the response is `google.protobuf.Empty`. If the original method is standard + /// `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have + /// the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is + /// `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("response")] + public virtual System.Collections.Generic.IDictionary Response { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Represents the metadata of the long-running operation. + public class OperationMetadata : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. API version used to start the operation. + [Newtonsoft.Json.JsonPropertyAttribute("apiVersion")] + public virtual string ApiVersion { get; set; } + + 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. Identifies whether the user has requested cancellation of the operation. Operations that have + /// been canceled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to + /// `Code.CANCELLED`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("requestedCancellation")] + public virtual System.Nullable RequestedCancellation { get; set; } + + /// Output only. Human-readable status of the operation, if any. + [Newtonsoft.Json.JsonPropertyAttribute("statusMessage")] + public virtual string StatusMessage { 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; } + } + + /// 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; } + } + + /// + /// 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; } + } + + /// + /// Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 + /// volumes in different regions. + /// + public class Replication : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Replication create 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); + } + + /// A description about this replication relationship. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// Output only. Full name of destination volume resource. Example : + /// "projects/{project}/locations/{location}/volumes/{volume_id}" + /// + [Newtonsoft.Json.JsonPropertyAttribute("destinationVolume")] + public virtual string DestinationVolume { get; set; } + + /// Required. Input only. Destination volume parameters + [Newtonsoft.Json.JsonPropertyAttribute("destinationVolumeParameters")] + public virtual DestinationVolumeParameters DestinationVolumeParameters { get; set; } + + /// + /// Output only. Condition of the relationship. Can be one of the following: - true: The replication + /// relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication + /// relationship is not healthy. It has missed the most recent scheduled transfer. + /// + [Newtonsoft.Json.JsonPropertyAttribute("healthy")] + public virtual System.Nullable Healthy { get; set; } + + /// Resource labels to represent user provided metadata. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Output only. Indicates the state of mirroring. + [Newtonsoft.Json.JsonPropertyAttribute("mirrorState")] + public virtual string MirrorState { get; set; } + + /// + /// Identifier. The resource name of the Replication. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. Indicates the schedule for replication. + [Newtonsoft.Json.JsonPropertyAttribute("replicationSchedule")] + public virtual string ReplicationSchedule { get; set; } + + /// Output only. Indicates whether this points to source or destination. + [Newtonsoft.Json.JsonPropertyAttribute("role")] + public virtual string Role { get; set; } + + /// + /// Output only. Full name of source volume resource. Example : + /// "projects/{project}/locations/{location}/volumes/{volume_id}" + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceVolume")] + public virtual string SourceVolume { get; set; } + + /// Output only. State of the replication. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. State details of the replication. + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// Output only. Replication transfer statistics. + [Newtonsoft.Json.JsonPropertyAttribute("transferStats")] + public virtual TransferStats TransferStats { 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; } + } + + /// The RestoreParameters if volume is created from a snapshot or backup. + public class RestoreParameters : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Full name of the backup resource. Format: + /// projects/{project}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id} + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceBackup")] + public virtual string SourceBackup { get; set; } + + /// + /// Full name of the snapshot resource. Format: + /// projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot} + /// + [Newtonsoft.Json.JsonPropertyAttribute("sourceSnapshot")] + public virtual string SourceSnapshot { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// ResumeReplicationRequest resumes a stopped replication. + public class ResumeReplicationRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// ReverseReplicationDirectionRequest reverses direction of replication. Source becomes destination and destination + /// becomes source. + /// + public class ReverseReplicationDirectionRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// RevertVolumeRequest reverts the given volume to the specified snapshot. + public class RevertVolumeRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The snapshot resource ID, in the format 'my-snapshot', where the specified ID is the {snapshot_id} + /// of the fully qualified name like + /// projects/{project_id}/locations/{location_id}/volumes/{volume_id}/snapshots/{snapshot_id} + /// + [Newtonsoft.Json.JsonPropertyAttribute("snapshotId")] + public virtual string SnapshotId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// An export policy rule describing various export options. + public class SimpleExportPolicyRule : Google.Apis.Requests.IDirectResponseSchema + { + /// Access type (ReadWrite, ReadOnly, None) + [Newtonsoft.Json.JsonPropertyAttribute("accessType")] + public virtual string AccessType { get; set; } + + /// Comma separated list of allowed clients IP addresses + [Newtonsoft.Json.JsonPropertyAttribute("allowedClients")] + public virtual string AllowedClients { get; set; } + + /// Whether Unix root access will be granted. + [Newtonsoft.Json.JsonPropertyAttribute("hasRootAccess")] + public virtual string HasRootAccess { get; set; } + + /// + /// If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'authentication' kerberos security mode. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5ReadOnly")] + public virtual System.Nullable Kerberos5ReadOnly { get; set; } + + /// + /// If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The + /// 'kerberos5ReadOnly' value be ignored if this is enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5ReadWrite")] + public virtual System.Nullable Kerberos5ReadWrite { get; set; } + + /// + /// If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'integrity' kerberos security mode. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5iReadOnly")] + public virtual System.Nullable Kerberos5iReadOnly { get; set; } + + /// + /// If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The + /// 'kerberos5iReadOnly' value be ignored if this is enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5iReadWrite")] + public virtual System.Nullable Kerberos5iReadWrite { get; set; } + + /// + /// If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'privacy' kerberos security mode. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5pReadOnly")] + public virtual System.Nullable Kerberos5pReadOnly { get; set; } + + /// + /// If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' + /// specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The + /// 'kerberos5pReadOnly' value be ignored if this is enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberos5pReadWrite")] + public virtual System.Nullable Kerberos5pReadWrite { get; set; } + + /// NFS V3 protocol. + [Newtonsoft.Json.JsonPropertyAttribute("nfsv3")] + public virtual System.Nullable Nfsv3 { get; set; } + + /// NFS V4 protocol. + [Newtonsoft.Json.JsonPropertyAttribute("nfsv4")] + public virtual System.Nullable Nfsv4 { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Snapshot is a point-in-time version of a Volume's content. + public class Snapshot : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The time when the snapshot 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); + } + + /// + /// A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be + /// rejected. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Resource labels to represent user provided metadata. + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// + /// Identifier. The resource name of the snapshot. Format: + /// `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. The snapshot state. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. State details of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// Output only. Current storage usage for the snapshot in bytes. + [Newtonsoft.Json.JsonPropertyAttribute("usedBytes")] + public virtual System.Nullable UsedBytes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Snapshot Policy for a volume. + public class SnapshotPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// Daily schedule policy. + [Newtonsoft.Json.JsonPropertyAttribute("dailySchedule")] + public virtual DailySchedule DailySchedule { get; set; } + + /// If enabled, make snapshots automatically according to the schedules. Default is false. + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// Hourly schedule policy. + [Newtonsoft.Json.JsonPropertyAttribute("hourlySchedule")] + public virtual HourlySchedule HourlySchedule { get; set; } + + /// Monthly schedule policy. + [Newtonsoft.Json.JsonPropertyAttribute("monthlySchedule")] + public virtual MonthlySchedule MonthlySchedule { get; set; } + + /// Weekly schedule policy. + [Newtonsoft.Json.JsonPropertyAttribute("weeklySchedule")] + public virtual WeeklySchedule WeeklySchedule { get; set; } + + /// The ETag of the item. + 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 + /// three pieces of data: error code, error message, and error details. You can find out more about this error model + /// and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + /// + public class Status : Google.Apis.Requests.IDirectResponseSchema + { + /// The status code, which should be an enum value of google.rpc.Code. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual System.Nullable Code { get; set; } + + /// + /// A list of messages that carry the error details. There is a common set of message types for APIs to use. + /// + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList> Details { get; set; } + + /// + /// A developer-facing error message, which should be in English. Any user-facing error message should be + /// localized and sent in the google.rpc.Status.details field, or localized by the client. + /// + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// StopReplicationRequest stops a replication until resumed. + public class StopReplicationRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Indicates whether to stop replication forcefully while data transfer is in progress. Warning! if force is + /// true, this will abort any current transfers and can lead to data loss due to partial transfer. If force is + /// false, stop replication will fail while data transfer is in progress and you will need to retry later. + /// + [Newtonsoft.Json.JsonPropertyAttribute("force")] + public virtual System.Nullable Force { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// StoragePool is a container for volumes with a service level and capacity. Volumes can be created in a pool of + /// sufficient available capacity. StoragePool capacity is what you are billed for. + /// + public class StoragePool : Google.Apis.Requests.IDirectResponseSchema + { + /// Optional. Specifies the Active Directory to be used for creating a SMB volume. + [Newtonsoft.Json.JsonPropertyAttribute("activeDirectory")] + public virtual string ActiveDirectory { get; set; } + + /// + /// Optional. True if the storage pool supports Auto Tiering enabled volumes. Default is false. Auto-tiering can + /// be enabled after storage pool creation but it can't be disabled once enabled. + /// + [Newtonsoft.Json.JsonPropertyAttribute("allowAutoTiering")] + public virtual System.Nullable AllowAutoTiering { get; set; } + + /// Required. Capacity in GIB of the pool + [Newtonsoft.Json.JsonPropertyAttribute("capacityGib")] + public virtual System.Nullable CapacityGib { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Create time of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Optional. Description of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Output only. Specifies the current pool encryption key source. + [Newtonsoft.Json.JsonPropertyAttribute("encryptionType")] + public virtual string EncryptionType { get; set; } + + /// Deprecated. Used to allow SO pool to access AD or DNS server from other regions. + [Newtonsoft.Json.JsonPropertyAttribute("globalAccessAllowed")] + public virtual System.Nullable GlobalAccessAllowed { get; set; } + + /// Optional. Specifies the KMS config to be used for volume encryption. + [Newtonsoft.Json.JsonPropertyAttribute("kmsConfig")] + public virtual string KmsConfig { get; set; } + + /// Optional. Labels as key value pairs + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// Optional. Flag indicating if the pool is NFS LDAP enabled or not. + [Newtonsoft.Json.JsonPropertyAttribute("ldapEnabled")] + public virtual System.Nullable LdapEnabled { get; set; } + + /// Identifier. Name of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. VPC Network name. Format: projects/{project}/global/networks/{network} + [Newtonsoft.Json.JsonPropertyAttribute("network")] + public virtual string Network { get; set; } + + /// Optional. This field is not implemented. The values provided in this field are ignored. + [Newtonsoft.Json.JsonPropertyAttribute("psaRange")] + public virtual string PsaRange { get; set; } + + /// Optional. Specifies the replica zone for regional storagePool. + [Newtonsoft.Json.JsonPropertyAttribute("replicaZone")] + public virtual string ReplicaZone { get; set; } + + /// Required. Service level of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("serviceLevel")] + public virtual string ServiceLevel { get; set; } + + /// Output only. State of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. State details of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// Output only. Allocated size of all volumes in GIB in the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("volumeCapacityGib")] + public virtual System.Nullable VolumeCapacityGib { get; set; } + + /// Output only. Volume count of the storage pool + [Newtonsoft.Json.JsonPropertyAttribute("volumeCount")] + public virtual System.Nullable VolumeCount { get; set; } + + /// Optional. Specifies the active zone for regional storagePool. + [Newtonsoft.Json.JsonPropertyAttribute("zone")] + public virtual string Zone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// SwitchActiveReplicaZoneRequest switch the active/replica zone for a regional storagePool. + public class SwitchActiveReplicaZoneRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + 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; } + } + + /// Defines tiering policy for the volume. + public class TieringPolicy : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be + /// range from 7-183. Default is 31. + /// + [Newtonsoft.Json.JsonPropertyAttribute("coolingThresholdDays")] + public virtual System.Nullable CoolingThresholdDays { get; set; } + + /// + /// Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED. + /// + [Newtonsoft.Json.JsonPropertyAttribute("tierAction")] + public virtual string TierAction { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// TransferStats reports all statistics related to replication transfer. + public class TransferStats : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Lag duration indicates the duration by which Destination region volume content lags behind the primary + /// region volume content. + /// + [Newtonsoft.Json.JsonPropertyAttribute("lagDuration")] + public virtual object LagDuration { get; set; } + + /// Last transfer size in bytes. + [Newtonsoft.Json.JsonPropertyAttribute("lastTransferBytes")] + public virtual System.Nullable LastTransferBytes { get; set; } + + /// Time taken during last transfer. + [Newtonsoft.Json.JsonPropertyAttribute("lastTransferDuration")] + public virtual object LastTransferDuration { get; set; } + + private string _lastTransferEndTimeRaw; + + private object _lastTransferEndTime; + + /// Time when last transfer completed. + [Newtonsoft.Json.JsonPropertyAttribute("lastTransferEndTime")] + public virtual string LastTransferEndTimeRaw + { + get => _lastTransferEndTimeRaw; + set + { + _lastTransferEndTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _lastTransferEndTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use LastTransferEndTimeDateTimeOffset instead.")] + public virtual object LastTransferEndTime + { + get => _lastTransferEndTime; + set + { + _lastTransferEndTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _lastTransferEndTime = value; + } + } + + /// + /// representation of . + /// + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? LastTransferEndTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(LastTransferEndTimeRaw); + set => LastTransferEndTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// A message describing the cause of the last transfer failure. + [Newtonsoft.Json.JsonPropertyAttribute("lastTransferError")] + public virtual string LastTransferError { get; set; } + + /// Cumulative time taken across all transfers for the replication relationship. + [Newtonsoft.Json.JsonPropertyAttribute("totalTransferDuration")] + public virtual object TotalTransferDuration { get; set; } + + /// Cumulative bytes trasferred so far for the replication relatinonship. + [Newtonsoft.Json.JsonPropertyAttribute("transferBytes")] + public virtual System.Nullable TransferBytes { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Time when progress was updated last. + [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; } + } + + /// VerifyKmsConfigRequest specifies the KMS config to be validated. + public class VerifyKmsConfigRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// VerifyKmsConfigResponse contains the information if the config is correctly and error message. + /// + public class VerifyKmsConfigResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Error message if config is not healthy. + [Newtonsoft.Json.JsonPropertyAttribute("healthError")] + public virtual string HealthError { get; set; } + + /// Output only. If the customer key configured correctly to the encrypt volume. + [Newtonsoft.Json.JsonPropertyAttribute("healthy")] + public virtual System.Nullable Healthy { get; set; } + + /// Output only. Instructions for the customers to provide the access to the encryption key. + [Newtonsoft.Json.JsonPropertyAttribute("instructions")] + public virtual string Instructions { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Volume provides a filesystem that you can mount. + public class Volume : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Specifies the ActiveDirectory name of a SMB volume. + [Newtonsoft.Json.JsonPropertyAttribute("activeDirectory")] + public virtual string ActiveDirectory { get; set; } + + /// BackupConfig of the volume. + [Newtonsoft.Json.JsonPropertyAttribute("backupConfig")] + public virtual BackupConfig BackupConfig { get; set; } + + /// Required. Capacity in GIB of the volume + [Newtonsoft.Json.JsonPropertyAttribute("capacityGib")] + public virtual System.Nullable CapacityGib { get; set; } + + /// Output only. Size of the volume cold tier data in GiB. + [Newtonsoft.Json.JsonPropertyAttribute("coldTierSizeGib")] + public virtual System.Nullable ColdTierSizeGib { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. Create time of the volume + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.DiscoveryFormat.ParseGoogleDateTimeToDateTimeOffset(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.DiscoveryFormat.FormatDateTimeOffsetToGoogleDateTime(value); + } + + /// Optional. Description of the volume + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// Output only. Specified the current volume encryption key source. + [Newtonsoft.Json.JsonPropertyAttribute("encryptionType")] + public virtual string EncryptionType { get; set; } + + /// Optional. Export policy of the volume + [Newtonsoft.Json.JsonPropertyAttribute("exportPolicy")] + public virtual ExportPolicy ExportPolicy { get; set; } + + /// Output only. Indicates whether the volume is part of a replication relationship. + [Newtonsoft.Json.JsonPropertyAttribute("hasReplication")] + public virtual System.Nullable HasReplication { get; set; } + + /// + /// Optional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos + /// security modes (krb5, krb5i, krb5p). + /// + [Newtonsoft.Json.JsonPropertyAttribute("kerberosEnabled")] + public virtual System.Nullable KerberosEnabled { get; set; } + + /// Output only. Specifies the KMS config to be used for volume encryption. + [Newtonsoft.Json.JsonPropertyAttribute("kmsConfig")] + public virtual string KmsConfig { get; set; } + + /// Optional. Labels as key value pairs + [Newtonsoft.Json.JsonPropertyAttribute("labels")] + public virtual System.Collections.Generic.IDictionary Labels { get; set; } + + /// + /// Optional. Flag indicating if the volume will be a large capacity volume or a regular volume. + /// + [Newtonsoft.Json.JsonPropertyAttribute("largeCapacity")] + public virtual System.Nullable LargeCapacity { get; set; } + + /// Output only. Flag indicating if the volume is NFS LDAP enabled or not. + [Newtonsoft.Json.JsonPropertyAttribute("ldapEnabled")] + public virtual System.Nullable LdapEnabled { get; set; } + + /// Output only. Mount options of this volume + [Newtonsoft.Json.JsonPropertyAttribute("mountOptions")] + public virtual System.Collections.Generic.IList MountOptions { get; set; } + + /// + /// Optional. Flag indicating if the volume will have an IP address per node for volumes supporting multiple IP + /// endpoints. Only the volume with large_capacity will be allowed to have multiple endpoints. + /// + [Newtonsoft.Json.JsonPropertyAttribute("multipleEndpoints")] + public virtual System.Nullable MultipleEndpoints { get; set; } + + /// Identifier. Name of the volume + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. VPC Network name. Format: projects/{project}/global/networks/{network} + [Newtonsoft.Json.JsonPropertyAttribute("network")] + public virtual string Network { get; set; } + + /// Required. Protocols required for the volume + [Newtonsoft.Json.JsonPropertyAttribute("protocols")] + public virtual System.Collections.Generic.IList Protocols { get; set; } + + /// + /// Output only. This field is not implemented. The values provided in this field are ignored. + /// + [Newtonsoft.Json.JsonPropertyAttribute("psaRange")] + public virtual string PsaRange { get; set; } + + /// Output only. Specifies the replica zone for regional volume. + [Newtonsoft.Json.JsonPropertyAttribute("replicaZone")] + public virtual string ReplicaZone { get; set; } + + /// Optional. Specifies the source of the volume to be created from. + [Newtonsoft.Json.JsonPropertyAttribute("restoreParameters")] + public virtual RestoreParameters RestoreParameters { get; set; } + + /// Optional. List of actions that are restricted on this volume. + [Newtonsoft.Json.JsonPropertyAttribute("restrictedActions")] + public virtual System.Collections.Generic.IList RestrictedActions { get; set; } + + /// Optional. Security Style of the Volume + [Newtonsoft.Json.JsonPropertyAttribute("securityStyle")] + public virtual string SecurityStyle { get; set; } + + /// Output only. Service level of the volume + [Newtonsoft.Json.JsonPropertyAttribute("serviceLevel")] + public virtual string ServiceLevel { get; set; } + + /// Required. Share name of the volume + [Newtonsoft.Json.JsonPropertyAttribute("shareName")] + public virtual string ShareName { get; set; } + + /// Optional. SMB share settings for the volume. + [Newtonsoft.Json.JsonPropertyAttribute("smbSettings")] + public virtual System.Collections.Generic.IList SmbSettings { get; set; } + + /// + /// Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 + /// percent. + /// + [Newtonsoft.Json.JsonPropertyAttribute("snapReserve")] + public virtual System.Nullable SnapReserve { get; set; } + + /// + /// Optional. Snapshot_directory if enabled (true) the volume will contain a read-only .snapshot directory which + /// provides access to each of the volume's snapshots. + /// + [Newtonsoft.Json.JsonPropertyAttribute("snapshotDirectory")] + public virtual System.Nullable SnapshotDirectory { get; set; } + + /// Optional. SnapshotPolicy for a volume. + [Newtonsoft.Json.JsonPropertyAttribute("snapshotPolicy")] + public virtual SnapshotPolicy SnapshotPolicy { get; set; } + + /// Output only. State of the volume + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// Output only. State details of the volume + [Newtonsoft.Json.JsonPropertyAttribute("stateDetails")] + public virtual string StateDetails { get; set; } + + /// Required. StoragePool name of the volume + [Newtonsoft.Json.JsonPropertyAttribute("storagePool")] + public virtual string StoragePool { get; set; } + + /// Tiering policy for the volume. + [Newtonsoft.Json.JsonPropertyAttribute("tieringPolicy")] + public virtual TieringPolicy TieringPolicy { get; set; } + + /// + /// Optional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS + /// protocol types only. + /// + [Newtonsoft.Json.JsonPropertyAttribute("unixPermissions")] + public virtual string UnixPermissions { get; set; } + + /// + /// Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the + /// realtime usage. + /// + [Newtonsoft.Json.JsonPropertyAttribute("usedGib")] + public virtual System.Nullable UsedGib { get; set; } + + /// Output only. Specifies the active zone for regional volume. + [Newtonsoft.Json.JsonPropertyAttribute("zone")] + public virtual string Zone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 23:50 + public class WeeklySchedule : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to + /// 'Sunday'. + /// + [Newtonsoft.Json.JsonPropertyAttribute("day")] + public virtual string Day { get; set; } + + /// Set the hour to start the snapshot (0-23), defaults to midnight (0). + [Newtonsoft.Json.JsonPropertyAttribute("hour")] + public virtual System.Nullable Hour { get; set; } + + /// + /// Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + /// + [Newtonsoft.Json.JsonPropertyAttribute("minute")] + public virtual System.Nullable Minute { get; set; } + + /// The maximum number of Snapshots to keep for the hourly schedule + [Newtonsoft.Json.JsonPropertyAttribute("snapshotsToKeep")] + public virtual System.Nullable SnapshotsToKeep { get; set; } + + /// 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.NetAppFiles.v1beta1/Google.Apis.NetAppFiles.v1beta1.csproj b/Src/Generated/Google.Apis.NetAppFiles.v1beta1/Google.Apis.NetAppFiles.v1beta1.csproj new file mode 100644 index 00000000000..f418f9a6278 --- /dev/null +++ b/Src/Generated/Google.Apis.NetAppFiles.v1beta1/Google.Apis.NetAppFiles.v1beta1.csproj @@ -0,0 +1,66 @@ + + + + + Google.Apis.NetAppFiles.v1beta1 Client Library + 1.68.0.3562 + Google LLC + Copyright 2024 Google LLC + Google + https://github.com/google/google-api-dotnet-client + Apache-2.0 + git + https://github.com/google/google-api-dotnet-client + https://www.gstatic.com/images/branding/product/1x/google_developers_64dp.png + NuGetIcon.png + + Google APIs Client Library for working with Netapp v1beta1. + + Product documentation is available at: + https://cloud.google.com/netapp/ + + API reference documentation for this package is available at: + https://googleapis.dev/dotnet/Google.Apis.NetAppFiles.v1beta1/latest/api/Google.Apis.NetAppFiles.v1beta1.html + + The source code for this package is available at: + https://github.com/google/google-api-dotnet-client/tree/master/Src/Generated/Google.Apis.NetAppFiles.v1beta1 + + Supported Platforms: + - .NET Framework 4.6.2+ + - .NET Standard 2.0 + - .NET 6.0+ + + Incompatible platforms: + - .NET Framework < 4.6.2 + - Silverlight + - UWP (will build, but is known not to work at runtime) + - Xamarin/MAUI + - Windows 8 Apps + - Windows Phone 8.1 + - Windows Phone Silverlight 8.0 + + + + + + + + + + + netstandard2.0;net462;net6.0 + true + ..\..\..\google.apis.snk + portable + true + 1570,1587,1591 + + + + + + + + + + diff --git a/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.cs b/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.cs index c0bae2c5baa..e2e7fd27016 100644 --- a/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.cs +++ b/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.cs @@ -3000,6 +3000,10 @@ public class GoogleCloudRecaptchaenterpriseV1RetrieveLegacySecretKeyResponse : G /// Risk analysis result for an event. public class GoogleCloudRecaptchaenterpriseV1RiskAnalysis : Google.Apis.Requests.IDirectResponseSchema { + /// Output only. Challenge information for SCORE_AND_CHALLENGE keys + [Newtonsoft.Json.JsonPropertyAttribute("challenge")] + public virtual string Challenge { get; set; } + /// /// Output only. Extended verdict reasons to be used for experimentation only. The set of possible reasons is /// subject to change. diff --git a/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.csproj b/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.csproj index cfa39a05af9..493519a8b7b 100644 --- a/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.csproj +++ b/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.RecaptchaEnterprise.v1 Client Library - 1.68.0.3536 + 1.68.0.3573 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.Recommender.v1/Google.Apis.Recommender.v1.cs b/Src/Generated/Google.Apis.Recommender.v1/Google.Apis.Recommender.v1.cs index aa450a91d10..ac5ae76b8ab 100644 --- a/Src/Generated/Google.Apis.Recommender.v1/Google.Apis.Recommender.v1.cs +++ b/Src/Generated/Google.Apis.Recommender.v1/Google.Apis.Recommender.v1.cs @@ -4340,6 +4340,13 @@ public class GoogleCloudRecommenderV1Impact : Google.Apis.Requests.IDirectRespon [Newtonsoft.Json.JsonPropertyAttribute("costProjection")] public virtual GoogleCloudRecommenderV1CostProjection CostProjection { get; set; } + /// + /// If populated, the impact contains multiple components. In this case, the top-level impact contains + /// aggregated values and each component contains per-service details. + /// + [Newtonsoft.Json.JsonPropertyAttribute("impactComponents")] + public virtual System.Collections.Generic.IList ImpactComponents { get; set; } + /// Use with CategoryType.RELIABILITY [Newtonsoft.Json.JsonPropertyAttribute("reliabilityProjection")] public virtual GoogleCloudRecommenderV1ReliabilityProjection ReliabilityProjection { get; set; } @@ -4348,6 +4355,10 @@ public class GoogleCloudRecommenderV1Impact : Google.Apis.Requests.IDirectRespon [Newtonsoft.Json.JsonPropertyAttribute("securityProjection")] public virtual GoogleCloudRecommenderV1SecurityProjection SecurityProjection { get; set; } + /// The service that this impact is associated with. + [Newtonsoft.Json.JsonPropertyAttribute("service")] + public virtual string Service { get; set; } + /// Use with CategoryType.SUSTAINABILITY [Newtonsoft.Json.JsonPropertyAttribute("sustainabilityProjection")] public virtual GoogleCloudRecommenderV1SustainabilityProjection SustainabilityProjection { get; set; } diff --git a/Src/Generated/Google.Apis.Recommender.v1/Google.Apis.Recommender.v1.csproj b/Src/Generated/Google.Apis.Recommender.v1/Google.Apis.Recommender.v1.csproj index 3d4c44194a8..efd08e04c54 100644 --- a/Src/Generated/Google.Apis.Recommender.v1/Google.Apis.Recommender.v1.csproj +++ b/Src/Generated/Google.Apis.Recommender.v1/Google.Apis.Recommender.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Recommender.v1 Client Library - 1.68.0.3405 + 1.68.0.3573 Google LLC Copyright 2024 Google LLC Google 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 d3658ec8a2c..c9c586f71ae 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 @@ -7922,23 +7922,26 @@ public class ThemeColorPair : 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.Sheets.v4/Google.Apis.Sheets.v4.csproj b/Src/Generated/Google.Apis.Sheets.v4/Google.Apis.Sheets.v4.csproj index 70a92330c83..6c0900bcfe3 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.3561 + 1.68.0.3568 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.cs b/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.cs index 82a93352ea5..154755737c2 100644 --- a/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.cs +++ b/Src/Generated/Google.Apis.Spanner.v1/Google.Apis.Spanner.v1.cs @@ -8014,9 +8014,41 @@ protected override void InitParameters() } namespace Google.Apis.Spanner.v1.Data { + /// + /// AsymmetricAutoscalingOption specifies the scaling of replicas identified by the given selection. + /// + public class AsymmetricAutoscalingOption : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. Overrides applied to the top-level autoscaling configuration for the selected replicas. + /// + [Newtonsoft.Json.JsonPropertyAttribute("overrides")] + public virtual AutoscalingConfigOverrides Overrides { get; set; } + + /// + /// Required. Selects the replicas to which this AsymmetricAutoscalingOption applies. Only read-only replicas + /// are supported. + /// + [Newtonsoft.Json.JsonPropertyAttribute("replicaSelection")] + public virtual InstanceReplicaSelection ReplicaSelection { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Autoscaling configuration for an instance. public class AutoscalingConfig : Google.Apis.Requests.IDirectResponseSchema { + /// + /// Optional. Optional asymmetric autoscaling options. Replicas matching the replica selection criteria will be + /// autoscaled independently from other replicas. The autoscaler will scale the replicas based on the + /// utilization of replicas identified by the replica selection. Replica selections should not overlap with each + /// other. Other replicas (those do not match any replica selection) will be autoscaled together and will have + /// the same compute capacity allocated to them. + /// + [Newtonsoft.Json.JsonPropertyAttribute("asymmetricAutoscalingOptions")] + public virtual System.Collections.Generic.IList AsymmetricAutoscalingOptions { get; set; } + /// Required. Autoscaling limits for an instance. [Newtonsoft.Json.JsonPropertyAttribute("autoscalingLimits")] public virtual AutoscalingLimits AutoscalingLimits { get; set; } @@ -8029,6 +8061,31 @@ public class AutoscalingConfig : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// Overrides the top-level autoscaling configuration for the replicas identified by `replica_selection`. All fields + /// in this message are optional. Any unspecified fields will use the corresponding values from the top-level + /// autoscaling configuration. + /// + public class AutoscalingConfigOverrides : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. If specified, overrides the min/max limit in the top-level autoscaling configuration for the + /// selected replicas. + /// + [Newtonsoft.Json.JsonPropertyAttribute("autoscalingLimits")] + public virtual AutoscalingLimits AutoscalingLimits { get; set; } + + /// + /// Optional. If specified, overrides the autoscaling target high_priority_cpu_utilization_percent in the + /// top-level autoscaling configuration for the selected replicas. + /// + [Newtonsoft.Json.JsonPropertyAttribute("autoscalingTargetHighPriorityCpuUtilizationPercent")] + public virtual System.Nullable AutoscalingTargetHighPriorityCpuUtilizationPercent { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// The autoscaling limits for the instance. Users can define the minimum and maximum compute capacity allocated to /// the instance, and the autoscaler will only scale within that range. Users can either use nodes or processing @@ -10800,8 +10857,10 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// should be present in the message. Users can set the `node_count` field to specify the target number of nodes /// allocated to the instance. If autoscaling is enabled, `node_count` is treated as an `OUTPUT_ONLY` field and /// reflects the current number of nodes allocated to the instance. This might be zero in API responses for - /// instances that are not yet in the `READY` state. For more information, see [Compute capacity, nodes, and - /// processing units](https://cloud.google.com/spanner/docs/compute-capacity). + /// instances that are not yet in the `READY` state. If the instance has varying node count across replicas + /// (achieved by setting asymmetric_autoscaling_options in autoscaling config), the node_count here is the + /// maximum node count across all replicas. For more information, see [Compute capacity, nodes, and processing + /// units](https://cloud.google.com/spanner/docs/compute-capacity). /// [Newtonsoft.Json.JsonPropertyAttribute("nodeCount")] public virtual System.Nullable NodeCount { get; set; } @@ -10811,13 +10870,23 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset /// `node_count` should be present in the message. Users can set the `processing_units` field to specify the /// target number of processing units allocated to the instance. If autoscaling is enabled, `processing_units` /// is treated as an `OUTPUT_ONLY` field and reflects the current number of processing units allocated to the - /// instance. This might be zero in API responses for instances that are not yet in the `READY` state. For more + /// instance. This might be zero in API responses for instances that are not yet in the `READY` state. If the + /// instance has varying processing units per replica (achieved by setting asymmetric_autoscaling_options in + /// autoscaling config), the processing_units here is the maximum processing units across all replicas. For more /// information, see [Compute capacity, nodes and processing /// units](https://cloud.google.com/spanner/docs/compute-capacity). /// [Newtonsoft.Json.JsonPropertyAttribute("processingUnits")] public virtual System.Nullable ProcessingUnits { get; set; } + /// + /// Output only. Lists the compute capacity per ReplicaSelection. A replica selection identifies a set of + /// replicas with common properties. Replicas identified by a ReplicaSelection are scaled with the same compute + /// capacity. + /// + [Newtonsoft.Json.JsonPropertyAttribute("replicaComputeCapacity")] + public virtual System.Collections.Generic.IList ReplicaComputeCapacity { get; set; } + /// /// Output only. The current instance state. For CreateInstance, the state must be either omitted or set to /// `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`. @@ -11212,6 +11281,17 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset } } + /// ReplicaSelection identifies replicas with common properties. + public class InstanceReplicaSelection : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. Name of the location of the replicas (e.g., "us-central1"). + [Newtonsoft.Json.JsonPropertyAttribute("location")] + public virtual string Location { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// KeyRange represents a range of rows in a table or index. A range has a start key and an end key. These keys can /// be open or closed, indicating if the range includes rows with that key. Keys are represented by lists, where the @@ -12762,6 +12842,37 @@ public class ReadWrite : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// ReplicaComputeCapacity describes the amount of server resources that are allocated to each replica identified by + /// the replica selection. + /// + public class ReplicaComputeCapacity : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The number of nodes allocated to each replica. This may be zero in API responses for instances that are not + /// yet in state `READY`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nodeCount")] + public virtual System.Nullable NodeCount { get; set; } + + /// + /// The number of processing units allocated to each replica. This may be zero in API responses for instances + /// that are not yet in state `READY`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("processingUnits")] + public virtual System.Nullable ProcessingUnits { get; set; } + + /// + /// Required. Identifies replicas by specified properties. All replicas in the selection have the same amount of + /// compute capacity. + /// + [Newtonsoft.Json.JsonPropertyAttribute("replicaSelection")] + public virtual InstanceReplicaSelection ReplicaSelection { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + public class ReplicaInfo : Google.Apis.Requests.IDirectResponseSchema { /// 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 a6d3d52b94c..f8c9340675b 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.3560 + 1.68.0.3570 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.SubscriptionLinking.v1/Google.Apis.SubscriptionLinking.v1.cs b/Src/Generated/Google.Apis.SubscriptionLinking.v1/Google.Apis.SubscriptionLinking.v1.cs index d663f8922e4..43c6e5bd875 100644 --- a/Src/Generated/Google.Apis.SubscriptionLinking.v1/Google.Apis.SubscriptionLinking.v1.cs +++ b/Src/Generated/Google.Apis.SubscriptionLinking.v1/Google.Apis.SubscriptionLinking.v1.cs @@ -552,7 +552,7 @@ public class Entitlement : Google.Apis.Requests.IDirectResponseSchema /// /// Required. Expiration time of the entitlement. Entitlements that have expired over 30 days will be purged. - /// Required. LINT.IfChange(expire_time) The max expire_time is 398 days from now(). + /// The max expire_time is 398 days from now(). /// LINT.ThenChange(//depot/google3/java/com/google/subscribewithgoogle/accountlinking/subscriptionlink/service/config/protoconf.pi:max_expiry_age) /// [Newtonsoft.Json.JsonPropertyAttribute("expireTime")] diff --git a/Src/Generated/Google.Apis.SubscriptionLinking.v1/Google.Apis.SubscriptionLinking.v1.csproj b/Src/Generated/Google.Apis.SubscriptionLinking.v1/Google.Apis.SubscriptionLinking.v1.csproj index b9ed7006550..32d0b01be43 100644 --- a/Src/Generated/Google.Apis.SubscriptionLinking.v1/Google.Apis.SubscriptionLinking.v1.csproj +++ b/Src/Generated/Google.Apis.SubscriptionLinking.v1/Google.Apis.SubscriptionLinking.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.SubscriptionLinking.v1 Client Library - 1.68.0.2974 + 1.68.0.3574 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.Texttospeech.v1/Google.Apis.Texttospeech.v1.cs b/Src/Generated/Google.Apis.Texttospeech.v1/Google.Apis.Texttospeech.v1.cs index 149d82a388d..bfc0da9c861 100644 --- a/Src/Generated/Google.Apis.Texttospeech.v1/Google.Apis.Texttospeech.v1.cs +++ b/Src/Generated/Google.Apis.Texttospeech.v1/Google.Apis.Texttospeech.v1.cs @@ -725,51 +725,6 @@ public VoicesResource(Google.Apis.Services.IClientService service) this.service = service; } - /// - /// Generates voice clone key given a short voice prompt. This method validates the voice prompts with a series - /// of checks against the voice talent statement to verify the voice clone is safe to generate. - /// - /// The body of the request. - public virtual GenerateVoiceCloningKeyRequest GenerateVoiceCloningKey(Google.Apis.Texttospeech.v1.Data.GenerateVoiceCloningKeyRequest body) - { - return new GenerateVoiceCloningKeyRequest(this.service, body); - } - - /// - /// Generates voice clone key given a short voice prompt. This method validates the voice prompts with a series - /// of checks against the voice talent statement to verify the voice clone is safe to generate. - /// - public class GenerateVoiceCloningKeyRequest : TexttospeechBaseServiceRequest - { - /// Constructs a new GenerateVoiceCloningKey request. - public GenerateVoiceCloningKeyRequest(Google.Apis.Services.IClientService service, Google.Apis.Texttospeech.v1.Data.GenerateVoiceCloningKeyRequest body) : base(service) - { - Body = body; - InitParameters(); - } - - /// Gets or sets the body of this request. - Google.Apis.Texttospeech.v1.Data.GenerateVoiceCloningKeyRequest Body { get; set; } - - /// Returns the body of the request. - protected override object GetBody() => Body; - - /// Gets the method name. - public override string MethodName => "generateVoiceCloningKey"; - - /// Gets the HTTP method. - public override string HttpMethod => "POST"; - - /// Gets the REST path. - public override string RestPath => "v1/voices:generateVoiceCloningKey"; - - /// Initializes GenerateVoiceCloningKey parameter list. - protected override void InitParameters() - { - base.InitParameters(); - } - } - /// Returns a list of Voice supported for synthesis. public virtual ListRequest List() { @@ -957,54 +912,6 @@ public class Empty : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Request message for the `GenerateVoiceCloningKey` method. - public class GenerateVoiceCloningKeyRequest : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Required. The script used for the voice talent statement. The script will be provided to the caller through - /// other channels. It must be returned unchanged in this field. - /// - [Newtonsoft.Json.JsonPropertyAttribute("consentScript")] - public virtual string ConsentScript { get; set; } - - /// - /// Required. The language of the supplied audio as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) - /// language tag. Example: "en-US". See [Language - /// Support](https://cloud.google.com/speech-to-text/docs/languages) for a list of the currently supported - /// language codes. - /// - [Newtonsoft.Json.JsonPropertyAttribute("languageCode")] - public virtual string LanguageCode { get; set; } - - /// - /// Required. The training audio used to create voice clone. This is currently limited to LINEAR16 PCM WAV files - /// mono audio with 24khz sample rate. This needs to be specified in [InputAudio.audio_config], other values - /// will be explicitly rejected. - /// - [Newtonsoft.Json.JsonPropertyAttribute("referenceAudio")] - public virtual InputAudio ReferenceAudio { get; set; } - - /// Required. The voice talent audio used to verify consent to voice clone. - [Newtonsoft.Json.JsonPropertyAttribute("voiceTalentConsent")] - public virtual InputAudio VoiceTalentConsent { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Response message for the `GenerateVoiceCloningKey` method. - public class GenerateVoiceCloningKeyResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// The voice clone key. Use it in the SynthesizeSpeechRequest by setting [voice.voice_clone.voice_cloning_key]. - /// - [Newtonsoft.Json.JsonPropertyAttribute("voiceCloningKey")] - public virtual string VoiceCloningKey { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - /// Metadata for response returned by the `SynthesizeLongAudio` method. public class GoogleCloudTexttospeechV1SynthesizeLongAudioMetadata : Google.Apis.Requests.IDirectResponseSchema { @@ -1092,40 +999,6 @@ public virtual System.DateTimeOffset? StartTimeDateTimeOffset public virtual string ETag { get; set; } } - /// Holds audio content and config. - public class InputAudio : Google.Apis.Requests.IDirectResponseSchema - { - /// Required. Provides information that specifies how to process content. - [Newtonsoft.Json.JsonPropertyAttribute("audioConfig")] - public virtual InputAudioConfig AudioConfig { get; set; } - - /// - /// Required. The audio data bytes encoded as specified in `InputAudioConfig`. Note: as with all bytes fields, - /// proto buffers use a pure binary representation, whereas JSON representations use base64. Audio samples - /// should be between 5-25 seconds in length. - /// - [Newtonsoft.Json.JsonPropertyAttribute("content")] - public virtual string Content { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Description of inputted audio data. - public class InputAudioConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// Required. The format of the audio byte stream. - [Newtonsoft.Json.JsonPropertyAttribute("audioEncoding")] - public virtual string AudioEncoding { get; set; } - - /// Required. The sample rate (in hertz) for this audio. - [Newtonsoft.Json.JsonPropertyAttribute("sampleRateHertz")] - public virtual System.Nullable SampleRateHertz { 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 { @@ -1434,17 +1307,6 @@ public class Voice : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// The configuration of Voice Clone feature. - public class VoiceCloneParams : Google.Apis.Requests.IDirectResponseSchema - { - /// Required. Created by GenerateVoiceCloningKey. - [Newtonsoft.Json.JsonPropertyAttribute("voiceCloningKey")] - public virtual string VoiceCloningKey { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - /// Description of which voice to use for a synthesis request. public class VoiceSelectionParams : Google.Apis.Requests.IDirectResponseSchema { @@ -1483,13 +1345,6 @@ public class VoiceSelectionParams : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("ssmlGender")] public virtual string SsmlGender { get; set; } - /// - /// Optional. The configuration for a voice clone. If [VoiceCloneParams.voice_clone_key] is set, the service - /// will choose the voice clone matching the specified configuration. - /// - [Newtonsoft.Json.JsonPropertyAttribute("voiceClone")] - public virtual VoiceCloneParams VoiceClone { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.Texttospeech.v1/Google.Apis.Texttospeech.v1.csproj b/Src/Generated/Google.Apis.Texttospeech.v1/Google.Apis.Texttospeech.v1.csproj index 00853aa1235..4c4d5dc71a3 100644 --- a/Src/Generated/Google.Apis.Texttospeech.v1/Google.Apis.Texttospeech.v1.csproj +++ b/Src/Generated/Google.Apis.Texttospeech.v1/Google.Apis.Texttospeech.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Texttospeech.v1 Client Library - 1.68.0.3561 + 1.68.0.3568 Google LLC Copyright 2024 Google LLC Google diff --git a/Src/Generated/Google.Apis.Texttospeech.v1beta1/Google.Apis.Texttospeech.v1beta1.cs b/Src/Generated/Google.Apis.Texttospeech.v1beta1/Google.Apis.Texttospeech.v1beta1.cs index 089e6e50a4d..817f5d594c7 100644 --- a/Src/Generated/Google.Apis.Texttospeech.v1beta1/Google.Apis.Texttospeech.v1beta1.cs +++ b/Src/Generated/Google.Apis.Texttospeech.v1beta1/Google.Apis.Texttospeech.v1beta1.cs @@ -586,51 +586,6 @@ public VoicesResource(Google.Apis.Services.IClientService service) this.service = service; } - /// - /// Generates voice clone key given a short voice prompt. This method validates the voice prompts with a series - /// of checks against the voice talent statement to verify the voice clone is safe to generate. - /// - /// The body of the request. - public virtual GenerateVoiceCloningKeyRequest GenerateVoiceCloningKey(Google.Apis.Texttospeech.v1beta1.Data.GenerateVoiceCloningKeyRequest body) - { - return new GenerateVoiceCloningKeyRequest(this.service, body); - } - - /// - /// Generates voice clone key given a short voice prompt. This method validates the voice prompts with a series - /// of checks against the voice talent statement to verify the voice clone is safe to generate. - /// - public class GenerateVoiceCloningKeyRequest : TexttospeechBaseServiceRequest - { - /// Constructs a new GenerateVoiceCloningKey request. - public GenerateVoiceCloningKeyRequest(Google.Apis.Services.IClientService service, Google.Apis.Texttospeech.v1beta1.Data.GenerateVoiceCloningKeyRequest body) : base(service) - { - Body = body; - InitParameters(); - } - - /// Gets or sets the body of this request. - Google.Apis.Texttospeech.v1beta1.Data.GenerateVoiceCloningKeyRequest Body { get; set; } - - /// Returns the body of the request. - protected override object GetBody() => Body; - - /// Gets the method name. - public override string MethodName => "generateVoiceCloningKey"; - - /// Gets the HTTP method. - public override string HttpMethod => "POST"; - - /// Gets the REST path. - public override string RestPath => "v1beta1/voices:generateVoiceCloningKey"; - - /// Initializes GenerateVoiceCloningKey parameter list. - protected override void InitParameters() - { - base.InitParameters(); - } - } - /// Returns a list of Voice supported for synthesis. public virtual ListRequest List() { @@ -800,54 +755,6 @@ public class CustomVoiceParams : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Request message for the `GenerateVoiceCloningKey` method. - public class GenerateVoiceCloningKeyRequest : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Required. The script used for the voice talent statement. The script will be provided to the caller through - /// other channels. It must be returned unchanged in this field. - /// - [Newtonsoft.Json.JsonPropertyAttribute("consentScript")] - public virtual string ConsentScript { get; set; } - - /// - /// Required. The language of the supplied audio as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) - /// language tag. Example: "en-US". See [Language - /// Support](https://cloud.google.com/speech-to-text/docs/languages) for a list of the currently supported - /// language codes. - /// - [Newtonsoft.Json.JsonPropertyAttribute("languageCode")] - public virtual string LanguageCode { get; set; } - - /// - /// Required. The training audio used to create voice clone. This is currently limited to LINEAR16 PCM WAV files - /// mono audio with 24khz sample rate. This needs to be specified in [InputAudio.audio_config], other values - /// will be explicitly rejected. - /// - [Newtonsoft.Json.JsonPropertyAttribute("referenceAudio")] - public virtual InputAudio ReferenceAudio { get; set; } - - /// Required. The voice talent audio used to verify consent to voice clone. - [Newtonsoft.Json.JsonPropertyAttribute("voiceTalentConsent")] - public virtual InputAudio VoiceTalentConsent { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Response message for the `GenerateVoiceCloningKey` method. - public class GenerateVoiceCloningKeyResponse : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// The voice clone key. Use it in the SynthesizeSpeechRequest by setting [voice.voice_clone.voice_cloning_key]. - /// - [Newtonsoft.Json.JsonPropertyAttribute("voiceCloningKey")] - public virtual string VoiceCloningKey { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - /// Metadata for response returned by the `SynthesizeLongAudio` method. public class GoogleCloudTexttospeechV1beta1SynthesizeLongAudioMetadata : Google.Apis.Requests.IDirectResponseSchema { @@ -935,40 +842,6 @@ public virtual System.DateTimeOffset? StartTimeDateTimeOffset public virtual string ETag { get; set; } } - /// Holds audio content and config. - public class InputAudio : Google.Apis.Requests.IDirectResponseSchema - { - /// Required. Provides information that specifies how to process content. - [Newtonsoft.Json.JsonPropertyAttribute("audioConfig")] - public virtual InputAudioConfig AudioConfig { get; set; } - - /// - /// Required. The audio data bytes encoded as specified in `InputAudioConfig`. Note: as with all bytes fields, - /// proto buffers use a pure binary representation, whereas JSON representations use base64. Audio samples - /// should be between 5-25 seconds in length. - /// - [Newtonsoft.Json.JsonPropertyAttribute("content")] - public virtual string Content { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - - /// Description of inputted audio data. - public class InputAudioConfig : Google.Apis.Requests.IDirectResponseSchema - { - /// Required. The format of the audio byte stream. - [Newtonsoft.Json.JsonPropertyAttribute("audioEncoding")] - public virtual string AudioEncoding { get; set; } - - /// Required. The sample rate (in hertz) for this audio. - [Newtonsoft.Json.JsonPropertyAttribute("sampleRateHertz")] - public virtual System.Nullable SampleRateHertz { 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 { @@ -1309,17 +1182,6 @@ public class Voice : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// The configuration of Voice Clone feature. - public class VoiceCloneParams : Google.Apis.Requests.IDirectResponseSchema - { - /// Required. Created by GenerateVoiceCloningKey. - [Newtonsoft.Json.JsonPropertyAttribute("voiceCloningKey")] - public virtual string VoiceCloningKey { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - /// Description of which voice to use for a synthesis request. public class VoiceSelectionParams : Google.Apis.Requests.IDirectResponseSchema { @@ -1358,13 +1220,6 @@ public class VoiceSelectionParams : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("ssmlGender")] public virtual string SsmlGender { get; set; } - /// - /// Optional. The configuration for a voice clone. If [VoiceCloneParams.voice_clone_key] is set, the service - /// will choose the voice clone matching the specified configuration. - /// - [Newtonsoft.Json.JsonPropertyAttribute("voiceClone")] - public virtual VoiceCloneParams VoiceClone { get; set; } - /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.Texttospeech.v1beta1/Google.Apis.Texttospeech.v1beta1.csproj b/Src/Generated/Google.Apis.Texttospeech.v1beta1/Google.Apis.Texttospeech.v1beta1.csproj index 66414df7db1..62ddd5fc438 100644 --- a/Src/Generated/Google.Apis.Texttospeech.v1beta1/Google.Apis.Texttospeech.v1beta1.csproj +++ b/Src/Generated/Google.Apis.Texttospeech.v1beta1/Google.Apis.Texttospeech.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.Texttospeech.v1beta1 Client Library - 1.68.0.3561 + 1.68.0.3568 Google LLC Copyright 2024 Google LLC Google