diff --git a/google-cloud-config_service-v1/.owlbot-manifest.json b/google-cloud-config_service-v1/.owlbot-manifest.json index 3c7d1bf8673a..a25dc7ae8cfd 100644 --- a/google-cloud-config_service-v1/.owlbot-manifest.json +++ b/google-cloud-config_service-v1/.owlbot-manifest.json @@ -55,6 +55,7 @@ "snippets/config/export_lock_info.rb", "snippets/config/export_preview_result.rb", "snippets/config/export_revision_statefile.rb", + "snippets/config/get_auto_migration_config.rb", "snippets/config/get_deployment.rb", "snippets/config/get_preview.rb", "snippets/config/get_resource.rb", @@ -72,6 +73,7 @@ "snippets/config/list_terraform_versions.rb", "snippets/config/lock_deployment.rb", "snippets/config/unlock_deployment.rb", + "snippets/config/update_auto_migration_config.rb", "snippets/config/update_deployment.rb", "snippets/snippet_metadata_google.cloud.config.v1.json", "test/google/cloud/config_service/v1/config_operations_test.rb", diff --git a/google-cloud-config_service-v1/gapic_metadata.json b/google-cloud-config_service-v1/gapic_metadata.json index fe5b65211f57..1da6107e797f 100644 --- a/google-cloud-config_service-v1/gapic_metadata.json +++ b/google-cloud-config_service-v1/gapic_metadata.json @@ -144,6 +144,16 @@ "methods": [ "get_resource_drift" ] + }, + "GetAutoMigrationConfig": { + "methods": [ + "get_auto_migration_config" + ] + }, + "UpdateAutoMigrationConfig": { + "methods": [ + "update_auto_migration_config" + ] } } } diff --git a/google-cloud-config_service-v1/lib/google/cloud/config/v1/config_pb.rb b/google-cloud-config_service-v1/lib/google/cloud/config/v1/config_pb.rb index 2717de1572af..003de627311a 100644 --- a/google-cloud-config_service-v1/lib/google/cloud/config/v1/config_pb.rb +++ b/google-cloud-config_service-v1/lib/google/cloud/config/v1/config_pb.rb @@ -17,7 +17,7 @@ require 'google/rpc/status_pb' -descriptor_data = "\n#google/cloud/config/v1/config.proto\x12\x16google.cloud.config.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xa0\x10\n\nDeployment\x12I\n\x13terraform_blueprint\x18\x06 \x01(\x0b\x32*.google.cloud.config.v1.TerraformBlueprintH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x43\n\x06labels\x18\x04 \x03(\x0b\x32..google.cloud.config.v1.Deployment.LabelsEntryB\x03\xe0\x41\x01\x12<\n\x05state\x18\x05 \x01(\x0e\x32(.google.cloud.config.v1.Deployment.StateB\x03\xe0\x41\x03\x12\x1c\n\x0flatest_revision\x18\x07 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0cstate_detail\x18\t \x01(\tB\x03\xe0\x41\x03\x12\x45\n\nerror_code\x18\n \x01(\x0e\x32,.google.cloud.config.v1.Deployment.ErrorCodeB\x03\xe0\x41\x03\x12\x41\n\x0e\x64\x65lete_results\x18\x08 \x01(\x0b\x32$.google.cloud.config.v1.ApplyResultsB\x03\xe0\x41\x03\x12\x19\n\x0c\x64\x65lete_build\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65lete_logs\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12>\n\ttf_errors\x18\r \x03(\x0b\x32&.google.cloud.config.v1.TerraformErrorB\x03\xe0\x41\x03\x12\x17\n\nerror_logs\x18\x0e \x01(\tB\x03\xe0\x41\x03\x12&\n\x14\x61rtifacts_gcs_bucket\x18\x0f \x01(\tB\x03\xe0\x41\x01H\x01\x88\x01\x01\x12G\n\x0fservice_account\x18\x10 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!iam.googleapis.com/ServiceAccountH\x02\x88\x01\x01\x12&\n\x19import_existing_resources\x18\x11 \x01(\x08H\x03\x88\x01\x01\x12\x46\n\x0bworker_pool\x18\x13 \x01(\tB,\xe0\x41\x01\xfa\x41&\n$cloudbuild.googleapis.com/WorkerPoolH\x04\x88\x01\x01\x12\x45\n\nlock_state\x18\x14 \x01(\x0e\x32,.google.cloud.config.v1.Deployment.LockStateB\x03\xe0\x41\x03\x12\'\n\x15tf_version_constraint\x18\x15 \x01(\tB\x03\xe0\x41\x01H\x05\x88\x01\x01\x12\x17\n\ntf_version\x18\x16 \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x10quota_validation\x18\x17 \x01(\x0e\x32\'.google.cloud.config.v1.QuotaValidationB\x03\xe0\x41\x01\x12M\n\x0b\x61nnotations\x18\x18 \x03(\x0b\x32\x33.google.cloud.config.v1.Deployment.AnnotationsEntryB\x03\xe0\x41\x01\x12\x44\n\x0fprovider_config\x18\x19 \x01(\x0b\x32&.google.cloud.config.v1.ProviderConfigB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"|\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08UPDATING\x10\x03\x12\x0c\n\x08\x44\x45LETING\x10\x04\x12\n\n\x06\x46\x41ILED\x10\x05\x12\r\n\tSUSPENDED\x10\x06\x12\x0b\n\x07\x44\x45LETED\x10\x07\"\xdc\x01\n\tErrorCode\x12\x1a\n\x16\x45RROR_CODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fREVISION_FAILED\x10\x01\x12!\n\x1d\x43LOUD_BUILD_PERMISSION_DENIED\x10\x03\x12\x1b\n\x17\x44\x45LETE_BUILD_API_FAILED\x10\x05\x12\x1b\n\x17\x44\x45LETE_BUILD_RUN_FAILED\x10\x06\x12%\n!BUCKET_CREATION_PERMISSION_DENIED\x10\x07\x12\x1a\n\x16\x42UCKET_CREATION_FAILED\x10\x08\"\x81\x01\n\tLockState\x12\x1a\n\x16LOCK_STATE_UNSPECIFIED\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\x0c\n\x08UNLOCKED\x10\x02\x12\x0b\n\x07LOCKING\x10\x03\x12\r\n\tUNLOCKING\x10\x04\x12\x0f\n\x0bLOCK_FAILED\x10\x05\x12\x11\n\rUNLOCK_FAILED\x10\x06:g\xea\x41\x64\n config.googleapis.com/Deployment\x12@projects/{project}/locations/{location}/deployments/{deployment}B\x0b\n\tblueprintB\x17\n\x15_artifacts_gcs_bucketB\x12\n\x10_service_accountB\x1c\n\x1a_import_existing_resourcesB\x0e\n\x0c_worker_poolB\x18\n\x16_tf_version_constraint\"\xa4\x02\n\x12TerraformBlueprint\x12\x14\n\ngcs_source\x18\x01 \x01(\tH\x00\x12\x37\n\ngit_source\x18\x02 \x01(\x0b\x32!.google.cloud.config.v1.GitSourceH\x00\x12V\n\x0cinput_values\x18\x04 \x03(\x0b\x32;.google.cloud.config.v1.TerraformBlueprint.InputValuesEntryB\x03\xe0\x41\x01\x1a]\n\x10InputValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).google.cloud.config.v1.TerraformVariable:\x02\x38\x01\x42\x08\n\x06source\"E\n\x11TerraformVariable\x12\x30\n\x0binput_value\x18\x05 \x01(\x0b\x32\x16.google.protobuf.ValueB\x03\xe0\x41\x01\"\xcf\x01\n\x0c\x41pplyResults\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\x12\x11\n\tartifacts\x18\x02 \x01(\t\x12\x42\n\x07outputs\x18\x03 \x03(\x0b\x32\x31.google.cloud.config.v1.ApplyResults.OutputsEntry\x1aW\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.google.cloud.config.v1.TerraformOutput:\x02\x38\x01\"K\n\x0fTerraformOutput\x12\x11\n\tsensitive\x18\x01 \x01(\x08\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value\"\x9c\x01\n\x16ListDeploymentsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\x80\x01\n\x17ListDeploymentsResponse\x12\x37\n\x0b\x64\x65ployments\x18\x01 \x03(\x0b\x32\".google.cloud.config.v1.Deployment\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"N\n\x14GetDeploymentRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\"\x99\x01\n\x14ListRevisionsRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"z\n\x15ListRevisionsResponse\x12\x33\n\trevisions\x18\x01 \x03(\x0b\x32 .google.cloud.config.v1.Revision\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"J\n\x12GetRevisionRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63onfig.googleapis.com/Revision\"\xc6\x01\n\x17\x43reateDeploymentRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x1a\n\rdeployment_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12;\n\ndeployment\x18\x03 \x01(\x0b\x32\".google.cloud.config.v1.DeploymentB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\xa5\x01\n\x17UpdateDeploymentRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12;\n\ndeployment\x18\x02 \x01(\x0b\x32\".google.cloud.config.v1.DeploymentB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\xa0\x02\n\x17\x44\x65leteDeploymentRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05\x66orce\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12X\n\rdelete_policy\x18\x04 \x01(\x0e\x32<.google.cloud.config.v1.DeleteDeploymentRequest.DeletePolicyB\x03\xe0\x41\x01\"F\n\x0c\x44\x65letePolicy\x12\x1d\n\x19\x44\x45LETE_POLICY_UNSPECIFIED\x10\x00\x12\n\n\x06\x44\x45LETE\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\"\xc1\x03\n\x11OperationMetadata\x12W\n\x13\x64\x65ployment_metadata\x18\x08 \x01(\x0b\x32\x33.google.cloud.config.v1.DeploymentOperationMetadataB\x03\xe0\x41\x03H\x00\x12Q\n\x10preview_metadata\x18\t \x01(\x0b\x32\x30.google.cloud.config.v1.PreviewOperationMetadataB\x03\xe0\x41\x03H\x00\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\x42\x13\n\x11resource_metadata\"\xc9\x0b\n\x08Revision\x12N\n\x13terraform_blueprint\x18\x06 \x01(\x0b\x32*.google.cloud.config.v1.TerraformBlueprintB\x03\xe0\x41\x03H\x00\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12<\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\'.google.cloud.config.v1.Revision.ActionB\x03\xe0\x41\x03\x12:\n\x05state\x18\x05 \x01(\x0e\x32&.google.cloud.config.v1.Revision.StateB\x03\xe0\x41\x03\x12@\n\rapply_results\x18\x07 \x01(\x0b\x32$.google.cloud.config.v1.ApplyResultsB\x03\xe0\x41\x03\x12\x19\n\x0cstate_detail\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12\x43\n\nerror_code\x18\t \x01(\x0e\x32*.google.cloud.config.v1.Revision.ErrorCodeB\x03\xe0\x41\x03\x12\x12\n\x05\x62uild\x18\n \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04logs\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12>\n\ttf_errors\x18\x0c \x03(\x0b\x32&.google.cloud.config.v1.TerraformErrorB\x03\xe0\x41\x03\x12\x17\n\nerror_logs\x18\r \x01(\tB\x03\xe0\x41\x03\x12\x42\n\x0fservice_account\x18\x0e \x01(\tB)\xe0\x41\x03\xfa\x41#\n!iam.googleapis.com/ServiceAccount\x12&\n\x19import_existing_resources\x18\x0f \x01(\x08\x42\x03\xe0\x41\x03\x12\x41\n\x0bworker_pool\x18\x11 \x01(\tB,\xe0\x41\x03\xfa\x41&\n$cloudbuild.googleapis.com/WorkerPool\x12\"\n\x15tf_version_constraint\x18\x12 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\ntf_version\x18\x13 \x01(\tB\x03\xe0\x41\x03\x12%\n\x18quota_validation_results\x18\x1d \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x10quota_validation\x18\x14 \x01(\x0e\x32\'.google.cloud.config.v1.QuotaValidationB\x03\xe0\x41\x01\x12\x44\n\x0fprovider_config\x18\x15 \x01(\x0b\x32&.google.cloud.config.v1.ProviderConfigB\x03\xe0\x41\x03\"D\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\n\n\x06\x43REATE\x10\x01\x12\n\n\x06UPDATE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\"E\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x41PPLYING\x10\x01\x12\x0b\n\x07\x41PPLIED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"\x9f\x01\n\tErrorCode\x12\x1a\n\x16\x45RROR_CODE_UNSPECIFIED\x10\x00\x12!\n\x1d\x43LOUD_BUILD_PERMISSION_DENIED\x10\x01\x12\x1a\n\x16\x41PPLY_BUILD_API_FAILED\x10\x04\x12\x1a\n\x16\x41PPLY_BUILD_RUN_FAILED\x10\x05\x12\x1b\n\x17QUOTA_VALIDATION_FAILED\x10\x07:z\xea\x41w\n\x1e\x63onfig.googleapis.com/Revision\x12Uprojects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}B\x0b\n\tblueprint\"\x89\x01\n\x0eTerraformError\x12\x18\n\x10resource_address\x18\x01 \x01(\t\x12\x1a\n\x12http_response_code\x18\x02 \x01(\x05\x12\x19\n\x11\x65rror_description\x18\x03 \x01(\t\x12&\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\"v\n\tGitSource\x12\x16\n\x04repo\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x12\x1b\n\tdirectory\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\x15\n\x03ref\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x02\x88\x01\x01\x42\x07\n\x05_repoB\x0c\n\n_directoryB\x06\n\x04_ref\"\x9f\x04\n\x1b\x44\x65ploymentOperationMetadata\x12P\n\x04step\x18\x01 \x01(\x0e\x32\x42.google.cloud.config.v1.DeploymentOperationMetadata.DeploymentStep\x12;\n\rapply_results\x18\x02 \x01(\x0b\x32$.google.cloud.config.v1.ApplyResults\x12\x12\n\x05\x62uild\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04logs\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\xc9\x02\n\x0e\x44\x65ploymentStep\x12\x1f\n\x1b\x44\x45PLOYMENT_STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18PREPARING_STORAGE_BUCKET\x10\x01\x12\x19\n\x15\x44OWNLOADING_BLUEPRINT\x10\x02\x12\x13\n\x0fRUNNING_TF_INIT\x10\x03\x12\x13\n\x0fRUNNING_TF_PLAN\x10\x04\x12\x14\n\x10RUNNING_TF_APPLY\x10\x05\x12\x16\n\x12RUNNING_TF_DESTROY\x10\x06\x12\x17\n\x13RUNNING_TF_VALIDATE\x10\x07\x12\x18\n\x14UNLOCKING_DEPLOYMENT\x10\x08\x12\r\n\tSUCCEEDED\x10\t\x12\n\n\x06\x46\x41ILED\x10\n\x12\x19\n\x15VALIDATING_REPOSITORY\x10\x0b\x12\x1c\n\x18RUNNING_QUOTA_VALIDATION\x10\x0c\"\xd8\x05\n\x08Resource\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12J\n\x0eterraform_info\x18\x02 \x01(\x0b\x32-.google.cloud.config.v1.ResourceTerraformInfoB\x03\xe0\x41\x03\x12H\n\ncai_assets\x18\x03 \x03(\x0b\x32/.google.cloud.config.v1.Resource.CaiAssetsEntryB\x03\xe0\x41\x03\x12<\n\x06intent\x18\x04 \x01(\x0e\x32\'.google.cloud.config.v1.Resource.IntentB\x03\xe0\x41\x03\x12:\n\x05state\x18\x05 \x01(\x0e\x32&.google.cloud.config.v1.Resource.StateB\x03\xe0\x41\x03\x1aY\n\x0e\x43\x61iAssetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.google.cloud.config.v1.ResourceCAIInfo:\x02\x38\x01\"a\n\x06Intent\x12\x16\n\x12INTENT_UNSPECIFIED\x10\x00\x12\n\n\x06\x43REATE\x10\x01\x12\n\n\x06UPDATE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\x12\x0c\n\x08RECREATE\x10\x04\x12\r\n\tUNCHANGED\x10\x05\"X\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PLANNED\x10\x01\x12\x0f\n\x0bIN_PROGRESS\x10\x02\x12\x0e\n\nRECONCILED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04:\x90\x01\xea\x41\x8c\x01\n\x1e\x63onfig.googleapis.com/Resource\x12jprojects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}\"B\n\x15ResourceTerraformInfo\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\t\"-\n\x0fResourceCAIInfo\x12\x1a\n\x12\x66ull_resource_name\x18\x01 \x01(\t\"J\n\x12GetResourceRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63onfig.googleapis.com/Resource\"\x97\x01\n\x14ListResourcesRequest\x12\x36\n\x06parent\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63onfig.googleapis.com/Revision\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"z\n\x15ListResourcesResponse\x12\x33\n\tresources\x18\x01 \x03(\x0b\x32 .google.cloud.config.v1.Resource\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"$\n\tStatefile\x12\x17\n\nsigned_uri\x18\x01 \x01(\tB\x03\xe0\x41\x03\"p\n ExportDeploymentStatefileRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x12\n\x05\x64raft\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"X\n\x1e\x45xportRevisionStatefileRequest\x12\x36\n\x06parent\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63onfig.googleapis.com/Revision\"\x81\x01\n\x16ImportStatefileRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x14\n\x07lock_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02\x12\x17\n\nskip_draft\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"f\n\x16\x44\x65leteStatefileRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x14\n\x07lock_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02\"O\n\x15LockDeploymentRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\"g\n\x17UnlockDeploymentRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x14\n\x07lock_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02\"O\n\x15\x45xportLockInfoRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\"\x8b\x01\n\x08LockInfo\x12\x0f\n\x07lock_id\x18\x01 \x01(\x03\x12\x11\n\toperation\x18\x02 \x01(\t\x12\x0c\n\x04info\x18\x03 \x01(\t\x12\x0b\n\x03who\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\x12/\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xbe\x0e\n\x07Preview\x12I\n\x13terraform_blueprint\x18\x06 \x01(\x0b\x32*.google.cloud.config.v1.TerraformBlueprintH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12@\n\x06labels\x18\x03 \x03(\x0b\x32+.google.cloud.config.v1.Preview.LabelsEntryB\x03\xe0\x41\x01\x12\x39\n\x05state\x18\x04 \x01(\x0e\x32%.google.cloud.config.v1.Preview.StateB\x03\xe0\x41\x03\x12<\n\ndeployment\x18\x05 \x01(\tB(\xe0\x41\x01\xfa\x41\"\n config.googleapis.com/Deployment\x12\x46\n\x0cpreview_mode\x18\x0f \x01(\x0e\x32+.google.cloud.config.v1.Preview.PreviewModeB\x03\xe0\x41\x01\x12\x42\n\x0fservice_account\x18\x07 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!iam.googleapis.com/ServiceAccount\x12&\n\x14\x61rtifacts_gcs_bucket\x18\x08 \x01(\tB\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\x46\n\x0bworker_pool\x18\t \x01(\tB,\xe0\x41\x01\xfa\x41&\n$cloudbuild.googleapis.com/WorkerPoolH\x02\x88\x01\x01\x12\x42\n\nerror_code\x18\n \x01(\x0e\x32).google.cloud.config.v1.Preview.ErrorCodeB\x03\xe0\x41\x03\x12-\n\x0c\x65rror_status\x18\x0b \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\x12\x12\n\x05\x62uild\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12>\n\ttf_errors\x18\r \x03(\x0b\x32&.google.cloud.config.v1.TerraformErrorB\x03\xe0\x41\x03\x12\x17\n\nerror_logs\x18\x0e \x01(\tB\x03\xe0\x41\x03\x12H\n\x11preview_artifacts\x18\x10 \x01(\x0b\x32(.google.cloud.config.v1.PreviewArtifactsB\x03\xe0\x41\x03\x12\x11\n\x04logs\x18\x11 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\ntf_version\x18\x12 \x01(\tB\x03\xe0\x41\x03\x12\'\n\x15tf_version_constraint\x18\x13 \x01(\tB\x03\xe0\x41\x01H\x03\x88\x01\x01\x12J\n\x0b\x61nnotations\x18\x14 \x03(\x0b\x32\x30.google.cloud.config.v1.Preview.AnnotationsEntryB\x03\xe0\x41\x01\x12\x44\n\x0fprovider_config\x18\x15 \x01(\x0b\x32&.google.cloud.config.v1.ProviderConfigB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"{\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\x12\x0c\n\x08\x41PPLYING\x10\x03\x12\t\n\x05STALE\x10\x04\x12\x0c\n\x08\x44\x45LETING\x10\x05\x12\n\n\x06\x46\x41ILED\x10\x06\x12\x0b\n\x07\x44\x45LETED\x10\x07\"D\n\x0bPreviewMode\x12\x1c\n\x18PREVIEW_MODE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\"\xed\x01\n\tErrorCode\x12\x1a\n\x16\x45RROR_CODE_UNSPECIFIED\x10\x00\x12!\n\x1d\x43LOUD_BUILD_PERMISSION_DENIED\x10\x01\x12%\n!BUCKET_CREATION_PERMISSION_DENIED\x10\x02\x12\x1a\n\x16\x42UCKET_CREATION_FAILED\x10\x03\x12\"\n\x1e\x44\x45PLOYMENT_LOCK_ACQUIRE_FAILED\x10\x04\x12\x1c\n\x18PREVIEW_BUILD_API_FAILED\x10\x05\x12\x1c\n\x18PREVIEW_BUILD_RUN_FAILED\x10\x06:q\xea\x41n\n\x1d\x63onfig.googleapis.com/Preview\x12:projects/{project}/locations/{location}/previews/{preview}*\x08previews2\x07previewB\x0b\n\tblueprintB\x17\n\x15_artifacts_gcs_bucketB\x0e\n\x0c_worker_poolB\x18\n\x16_tf_version_constraint\"\xe4\x03\n\x18PreviewOperationMetadata\x12J\n\x04step\x18\x01 \x01(\x0e\x32<.google.cloud.config.v1.PreviewOperationMetadata.PreviewStep\x12\x43\n\x11preview_artifacts\x18\x02 \x01(\x0b\x32(.google.cloud.config.v1.PreviewArtifacts\x12\x11\n\x04logs\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x12\n\x05\x62uild\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\x8f\x02\n\x0bPreviewStep\x12\x1c\n\x18PREVIEW_STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18PREPARING_STORAGE_BUCKET\x10\x01\x12\x19\n\x15\x44OWNLOADING_BLUEPRINT\x10\x02\x12\x13\n\x0fRUNNING_TF_INIT\x10\x03\x12\x13\n\x0fRUNNING_TF_PLAN\x10\x04\x12\x17\n\x13\x46\x45TCHING_DEPLOYMENT\x10\x05\x12\x16\n\x12LOCKING_DEPLOYMENT\x10\x06\x12\x18\n\x14UNLOCKING_DEPLOYMENT\x10\x07\x12\r\n\tSUCCEEDED\x10\x08\x12\n\n\x06\x46\x41ILED\x10\t\x12\x19\n\x15VALIDATING_REPOSITORY\x10\n\"@\n\x10PreviewArtifacts\x12\x14\n\x07\x63ontent\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x16\n\tartifacts\x18\x02 \x01(\tB\x03\xe0\x41\x03\"\xc2\x01\n\x14\x43reatePreviewRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x17\n\npreview_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x35\n\x07preview\x18\x03 \x01(\x0b\x32\x1f.google.cloud.config.v1.PreviewB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"H\n\x11GetPreviewRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63onfig.googleapis.com/Preview\"\xad\x01\n\x13ListPreviewsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"w\n\x14ListPreviewsResponse\x12\x31\n\x08previews\x18\x01 \x03(\x0b\x32\x1f.google.cloud.config.v1.Preview\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"l\n\x14\x44\x65letePreviewRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63onfig.googleapis.com/Preview\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"S\n\x1a\x45xportPreviewResultRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63onfig.googleapis.com/Preview\"Y\n\x1b\x45xportPreviewResultResponse\x12:\n\x06result\x18\x01 \x01(\x0b\x32%.google.cloud.config.v1.PreviewResultB\x03\xe0\x41\x03\"M\n\rPreviewResult\x12\x1e\n\x11\x62inary_signed_uri\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1c\n\x0fjson_signed_uri\x18\x02 \x01(\tB\x03\xe0\x41\x03\"Z\n\x1aGetTerraformVersionRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&config.googleapis.com/TerraformVersion\"\xb6\x01\n\x1cListTerraformVersionsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x93\x01\n\x1dListTerraformVersionsResponse\x12\x44\n\x12terraform_versions\x18\x01 \x03(\x0b\x32(.google.cloud.config.v1.TerraformVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\xad\x04\n\x10TerraformVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x42\n\x05state\x18\x02 \x01(\x0e\x32..google.cloud.config.v1.TerraformVersion.StateB\x03\xe0\x41\x03\x12\x35\n\x0csupport_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12<\n\x0e\x64\x65precate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03H\x00\x88\x01\x01\x12;\n\robsolete_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03H\x01\x88\x01\x01\"H\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0e\n\nDEPRECATED\x10\x02\x12\x0c\n\x08OBSOLETE\x10\x03:\xa0\x01\xea\x41\x9c\x01\n&config.googleapis.com/TerraformVersion\x12Mprojects/{project}/locations/{location}/terraformVersions/{terraform_version}*\x11terraformVersions2\x10terraformVersionB\x11\n\x0f_deprecate_timeB\x10\n\x0e_obsolete_time\"\x8f\x01\n\x1bResourceChangeTerraformInfo\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04type\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rresource_name\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x15\n\x08provider\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x07\x61\x63tions\x18\x05 \x03(\tB\x03\xe0\x41\x03\"\x8f\x04\n\x0eResourceChange\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12P\n\x0eterraform_info\x18\x02 \x01(\x0b\x32\x33.google.cloud.config.v1.ResourceChangeTerraformInfoB\x03\xe0\x41\x03\x12\x42\n\x06intent\x18\x03 \x01(\x0e\x32-.google.cloud.config.v1.ResourceChange.IntentB\x03\xe0\x41\x03\x12\x45\n\x10property_changes\x18\x04 \x03(\x0b\x32&.google.cloud.config.v1.PropertyChangeB\x03\xe0\x41\x03\"a\n\x06Intent\x12\x16\n\x12INTENT_UNSPECIFIED\x10\x00\x12\n\n\x06\x43REATE\x10\x01\x12\n\n\x06UPDATE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\x12\x0c\n\x08RECREATE\x10\x04\x12\r\n\tUNCHANGED\x10\x05:\xa9\x01\xea\x41\xa5\x01\n$config.googleapis.com/ResourceChange\x12\\projects/{project}/locations/{location}/previews/{preview}/resourceChanges/{resource_change}*\x0fresourceChanges2\x0eresourceChange\"\xc5\x01\n\x0ePropertyChange\x12\x11\n\x04path\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16\x62\x65\x66ore_sensitive_paths\x18\x02 \x03(\tB\x03\xe0\x41\x03\x12+\n\x06\x62\x65\x66ore\x18\x03 \x01(\x0b\x32\x16.google.protobuf.ValueB\x03\xe0\x41\x03\x12\"\n\x15\x61\x66ter_sensitive_paths\x18\x04 \x03(\tB\x03\xe0\x41\x03\x12*\n\x05\x61\x66ter\x18\x05 \x01(\x0b\x32\x16.google.protobuf.ValueB\x03\xe0\x41\x03\"\xb0\x01\n\x1aListResourceChangesRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63onfig.googleapis.com/Preview\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x8d\x01\n\x1bListResourceChangesResponse\x12@\n\x10resource_changes\x18\x01 \x03(\x0b\x32&.google.cloud.config.v1.ResourceChange\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"V\n\x18GetResourceChangeRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$config.googleapis.com/ResourceChange\"x\n\x1aResourceDriftTerraformInfo\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04type\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rresource_name\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x15\n\x08provider\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\xdf\x02\n\rResourceDrift\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12O\n\x0eterraform_info\x18\x02 \x01(\x0b\x32\x32.google.cloud.config.v1.ResourceDriftTerraformInfoB\x03\xe0\x41\x03\x12\x43\n\x0fproperty_drifts\x18\x03 \x03(\x0b\x32%.google.cloud.config.v1.PropertyDriftB\x03\xe0\x41\x03:\xa4\x01\xea\x41\xa0\x01\n#config.googleapis.com/ResourceDrift\x12Zprojects/{project}/locations/{location}/previews/{preview}/resourceDrifts/{resource_drift}*\x0eresourceDrifts2\rresourceDrift\"\xc4\x01\n\rPropertyDrift\x12\x11\n\x04path\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16\x62\x65\x66ore_sensitive_paths\x18\x02 \x03(\tB\x03\xe0\x41\x03\x12+\n\x06\x62\x65\x66ore\x18\x03 \x01(\x0b\x32\x16.google.protobuf.ValueB\x03\xe0\x41\x03\x12\"\n\x15\x61\x66ter_sensitive_paths\x18\x04 \x03(\tB\x03\xe0\x41\x03\x12*\n\x05\x61\x66ter\x18\x05 \x01(\x0b\x32\x16.google.protobuf.ValueB\x03\xe0\x41\x03\"\xaf\x01\n\x19ListResourceDriftsRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63onfig.googleapis.com/Preview\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x8a\x01\n\x1aListResourceDriftsResponse\x12>\n\x0fresource_drifts\x18\x01 \x03(\x0b\x32%.google.cloud.config.v1.ResourceDrift\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"T\n\x17GetResourceDriftRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#config.googleapis.com/ResourceDrift\"\xc1\x01\n\x0eProviderConfig\x12T\n\x0bsource_type\x18\x01 \x01(\x0e\x32\x35.google.cloud.config.v1.ProviderConfig.ProviderSourceB\x03\xe0\x41\x01H\x00\x88\x01\x01\"I\n\x0eProviderSource\x12\x1f\n\x1bPROVIDER_SOURCE_UNSPECIFIED\x10\x00\x12\x16\n\x12SERVICE_MAINTAINED\x10\x01\x42\x0e\n\x0c_source_type*N\n\x0fQuotaValidation\x12 \n\x1cQUOTA_VALIDATION_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x45NFORCED\x10\x02\x32\xc1)\n\x06\x43onfig\x12\xb4\x01\n\x0fListDeployments\x12..google.cloud.config.v1.ListDeploymentsRequest\x1a/.google.cloud.config.v1.ListDeploymentsResponse\"@\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x31\x12//v1/{parent=projects/*/locations/*}/deployments\x12\xa1\x01\n\rGetDeployment\x12,.google.cloud.config.v1.GetDeploymentRequest\x1a\".google.cloud.config.v1.Deployment\">\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31\x12//v1/{name=projects/*/locations/*/deployments/*}\x12\xec\x01\n\x10\x43reateDeployment\x12/.google.cloud.config.v1.CreateDeploymentRequest\x1a\x1d.google.longrunning.Operation\"\x87\x01\xca\x41\x1f\n\nDeployment\x12\x11OperationMetadata\xda\x41\x1fparent,deployment,deployment_id\x82\xd3\xe4\x93\x02=\"//v1/{parent=projects/*/locations/*}/deployments:\ndeployment\x12\xee\x01\n\x10UpdateDeployment\x12/.google.cloud.config.v1.UpdateDeploymentRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41\x1f\n\nDeployment\x12\x11OperationMetadata\xda\x41\x16\x64\x65ployment,update_mask\x82\xd3\xe4\x93\x02H2:/v1/{deployment.name=projects/*/locations/*/deployments/*}:\ndeployment\x12\xc4\x01\n\x10\x44\x65leteDeployment\x12/.google.cloud.config.v1.DeleteDeploymentRequest\x1a\x1d.google.longrunning.Operation\"`\xca\x41\x1f\n\nDeployment\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31*//v1/{name=projects/*/locations/*/deployments/*}\x12\xba\x01\n\rListRevisions\x12,.google.cloud.config.v1.ListRevisionsRequest\x1a-.google.cloud.config.v1.ListRevisionsResponse\"L\xda\x41\x06parent\x82\xd3\xe4\x93\x02=\x12;/v1/{parent=projects/*/locations/*/deployments/*}/revisions\x12\xa7\x01\n\x0bGetRevision\x12*.google.cloud.config.v1.GetRevisionRequest\x1a .google.cloud.config.v1.Revision\"J\xda\x41\x04name\x82\xd3\xe4\x93\x02=\x12;/v1/{name=projects/*/locations/*/deployments/*/revisions/*}\x12\xb3\x01\n\x0bGetResource\x12*.google.cloud.config.v1.GetResourceRequest\x1a .google.cloud.config.v1.Resource\"V\xda\x41\x04name\x82\xd3\xe4\x93\x02I\x12G/v1/{name=projects/*/locations/*/deployments/*/revisions/*/resources/*}\x12\xc6\x01\n\rListResources\x12,.google.cloud.config.v1.ListResourcesRequest\x1a-.google.cloud.config.v1.ListResourcesResponse\"X\xda\x41\x06parent\x82\xd3\xe4\x93\x02I\x12G/v1/{parent=projects/*/locations/*/deployments/*/revisions/*}/resources\x12\xc2\x01\n\x19\x45xportDeploymentStatefile\x12\x38.google.cloud.config.v1.ExportDeploymentStatefileRequest\x1a!.google.cloud.config.v1.Statefile\"H\x82\xd3\xe4\x93\x02\x42\"=/v1/{parent=projects/*/locations/*/deployments/*}:exportState:\x01*\x12\xca\x01\n\x17\x45xportRevisionStatefile\x12\x36.google.cloud.config.v1.ExportRevisionStatefileRequest\x1a!.google.cloud.config.v1.Statefile\"T\x82\xd3\xe4\x93\x02N\"I/v1/{parent=projects/*/locations/*/deployments/*/revisions/*}:exportState:\x01*\x12\xbf\x01\n\x0fImportStatefile\x12..google.cloud.config.v1.ImportStatefileRequest\x1a!.google.cloud.config.v1.Statefile\"Y\xda\x41\x0eparent,lock_id\x82\xd3\xe4\x93\x02\x42\"=/v1/{parent=projects/*/locations/*/deployments/*}:importState:\x01*\x12\xa8\x01\n\x0f\x44\x65leteStatefile\x12..google.cloud.config.v1.DeleteStatefileRequest\x1a\x16.google.protobuf.Empty\"M\xda\x41\x04name\x82\xd3\xe4\x93\x02@\";/v1/{name=projects/*/locations/*/deployments/*}:deleteState:\x01*\x12\xc8\x01\n\x0eLockDeployment\x12-.google.cloud.config.v1.LockDeploymentRequest\x1a\x1d.google.longrunning.Operation\"h\xca\x41\x1f\n\nDeployment\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39\"4/v1/{name=projects/*/locations/*/deployments/*}:lock:\x01*\x12\xd6\x01\n\x10UnlockDeployment\x12/.google.cloud.config.v1.UnlockDeploymentRequest\x1a\x1d.google.longrunning.Operation\"r\xca\x41\x1f\n\nDeployment\x12\x11OperationMetadata\xda\x41\x0cname,lock_id\x82\xd3\xe4\x93\x02;\"6/v1/{name=projects/*/locations/*/deployments/*}:unlock:\x01*\x12\xac\x01\n\x0e\x45xportLockInfo\x12-.google.cloud.config.v1.ExportLockInfoRequest\x1a .google.cloud.config.v1.LockInfo\"I\xda\x41\x04name\x82\xd3\xe4\x93\x02<\x12:/v1/{name=projects/*/locations/*/deployments/*}:exportLock\x12\xcb\x01\n\rCreatePreview\x12,.google.cloud.config.v1.CreatePreviewRequest\x1a\x1d.google.longrunning.Operation\"m\xca\x41\x1c\n\x07Preview\x12\x11OperationMetadata\xda\x41\x0eparent,preview\x82\xd3\xe4\x93\x02\x37\",/v1/{parent=projects/*/locations/*}/previews:\x07preview\x12\x95\x01\n\nGetPreview\x12).google.cloud.config.v1.GetPreviewRequest\x1a\x1f.google.cloud.config.v1.Preview\";\xda\x41\x04name\x82\xd3\xe4\x93\x02.\x12,/v1/{name=projects/*/locations/*/previews/*}\x12\xa8\x01\n\x0cListPreviews\x12+.google.cloud.config.v1.ListPreviewsRequest\x1a,.google.cloud.config.v1.ListPreviewsResponse\"=\xda\x41\x06parent\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*/locations/*}/previews\x12\xb8\x01\n\rDeletePreview\x12,.google.cloud.config.v1.DeletePreviewRequest\x1a\x1d.google.longrunning.Operation\"Z\xca\x41\x1c\n\x07Preview\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02.*,/v1/{name=projects/*/locations/*/previews/*}\x12\xc0\x01\n\x13\x45xportPreviewResult\x12\x32.google.cloud.config.v1.ExportPreviewResultRequest\x1a\x33.google.cloud.config.v1.ExportPreviewResultResponse\"@\x82\xd3\xe4\x93\x02:\"5/v1/{parent=projects/*/locations/*/previews/*}:export:\x01*\x12\xcc\x01\n\x15ListTerraformVersions\x12\x34.google.cloud.config.v1.ListTerraformVersionsRequest\x1a\x35.google.cloud.config.v1.ListTerraformVersionsResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/terraformVersions\x12\xb9\x01\n\x13GetTerraformVersion\x12\x32.google.cloud.config.v1.GetTerraformVersionRequest\x1a(.google.cloud.config.v1.TerraformVersion\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/terraformVersions/*}\x12\xcf\x01\n\x13ListResourceChanges\x12\x32.google.cloud.config.v1.ListResourceChangesRequest\x1a\x33.google.cloud.config.v1.ListResourceChangesResponse\"O\xda\x41\x06parent\x82\xd3\xe4\x93\x02@\x12>/v1/{parent=projects/*/locations/*/previews/*}/resourceChanges\x12\xbc\x01\n\x11GetResourceChange\x12\x30.google.cloud.config.v1.GetResourceChangeRequest\x1a&.google.cloud.config.v1.ResourceChange\"M\xda\x41\x04name\x82\xd3\xe4\x93\x02@\x12>/v1/{name=projects/*/locations/*/previews/*/resourceChanges/*}\x12\xcb\x01\n\x12ListResourceDrifts\x12\x31.google.cloud.config.v1.ListResourceDriftsRequest\x1a\x32.google.cloud.config.v1.ListResourceDriftsResponse\"N\xda\x41\x06parent\x82\xd3\xe4\x93\x02?\x12=/v1/{parent=projects/*/locations/*/previews/*}/resourceDrifts\x12\xb8\x01\n\x10GetResourceDrift\x12/.google.cloud.config.v1.GetResourceDriftRequest\x1a%.google.cloud.config.v1.ResourceDrift\"L\xda\x41\x04name\x82\xd3\xe4\x93\x02?\x12=/v1/{name=projects/*/locations/*/previews/*/resourceDrifts/*}\x1aI\xca\x41\x15\x63onfig.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xfc\x02\n\x1a\x63om.google.cloud.config.v1B\x0b\x43onfigProtoP\x01Z2cloud.google.com/go/config/apiv1/configpb;configpb\xaa\x02\x16Google.Cloud.Config.V1\xca\x02\x16Google\\Cloud\\Config\\V1\xea\x02 Google::Cloud::ConfigService::V1\xea\x41Y\n!iam.googleapis.com/ServiceAccount\x12\x34projects/{project}/serviceAccounts/{service_account}\xea\x41i\n$cloudbuild.googleapis.com/WorkerPool\x12\x41projects/{project}/locations/{location}/workerPools/{worker_pool}b\x06proto3" +descriptor_data = "\n#google/cloud/config/v1/config.proto\x12\x16google.cloud.config.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xc9\x10\n\nDeployment\x12I\n\x13terraform_blueprint\x18\x06 \x01(\x0b\x32*.google.cloud.config.v1.TerraformBlueprintH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x43\n\x06labels\x18\x04 \x03(\x0b\x32..google.cloud.config.v1.Deployment.LabelsEntryB\x03\xe0\x41\x01\x12<\n\x05state\x18\x05 \x01(\x0e\x32(.google.cloud.config.v1.Deployment.StateB\x03\xe0\x41\x03\x12\x1c\n\x0flatest_revision\x18\x07 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0cstate_detail\x18\t \x01(\tB\x03\xe0\x41\x03\x12\x45\n\nerror_code\x18\n \x01(\x0e\x32,.google.cloud.config.v1.Deployment.ErrorCodeB\x03\xe0\x41\x03\x12\x41\n\x0e\x64\x65lete_results\x18\x08 \x01(\x0b\x32$.google.cloud.config.v1.ApplyResultsB\x03\xe0\x41\x03\x12\x19\n\x0c\x64\x65lete_build\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65lete_logs\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12>\n\ttf_errors\x18\r \x03(\x0b\x32&.google.cloud.config.v1.TerraformErrorB\x03\xe0\x41\x03\x12\x17\n\nerror_logs\x18\x0e \x01(\tB\x03\xe0\x41\x03\x12&\n\x14\x61rtifacts_gcs_bucket\x18\x0f \x01(\tB\x03\xe0\x41\x01H\x01\x88\x01\x01\x12G\n\x0fservice_account\x18\x10 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!iam.googleapis.com/ServiceAccountH\x02\x88\x01\x01\x12&\n\x19import_existing_resources\x18\x11 \x01(\x08H\x03\x88\x01\x01\x12\x46\n\x0bworker_pool\x18\x13 \x01(\tB,\xe0\x41\x01\xfa\x41&\n$cloudbuild.googleapis.com/WorkerPoolH\x04\x88\x01\x01\x12\x45\n\nlock_state\x18\x14 \x01(\x0e\x32,.google.cloud.config.v1.Deployment.LockStateB\x03\xe0\x41\x03\x12\'\n\x15tf_version_constraint\x18\x15 \x01(\tB\x03\xe0\x41\x01H\x05\x88\x01\x01\x12\x17\n\ntf_version\x18\x16 \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x10quota_validation\x18\x17 \x01(\x0e\x32\'.google.cloud.config.v1.QuotaValidationB\x03\xe0\x41\x01\x12M\n\x0b\x61nnotations\x18\x18 \x03(\x0b\x32\x33.google.cloud.config.v1.Deployment.AnnotationsEntryB\x03\xe0\x41\x01\x12\x44\n\x0fprovider_config\x18\x19 \x01(\x0b\x32&.google.cloud.config.v1.ProviderConfigB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"|\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x0c\n\x08UPDATING\x10\x03\x12\x0c\n\x08\x44\x45LETING\x10\x04\x12\n\n\x06\x46\x41ILED\x10\x05\x12\r\n\tSUSPENDED\x10\x06\x12\x0b\n\x07\x44\x45LETED\x10\x07\"\x85\x02\n\tErrorCode\x12\x1a\n\x16\x45RROR_CODE_UNSPECIFIED\x10\x00\x12\x13\n\x0fREVISION_FAILED\x10\x01\x12!\n\x1d\x43LOUD_BUILD_PERMISSION_DENIED\x10\x03\x12\x1b\n\x17\x44\x45LETE_BUILD_API_FAILED\x10\x05\x12\x1b\n\x17\x44\x45LETE_BUILD_RUN_FAILED\x10\x06\x12%\n!BUCKET_CREATION_PERMISSION_DENIED\x10\x07\x12\x1a\n\x16\x42UCKET_CREATION_FAILED\x10\x08\x12\'\n#EXTERNAL_VALUE_SOURCE_IMPORT_FAILED\x10\n\"\x81\x01\n\tLockState\x12\x1a\n\x16LOCK_STATE_UNSPECIFIED\x10\x00\x12\n\n\x06LOCKED\x10\x01\x12\x0c\n\x08UNLOCKED\x10\x02\x12\x0b\n\x07LOCKING\x10\x03\x12\r\n\tUNLOCKING\x10\x04\x12\x0f\n\x0bLOCK_FAILED\x10\x05\x12\x11\n\rUNLOCK_FAILED\x10\x06:g\xea\x41\x64\n config.googleapis.com/Deployment\x12@projects/{project}/locations/{location}/deployments/{deployment}B\x0b\n\tblueprintB\x17\n\x15_artifacts_gcs_bucketB\x12\n\x10_service_accountB\x1c\n\x1a_import_existing_resourcesB\x0e\n\x0c_worker_poolB\x18\n\x16_tf_version_constraint\"\xa4\x02\n\x12TerraformBlueprint\x12\x14\n\ngcs_source\x18\x01 \x01(\tH\x00\x12\x37\n\ngit_source\x18\x02 \x01(\x0b\x32!.google.cloud.config.v1.GitSourceH\x00\x12V\n\x0cinput_values\x18\x04 \x03(\x0b\x32;.google.cloud.config.v1.TerraformBlueprint.InputValuesEntryB\x03\xe0\x41\x01\x1a]\n\x10InputValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).google.cloud.config.v1.TerraformVariable:\x02\x38\x01\x42\x08\n\x06source\"E\n\x11TerraformVariable\x12\x30\n\x0binput_value\x18\x05 \x01(\x0b\x32\x16.google.protobuf.ValueB\x03\xe0\x41\x01\"\xcf\x01\n\x0c\x41pplyResults\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\t\x12\x11\n\tartifacts\x18\x02 \x01(\t\x12\x42\n\x07outputs\x18\x03 \x03(\x0b\x32\x31.google.cloud.config.v1.ApplyResults.OutputsEntry\x1aW\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.google.cloud.config.v1.TerraformOutput:\x02\x38\x01\"K\n\x0fTerraformOutput\x12\x11\n\tsensitive\x18\x01 \x01(\x08\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value\"\x9c\x01\n\x16ListDeploymentsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"\x80\x01\n\x17ListDeploymentsResponse\x12\x37\n\x0b\x64\x65ployments\x18\x01 \x03(\x0b\x32\".google.cloud.config.v1.Deployment\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"N\n\x14GetDeploymentRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\"\x99\x01\n\x14ListRevisionsRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"z\n\x15ListRevisionsResponse\x12\x33\n\trevisions\x18\x01 \x03(\x0b\x32 .google.cloud.config.v1.Revision\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"J\n\x12GetRevisionRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63onfig.googleapis.com/Revision\"\xc6\x01\n\x17\x43reateDeploymentRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x1a\n\rdeployment_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12;\n\ndeployment\x18\x03 \x01(\x0b\x32\".google.cloud.config.v1.DeploymentB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x04 \x01(\tB\x03\xe0\x41\x01\"\xa5\x01\n\x17UpdateDeploymentRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12;\n\ndeployment\x18\x02 \x01(\x0b\x32\".google.cloud.config.v1.DeploymentB\x03\xe0\x41\x02\x12\x17\n\nrequest_id\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\xa0\x02\n\x17\x44\x65leteDeploymentRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x17\n\nrequest_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05\x66orce\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12X\n\rdelete_policy\x18\x04 \x01(\x0e\x32<.google.cloud.config.v1.DeleteDeploymentRequest.DeletePolicyB\x03\xe0\x41\x01\"F\n\x0c\x44\x65letePolicy\x12\x1d\n\x19\x44\x45LETE_POLICY_UNSPECIFIED\x10\x00\x12\n\n\x06\x44\x45LETE\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\"\xc1\x03\n\x11OperationMetadata\x12W\n\x13\x64\x65ployment_metadata\x18\x08 \x01(\x0b\x32\x33.google.cloud.config.v1.DeploymentOperationMetadataB\x03\xe0\x41\x03H\x00\x12Q\n\x10preview_metadata\x18\t \x01(\x0b\x32\x30.google.cloud.config.v1.PreviewOperationMetadataB\x03\xe0\x41\x03H\x00\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03\x42\x13\n\x11resource_metadata\"\xf2\x0b\n\x08Revision\x12N\n\x13terraform_blueprint\x18\x06 \x01(\x0b\x32*.google.cloud.config.v1.TerraformBlueprintB\x03\xe0\x41\x03H\x00\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12<\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\'.google.cloud.config.v1.Revision.ActionB\x03\xe0\x41\x03\x12:\n\x05state\x18\x05 \x01(\x0e\x32&.google.cloud.config.v1.Revision.StateB\x03\xe0\x41\x03\x12@\n\rapply_results\x18\x07 \x01(\x0b\x32$.google.cloud.config.v1.ApplyResultsB\x03\xe0\x41\x03\x12\x19\n\x0cstate_detail\x18\x08 \x01(\tB\x03\xe0\x41\x03\x12\x43\n\nerror_code\x18\t \x01(\x0e\x32*.google.cloud.config.v1.Revision.ErrorCodeB\x03\xe0\x41\x03\x12\x12\n\x05\x62uild\x18\n \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04logs\x18\x0b \x01(\tB\x03\xe0\x41\x03\x12>\n\ttf_errors\x18\x0c \x03(\x0b\x32&.google.cloud.config.v1.TerraformErrorB\x03\xe0\x41\x03\x12\x17\n\nerror_logs\x18\r \x01(\tB\x03\xe0\x41\x03\x12\x42\n\x0fservice_account\x18\x0e \x01(\tB)\xe0\x41\x03\xfa\x41#\n!iam.googleapis.com/ServiceAccount\x12&\n\x19import_existing_resources\x18\x0f \x01(\x08\x42\x03\xe0\x41\x03\x12\x41\n\x0bworker_pool\x18\x11 \x01(\tB,\xe0\x41\x03\xfa\x41&\n$cloudbuild.googleapis.com/WorkerPool\x12\"\n\x15tf_version_constraint\x18\x12 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\ntf_version\x18\x13 \x01(\tB\x03\xe0\x41\x03\x12%\n\x18quota_validation_results\x18\x1d \x01(\tB\x03\xe0\x41\x03\x12\x46\n\x10quota_validation\x18\x14 \x01(\x0e\x32\'.google.cloud.config.v1.QuotaValidationB\x03\xe0\x41\x01\x12\x44\n\x0fprovider_config\x18\x15 \x01(\x0b\x32&.google.cloud.config.v1.ProviderConfigB\x03\xe0\x41\x03\"D\n\x06\x41\x63tion\x12\x16\n\x12\x41\x43TION_UNSPECIFIED\x10\x00\x12\n\n\x06\x43REATE\x10\x01\x12\n\n\x06UPDATE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\"E\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x41PPLYING\x10\x01\x12\x0b\n\x07\x41PPLIED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"\xc8\x01\n\tErrorCode\x12\x1a\n\x16\x45RROR_CODE_UNSPECIFIED\x10\x00\x12!\n\x1d\x43LOUD_BUILD_PERMISSION_DENIED\x10\x01\x12\x1a\n\x16\x41PPLY_BUILD_API_FAILED\x10\x04\x12\x1a\n\x16\x41PPLY_BUILD_RUN_FAILED\x10\x05\x12\x1b\n\x17QUOTA_VALIDATION_FAILED\x10\x07\x12\'\n#EXTERNAL_VALUE_SOURCE_IMPORT_FAILED\x10\x08:z\xea\x41w\n\x1e\x63onfig.googleapis.com/Revision\x12Uprojects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}B\x0b\n\tblueprint\"\x89\x01\n\x0eTerraformError\x12\x18\n\x10resource_address\x18\x01 \x01(\t\x12\x1a\n\x12http_response_code\x18\x02 \x01(\x05\x12\x19\n\x11\x65rror_description\x18\x03 \x01(\t\x12&\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\"v\n\tGitSource\x12\x16\n\x04repo\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00\x88\x01\x01\x12\x1b\n\tdirectory\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\x15\n\x03ref\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x02\x88\x01\x01\x42\x07\n\x05_repoB\x0c\n\n_directoryB\x06\n\x04_ref\"\x9f\x04\n\x1b\x44\x65ploymentOperationMetadata\x12P\n\x04step\x18\x01 \x01(\x0e\x32\x42.google.cloud.config.v1.DeploymentOperationMetadata.DeploymentStep\x12;\n\rapply_results\x18\x02 \x01(\x0b\x32$.google.cloud.config.v1.ApplyResults\x12\x12\n\x05\x62uild\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04logs\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\xc9\x02\n\x0e\x44\x65ploymentStep\x12\x1f\n\x1b\x44\x45PLOYMENT_STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18PREPARING_STORAGE_BUCKET\x10\x01\x12\x19\n\x15\x44OWNLOADING_BLUEPRINT\x10\x02\x12\x13\n\x0fRUNNING_TF_INIT\x10\x03\x12\x13\n\x0fRUNNING_TF_PLAN\x10\x04\x12\x14\n\x10RUNNING_TF_APPLY\x10\x05\x12\x16\n\x12RUNNING_TF_DESTROY\x10\x06\x12\x17\n\x13RUNNING_TF_VALIDATE\x10\x07\x12\x18\n\x14UNLOCKING_DEPLOYMENT\x10\x08\x12\r\n\tSUCCEEDED\x10\t\x12\n\n\x06\x46\x41ILED\x10\n\x12\x19\n\x15VALIDATING_REPOSITORY\x10\x0b\x12\x1c\n\x18RUNNING_QUOTA_VALIDATION\x10\x0c\"\xd8\x05\n\x08Resource\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12J\n\x0eterraform_info\x18\x02 \x01(\x0b\x32-.google.cloud.config.v1.ResourceTerraformInfoB\x03\xe0\x41\x03\x12H\n\ncai_assets\x18\x03 \x03(\x0b\x32/.google.cloud.config.v1.Resource.CaiAssetsEntryB\x03\xe0\x41\x03\x12<\n\x06intent\x18\x04 \x01(\x0e\x32\'.google.cloud.config.v1.Resource.IntentB\x03\xe0\x41\x03\x12:\n\x05state\x18\x05 \x01(\x0e\x32&.google.cloud.config.v1.Resource.StateB\x03\xe0\x41\x03\x1aY\n\x0e\x43\x61iAssetsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.google.cloud.config.v1.ResourceCAIInfo:\x02\x38\x01\"a\n\x06Intent\x12\x16\n\x12INTENT_UNSPECIFIED\x10\x00\x12\n\n\x06\x43REATE\x10\x01\x12\n\n\x06UPDATE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\x12\x0c\n\x08RECREATE\x10\x04\x12\r\n\tUNCHANGED\x10\x05\"X\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PLANNED\x10\x01\x12\x0f\n\x0bIN_PROGRESS\x10\x02\x12\x0e\n\nRECONCILED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04:\x90\x01\xea\x41\x8c\x01\n\x1e\x63onfig.googleapis.com/Resource\x12jprojects/{project}/locations/{location}/deployments/{deployment}/revisions/{revision}/resources/{resource}\"B\n\x15ResourceTerraformInfo\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\t\"-\n\x0fResourceCAIInfo\x12\x1a\n\x12\x66ull_resource_name\x18\x01 \x01(\t\"J\n\x12GetResourceRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63onfig.googleapis.com/Resource\"\x97\x01\n\x14ListResourcesRequest\x12\x36\n\x06parent\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63onfig.googleapis.com/Revision\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x01(\t\"z\n\x15ListResourcesResponse\x12\x33\n\tresources\x18\x01 \x03(\x0b\x32 .google.cloud.config.v1.Resource\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"$\n\tStatefile\x12\x17\n\nsigned_uri\x18\x01 \x01(\tB\x03\xe0\x41\x03\"p\n ExportDeploymentStatefileRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x12\n\x05\x64raft\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"X\n\x1e\x45xportRevisionStatefileRequest\x12\x36\n\x06parent\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x63onfig.googleapis.com/Revision\"\x81\x01\n\x16ImportStatefileRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x14\n\x07lock_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02\x12\x17\n\nskip_draft\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"f\n\x16\x44\x65leteStatefileRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x14\n\x07lock_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02\"O\n\x15LockDeploymentRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\"g\n\x17UnlockDeploymentRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\x12\x14\n\x07lock_id\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02\"O\n\x15\x45xportLockInfoRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n config.googleapis.com/Deployment\"\x8b\x01\n\x08LockInfo\x12\x0f\n\x07lock_id\x18\x01 \x01(\x03\x12\x11\n\toperation\x18\x02 \x01(\t\x12\x0c\n\x04info\x18\x03 \x01(\t\x12\x0b\n\x03who\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\x12/\n\x0b\x63reate_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe7\x0e\n\x07Preview\x12I\n\x13terraform_blueprint\x18\x06 \x01(\x0b\x32*.google.cloud.config.v1.TerraformBlueprintH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12@\n\x06labels\x18\x03 \x03(\x0b\x32+.google.cloud.config.v1.Preview.LabelsEntryB\x03\xe0\x41\x01\x12\x39\n\x05state\x18\x04 \x01(\x0e\x32%.google.cloud.config.v1.Preview.StateB\x03\xe0\x41\x03\x12<\n\ndeployment\x18\x05 \x01(\tB(\xe0\x41\x01\xfa\x41\"\n config.googleapis.com/Deployment\x12\x46\n\x0cpreview_mode\x18\x0f \x01(\x0e\x32+.google.cloud.config.v1.Preview.PreviewModeB\x03\xe0\x41\x01\x12\x42\n\x0fservice_account\x18\x07 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!iam.googleapis.com/ServiceAccount\x12&\n\x14\x61rtifacts_gcs_bucket\x18\x08 \x01(\tB\x03\xe0\x41\x01H\x01\x88\x01\x01\x12\x46\n\x0bworker_pool\x18\t \x01(\tB,\xe0\x41\x01\xfa\x41&\n$cloudbuild.googleapis.com/WorkerPoolH\x02\x88\x01\x01\x12\x42\n\nerror_code\x18\n \x01(\x0e\x32).google.cloud.config.v1.Preview.ErrorCodeB\x03\xe0\x41\x03\x12-\n\x0c\x65rror_status\x18\x0b \x01(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\x12\x12\n\x05\x62uild\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12>\n\ttf_errors\x18\r \x03(\x0b\x32&.google.cloud.config.v1.TerraformErrorB\x03\xe0\x41\x03\x12\x17\n\nerror_logs\x18\x0e \x01(\tB\x03\xe0\x41\x03\x12H\n\x11preview_artifacts\x18\x10 \x01(\x0b\x32(.google.cloud.config.v1.PreviewArtifactsB\x03\xe0\x41\x03\x12\x11\n\x04logs\x18\x11 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\ntf_version\x18\x12 \x01(\tB\x03\xe0\x41\x03\x12\'\n\x15tf_version_constraint\x18\x13 \x01(\tB\x03\xe0\x41\x01H\x03\x88\x01\x01\x12J\n\x0b\x61nnotations\x18\x14 \x03(\x0b\x32\x30.google.cloud.config.v1.Preview.AnnotationsEntryB\x03\xe0\x41\x01\x12\x44\n\x0fprovider_config\x18\x15 \x01(\x0b\x32&.google.cloud.config.v1.ProviderConfigB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"{\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\x12\x0c\n\x08\x41PPLYING\x10\x03\x12\t\n\x05STALE\x10\x04\x12\x0c\n\x08\x44\x45LETING\x10\x05\x12\n\n\x06\x46\x41ILED\x10\x06\x12\x0b\n\x07\x44\x45LETED\x10\x07\"D\n\x0bPreviewMode\x12\x1c\n\x18PREVIEW_MODE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\"\x96\x02\n\tErrorCode\x12\x1a\n\x16\x45RROR_CODE_UNSPECIFIED\x10\x00\x12!\n\x1d\x43LOUD_BUILD_PERMISSION_DENIED\x10\x01\x12%\n!BUCKET_CREATION_PERMISSION_DENIED\x10\x02\x12\x1a\n\x16\x42UCKET_CREATION_FAILED\x10\x03\x12\"\n\x1e\x44\x45PLOYMENT_LOCK_ACQUIRE_FAILED\x10\x04\x12\x1c\n\x18PREVIEW_BUILD_API_FAILED\x10\x05\x12\x1c\n\x18PREVIEW_BUILD_RUN_FAILED\x10\x06\x12\'\n#EXTERNAL_VALUE_SOURCE_IMPORT_FAILED\x10\x07:q\xea\x41n\n\x1d\x63onfig.googleapis.com/Preview\x12:projects/{project}/locations/{location}/previews/{preview}*\x08previews2\x07previewB\x0b\n\tblueprintB\x17\n\x15_artifacts_gcs_bucketB\x0e\n\x0c_worker_poolB\x18\n\x16_tf_version_constraint\"\xe4\x03\n\x18PreviewOperationMetadata\x12J\n\x04step\x18\x01 \x01(\x0e\x32<.google.cloud.config.v1.PreviewOperationMetadata.PreviewStep\x12\x43\n\x11preview_artifacts\x18\x02 \x01(\x0b\x32(.google.cloud.config.v1.PreviewArtifacts\x12\x11\n\x04logs\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x12\n\x05\x62uild\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\x8f\x02\n\x0bPreviewStep\x12\x1c\n\x18PREVIEW_STEP_UNSPECIFIED\x10\x00\x12\x1c\n\x18PREPARING_STORAGE_BUCKET\x10\x01\x12\x19\n\x15\x44OWNLOADING_BLUEPRINT\x10\x02\x12\x13\n\x0fRUNNING_TF_INIT\x10\x03\x12\x13\n\x0fRUNNING_TF_PLAN\x10\x04\x12\x17\n\x13\x46\x45TCHING_DEPLOYMENT\x10\x05\x12\x16\n\x12LOCKING_DEPLOYMENT\x10\x06\x12\x18\n\x14UNLOCKING_DEPLOYMENT\x10\x07\x12\r\n\tSUCCEEDED\x10\x08\x12\n\n\x06\x46\x41ILED\x10\t\x12\x19\n\x15VALIDATING_REPOSITORY\x10\n\"@\n\x10PreviewArtifacts\x12\x14\n\x07\x63ontent\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x16\n\tartifacts\x18\x02 \x01(\tB\x03\xe0\x41\x03\"\xc2\x01\n\x14\x43reatePreviewRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x17\n\npreview_id\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x35\n\x07preview\x18\x03 \x01(\x0b\x32\x1f.google.cloud.config.v1.PreviewB\x03\xe0\x41\x02\x12\x1f\n\nrequest_id\x18\x04 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"H\n\x11GetPreviewRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63onfig.googleapis.com/Preview\"\xad\x01\n\x13ListPreviewsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"w\n\x14ListPreviewsResponse\x12\x31\n\x08previews\x18\x01 \x03(\x0b\x32\x1f.google.cloud.config.v1.Preview\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"l\n\x14\x44\x65letePreviewRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63onfig.googleapis.com/Preview\x12\x1f\n\nrequest_id\x18\x02 \x01(\tB\x0b\xe0\x41\x01\xe2\x8c\xcf\xd7\x08\x02\x08\x01\"S\n\x1a\x45xportPreviewResultRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63onfig.googleapis.com/Preview\"Y\n\x1b\x45xportPreviewResultResponse\x12:\n\x06result\x18\x01 \x01(\x0b\x32%.google.cloud.config.v1.PreviewResultB\x03\xe0\x41\x03\"M\n\rPreviewResult\x12\x1e\n\x11\x62inary_signed_uri\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x1c\n\x0fjson_signed_uri\x18\x02 \x01(\tB\x03\xe0\x41\x03\"Z\n\x1aGetTerraformVersionRequest\x12<\n\x04name\x18\x01 \x01(\tB.\xe0\x41\x02\xfa\x41(\n&config.googleapis.com/TerraformVersion\"\xb6\x01\n\x1cListTerraformVersionsRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x93\x01\n\x1dListTerraformVersionsResponse\x12\x44\n\x12terraform_versions\x18\x01 \x03(\x0b\x32(.google.cloud.config.v1.TerraformVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\xad\x04\n\x10TerraformVersion\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x42\n\x05state\x18\x02 \x01(\x0e\x32..google.cloud.config.v1.TerraformVersion.StateB\x03\xe0\x41\x03\x12\x35\n\x0csupport_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12<\n\x0e\x64\x65precate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03H\x00\x88\x01\x01\x12;\n\robsolete_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03H\x01\x88\x01\x01\"H\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0e\n\nDEPRECATED\x10\x02\x12\x0c\n\x08OBSOLETE\x10\x03:\xa0\x01\xea\x41\x9c\x01\n&config.googleapis.com/TerraformVersion\x12Mprojects/{project}/locations/{location}/terraformVersions/{terraform_version}*\x11terraformVersions2\x10terraformVersionB\x11\n\x0f_deprecate_timeB\x10\n\x0e_obsolete_time\"\x8f\x01\n\x1bResourceChangeTerraformInfo\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04type\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rresource_name\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x15\n\x08provider\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x14\n\x07\x61\x63tions\x18\x05 \x03(\tB\x03\xe0\x41\x03\"\x8f\x04\n\x0eResourceChange\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12P\n\x0eterraform_info\x18\x02 \x01(\x0b\x32\x33.google.cloud.config.v1.ResourceChangeTerraformInfoB\x03\xe0\x41\x03\x12\x42\n\x06intent\x18\x03 \x01(\x0e\x32-.google.cloud.config.v1.ResourceChange.IntentB\x03\xe0\x41\x03\x12\x45\n\x10property_changes\x18\x04 \x03(\x0b\x32&.google.cloud.config.v1.PropertyChangeB\x03\xe0\x41\x03\"a\n\x06Intent\x12\x16\n\x12INTENT_UNSPECIFIED\x10\x00\x12\n\n\x06\x43REATE\x10\x01\x12\n\n\x06UPDATE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\x12\x0c\n\x08RECREATE\x10\x04\x12\r\n\tUNCHANGED\x10\x05:\xa9\x01\xea\x41\xa5\x01\n$config.googleapis.com/ResourceChange\x12\\projects/{project}/locations/{location}/previews/{preview}/resourceChanges/{resource_change}*\x0fresourceChanges2\x0eresourceChange\"\xc5\x01\n\x0ePropertyChange\x12\x11\n\x04path\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16\x62\x65\x66ore_sensitive_paths\x18\x02 \x03(\tB\x03\xe0\x41\x03\x12+\n\x06\x62\x65\x66ore\x18\x03 \x01(\x0b\x32\x16.google.protobuf.ValueB\x03\xe0\x41\x03\x12\"\n\x15\x61\x66ter_sensitive_paths\x18\x04 \x03(\tB\x03\xe0\x41\x03\x12*\n\x05\x61\x66ter\x18\x05 \x01(\x0b\x32\x16.google.protobuf.ValueB\x03\xe0\x41\x03\"\xb0\x01\n\x1aListResourceChangesRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63onfig.googleapis.com/Preview\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x8d\x01\n\x1bListResourceChangesResponse\x12@\n\x10resource_changes\x18\x01 \x03(\x0b\x32&.google.cloud.config.v1.ResourceChange\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"V\n\x18GetResourceChangeRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$config.googleapis.com/ResourceChange\"x\n\x1aResourceDriftTerraformInfo\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04type\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rresource_name\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x15\n\x08provider\x18\x04 \x01(\tB\x03\xe0\x41\x03\"\xdf\x02\n\rResourceDrift\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12O\n\x0eterraform_info\x18\x02 \x01(\x0b\x32\x32.google.cloud.config.v1.ResourceDriftTerraformInfoB\x03\xe0\x41\x03\x12\x43\n\x0fproperty_drifts\x18\x03 \x03(\x0b\x32%.google.cloud.config.v1.PropertyDriftB\x03\xe0\x41\x03:\xa4\x01\xea\x41\xa0\x01\n#config.googleapis.com/ResourceDrift\x12Zprojects/{project}/locations/{location}/previews/{preview}/resourceDrifts/{resource_drift}*\x0eresourceDrifts2\rresourceDrift\"\xc4\x01\n\rPropertyDrift\x12\x11\n\x04path\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16\x62\x65\x66ore_sensitive_paths\x18\x02 \x03(\tB\x03\xe0\x41\x03\x12+\n\x06\x62\x65\x66ore\x18\x03 \x01(\x0b\x32\x16.google.protobuf.ValueB\x03\xe0\x41\x03\x12\"\n\x15\x61\x66ter_sensitive_paths\x18\x04 \x03(\tB\x03\xe0\x41\x03\x12*\n\x05\x61\x66ter\x18\x05 \x01(\x0b\x32\x16.google.protobuf.ValueB\x03\xe0\x41\x03\"\xaf\x01\n\x19ListResourceDriftsRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63onfig.googleapis.com/Preview\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x8a\x01\n\x1aListResourceDriftsResponse\x12>\n\x0fresource_drifts\x18\x01 \x03(\x0b\x32%.google.cloud.config.v1.ResourceDrift\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"T\n\x17GetResourceDriftRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#config.googleapis.com/ResourceDrift\"\xc1\x01\n\x0eProviderConfig\x12T\n\x0bsource_type\x18\x01 \x01(\x0e\x32\x35.google.cloud.config.v1.ProviderConfig.ProviderSourceB\x03\xe0\x41\x01H\x00\x88\x01\x01\"I\n\x0eProviderSource\x12\x1f\n\x1bPROVIDER_SOURCE_UNSPECIFIED\x10\x00\x12\x16\n\x12SERVICE_MAINTAINED\x10\x01\x42\x0e\n\x0c_source_type\"`\n\x1dGetAutoMigrationConfigRequest\x12?\n\x04name\x18\x01 \x01(\tB1\xe0\x41\x02\xfa\x41+\n)config.googleapis.com/AutoMigrationConfig\"\x9d\x02\n\x13\x41utoMigrationConfig\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0bupdate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12#\n\x16\x61uto_migration_enabled\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01:\x97\x01\xea\x41\x93\x01\n)config.googleapis.com/AutoMigrationConfig\x12;projects/{project}/locations/{location}/autoMigrationConfig*\x14\x61utoMigrationConfigs2\x13\x61utoMigrationConfig\"\xa9\x01\n UpdateAutoMigrationConfigRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12O\n\x15\x61uto_migration_config\x18\x02 \x01(\x0b\x32+.google.cloud.config.v1.AutoMigrationConfigB\x03\xe0\x41\x02*N\n\x0fQuotaValidation\x12 \n\x1cQUOTA_VALIDATION_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x45NFORCED\x10\x02\x32\xb9-\n\x06\x43onfig\x12\xb4\x01\n\x0fListDeployments\x12..google.cloud.config.v1.ListDeploymentsRequest\x1a/.google.cloud.config.v1.ListDeploymentsResponse\"@\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x31\x12//v1/{parent=projects/*/locations/*}/deployments\x12\xa1\x01\n\rGetDeployment\x12,.google.cloud.config.v1.GetDeploymentRequest\x1a\".google.cloud.config.v1.Deployment\">\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31\x12//v1/{name=projects/*/locations/*/deployments/*}\x12\xec\x01\n\x10\x43reateDeployment\x12/.google.cloud.config.v1.CreateDeploymentRequest\x1a\x1d.google.longrunning.Operation\"\x87\x01\xca\x41\x1f\n\nDeployment\x12\x11OperationMetadata\xda\x41\x1fparent,deployment,deployment_id\x82\xd3\xe4\x93\x02=\"//v1/{parent=projects/*/locations/*}/deployments:\ndeployment\x12\xee\x01\n\x10UpdateDeployment\x12/.google.cloud.config.v1.UpdateDeploymentRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41\x1f\n\nDeployment\x12\x11OperationMetadata\xda\x41\x16\x64\x65ployment,update_mask\x82\xd3\xe4\x93\x02H2:/v1/{deployment.name=projects/*/locations/*/deployments/*}:\ndeployment\x12\xc4\x01\n\x10\x44\x65leteDeployment\x12/.google.cloud.config.v1.DeleteDeploymentRequest\x1a\x1d.google.longrunning.Operation\"`\xca\x41\x1f\n\nDeployment\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x31*//v1/{name=projects/*/locations/*/deployments/*}\x12\xba\x01\n\rListRevisions\x12,.google.cloud.config.v1.ListRevisionsRequest\x1a-.google.cloud.config.v1.ListRevisionsResponse\"L\xda\x41\x06parent\x82\xd3\xe4\x93\x02=\x12;/v1/{parent=projects/*/locations/*/deployments/*}/revisions\x12\xa7\x01\n\x0bGetRevision\x12*.google.cloud.config.v1.GetRevisionRequest\x1a .google.cloud.config.v1.Revision\"J\xda\x41\x04name\x82\xd3\xe4\x93\x02=\x12;/v1/{name=projects/*/locations/*/deployments/*/revisions/*}\x12\xb3\x01\n\x0bGetResource\x12*.google.cloud.config.v1.GetResourceRequest\x1a .google.cloud.config.v1.Resource\"V\xda\x41\x04name\x82\xd3\xe4\x93\x02I\x12G/v1/{name=projects/*/locations/*/deployments/*/revisions/*/resources/*}\x12\xc6\x01\n\rListResources\x12,.google.cloud.config.v1.ListResourcesRequest\x1a-.google.cloud.config.v1.ListResourcesResponse\"X\xda\x41\x06parent\x82\xd3\xe4\x93\x02I\x12G/v1/{parent=projects/*/locations/*/deployments/*/revisions/*}/resources\x12\xc2\x01\n\x19\x45xportDeploymentStatefile\x12\x38.google.cloud.config.v1.ExportDeploymentStatefileRequest\x1a!.google.cloud.config.v1.Statefile\"H\x82\xd3\xe4\x93\x02\x42\"=/v1/{parent=projects/*/locations/*/deployments/*}:exportState:\x01*\x12\xca\x01\n\x17\x45xportRevisionStatefile\x12\x36.google.cloud.config.v1.ExportRevisionStatefileRequest\x1a!.google.cloud.config.v1.Statefile\"T\x82\xd3\xe4\x93\x02N\"I/v1/{parent=projects/*/locations/*/deployments/*/revisions/*}:exportState:\x01*\x12\xbf\x01\n\x0fImportStatefile\x12..google.cloud.config.v1.ImportStatefileRequest\x1a!.google.cloud.config.v1.Statefile\"Y\xda\x41\x0eparent,lock_id\x82\xd3\xe4\x93\x02\x42\"=/v1/{parent=projects/*/locations/*/deployments/*}:importState:\x01*\x12\xa8\x01\n\x0f\x44\x65leteStatefile\x12..google.cloud.config.v1.DeleteStatefileRequest\x1a\x16.google.protobuf.Empty\"M\xda\x41\x04name\x82\xd3\xe4\x93\x02@\";/v1/{name=projects/*/locations/*/deployments/*}:deleteState:\x01*\x12\xc8\x01\n\x0eLockDeployment\x12-.google.cloud.config.v1.LockDeploymentRequest\x1a\x1d.google.longrunning.Operation\"h\xca\x41\x1f\n\nDeployment\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x39\"4/v1/{name=projects/*/locations/*/deployments/*}:lock:\x01*\x12\xd6\x01\n\x10UnlockDeployment\x12/.google.cloud.config.v1.UnlockDeploymentRequest\x1a\x1d.google.longrunning.Operation\"r\xca\x41\x1f\n\nDeployment\x12\x11OperationMetadata\xda\x41\x0cname,lock_id\x82\xd3\xe4\x93\x02;\"6/v1/{name=projects/*/locations/*/deployments/*}:unlock:\x01*\x12\xac\x01\n\x0e\x45xportLockInfo\x12-.google.cloud.config.v1.ExportLockInfoRequest\x1a .google.cloud.config.v1.LockInfo\"I\xda\x41\x04name\x82\xd3\xe4\x93\x02<\x12:/v1/{name=projects/*/locations/*/deployments/*}:exportLock\x12\xcb\x01\n\rCreatePreview\x12,.google.cloud.config.v1.CreatePreviewRequest\x1a\x1d.google.longrunning.Operation\"m\xca\x41\x1c\n\x07Preview\x12\x11OperationMetadata\xda\x41\x0eparent,preview\x82\xd3\xe4\x93\x02\x37\",/v1/{parent=projects/*/locations/*}/previews:\x07preview\x12\x95\x01\n\nGetPreview\x12).google.cloud.config.v1.GetPreviewRequest\x1a\x1f.google.cloud.config.v1.Preview\";\xda\x41\x04name\x82\xd3\xe4\x93\x02.\x12,/v1/{name=projects/*/locations/*/previews/*}\x12\xa8\x01\n\x0cListPreviews\x12+.google.cloud.config.v1.ListPreviewsRequest\x1a,.google.cloud.config.v1.ListPreviewsResponse\"=\xda\x41\x06parent\x82\xd3\xe4\x93\x02.\x12,/v1/{parent=projects/*/locations/*}/previews\x12\xb8\x01\n\rDeletePreview\x12,.google.cloud.config.v1.DeletePreviewRequest\x1a\x1d.google.longrunning.Operation\"Z\xca\x41\x1c\n\x07Preview\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02.*,/v1/{name=projects/*/locations/*/previews/*}\x12\xc0\x01\n\x13\x45xportPreviewResult\x12\x32.google.cloud.config.v1.ExportPreviewResultRequest\x1a\x33.google.cloud.config.v1.ExportPreviewResultResponse\"@\x82\xd3\xe4\x93\x02:\"5/v1/{parent=projects/*/locations/*/previews/*}:export:\x01*\x12\xcc\x01\n\x15ListTerraformVersions\x12\x34.google.cloud.config.v1.ListTerraformVersionsRequest\x1a\x35.google.cloud.config.v1.ListTerraformVersionsResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*}/terraformVersions\x12\xb9\x01\n\x13GetTerraformVersion\x12\x32.google.cloud.config.v1.GetTerraformVersionRequest\x1a(.google.cloud.config.v1.TerraformVersion\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/terraformVersions/*}\x12\xcf\x01\n\x13ListResourceChanges\x12\x32.google.cloud.config.v1.ListResourceChangesRequest\x1a\x33.google.cloud.config.v1.ListResourceChangesResponse\"O\xda\x41\x06parent\x82\xd3\xe4\x93\x02@\x12>/v1/{parent=projects/*/locations/*/previews/*}/resourceChanges\x12\xbc\x01\n\x11GetResourceChange\x12\x30.google.cloud.config.v1.GetResourceChangeRequest\x1a&.google.cloud.config.v1.ResourceChange\"M\xda\x41\x04name\x82\xd3\xe4\x93\x02@\x12>/v1/{name=projects/*/locations/*/previews/*/resourceChanges/*}\x12\xcb\x01\n\x12ListResourceDrifts\x12\x31.google.cloud.config.v1.ListResourceDriftsRequest\x1a\x32.google.cloud.config.v1.ListResourceDriftsResponse\"N\xda\x41\x06parent\x82\xd3\xe4\x93\x02?\x12=/v1/{parent=projects/*/locations/*/previews/*}/resourceDrifts\x12\xb8\x01\n\x10GetResourceDrift\x12/.google.cloud.config.v1.GetResourceDriftRequest\x1a%.google.cloud.config.v1.ResourceDrift\"L\xda\x41\x04name\x82\xd3\xe4\x93\x02?\x12=/v1/{name=projects/*/locations/*/previews/*/resourceDrifts/*}\x12\xc2\x01\n\x16GetAutoMigrationConfig\x12\x35.google.cloud.config.v1.GetAutoMigrationConfigRequest\x1a+.google.cloud.config.v1.AutoMigrationConfig\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/autoMigrationConfig}\x12\xb0\x02\n\x19UpdateAutoMigrationConfig\x12\x38.google.cloud.config.v1.UpdateAutoMigrationConfigRequest\x1a\x1d.google.longrunning.Operation\"\xb9\x01\xca\x41(\n\x13\x41utoMigrationConfig\x12\x11OperationMetadata\xda\x41!auto_migration_config,update_mask\x82\xd3\xe4\x93\x02\x64\x32K/v1/{auto_migration_config.name=projects/*/locations/*/autoMigrationConfig}:\x15\x61uto_migration_config\x1aI\xca\x41\x15\x63onfig.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xfc\x02\n\x1a\x63om.google.cloud.config.v1B\x0b\x43onfigProtoP\x01Z2cloud.google.com/go/config/apiv1/configpb;configpb\xaa\x02\x16Google.Cloud.Config.V1\xca\x02\x16Google\\Cloud\\Config\\V1\xea\x02 Google::Cloud::ConfigService::V1\xea\x41Y\n!iam.googleapis.com/ServiceAccount\x12\x34projects/{project}/serviceAccounts/{service_account}\xea\x41i\n$cloudbuild.googleapis.com/WorkerPool\x12\x41projects/{project}/locations/{location}/workerPools/{worker_pool}b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -130,6 +130,9 @@ module V1 GetResourceDriftRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.config.v1.GetResourceDriftRequest").msgclass ProviderConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.config.v1.ProviderConfig").msgclass ProviderConfig::ProviderSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.config.v1.ProviderConfig.ProviderSource").enummodule + GetAutoMigrationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.config.v1.GetAutoMigrationConfigRequest").msgclass + AutoMigrationConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.config.v1.AutoMigrationConfig").msgclass + UpdateAutoMigrationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.config.v1.UpdateAutoMigrationConfigRequest").msgclass QuotaValidation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.config.v1.QuotaValidation").enummodule end end diff --git a/google-cloud-config_service-v1/lib/google/cloud/config/v1/config_services_pb.rb b/google-cloud-config_service-v1/lib/google/cloud/config/v1/config_services_pb.rb index a923b8b8367c..872dc2e254d7 100644 --- a/google-cloud-config_service-v1/lib/google/cloud/config/v1/config_services_pb.rb +++ b/google-cloud-config_service-v1/lib/google/cloud/config/v1/config_services_pb.rb @@ -94,6 +94,10 @@ class Service rpc :ListResourceDrifts, ::Google::Cloud::ConfigService::V1::ListResourceDriftsRequest, ::Google::Cloud::ConfigService::V1::ListResourceDriftsResponse # Get a ResourceDrift for a given preview. rpc :GetResourceDrift, ::Google::Cloud::ConfigService::V1::GetResourceDriftRequest, ::Google::Cloud::ConfigService::V1::ResourceDrift + # Get the AutoMigrationConfig for a given project and location. + rpc :GetAutoMigrationConfig, ::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest, ::Google::Cloud::ConfigService::V1::AutoMigrationConfig + # Updates the AutoMigrationConfig for a given project and location. + rpc :UpdateAutoMigrationConfig, ::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest, ::Google::Longrunning::Operation end Stub = Service.rpc_stub_class diff --git a/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/client.rb b/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/client.rb index 4ad4cd13d0ea..92433923325e 100644 --- a/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/client.rb +++ b/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/client.rb @@ -2977,6 +2977,190 @@ def get_resource_drift request, options = nil raise ::Google::Cloud::Error.from_error(e) end + ## + # Get the AutoMigrationConfig for a given project and location. + # + # @overload get_auto_migration_config(request, options = nil) + # Pass arguments to `get_auto_migration_config` via a request object, either of type + # {::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload get_auto_migration_config(name: nil) + # Pass arguments to `get_auto_migration_config` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # Required. The name of the AutoMigrationConfig. + # Format: + # 'projects/\\{project_id}/locations/\\{location}/AutoMigrationConfig'. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Google::Cloud::ConfigService::V1::AutoMigrationConfig] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Google::Cloud::ConfigService::V1::AutoMigrationConfig] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/cloud/config_service/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::ConfigService::V1::Config::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest.new + # + # # Call the get_auto_migration_config method. + # result = client.get_auto_migration_config request + # + # # The returned object is of type Google::Cloud::ConfigService::V1::AutoMigrationConfig. + # p result + # + def get_auto_migration_config request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.get_auto_migration_config.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::ConfigService::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.name + header_params["name"] = request.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.get_auto_migration_config.timeout, + metadata: metadata, + retry_policy: @config.rpcs.get_auto_migration_config.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @config_stub.call_rpc :get_auto_migration_config, request, options: options do |response, operation| + yield response, operation if block_given? + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Updates the AutoMigrationConfig for a given project and location. + # + # @overload update_auto_migration_config(request, options = nil) + # Pass arguments to `update_auto_migration_config` via a request object, either of type + # {::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional. + # + # @overload update_auto_migration_config(update_mask: nil, auto_migration_config: nil) + # Pass arguments to `update_auto_migration_config` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param update_mask [::Google::Protobuf::FieldMask, ::Hash] + # Optional. The update mask applies to the resource. See + # {::Google::Protobuf::FieldMask google.protobuf.FieldMask}. + # @param auto_migration_config [::Google::Cloud::ConfigService::V1::AutoMigrationConfig, ::Hash] + # Required. The AutoMigrationConfig to update. + # + # @yield [response, operation] Access the result along with the RPC operation + # @yieldparam response [::Gapic::Operation] + # @yieldparam operation [::GRPC::ActiveCall::Operation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the RPC is aborted. + # + # @example Basic example + # require "google/cloud/config_service/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::ConfigService::V1::Config::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest.new + # + # # Call the update_auto_migration_config method. + # result = client.update_auto_migration_config request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def update_auto_migration_config request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + metadata = @config.rpcs.update_auto_migration_config.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::ConfigService::V1::VERSION + metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + header_params = {} + if request.auto_migration_config&.name + header_params["auto_migration_config.name"] = request.auto_migration_config.name + end + + request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&") + metadata[:"x-goog-request-params"] ||= request_params_header + + options.apply_defaults timeout: @config.rpcs.update_auto_migration_config.timeout, + metadata: metadata, + retry_policy: @config.rpcs.update_auto_migration_config.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @config_stub.call_rpc :update_auto_migration_config, request, options: options do |response, operation| + response = ::Gapic::Operation.new response, @operations_client, options: options + yield response, operation if block_given? + throw :response, response + end + rescue ::GRPC::BadStatus => e + raise ::Google::Cloud::Error.from_error(e) + end + ## # Configuration class for the Config API. # @@ -3295,6 +3479,16 @@ class Rpcs # @return [::Gapic::Config::Method] # attr_reader :get_resource_drift + ## + # RPC-specific configuration for `get_auto_migration_config` + # @return [::Gapic::Config::Method] + # + attr_reader :get_auto_migration_config + ## + # RPC-specific configuration for `update_auto_migration_config` + # @return [::Gapic::Config::Method] + # + attr_reader :update_auto_migration_config # @private def initialize parent_rpcs = nil @@ -3352,6 +3546,10 @@ def initialize parent_rpcs = nil @list_resource_drifts = ::Gapic::Config::Method.new list_resource_drifts_config get_resource_drift_config = parent_rpcs.get_resource_drift if parent_rpcs.respond_to? :get_resource_drift @get_resource_drift = ::Gapic::Config::Method.new get_resource_drift_config + get_auto_migration_config_config = parent_rpcs.get_auto_migration_config if parent_rpcs.respond_to? :get_auto_migration_config + @get_auto_migration_config = ::Gapic::Config::Method.new get_auto_migration_config_config + update_auto_migration_config_config = parent_rpcs.update_auto_migration_config if parent_rpcs.respond_to? :update_auto_migration_config + @update_auto_migration_config = ::Gapic::Config::Method.new update_auto_migration_config_config yield self if block_given? end diff --git a/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/paths.rb b/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/paths.rb index b4b7e05cec1c..9ec9cfa37b88 100644 --- a/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/paths.rb +++ b/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/paths.rb @@ -24,6 +24,23 @@ module V1 module Config # Path helper methods for the Config API. module Paths + ## + # Create a fully-qualified AutoMigrationConfig resource string. + # + # The resource will be in the following format: + # + # `projects/{project}/locations/{location}/autoMigrationConfig` + # + # @param project [String] + # @param location [String] + # + # @return [::String] + def auto_migration_config_path project:, location: + raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/" + + "projects/#{project}/locations/#{location}/autoMigrationConfig" + end + ## # Create a fully-qualified Deployment resource string. # diff --git a/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/rest/client.rb b/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/rest/client.rb index 4fc891b8db7e..3ca44f675e84 100644 --- a/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/rest/client.rb +++ b/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/rest/client.rb @@ -2783,6 +2783,176 @@ def get_resource_drift request, options = nil raise ::Google::Cloud::Error.from_error(e) end + ## + # Get the AutoMigrationConfig for a given project and location. + # + # @overload get_auto_migration_config(request, options = nil) + # Pass arguments to `get_auto_migration_config` via a request object, either of type + # {::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @overload get_auto_migration_config(name: nil) + # Pass arguments to `get_auto_migration_config` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param name [::String] + # Required. The name of the AutoMigrationConfig. + # Format: + # 'projects/\\{project_id}/locations/\\{location}/AutoMigrationConfig'. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Cloud::ConfigService::V1::AutoMigrationConfig] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::ConfigService::V1::AutoMigrationConfig] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/config_service/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::ConfigService::V1::Config::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest.new + # + # # Call the get_auto_migration_config method. + # result = client.get_auto_migration_config request + # + # # The returned object is of type Google::Cloud::ConfigService::V1::AutoMigrationConfig. + # p result + # + def get_auto_migration_config request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + call_metadata = @config.rpcs.get_auto_migration_config.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::ConfigService::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.get_auto_migration_config.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.get_auto_migration_config.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @config_stub.get_auto_migration_config request, options do |result, operation| + yield result, operation if block_given? + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + + ## + # Updates the AutoMigrationConfig for a given project and location. + # + # @overload update_auto_migration_config(request, options = nil) + # Pass arguments to `update_auto_migration_config` via a request object, either of type + # {::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest} or an equivalent Hash. + # + # @param request [::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest, ::Hash] + # A request object representing the call parameters. Required. To specify no + # parameters, or to keep all the default parameter values, pass an empty Hash. + # @param options [::Gapic::CallOptions, ::Hash] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @overload update_auto_migration_config(update_mask: nil, auto_migration_config: nil) + # Pass arguments to `update_auto_migration_config` via keyword arguments. Note that at + # least one keyword argument is required. To specify no parameters, or to keep all + # the default parameter values, pass an empty Hash as a request object (see above). + # + # @param update_mask [::Google::Protobuf::FieldMask, ::Hash] + # Optional. The update mask applies to the resource. See + # {::Google::Protobuf::FieldMask google.protobuf.FieldMask}. + # @param auto_migration_config [::Google::Cloud::ConfigService::V1::AutoMigrationConfig, ::Hash] + # Required. The AutoMigrationConfig to update. + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Gapic::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Gapic::Operation] + # + # @raise [::Google::Cloud::Error] if the REST call is aborted. + # + # @example Basic example + # require "google/cloud/config_service/v1" + # + # # Create a client object. The client can be reused for multiple calls. + # client = Google::Cloud::ConfigService::V1::Config::Rest::Client.new + # + # # Create a request. To set request fields, pass in keyword arguments. + # request = Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest.new + # + # # Call the update_auto_migration_config method. + # result = client.update_auto_migration_config request + # + # # The returned object is of type Gapic::Operation. You can use it to + # # check the status of an operation, cancel it, or wait for results. + # # Here is how to wait for a response. + # result.wait_until_done! timeout: 60 + # if result.response? + # p result.response + # else + # puts "No response received." + # end + # + def update_auto_migration_config request, options = nil + raise ::ArgumentError, "request must be provided" if request.nil? + + request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest + + # Converts hash and nil to an options object + options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h + + # Customize the options with defaults + call_metadata = @config.rpcs.update_auto_migration_config.metadata.to_h + + # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers + call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \ + lib_name: @config.lib_name, lib_version: @config.lib_version, + gapic_version: ::Google::Cloud::ConfigService::V1::VERSION, + transports_version_send: [:rest] + + call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty? + call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id + + options.apply_defaults timeout: @config.rpcs.update_auto_migration_config.timeout, + metadata: call_metadata, + retry_policy: @config.rpcs.update_auto_migration_config.retry_policy + + options.apply_defaults timeout: @config.timeout, + metadata: @config.metadata, + retry_policy: @config.retry_policy + + @config_stub.update_auto_migration_config request, options do |result, operation| + result = ::Gapic::Operation.new result, @operations_client, options: options + yield result, operation if block_given? + throw :response, result + end + rescue ::Gapic::Rest::Error => e + raise ::Google::Cloud::Error.from_error(e) + end + ## # Configuration class for the Config REST API. # @@ -3071,6 +3241,16 @@ class Rpcs # @return [::Gapic::Config::Method] # attr_reader :get_resource_drift + ## + # RPC-specific configuration for `get_auto_migration_config` + # @return [::Gapic::Config::Method] + # + attr_reader :get_auto_migration_config + ## + # RPC-specific configuration for `update_auto_migration_config` + # @return [::Gapic::Config::Method] + # + attr_reader :update_auto_migration_config # @private def initialize parent_rpcs = nil @@ -3128,6 +3308,10 @@ def initialize parent_rpcs = nil @list_resource_drifts = ::Gapic::Config::Method.new list_resource_drifts_config get_resource_drift_config = parent_rpcs.get_resource_drift if parent_rpcs.respond_to? :get_resource_drift @get_resource_drift = ::Gapic::Config::Method.new get_resource_drift_config + get_auto_migration_config_config = parent_rpcs.get_auto_migration_config if parent_rpcs.respond_to? :get_auto_migration_config + @get_auto_migration_config = ::Gapic::Config::Method.new get_auto_migration_config_config + update_auto_migration_config_config = parent_rpcs.update_auto_migration_config if parent_rpcs.respond_to? :update_auto_migration_config + @update_auto_migration_config = ::Gapic::Config::Method.new update_auto_migration_config_config yield self if block_given? end diff --git a/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/rest/service_stub.rb b/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/rest/service_stub.rb index 9f60b38ea9e6..91542b09cd11 100644 --- a/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/rest/service_stub.rb +++ b/google-cloud-config_service-v1/lib/google/cloud/config_service/v1/config/rest/service_stub.rb @@ -1153,6 +1153,86 @@ def get_resource_drift request_pb, options = nil end end + ## + # Baseline implementation for the get_auto_migration_config REST call + # + # @param request_pb [::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest] + # A request object representing the call parameters. Required. + # @param options [::Gapic::CallOptions] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Cloud::ConfigService::V1::AutoMigrationConfig] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Cloud::ConfigService::V1::AutoMigrationConfig] + # A result object deserialized from the server's reply + def get_auto_migration_config request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_get_auto_migration_config_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split "=", 2 } + else + {} + end + + response = @client_stub.make_http_request( + verb, + uri: uri, + body: body || "", + params: query_string_params, + method_name: "get_auto_migration_config", + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Cloud::ConfigService::V1::AutoMigrationConfig.decode_json response.body, ignore_unknown_fields: true + catch :response do + yield result, operation if block_given? + result + end + end + + ## + # Baseline implementation for the update_auto_migration_config REST call + # + # @param request_pb [::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest] + # A request object representing the call parameters. Required. + # @param options [::Gapic::CallOptions] + # Overrides the default settings for this call, e.g, timeout, retries etc. Optional. + # + # @yield [result, operation] Access the result along with the TransportOperation object + # @yieldparam result [::Google::Longrunning::Operation] + # @yieldparam operation [::Gapic::Rest::TransportOperation] + # + # @return [::Google::Longrunning::Operation] + # A result object deserialized from the server's reply + def update_auto_migration_config request_pb, options = nil + raise ::ArgumentError, "request must be provided" if request_pb.nil? + + verb, uri, query_string_params, body = ServiceStub.transcode_update_auto_migration_config_request request_pb + query_string_params = if query_string_params.any? + query_string_params.to_h { |p| p.split "=", 2 } + else + {} + end + + response = @client_stub.make_http_request( + verb, + uri: uri, + body: body || "", + params: query_string_params, + method_name: "update_auto_migration_config", + options: options + ) + operation = ::Gapic::Rest::TransportOperation.new response + result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true + catch :response do + yield result, operation if block_given? + result + end + end + ## # @private # @@ -1729,6 +1809,49 @@ def self.transcode_get_resource_drift_request request_pb ) transcoder.transcode request_pb end + + ## + # @private + # + # GRPC transcoding helper method for the get_auto_migration_config REST call + # + # @param request_pb [::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def self.transcode_get_auto_migration_config_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :get, + uri_template: "/v1/{name}", + matches: [ + ["name", %r{^projects/[^/]+/locations/[^/]+/autoMigrationConfig/?$}, false] + ] + ) + transcoder.transcode request_pb + end + + ## + # @private + # + # GRPC transcoding helper method for the update_auto_migration_config REST call + # + # @param request_pb [::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest] + # A request object representing the call parameters. Required. + # @return [Array(String, [String, nil], Hash{String => String})] + # Uri, Body, Query string parameters + def self.transcode_update_auto_migration_config_request request_pb + transcoder = Gapic::Rest::GrpcTranscoder.new + .with_bindings( + uri_method: :patch, + uri_template: "/v1/{auto_migration_config.name}", + body: "auto_migration_config", + matches: [ + ["auto_migration_config.name", %r{^projects/[^/]+/locations/[^/]+/autoMigrationConfig/?$}, false] + ] + ) + transcoder.transcode request_pb + end end end end diff --git a/google-cloud-config_service-v1/proto_docs/google/cloud/config/v1/config.rb b/google-cloud-config_service-v1/proto_docs/google/cloud/config/v1/config.rb index d027d4ac40f7..c16472354889 100644 --- a/google-cloud-config_service-v1/proto_docs/google/cloud/config/v1/config.rb +++ b/google-cloud-config_service-v1/proto_docs/google/cloud/config/v1/config.rb @@ -206,6 +206,9 @@ module ErrorCode # Cloud Storage bucket creation failed due to an issue unrelated to # permissions. BUCKET_CREATION_FAILED = 8 + + # Failed to import values from an external source. + EXTERNAL_VALUE_SOURCE_IMPORT_FAILED = 10 end # Possible lock states of a deployment. @@ -753,6 +756,9 @@ module ErrorCode # quota validation failed for one or more resources in terraform # configuration files. QUOTA_VALIDATION_FAILED = 7 + + # Failed to import values from an external source. + EXTERNAL_VALUE_SOURCE_IMPORT_FAILED = 8 end end @@ -1331,6 +1337,9 @@ module ErrorCode # Preview created a build but build failed and logs were generated. PREVIEW_BUILD_RUN_FAILED = 6 + + # Failed to import values from an external source. + EXTERNAL_VALUE_SOURCE_IMPORT_FAILED = 7 end end @@ -1959,6 +1968,47 @@ module ProviderSource end end + # The request message for the GetAutoMigrationConfig method. + # @!attribute [rw] name + # @return [::String] + # Required. The name of the AutoMigrationConfig. + # Format: + # 'projects/\\{project_id}/locations/\\{location}/AutoMigrationConfig'. + class GetAutoMigrationConfigRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # AutoMigrationConfig contains the automigration configuration for a project. + # @!attribute [rw] name + # @return [::String] + # Identifier. The name of the AutoMigrationConfig. + # Format: + # 'projects/\\{project_id}/locations/\\{location}/AutoMigrationConfig'. + # @!attribute [r] update_time + # @return [::Google::Protobuf::Timestamp] + # Output only. Time the AutoMigrationConfig was last updated. + # @!attribute [rw] auto_migration_enabled + # @return [::Boolean] + # Optional. Whether the auto migration is enabled for the project. + class AutoMigrationConfig + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The request message for the UpdateAutoMigrationConfig method. + # @!attribute [rw] update_mask + # @return [::Google::Protobuf::FieldMask] + # Optional. The update mask applies to the resource. See + # {::Google::Protobuf::FieldMask google.protobuf.FieldMask}. + # @!attribute [rw] auto_migration_config + # @return [::Google::Cloud::ConfigService::V1::AutoMigrationConfig] + # Required. The AutoMigrationConfig to update. + class UpdateAutoMigrationConfigRequest + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + # Enum values to control quota checks for resources in terraform # configuration files. module QuotaValidation diff --git a/google-cloud-config_service-v1/snippets/config/get_auto_migration_config.rb b/google-cloud-config_service-v1/snippets/config/get_auto_migration_config.rb new file mode 100644 index 000000000000..63acb68386a6 --- /dev/null +++ b/google-cloud-config_service-v1/snippets/config/get_auto_migration_config.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +# Copyright 2026 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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START inframanager_v1_generated_Config_GetAutoMigrationConfig_sync] +require "google/cloud/config_service/v1" + +## +# Snippet for the get_auto_migration_config call in the Config service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::ConfigService::V1::Config::Client#get_auto_migration_config. +# +def get_auto_migration_config + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::ConfigService::V1::Config::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest.new + + # Call the get_auto_migration_config method. + result = client.get_auto_migration_config request + + # The returned object is of type Google::Cloud::ConfigService::V1::AutoMigrationConfig. + p result +end +# [END inframanager_v1_generated_Config_GetAutoMigrationConfig_sync] diff --git a/google-cloud-config_service-v1/snippets/config/update_auto_migration_config.rb b/google-cloud-config_service-v1/snippets/config/update_auto_migration_config.rb new file mode 100644 index 000000000000..502cb8c0eb2b --- /dev/null +++ b/google-cloud-config_service-v1/snippets/config/update_auto_migration_config.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +# Copyright 2026 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. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + +# [START inframanager_v1_generated_Config_UpdateAutoMigrationConfig_sync] +require "google/cloud/config_service/v1" + +## +# Snippet for the update_auto_migration_config call in the Config service +# +# This snippet has been automatically generated and should be regarded as a code +# template only. It will require modifications to work: +# - It may require correct/in-range values for request initialization. +# - It may require specifying regional endpoints when creating the service +# client as shown in https://cloud.google.com/ruby/docs/reference. +# +# This is an auto-generated example demonstrating basic usage of +# Google::Cloud::ConfigService::V1::Config::Client#update_auto_migration_config. +# +def update_auto_migration_config + # Create a client object. The client can be reused for multiple calls. + client = Google::Cloud::ConfigService::V1::Config::Client.new + + # Create a request. To set request fields, pass in keyword arguments. + request = Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest.new + + # Call the update_auto_migration_config method. + result = client.update_auto_migration_config request + + # The returned object is of type Gapic::Operation. You can use it to + # check the status of an operation, cancel it, or wait for results. + # Here is how to wait for a response. + result.wait_until_done! timeout: 60 + if result.response? + p result.response + else + puts "No response received." + end +end +# [END inframanager_v1_generated_Config_UpdateAutoMigrationConfig_sync] diff --git a/google-cloud-config_service-v1/snippets/snippet_metadata_google.cloud.config.v1.json b/google-cloud-config_service-v1/snippets/snippet_metadata_google.cloud.config.v1.json index b80b8bd4ec16..e5ecfca76aab 100644 --- a/google-cloud-config_service-v1/snippets/snippet_metadata_google.cloud.config.v1.json +++ b/google-cloud-config_service-v1/snippets/snippet_metadata_google.cloud.config.v1.json @@ -1090,6 +1090,86 @@ "type": "FULL" } ] + }, + { + "region_tag": "inframanager_v1_generated_Config_GetAutoMigrationConfig_sync", + "title": "Snippet for the get_auto_migration_config call in the Config service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::ConfigService::V1::Config::Client#get_auto_migration_config.", + "file": "config/get_auto_migration_config.rb", + "language": "RUBY", + "client_method": { + "short_name": "get_auto_migration_config", + "full_name": "::Google::Cloud::ConfigService::V1::Config::Client#get_auto_migration_config", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest", + "name": "request" + } + ], + "result_type": "::Google::Cloud::ConfigService::V1::AutoMigrationConfig", + "client": { + "short_name": "Config::Client", + "full_name": "::Google::Cloud::ConfigService::V1::Config::Client" + }, + "method": { + "short_name": "GetAutoMigrationConfig", + "full_name": "google.cloud.config.v1.Config.GetAutoMigrationConfig", + "service": { + "short_name": "Config", + "full_name": "google.cloud.config.v1.Config" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 46, + "type": "FULL" + } + ] + }, + { + "region_tag": "inframanager_v1_generated_Config_UpdateAutoMigrationConfig_sync", + "title": "Snippet for the update_auto_migration_config call in the Config service", + "description": "This is an auto-generated example demonstrating basic usage of Google::Cloud::ConfigService::V1::Config::Client#update_auto_migration_config.", + "file": "config/update_auto_migration_config.rb", + "language": "RUBY", + "client_method": { + "short_name": "update_auto_migration_config", + "full_name": "::Google::Cloud::ConfigService::V1::Config::Client#update_auto_migration_config", + "async": false, + "parameters": [ + { + "type": "::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest", + "name": "request" + } + ], + "result_type": "::Google::Longrunning::Operation", + "client": { + "short_name": "Config::Client", + "full_name": "::Google::Cloud::ConfigService::V1::Config::Client" + }, + "method": { + "short_name": "UpdateAutoMigrationConfig", + "full_name": "google.cloud.config.v1.Config.UpdateAutoMigrationConfig", + "service": { + "short_name": "Config", + "full_name": "google.cloud.config.v1.Config" + } + } + }, + "canonical": true, + "origin": "API_DEFINITION", + "segments": [ + { + "start": 20, + "end": 53, + "type": "FULL" + } + ] } ] } \ No newline at end of file diff --git a/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_paths_test.rb b/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_paths_test.rb index 1310eaba0451..abcdf1ac13e6 100644 --- a/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_paths_test.rb +++ b/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_paths_test.rb @@ -41,6 +41,18 @@ def logger end end + def test_auto_migration_config_path + grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + ::Gapic::ServiceStub.stub :new, DummyStub.new do + client = ::Google::Cloud::ConfigService::V1::Config::Client.new do |config| + config.credentials = grpc_channel + end + + path = client.auto_migration_config_path project: "value0", location: "value1" + assert_equal "projects/value0/locations/value1/autoMigrationConfig", path + end + end + def test_deployment_path grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure ::Gapic::ServiceStub.stub :new, DummyStub.new do diff --git a/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_rest_test.rb b/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_rest_test.rb index 89bff02ec454..73f103554e45 100644 --- a/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_rest_test.rb +++ b/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_rest_test.rb @@ -1581,6 +1581,115 @@ def test_get_resource_drift end end + def test_get_auto_migration_config + # Create test objects. + client_result = ::Google::Cloud::ConfigService::V1::AutoMigrationConfig.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + get_auto_migration_config_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::ConfigService::V1::Config::Rest::ServiceStub.stub :transcode_get_auto_migration_config_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, get_auto_migration_config_client_stub do + # Create client + client = ::Google::Cloud::ConfigService::V1::Config::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + client.get_auto_migration_config({ name: name }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + client.get_auto_migration_config name: name do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + client.get_auto_migration_config ::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest.new(name: name) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + client.get_auto_migration_config({ name: name }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + client.get_auto_migration_config(::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest.new(name: name), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, get_auto_migration_config_client_stub.call_count + end + end + end + + def test_update_auto_migration_config + # Create test objects. + client_result = ::Google::Longrunning::Operation.new + http_response = OpenStruct.new body: client_result.to_json + + call_options = {} + + # Create request parameters for a unary method. + update_mask = {} + auto_migration_config = {} + + update_auto_migration_config_client_stub = ClientStub.new http_response do |_verb, uri:, body:, params:, options:, method_name:| + assert options.metadata.key? :"x-goog-api-client" + assert options.metadata[:"x-goog-api-client"].include? "rest" + refute options.metadata[:"x-goog-api-client"].include? "grpc" + end + + ::Google::Cloud::ConfigService::V1::Config::Rest::ServiceStub.stub :transcode_update_auto_migration_config_request, ["", "", {}] do + Gapic::Rest::ClientStub.stub :new, update_auto_migration_config_client_stub do + # Create client + client = ::Google::Cloud::ConfigService::V1::Config::Rest::Client.new do |config| + config.credentials = :dummy_value + end + + # Use hash object + client.update_auto_migration_config({ update_mask: update_mask, auto_migration_config: auto_migration_config }) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use named arguments + client.update_auto_migration_config update_mask: update_mask, auto_migration_config: auto_migration_config do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object + client.update_auto_migration_config ::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest.new(update_mask: update_mask, auto_migration_config: auto_migration_config) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use hash object with options + client.update_auto_migration_config({ update_mask: update_mask, auto_migration_config: auto_migration_config }, call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Use protobuf object with options + client.update_auto_migration_config(::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest.new(update_mask: update_mask, auto_migration_config: auto_migration_config), call_options) do |_result, response| + assert_equal http_response, response.underlying_op + end + + # Verify method calls + assert_equal 5, update_auto_migration_config_client_stub.call_count + end + end + end + def test_configure credentials_token = :dummy_value diff --git a/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_test.rb b/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_test.rb index 3b3f7e9db55b..2912e3f77cc7 100644 --- a/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_test.rb +++ b/google-cloud-config_service-v1/test/google/cloud/config_service/v1/config_test.rb @@ -1789,6 +1789,129 @@ def test_get_resource_drift end end + def test_get_auto_migration_config + # Create GRPC objects. + grpc_response = ::Google::Cloud::ConfigService::V1::AutoMigrationConfig.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + name = "hello world" + + get_auto_migration_config_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :get_auto_migration_config, name + assert_kind_of ::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest, request + assert_equal "hello world", request["name"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, get_auto_migration_config_client_stub do + # Create client + client = ::Google::Cloud::ConfigService::V1::Config::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.get_auto_migration_config({ name: name }) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use named arguments + client.get_auto_migration_config name: name do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.get_auto_migration_config ::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest.new(name: name) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.get_auto_migration_config({ name: name }, grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.get_auto_migration_config(::Google::Cloud::ConfigService::V1::GetAutoMigrationConfigRequest.new(name: name), grpc_options) do |response, operation| + assert_equal grpc_response, response + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, get_auto_migration_config_client_stub.call_rpc_count + end + end + + def test_update_auto_migration_config + # Create GRPC objects. + grpc_response = ::Google::Longrunning::Operation.new + grpc_operation = GRPC::ActiveCall::Operation.new nil + grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + grpc_options = {} + + # Create request parameters for a unary method. + update_mask = {} + auto_migration_config = {} + + update_auto_migration_config_client_stub = ClientStub.new grpc_response, grpc_operation do |name, request, options:| + assert_equal :update_auto_migration_config, name + assert_kind_of ::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest, request + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Protobuf::FieldMask), request["update_mask"] + assert_equal Gapic::Protobuf.coerce({}, to: ::Google::Cloud::ConfigService::V1::AutoMigrationConfig), request["auto_migration_config"] + refute_nil options + end + + Gapic::ServiceStub.stub :new, update_auto_migration_config_client_stub do + # Create client + client = ::Google::Cloud::ConfigService::V1::Config::Client.new do |config| + config.credentials = grpc_channel + end + + # Use hash object + client.update_auto_migration_config({ update_mask: update_mask, auto_migration_config: auto_migration_config }) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use named arguments + client.update_auto_migration_config update_mask: update_mask, auto_migration_config: auto_migration_config do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object + client.update_auto_migration_config ::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest.new(update_mask: update_mask, auto_migration_config: auto_migration_config) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use hash object with options + client.update_auto_migration_config({ update_mask: update_mask, auto_migration_config: auto_migration_config }, grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Use protobuf object with options + client.update_auto_migration_config(::Google::Cloud::ConfigService::V1::UpdateAutoMigrationConfigRequest.new(update_mask: update_mask, auto_migration_config: auto_migration_config), grpc_options) do |response, operation| + assert_kind_of Gapic::Operation, response + assert_equal grpc_response, response.grpc_op + assert_equal grpc_operation, operation + end + + # Verify method calls + assert_equal 5, update_auto_migration_config_client_stub.call_rpc_count + end + end + def test_configure grpc_channel = GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure