From 64251b516a71bd1bdcc1a7d3ac934182b38a11a7 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Wed, 4 Nov 2020 02:28:04 -0800 Subject: [PATCH] feat: Automated regeneration of datamigration v1beta1 client (#1380) This PR was generated using Autosynth. :rainbow:
Log from Synthtool ``` 2020-11-04 02:13:43,699 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/google-api-ruby-client/synth.py. On branch autosynth-datamigration-v1beta1 nothing to commit, working tree clean 2020-11-04 02:13:43,729 synthtool [DEBUG] > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth datamigration v1beta1 DEBUG:synthtool:Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth datamigration v1beta1 bundle install Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine. The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`. Fetching gem metadata from https://rubygems.org/......... Fetching gem metadata from https://rubygems.org/. Resolving dependencies... Fetching rake 11.3.0 Installing rake 11.3.0 Fetching concurrent-ruby 1.1.7 Installing concurrent-ruby 1.1.7 Fetching i18n 1.8.5 Installing i18n 1.8.5 Fetching minitest 5.14.2 Installing minitest 5.14.2 Fetching thread_safe 0.3.6 Installing thread_safe 0.3.6 Fetching tzinfo 1.2.7 Installing tzinfo 1.2.7 Fetching activesupport 5.0.7.2 Installing activesupport 5.0.7.2 Fetching public_suffix 4.0.6 Installing public_suffix 4.0.6 Fetching addressable 2.7.0 Installing addressable 2.7.0 Fetching ast 2.4.1 Installing ast 2.4.1 Using bundler 2.1.4 Fetching byebug 11.1.3 Installing byebug 11.1.3 with native extensions Fetching coderay 1.1.3 Installing coderay 1.1.3 Fetching json 2.3.1 Installing json 2.3.1 with native extensions Fetching docile 1.3.2 Installing docile 1.3.2 Fetching simplecov-html 0.10.2 Installing simplecov-html 0.10.2 Fetching simplecov 0.16.1 Installing simplecov 0.16.1 Using sync 0.5.0 Fetching tins 1.26.0 Installing tins 1.26.0 Fetching term-ansicolor 1.7.1 Installing term-ansicolor 1.7.1 Fetching thor 0.20.3 Installing thor 0.20.3 Fetching coveralls 0.8.23 Installing coveralls 0.8.23 Fetching crack 0.4.4 Installing crack 0.4.4 Fetching declarative 0.0.20 Installing declarative 0.0.20 Fetching declarative-option 0.1.0 Installing declarative-option 0.1.0 Fetching diff-lcs 1.4.4 Installing diff-lcs 1.4.4 Fetching dotenv 2.7.6 Installing dotenv 2.7.6 Fetching fakefs 0.20.1 Installing fakefs 0.20.1 Fetching multipart-post 2.1.1 Installing multipart-post 2.1.1 Fetching ruby2_keywords 0.0.2 Installing ruby2_keywords 0.0.2 Fetching faraday 1.1.0 Installing faraday 1.1.0 Fetching gems 1.2.0 Installing gems 1.2.0 Fetching github-markup 1.7.0 Installing github-markup 1.7.0 Fetching jwt 2.2.2 Installing jwt 2.2.2 Fetching memoist 0.16.2 Installing memoist 0.16.2 Fetching multi_json 1.15.0 Installing multi_json 1.15.0 Fetching os 0.9.6 Installing os 0.9.6 Fetching signet 0.14.0 Installing signet 0.14.0 Fetching googleauth 0.14.0 Installing googleauth 0.14.0 Fetching httpclient 2.8.3 Installing httpclient 2.8.3 Fetching mini_mime 1.0.2 Installing mini_mime 1.0.2 Fetching uber 0.1.0 Installing uber 0.1.0 Fetching representable 3.0.4 Installing representable 3.0.4 Fetching retriable 3.1.2 Installing retriable 3.1.2 Fetching rexml 3.2.4 Installing rexml 3.2.4 Using google-api-client 0.48.0 from source at `.` Fetching google-id-token 1.4.2 Installing google-id-token 1.4.2 Fetching hashdiff 1.0.1 Installing hashdiff 1.0.1 Fetching mime-types-data 3.2020.0512 Installing mime-types-data 3.2020.0512 Fetching mime-types 3.3.1 Installing mime-types 3.3.1 Fetching multi_xml 0.6.0 Installing multi_xml 0.6.0 Fetching httparty 0.18.1 Installing httparty 0.18.1 Fetching rspec-support 3.10.0 Installing rspec-support 3.10.0 Fetching rspec-core 3.10.0 Installing rspec-core 3.10.0 Fetching rspec-expectations 3.10.0 Installing rspec-expectations 3.10.0 Fetching rspec-mocks 3.10.0 Installing rspec-mocks 3.10.0 Fetching rspec 3.10.0 Installing rspec 3.10.0 Fetching json_spec 1.1.5 Installing json_spec 1.1.5 Fetching launchy 2.5.0 Installing launchy 2.5.0 Fetching little-plugger 1.1.4 Installing little-plugger 1.1.4 Fetching logging 2.3.0 Installing logging 2.3.0 Fetching method_source 1.0.0 Installing method_source 1.0.0 Fetching opencensus 0.5.0 Installing opencensus 0.5.0 Fetching parallel 1.19.2 Installing parallel 1.19.2 Fetching parser 2.7.2.0 Installing parser 2.7.2.0 Fetching powerpack 0.1.2 Installing powerpack 0.1.2 Fetching pry 0.13.1 Installing pry 0.13.1 Fetching pry-byebug 3.9.0 Installing pry-byebug 3.9.0 Fetching yard 0.9.25 Installing yard 0.9.25 Fetching pry-doc 0.13.5 Installing pry-doc 0.13.5 Fetching rainbow 2.2.2 Installing rainbow 2.2.2 with native extensions Fetching redcarpet 3.5.0 Installing redcarpet 3.5.0 with native extensions Fetching redis 3.3.5 Installing redis 3.3.5 Fetching rmail 1.1.4 Installing rmail 1.1.4 Fetching ruby-progressbar 1.10.1 Installing ruby-progressbar 1.10.1 Fetching unicode-display_width 1.7.0 Installing unicode-display_width 1.7.0 Fetching rubocop 0.49.1 Installing rubocop 0.49.1 Fetching webmock 2.3.2 Installing webmock 2.3.2 Bundle complete! 31 Gemfile dependencies, 78 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. Post-install message from i18n: HEADS UP! i18n 1.1 changed fallbacks to exclude default locale. But that may break your application. If you are upgrading your Rails application from an older version of Rails: Please check your Rails app for 'config.i18n.fallbacks = true'. If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be 'config.i18n.fallbacks = [I18n.default_locale]'. If not, fallbacks will be broken in your app by I18n 1.1.x. If you are starting a NEW Rails application, you can ignore this notice. For more info see: https://github.com/svenfuchs/i18n/releases/tag/v1.1.0 Post-install message from httparty: When you HTTParty, you must party hard! echo a | bundle exec bin/generate-api gen generated --api=datamigration.v1beta1 --names-out=/workspace/api_names_out.yaml Loading datamigration, version v1beta1 from https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/datamigration.v1beta1.json create google/apis/datamigration_v1beta1.rb create google/apis/datamigration_v1beta1/service.rb create google/apis/datamigration_v1beta1/classes.rb create google/apis/datamigration_v1beta1/representations.rb conflict /workspace/api_names_out.yaml Overwrite /workspace/api_names_out.yaml? (enter "h" for help) [Ynaqdhm] a force /workspace/api_names_out.yaml 2020-11-04 02:14:10,278 synthtool [DEBUG] > Wrote metadata to generated/google/apis/datamigration_v1beta1/synth.metadata. DEBUG:synthtool:Wrote metadata to generated/google/apis/datamigration_v1beta1/synth.metadata. ```
Full log will be available here: https://source.cloud.google.com/results/invocations/b5d2262d-0ae3-42e1-8d64-59b3f6dd1c2f/targets - [ ] To automatically regenerate this PR, check this box. --- api_names_out.yaml | 289 +++ .../google/apis/datamigration_v1beta1.rb | 34 + .../apis/datamigration_v1beta1/classes.rb | 1670 +++++++++++++++++ .../datamigration_v1beta1/representations.rb | 678 +++++++ .../apis/datamigration_v1beta1/service.rb | 1172 ++++++++++++ .../apis/datamigration_v1beta1/synth.metadata | 11 + 6 files changed, 3854 insertions(+) create mode 100644 generated/google/apis/datamigration_v1beta1.rb create mode 100644 generated/google/apis/datamigration_v1beta1/classes.rb create mode 100644 generated/google/apis/datamigration_v1beta1/representations.rb create mode 100644 generated/google/apis/datamigration_v1beta1/service.rb create mode 100644 generated/google/apis/datamigration_v1beta1/synth.metadata diff --git a/api_names_out.yaml b/api_names_out.yaml index be54eb934..1c7e5c6ec 100644 --- a/api_names_out.yaml +++ b/api_names_out.yaml @@ -63631,6 +63631,295 @@ "/datalabeling:v1beta1/fields": fields "/datalabeling:v1beta1/key": key "/datalabeling:v1beta1/quotaUser": quota_user +"/datamigration:v1beta1/AuditConfig": audit_config +"/datamigration:v1beta1/AuditConfig/auditLogConfigs": audit_log_configs +"/datamigration:v1beta1/AuditConfig/auditLogConfigs/audit_log_config": audit_log_config +"/datamigration:v1beta1/AuditConfig/service": service +"/datamigration:v1beta1/AuditLogConfig": audit_log_config +"/datamigration:v1beta1/AuditLogConfig/exemptedMembers": exempted_members +"/datamigration:v1beta1/AuditLogConfig/exemptedMembers/exempted_member": exempted_member +"/datamigration:v1beta1/AuditLogConfig/logType": log_type +"/datamigration:v1beta1/Binding": binding +"/datamigration:v1beta1/Binding/bindingId": binding_id +"/datamigration:v1beta1/Binding/condition": condition +"/datamigration:v1beta1/Binding/members": members +"/datamigration:v1beta1/Binding/members/member": member +"/datamigration:v1beta1/Binding/role": role +"/datamigration:v1beta1/CancelOperationRequest": cancel_operation_request +"/datamigration:v1beta1/CloudSqlConnectionProfile": cloud_sql_connection_profile +"/datamigration:v1beta1/CloudSqlConnectionProfile/cloudSqlId": cloud_sql_id +"/datamigration:v1beta1/CloudSqlConnectionProfile/privateIp": private_ip +"/datamigration:v1beta1/CloudSqlConnectionProfile/publicIp": public_ip +"/datamigration:v1beta1/CloudSqlConnectionProfile/settings": settings +"/datamigration:v1beta1/CloudSqlSettings": cloud_sql_settings +"/datamigration:v1beta1/CloudSqlSettings/activationPolicy": activation_policy +"/datamigration:v1beta1/CloudSqlSettings/autoStorageIncrease": auto_storage_increase +"/datamigration:v1beta1/CloudSqlSettings/dataDiskSizeGb": data_disk_size_gb +"/datamigration:v1beta1/CloudSqlSettings/dataDiskType": data_disk_type +"/datamigration:v1beta1/CloudSqlSettings/databaseFlags": database_flags +"/datamigration:v1beta1/CloudSqlSettings/databaseFlags/database_flag": database_flag +"/datamigration:v1beta1/CloudSqlSettings/databaseVersion": database_version +"/datamigration:v1beta1/CloudSqlSettings/ipConfig": ip_config +"/datamigration:v1beta1/CloudSqlSettings/rootPassword": root_password +"/datamigration:v1beta1/CloudSqlSettings/rootPasswordSet": root_password_set +"/datamigration:v1beta1/CloudSqlSettings/sourceId": source_id +"/datamigration:v1beta1/CloudSqlSettings/storageAutoResizeLimit": storage_auto_resize_limit +"/datamigration:v1beta1/CloudSqlSettings/tier": tier +"/datamigration:v1beta1/CloudSqlSettings/userLabels": user_labels +"/datamigration:v1beta1/CloudSqlSettings/userLabels/user_label": user_label +"/datamigration:v1beta1/CloudSqlSettings/zone": zone +"/datamigration:v1beta1/ConnectionProfile": connection_profile +"/datamigration:v1beta1/ConnectionProfile/cloudsql": cloudsql +"/datamigration:v1beta1/ConnectionProfile/createTime": create_time +"/datamigration:v1beta1/ConnectionProfile/displayName": display_name +"/datamigration:v1beta1/ConnectionProfile/error": error +"/datamigration:v1beta1/ConnectionProfile/labels": labels +"/datamigration:v1beta1/ConnectionProfile/labels/label": label +"/datamigration:v1beta1/ConnectionProfile/mysql": mysql +"/datamigration:v1beta1/ConnectionProfile/name": name +"/datamigration:v1beta1/ConnectionProfile/provider": provider +"/datamigration:v1beta1/ConnectionProfile/state": state +"/datamigration:v1beta1/ConnectionProfile/updateTime": update_time +"/datamigration:v1beta1/DatabaseType": database_type +"/datamigration:v1beta1/DatabaseType/engine": engine +"/datamigration:v1beta1/DatabaseType/provider": provider +"/datamigration:v1beta1/Empty": empty +"/datamigration:v1beta1/Expr": expr +"/datamigration:v1beta1/Expr/description": description +"/datamigration:v1beta1/Expr/expression": expression +"/datamigration:v1beta1/Expr/location": location +"/datamigration:v1beta1/Expr/title": title +"/datamigration:v1beta1/GenerateSshScriptRequest": generate_ssh_script_request +"/datamigration:v1beta1/GenerateSshScriptRequest/vm": vm +"/datamigration:v1beta1/GenerateSshScriptRequest/vmCreationConfig": vm_creation_config +"/datamigration:v1beta1/GenerateSshScriptRequest/vmPort": vm_port +"/datamigration:v1beta1/GenerateSshScriptRequest/vmSelectionConfig": vm_selection_config +"/datamigration:v1beta1/GoogleCloudClouddmsV1beta1OperationMetadata": google_cloud_clouddms_v1beta1_operation_metadata +"/datamigration:v1beta1/GoogleCloudClouddmsV1beta1OperationMetadata/apiVersion": api_version +"/datamigration:v1beta1/GoogleCloudClouddmsV1beta1OperationMetadata/createTime": create_time +"/datamigration:v1beta1/GoogleCloudClouddmsV1beta1OperationMetadata/endTime": end_time +"/datamigration:v1beta1/GoogleCloudClouddmsV1beta1OperationMetadata/requestedCancellation": requested_cancellation +"/datamigration:v1beta1/GoogleCloudClouddmsV1beta1OperationMetadata/statusMessage": status_message +"/datamigration:v1beta1/GoogleCloudClouddmsV1beta1OperationMetadata/target": target +"/datamigration:v1beta1/GoogleCloudClouddmsV1beta1OperationMetadata/verb": verb +"/datamigration:v1beta1/ListConnectionProfilesResponse": list_connection_profiles_response +"/datamigration:v1beta1/ListConnectionProfilesResponse/connectionProfiles": connection_profiles +"/datamigration:v1beta1/ListConnectionProfilesResponse/connectionProfiles/connection_profile": connection_profile +"/datamigration:v1beta1/ListConnectionProfilesResponse/nextPageToken": next_page_token +"/datamigration:v1beta1/ListConnectionProfilesResponse/unreachable": unreachable +"/datamigration:v1beta1/ListConnectionProfilesResponse/unreachable/unreachable": unreachable +"/datamigration:v1beta1/ListLocationsResponse": list_locations_response +"/datamigration:v1beta1/ListLocationsResponse/locations": locations +"/datamigration:v1beta1/ListLocationsResponse/locations/location": location +"/datamigration:v1beta1/ListLocationsResponse/nextPageToken": next_page_token +"/datamigration:v1beta1/ListMigrationJobsResponse": list_migration_jobs_response +"/datamigration:v1beta1/ListMigrationJobsResponse/migrationJobs": migration_jobs +"/datamigration:v1beta1/ListMigrationJobsResponse/migrationJobs/migration_job": migration_job +"/datamigration:v1beta1/ListMigrationJobsResponse/nextPageToken": next_page_token +"/datamigration:v1beta1/ListMigrationJobsResponse/unreachable": unreachable +"/datamigration:v1beta1/ListMigrationJobsResponse/unreachable/unreachable": unreachable +"/datamigration:v1beta1/ListOperationsResponse": list_operations_response +"/datamigration:v1beta1/ListOperationsResponse/nextPageToken": next_page_token +"/datamigration:v1beta1/ListOperationsResponse/operations": operations +"/datamigration:v1beta1/ListOperationsResponse/operations/operation": operation +"/datamigration:v1beta1/Location": location +"/datamigration:v1beta1/Location/displayName": display_name +"/datamigration:v1beta1/Location/labels": labels +"/datamigration:v1beta1/Location/labels/label": label +"/datamigration:v1beta1/Location/locationId": location_id +"/datamigration:v1beta1/Location/metadata": metadata +"/datamigration:v1beta1/Location/metadata/metadatum": metadatum +"/datamigration:v1beta1/Location/name": name +"/datamigration:v1beta1/MigrationJob": migration_job +"/datamigration:v1beta1/MigrationJob/createTime": create_time +"/datamigration:v1beta1/MigrationJob/destination": destination +"/datamigration:v1beta1/MigrationJob/destinationDatabase": destination_database +"/datamigration:v1beta1/MigrationJob/displayName": display_name +"/datamigration:v1beta1/MigrationJob/dumpPath": dump_path +"/datamigration:v1beta1/MigrationJob/duration": duration +"/datamigration:v1beta1/MigrationJob/endTime": end_time +"/datamigration:v1beta1/MigrationJob/error": error +"/datamigration:v1beta1/MigrationJob/labels": labels +"/datamigration:v1beta1/MigrationJob/labels/label": label +"/datamigration:v1beta1/MigrationJob/name": name +"/datamigration:v1beta1/MigrationJob/phase": phase +"/datamigration:v1beta1/MigrationJob/reverseSshConnectivity": reverse_ssh_connectivity +"/datamigration:v1beta1/MigrationJob/source": source +"/datamigration:v1beta1/MigrationJob/sourceDatabase": source_database +"/datamigration:v1beta1/MigrationJob/state": state +"/datamigration:v1beta1/MigrationJob/staticIpConnectivity": static_ip_connectivity +"/datamigration:v1beta1/MigrationJob/type": type +"/datamigration:v1beta1/MigrationJob/updateTime": update_time +"/datamigration:v1beta1/MigrationJob/vpcPeeringConnectivity": vpc_peering_connectivity +"/datamigration:v1beta1/MigrationJobVerificationError": migration_job_verification_error +"/datamigration:v1beta1/MigrationJobVerificationError/errorCode": error_code +"/datamigration:v1beta1/MigrationJobVerificationError/errorDetailMessage": error_detail_message +"/datamigration:v1beta1/MigrationJobVerificationError/errorMessage": error_message +"/datamigration:v1beta1/MySqlConnectionProfile": my_sql_connection_profile +"/datamigration:v1beta1/MySqlConnectionProfile/cloudSqlId": cloud_sql_id +"/datamigration:v1beta1/MySqlConnectionProfile/host": host +"/datamigration:v1beta1/MySqlConnectionProfile/password": password +"/datamigration:v1beta1/MySqlConnectionProfile/passwordSet": password_set +"/datamigration:v1beta1/MySqlConnectionProfile/port": port +"/datamigration:v1beta1/MySqlConnectionProfile/ssl": ssl +"/datamigration:v1beta1/MySqlConnectionProfile/username": username +"/datamigration:v1beta1/Operation": operation +"/datamigration:v1beta1/Operation/done": done +"/datamigration:v1beta1/Operation/error": error +"/datamigration:v1beta1/Operation/metadata": metadata +"/datamigration:v1beta1/Operation/metadata/metadatum": metadatum +"/datamigration:v1beta1/Operation/name": name +"/datamigration:v1beta1/Operation/response": response +"/datamigration:v1beta1/Operation/response/response": response +"/datamigration:v1beta1/Policy": policy +"/datamigration:v1beta1/Policy/auditConfigs": audit_configs +"/datamigration:v1beta1/Policy/auditConfigs/audit_config": audit_config +"/datamigration:v1beta1/Policy/bindings": bindings +"/datamigration:v1beta1/Policy/bindings/binding": binding +"/datamigration:v1beta1/Policy/etag": etag +"/datamigration:v1beta1/Policy/version": version +"/datamigration:v1beta1/PromoteMigrationJobRequest": promote_migration_job_request +"/datamigration:v1beta1/RestartMigrationJobRequest": restart_migration_job_request +"/datamigration:v1beta1/ResumeMigrationJobRequest": resume_migration_job_request +"/datamigration:v1beta1/ReverseSshConnectivity": reverse_ssh_connectivity +"/datamigration:v1beta1/ReverseSshConnectivity/vm": vm +"/datamigration:v1beta1/ReverseSshConnectivity/vmIp": vm_ip +"/datamigration:v1beta1/ReverseSshConnectivity/vmPort": vm_port +"/datamigration:v1beta1/ReverseSshConnectivity/vpc": vpc +"/datamigration:v1beta1/SetIamPolicyRequest": set_iam_policy_request +"/datamigration:v1beta1/SetIamPolicyRequest/policy": policy +"/datamigration:v1beta1/SetIamPolicyRequest/updateMask": update_mask +"/datamigration:v1beta1/SqlAclEntry": sql_acl_entry +"/datamigration:v1beta1/SqlAclEntry/expireTime": expire_time +"/datamigration:v1beta1/SqlAclEntry/label": label +"/datamigration:v1beta1/SqlAclEntry/ttl": ttl +"/datamigration:v1beta1/SqlAclEntry/value": value +"/datamigration:v1beta1/SqlIpConfig": sql_ip_config +"/datamigration:v1beta1/SqlIpConfig/authorizedNetworks": authorized_networks +"/datamigration:v1beta1/SqlIpConfig/authorizedNetworks/authorized_network": authorized_network +"/datamigration:v1beta1/SqlIpConfig/enableIpv4": enable_ipv4 +"/datamigration:v1beta1/SqlIpConfig/privateNetwork": private_network +"/datamigration:v1beta1/SqlIpConfig/requireSsl": require_ssl +"/datamigration:v1beta1/SshScript": ssh_script +"/datamigration:v1beta1/SshScript/script": script +"/datamigration:v1beta1/SslConfig": ssl_config +"/datamigration:v1beta1/SslConfig/caCertificate": ca_certificate +"/datamigration:v1beta1/SslConfig/clientCertificate": client_certificate +"/datamigration:v1beta1/SslConfig/clientKey": client_key +"/datamigration:v1beta1/SslConfig/type": type +"/datamigration:v1beta1/StartMigrationJobRequest": start_migration_job_request +"/datamigration:v1beta1/StaticIpConnectivity": static_ip_connectivity +"/datamigration:v1beta1/Status": status +"/datamigration:v1beta1/Status/code": code +"/datamigration:v1beta1/Status/details": details +"/datamigration:v1beta1/Status/details/detail": detail +"/datamigration:v1beta1/Status/details/detail/detail": detail +"/datamigration:v1beta1/Status/message": message +"/datamigration:v1beta1/StopMigrationJobRequest": stop_migration_job_request +"/datamigration:v1beta1/TestIamPermissionsRequest": test_iam_permissions_request +"/datamigration:v1beta1/TestIamPermissionsRequest/permissions": permissions +"/datamigration:v1beta1/TestIamPermissionsRequest/permissions/permission": permission +"/datamigration:v1beta1/TestIamPermissionsResponse": test_iam_permissions_response +"/datamigration:v1beta1/TestIamPermissionsResponse/permissions": permissions +"/datamigration:v1beta1/TestIamPermissionsResponse/permissions/permission": permission +"/datamigration:v1beta1/VerifyMigrationJobRequest": verify_migration_job_request +"/datamigration:v1beta1/VmCreationConfig": vm_creation_config +"/datamigration:v1beta1/VmCreationConfig/subnet": subnet +"/datamigration:v1beta1/VmCreationConfig/vmMachineType": vm_machine_type +"/datamigration:v1beta1/VmCreationConfig/vmZone": vm_zone +"/datamigration:v1beta1/VmSelectionConfig": vm_selection_config +"/datamigration:v1beta1/VmSelectionConfig/vmZone": vm_zone +"/datamigration:v1beta1/VpcPeeringConnectivity": vpc_peering_connectivity +"/datamigration:v1beta1/VpcPeeringConnectivity/vpc": vpc +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.create": create_project_location_connection_profile +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.create/connectionProfileId": connection_profile_id +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.create/parent": parent +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.create/requestId": request_id +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.delete": delete_project_location_connection_profile +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.delete/force": force +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.delete/name": name +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.delete/requestId": request_id +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.get": get_project_location_connection_profile +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.get/name": name +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.getIamPolicy": get_project_location_connection_profile_iam_policy +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.getIamPolicy/options.requestedPolicyVersion": options_requested_policy_version +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.getIamPolicy/resource": resource +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.list": list_project_location_connection_profiles +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.list/filter": filter +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.list/orderBy": order_by +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.list/pageSize": page_size +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.list/pageToken": page_token +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.list/parent": parent +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.patch": patch_project_location_connection_profile +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.patch/name": name +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.patch/requestId": request_id +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.patch/updateMask": update_mask +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.setIamPolicy": set_connection_profile_iam_policy +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.setIamPolicy/resource": resource +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.testIamPermissions": test_connection_profile_iam_permissions +"/datamigration:v1beta1/datamigration.projects.locations.connectionProfiles.testIamPermissions/resource": resource +"/datamigration:v1beta1/datamigration.projects.locations.get": get_project_location +"/datamigration:v1beta1/datamigration.projects.locations.get/name": name +"/datamigration:v1beta1/datamigration.projects.locations.list": list_project_locations +"/datamigration:v1beta1/datamigration.projects.locations.list/filter": filter +"/datamigration:v1beta1/datamigration.projects.locations.list/name": name +"/datamigration:v1beta1/datamigration.projects.locations.list/pageSize": page_size +"/datamigration:v1beta1/datamigration.projects.locations.list/pageToken": page_token +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.create": create_project_location_migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.create/migrationJobId": migration_job_id +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.create/parent": parent +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.create/requestId": request_id +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.delete": delete_project_location_migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.delete/force": force +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.delete/name": name +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.delete/requestId": request_id +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.generateSshScript": generate_migration_job_ssh_script +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.generateSshScript/migrationJob": migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.get": get_project_location_migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.get/name": name +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.getIamPolicy": get_project_location_migration_job_iam_policy +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.getIamPolicy/options.requestedPolicyVersion": options_requested_policy_version +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.getIamPolicy/resource": resource +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.list": list_project_location_migration_jobs +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.list/filter": filter +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.list/orderBy": order_by +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.list/pageSize": page_size +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.list/pageToken": page_token +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.list/parent": parent +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.patch": patch_project_location_migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.patch/name": name +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.patch/requestId": request_id +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.patch/updateMask": update_mask +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.promote": promote_migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.promote/name": name +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.restart": restart_migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.restart/name": name +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.resume": resume_migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.resume/name": name +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.setIamPolicy": set_migration_job_iam_policy +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.setIamPolicy/resource": resource +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.start": start_migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.start/name": name +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.stop": stop_migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.stop/name": name +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.testIamPermissions": test_migration_job_iam_permissions +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.testIamPermissions/resource": resource +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.verify": verify_migration_job +"/datamigration:v1beta1/datamigration.projects.locations.migrationJobs.verify/name": name +"/datamigration:v1beta1/datamigration.projects.locations.operations.cancel": cancel_operation +"/datamigration:v1beta1/datamigration.projects.locations.operations.cancel/name": name +"/datamigration:v1beta1/datamigration.projects.locations.operations.delete": delete_project_location_operation +"/datamigration:v1beta1/datamigration.projects.locations.operations.delete/name": name +"/datamigration:v1beta1/datamigration.projects.locations.operations.get": get_project_location_operation +"/datamigration:v1beta1/datamigration.projects.locations.operations.get/name": name +"/datamigration:v1beta1/datamigration.projects.locations.operations.list": list_project_location_operations +"/datamigration:v1beta1/datamigration.projects.locations.operations.list/filter": filter +"/datamigration:v1beta1/datamigration.projects.locations.operations.list/name": name +"/datamigration:v1beta1/datamigration.projects.locations.operations.list/pageSize": page_size +"/datamigration:v1beta1/datamigration.projects.locations.operations.list/pageToken": page_token +"/datamigration:v1beta1/fields": fields +"/datamigration:v1beta1/key": key +"/datamigration:v1beta1/quotaUser": quota_user "/dataproc:v1/AcceleratorConfig": accelerator_config "/dataproc:v1/AcceleratorConfig/acceleratorCount": accelerator_count "/dataproc:v1/AcceleratorConfig/acceleratorTypeUri": accelerator_type_uri diff --git a/generated/google/apis/datamigration_v1beta1.rb b/generated/google/apis/datamigration_v1beta1.rb new file mode 100644 index 000000000..559d78be4 --- /dev/null +++ b/generated/google/apis/datamigration_v1beta1.rb @@ -0,0 +1,34 @@ +# Copyright 2015 Google Inc. +# +# 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 +# +# http://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. + +require 'google/apis/datamigration_v1beta1/service.rb' +require 'google/apis/datamigration_v1beta1/classes.rb' +require 'google/apis/datamigration_v1beta1/representations.rb' + +module Google + module Apis + # Database Migration API + # + # Manage Cloud Database Migration Service resources on Google Cloud Platform. + # + # @see https://cloud.google.com/datamigration/ + module DatamigrationV1beta1 + VERSION = 'V1beta1' + REVISION = '20201027' + + # View and manage your data across Google Cloud Platform services + AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' + end + end +end diff --git a/generated/google/apis/datamigration_v1beta1/classes.rb b/generated/google/apis/datamigration_v1beta1/classes.rb new file mode 100644 index 000000000..db5d0b501 --- /dev/null +++ b/generated/google/apis/datamigration_v1beta1/classes.rb @@ -0,0 +1,1670 @@ +# Copyright 2015 Google Inc. +# +# 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 +# +# http://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. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module DatamigrationV1beta1 + + # Specifies the audit configuration for a service. The configuration determines + # which permission types are logged, and what identities, if any, are exempted + # from logging. An AuditConfig must have one or more AuditLogConfigs. If there + # are AuditConfigs for both `allServices` and a specific service, the union of + # the two AuditConfigs is used for that service: the log_types specified in each + # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are + # exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` " + # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", " + # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `, + # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com", + # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE" + # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice, + # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also + # exempts jose@example.com from DATA_READ logging, and aliya@example.com from + # DATA_WRITE logging. + class AuditConfig + include Google::Apis::Core::Hashable + + # The configuration for logging of each type of permission. + # Corresponds to the JSON property `auditLogConfigs` + # @return [Array] + attr_accessor :audit_log_configs + + # Specifies a service that will be enabled for audit logging. For example, ` + # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special + # value that covers all services. + # Corresponds to the JSON property `service` + # @return [String] + attr_accessor :service + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs) + @service = args[:service] if args.key?(:service) + end + end + + # Provides the configuration for logging a type of permissions. Example: ` " + # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user: + # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables ' + # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from + # DATA_READ logging. + class AuditLogConfig + include Google::Apis::Core::Hashable + + # Specifies the identities that do not cause logging for this type of permission. + # Follows the same format of Binding.members. + # Corresponds to the JSON property `exemptedMembers` + # @return [Array] + attr_accessor :exempted_members + + # The log type that this config enables. + # Corresponds to the JSON property `logType` + # @return [String] + attr_accessor :log_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @exempted_members = args[:exempted_members] if args.key?(:exempted_members) + @log_type = args[:log_type] if args.key?(:log_type) + end + end + + # Associates `members` with a `role`. + class Binding + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `bindingId` + # @return [String] + attr_accessor :binding_id + + # Represents a textual expression in the Common Expression Language (CEL) syntax. + # CEL is a C-like expression language. The syntax and semantics of CEL are + # documented at https://github.com/google/cel-spec. Example (Comparison): title: + # "Summary size limit" description: "Determines if a summary is less than 100 + # chars" expression: "document.summary.size() < 100" Example (Equality): title: " + # Requestor is owner" description: "Determines if requestor is the document + # owner" expression: "document.owner == request.auth.claims.email" Example ( + # Logic): title: "Public documents" description: "Determine whether the document + # should be publicly visible" expression: "document.type != 'private' && + # document.type != 'internal'" Example (Data Manipulation): title: "Notification + # string" description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" The + # exact variables and functions that may be referenced within an expression are + # determined by the service that evaluates it. See the service documentation for + # additional information. + # Corresponds to the JSON property `condition` + # @return [Google::Apis::DatamigrationV1beta1::Expr] + attr_accessor :condition + + # Specifies the identities requesting access for a Cloud Platform resource. ` + # members` can have the following values: * `allUsers`: A special identifier + # that represents anyone who is on the internet; with or without a Google + # account. * `allAuthenticatedUsers`: A special identifier that represents + # anyone who is authenticated with a Google account or a service account. * ` + # user:`emailid``: An email address that represents a specific Google account. + # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email + # address that represents a service account. For example, `my-other-app@appspot. + # gserviceaccount.com`. * `group:`emailid``: An email address that represents a + # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid= + # `uniqueid``: An email address (plus unique identifier) representing a user + # that has been recently deleted. For example, `alice@example.com?uid= + # 123456789012345678901`. If the user is recovered, this value reverts to `user:` + # emailid`` and the recovered user retains the role in the binding. * `deleted: + # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a service account that has been recently deleted. For + # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to `serviceAccount:` + # emailid`` and the undeleted service account retains the role in the binding. * + # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently deleted. For + # example, `admins@example.com?uid=123456789012345678901`. If the group is + # recovered, this value reverts to `group:`emailid`` and the recovered group + # retains the role in the binding. * `domain:`domain``: The G Suite domain ( + # primary) that represents all the users of that domain. For example, `google. + # com` or `example.com`. + # Corresponds to the JSON property `members` + # @return [Array] + attr_accessor :members + + # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor` + # , or `roles/owner`. + # Corresponds to the JSON property `role` + # @return [String] + attr_accessor :role + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @binding_id = args[:binding_id] if args.key?(:binding_id) + @condition = args[:condition] if args.key?(:condition) + @members = args[:members] if args.key?(:members) + @role = args[:role] if args.key?(:role) + end + end + + # The request message for Operations.CancelOperation. + class CancelOperationRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Specifies required connection parameters, and, optionally, the parameters + # required to create a Cloud SQL destination database instance. + class CloudSqlConnectionProfile + include Google::Apis::Core::Hashable + + # Output only. The Cloud SQL instance ID that this connection profile is + # associated with. + # Corresponds to the JSON property `cloudSqlId` + # @return [String] + attr_accessor :cloud_sql_id + + # Output only. The Cloud SQL database instance's private IP. + # Corresponds to the JSON property `privateIp` + # @return [String] + attr_accessor :private_ip + + # Output only. The Cloud SQL database instance's public IP. + # Corresponds to the JSON property `publicIp` + # @return [String] + attr_accessor :public_ip + + # Settings for creating a Cloud SQL database instance. + # Corresponds to the JSON property `settings` + # @return [Google::Apis::DatamigrationV1beta1::CloudSqlSettings] + attr_accessor :settings + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cloud_sql_id = args[:cloud_sql_id] if args.key?(:cloud_sql_id) + @private_ip = args[:private_ip] if args.key?(:private_ip) + @public_ip = args[:public_ip] if args.key?(:public_ip) + @settings = args[:settings] if args.key?(:settings) + end + end + + # Settings for creating a Cloud SQL database instance. + class CloudSqlSettings + include Google::Apis::Core::Hashable + + # The activation policy specifies when the instance is activated; it is + # applicable only when the instance state is 'RUNNABLE'. Valid values: 'ALWAYS': + # The instance is on, and remains so even in the absence of connection requests. + # `NEVER`: The instance is off; it is not activated, even if a connection + # request arrives. + # Corresponds to the JSON property `activationPolicy` + # @return [String] + attr_accessor :activation_policy + + # [default: ON] If you enable this setting, Cloud SQL checks your available + # storage every 30 seconds. If the available storage falls below a threshold + # size, Cloud SQL automatically adds additional storage capacity. If the + # available storage repeatedly falls below the threshold size, Cloud SQL + # continues to add storage until it reaches the maximum of 30 TB. + # Corresponds to the JSON property `autoStorageIncrease` + # @return [Boolean] + attr_accessor :auto_storage_increase + alias_method :auto_storage_increase?, :auto_storage_increase + + # The storage capacity available to the database, in GB. The minimum (and + # default) size is 10GB. + # Corresponds to the JSON property `dataDiskSizeGb` + # @return [Fixnum] + attr_accessor :data_disk_size_gb + + # The type of storage: `PD_SSD` (default) or `PD_HDD`. + # Corresponds to the JSON property `dataDiskType` + # @return [String] + attr_accessor :data_disk_type + + # The database flags passed to the Cloud SQL instance at startup. An object + # containing a list of "key": value pairs. Example: ` "name": "wrench", "mass": " + # 1.3kg", "count": "3" `. + # Corresponds to the JSON property `databaseFlags` + # @return [Hash] + attr_accessor :database_flags + + # The database engine type and version (such as `MYSQL_5_7` / `POSTGRES_9_6`). + # Corresponds to the JSON property `databaseVersion` + # @return [String] + attr_accessor :database_version + + # IP Management configuration. + # Corresponds to the JSON property `ipConfig` + # @return [Google::Apis::DatamigrationV1beta1::SqlIpConfig] + attr_accessor :ip_config + + # Input only. Initial root password. + # Corresponds to the JSON property `rootPassword` + # @return [String] + attr_accessor :root_password + + # Output only. Indicates If this connection profile root password is stored. + # Corresponds to the JSON property `rootPasswordSet` + # @return [Boolean] + attr_accessor :root_password_set + alias_method :root_password_set?, :root_password_set + + # The Database Migration Service source connection profile ID, in the format: ` + # projects/my_project_name/locations/us-central1/connectionProfiles/ + # connection_profile_ID` + # Corresponds to the JSON property `sourceId` + # @return [String] + attr_accessor :source_id + + # The maximum size to which storage capacity can be automatically increased. The + # default value is 0, which specifies that there is no limit. + # Corresponds to the JSON property `storageAutoResizeLimit` + # @return [Fixnum] + attr_accessor :storage_auto_resize_limit + + # The tier (or machine type) for this instance, for example: `db-n1-standard-1` ( + # MySQL instances) or `db-custom-1-3840` (PostgreSQL instances). For more + # information, see [Cloud SQL Instance Settings](https://cloud.google.com/sql/ + # docs/mysql/instance-settings). + # Corresponds to the JSON property `tier` + # @return [String] + attr_accessor :tier + + # The resource labels for a Cloud SQL instance to use to annotate any related + # underlying resources such as Compute Engine VMs. An object containing a list + # of "key": "value" pairs. Example: `` "name": "wrench", "mass": "18kg", "count": + # "3" ``. + # Corresponds to the JSON property `userLabels` + # @return [Hash] + attr_accessor :user_labels + + # The Google Cloud Platform zone where your Cloud SQL datdabse instance is + # located. + # Corresponds to the JSON property `zone` + # @return [String] + attr_accessor :zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @activation_policy = args[:activation_policy] if args.key?(:activation_policy) + @auto_storage_increase = args[:auto_storage_increase] if args.key?(:auto_storage_increase) + @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb) + @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type) + @database_flags = args[:database_flags] if args.key?(:database_flags) + @database_version = args[:database_version] if args.key?(:database_version) + @ip_config = args[:ip_config] if args.key?(:ip_config) + @root_password = args[:root_password] if args.key?(:root_password) + @root_password_set = args[:root_password_set] if args.key?(:root_password_set) + @source_id = args[:source_id] if args.key?(:source_id) + @storage_auto_resize_limit = args[:storage_auto_resize_limit] if args.key?(:storage_auto_resize_limit) + @tier = args[:tier] if args.key?(:tier) + @user_labels = args[:user_labels] if args.key?(:user_labels) + @zone = args[:zone] if args.key?(:zone) + end + end + + # A connection profile definition. + class ConnectionProfile + include Google::Apis::Core::Hashable + + # Specifies required connection parameters, and, optionally, the parameters + # required to create a Cloud SQL destination database instance. + # Corresponds to the JSON property `cloudsql` + # @return [Google::Apis::DatamigrationV1beta1::CloudSqlConnectionProfile] + attr_accessor :cloudsql + + # Output only. The timestamp when the resource was created. A timestamp in + # RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01: + # 23.045123456Z". + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # The connection profile display name. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # The `Status` type defines a logical error model that is suitable for different + # programming environments, including REST APIs and RPC APIs. It is used by [ + # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of + # data: error code, error message, and error details. You can find out more + # about this error model and how to work with it in the [API Design Guide](https: + # //cloud.google.com/apis/design/errors). + # Corresponds to the JSON property `error` + # @return [Google::Apis::DatamigrationV1beta1::Status] + attr_accessor :error + + # The resource labels for connection profile to use to annotate any related + # underlying resources such as Compute Engine VMs. An object containing a list + # of "key": "value" pairs. Example: `` "name": "wrench", "mass": "1.3kg", "count" + # : "3" ``. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # Specifies connection parameters required specifically for MySQL databases. + # Corresponds to the JSON property `mysql` + # @return [Google::Apis::DatamigrationV1beta1::MySqlConnectionProfile] + attr_accessor :mysql + + # The name of this connection profile resource in the form of projects/`project`/ + # locations/`location`/instances/`instance`. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The database provider. + # Corresponds to the JSON property `provider` + # @return [String] + attr_accessor :provider + + # The current connection profile state (e.g. DRAFT, READY, or FAILED). + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # Output only. The timestamp when the resource was last updated. A timestamp in + # RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01: + # 23.045123456Z". + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cloudsql = args[:cloudsql] if args.key?(:cloudsql) + @create_time = args[:create_time] if args.key?(:create_time) + @display_name = args[:display_name] if args.key?(:display_name) + @error = args[:error] if args.key?(:error) + @labels = args[:labels] if args.key?(:labels) + @mysql = args[:mysql] if args.key?(:mysql) + @name = args[:name] if args.key?(:name) + @provider = args[:provider] if args.key?(:provider) + @state = args[:state] if args.key?(:state) + @update_time = args[:update_time] if args.key?(:update_time) + end + end + + # A message defining the database engine and provider. + class DatabaseType + include Google::Apis::Core::Hashable + + # The database engine. + # Corresponds to the JSON property `engine` + # @return [String] + attr_accessor :engine + + # The database provider. + # Corresponds to the JSON property `provider` + # @return [String] + attr_accessor :provider + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @engine = args[:engine] if args.key?(:engine) + @provider = args[:provider] if args.key?(:provider) + end + end + + # A generic empty message that you can re-use to avoid defining duplicated empty + # messages in your APIs. A typical example is to use it as the request or the + # response type of an API method. For instance: service Foo ` rpc Bar(google. + # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for + # `Empty` is empty JSON object ````. + class Empty + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Represents a textual expression in the Common Expression Language (CEL) syntax. + # CEL is a C-like expression language. The syntax and semantics of CEL are + # documented at https://github.com/google/cel-spec. Example (Comparison): title: + # "Summary size limit" description: "Determines if a summary is less than 100 + # chars" expression: "document.summary.size() < 100" Example (Equality): title: " + # Requestor is owner" description: "Determines if requestor is the document + # owner" expression: "document.owner == request.auth.claims.email" Example ( + # Logic): title: "Public documents" description: "Determine whether the document + # should be publicly visible" expression: "document.type != 'private' && + # document.type != 'internal'" Example (Data Manipulation): title: "Notification + # string" description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" The + # exact variables and functions that may be referenced within an expression are + # determined by the service that evaluates it. See the service documentation for + # additional information. + class Expr + include Google::Apis::Core::Hashable + + # Optional. Description of the expression. This is a longer text which describes + # the expression, e.g. when hovered over it in a UI. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # Textual representation of an expression in Common Expression Language syntax. + # Corresponds to the JSON property `expression` + # @return [String] + attr_accessor :expression + + # Optional. String indicating the location of the expression for error reporting, + # e.g. a file name and a position in the file. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # Optional. Title for the expression, i.e. a short string describing its purpose. + # This can be used e.g. in UIs which allow to enter the expression. + # Corresponds to the JSON property `title` + # @return [String] + attr_accessor :title + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + @expression = args[:expression] if args.key?(:expression) + @location = args[:location] if args.key?(:location) + @title = args[:title] if args.key?(:title) + end + end + + # Request message for 'GenerateSshScript' request. + class GenerateSshScriptRequest + include Google::Apis::Core::Hashable + + # Required. Bastion VM Instance name to use or to create. + # Corresponds to the JSON property `vm` + # @return [String] + attr_accessor :vm + + # VM creation configuration message + # Corresponds to the JSON property `vmCreationConfig` + # @return [Google::Apis::DatamigrationV1beta1::VmCreationConfig] + attr_accessor :vm_creation_config + + # The port that will be open on the bastion host + # Corresponds to the JSON property `vmPort` + # @return [Fixnum] + attr_accessor :vm_port + + # VM selection configuration message + # Corresponds to the JSON property `vmSelectionConfig` + # @return [Google::Apis::DatamigrationV1beta1::VmSelectionConfig] + attr_accessor :vm_selection_config + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @vm = args[:vm] if args.key?(:vm) + @vm_creation_config = args[:vm_creation_config] if args.key?(:vm_creation_config) + @vm_port = args[:vm_port] if args.key?(:vm_port) + @vm_selection_config = args[:vm_selection_config] if args.key?(:vm_selection_config) + end + end + + # Represents the metadata of the long-running operation. + class GoogleCloudClouddmsV1beta1OperationMetadata + include Google::Apis::Core::Hashable + + # Output only. API version used to start the operation. + # Corresponds to the JSON property `apiVersion` + # @return [String] + attr_accessor :api_version + + # Output only. The time the operation was created. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Output only. The time the operation finished running. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # Output only. Identifies whether the user has requested cancellation of the + # operation. Operations that have successfully been cancelled have Operation. + # error value with a google.rpc.Status.code of 1, corresponding to `Code. + # CANCELLED`. + # Corresponds to the JSON property `requestedCancellation` + # @return [Boolean] + attr_accessor :requested_cancellation + alias_method :requested_cancellation?, :requested_cancellation + + # Output only. Human-readable status of the operation, if any. + # Corresponds to the JSON property `statusMessage` + # @return [String] + attr_accessor :status_message + + # Output only. Server-defined resource path for the target of the operation. + # Corresponds to the JSON property `target` + # @return [String] + attr_accessor :target + + # Output only. Name of the verb executed by the operation. + # Corresponds to the JSON property `verb` + # @return [String] + attr_accessor :verb + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @api_version = args[:api_version] if args.key?(:api_version) + @create_time = args[:create_time] if args.key?(:create_time) + @end_time = args[:end_time] if args.key?(:end_time) + @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation) + @status_message = args[:status_message] if args.key?(:status_message) + @target = args[:target] if args.key?(:target) + @verb = args[:verb] if args.key?(:verb) + end + end + + # Response message for 'ListConnectionProfiles' request. + class ListConnectionProfilesResponse + include Google::Apis::Core::Hashable + + # The response list of connection profiles. + # Corresponds to the JSON property `connectionProfiles` + # @return [Array] + attr_accessor :connection_profiles + + # A token, which can be sent as `page_token` to retrieve the next page. If this + # field is omitted, there are no subsequent pages. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # Locations that could not be reached. + # Corresponds to the JSON property `unreachable` + # @return [Array] + attr_accessor :unreachable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @connection_profiles = args[:connection_profiles] if args.key?(:connection_profiles) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @unreachable = args[:unreachable] if args.key?(:unreachable) + end + end + + # The response message for Locations.ListLocations. + class ListLocationsResponse + include Google::Apis::Core::Hashable + + # A list of locations that matches the specified filter in the request. + # Corresponds to the JSON property `locations` + # @return [Array] + attr_accessor :locations + + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @locations = args[:locations] if args.key?(:locations) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + end + end + + # Response message for 'ListMigrationJobs' request. + class ListMigrationJobsResponse + include Google::Apis::Core::Hashable + + # The list of migration jobs objects. + # Corresponds to the JSON property `migrationJobs` + # @return [Array] + attr_accessor :migration_jobs + + # A token, which can be sent as `page_token` to retrieve the next page. If this + # field is omitted, there are no subsequent pages. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # Locations that could not be reached. + # Corresponds to the JSON property `unreachable` + # @return [Array] + attr_accessor :unreachable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @migration_jobs = args[:migration_jobs] if args.key?(:migration_jobs) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @unreachable = args[:unreachable] if args.key?(:unreachable) + end + end + + # The response message for Operations.ListOperations. + class ListOperationsResponse + include Google::Apis::Core::Hashable + + # The standard List next-page token. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # A list of operations that matches the specified filter in the request. + # Corresponds to the JSON property `operations` + # @return [Array] + attr_accessor :operations + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @operations = args[:operations] if args.key?(:operations) + end + end + + # A resource that represents Google Cloud Platform location. + class Location + include Google::Apis::Core::Hashable + + # The friendly name for this location, typically a nearby city name. For example, + # "Tokyo". + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Cross-service attributes for the location. For example `"cloud.googleapis.com/ + # region": "us-east1"` + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The canonical id for this location. For example: `"us-east1"`. + # Corresponds to the JSON property `locationId` + # @return [String] + attr_accessor :location_id + + # Service-specific metadata. For example the available capacity at the given + # location. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # Resource name for the location, which may vary between implementations. For + # example: `"projects/example-project/locations/us-east1"` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @display_name = args[:display_name] if args.key?(:display_name) + @labels = args[:labels] if args.key?(:labels) + @location_id = args[:location_id] if args.key?(:location_id) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + end + end + + # Represents a Database Migration Service migration job object. + class MigrationJob + include Google::Apis::Core::Hashable + + # Output only. The timestamp when the migration job resource was created. A + # timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: " + # 2014-10-02T15:01:23.045123456Z". + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # Required. The resource name (URI) of the destination connection profile. + # Corresponds to the JSON property `destination` + # @return [String] + attr_accessor :destination + + # A message defining the database engine and provider. + # Corresponds to the JSON property `destinationDatabase` + # @return [Google::Apis::DatamigrationV1beta1::DatabaseType] + attr_accessor :destination_database + + # The migration job display name. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # The path to the dump file in Google Cloud Storage, in the format: (gs://[ + # BUCKET_NAME]/[OBJECT_NAME]). + # Corresponds to the JSON property `dumpPath` + # @return [String] + attr_accessor :dump_path + + # Output only. The duration of the migration job (in seconds). A duration in + # seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s". + # Corresponds to the JSON property `duration` + # @return [String] + attr_accessor :duration + + # Output only. If the migration job is completed, the time when it was completed. + # Corresponds to the JSON property `endTime` + # @return [String] + attr_accessor :end_time + + # The `Status` type defines a logical error model that is suitable for different + # programming environments, including REST APIs and RPC APIs. It is used by [ + # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of + # data: error code, error message, and error details. You can find out more + # about this error model and how to work with it in the [API Design Guide](https: + # //cloud.google.com/apis/design/errors). + # Corresponds to the JSON property `error` + # @return [Google::Apis::DatamigrationV1beta1::Status] + attr_accessor :error + + # The resource labels for migration job to use to annotate any related + # underlying resources such as Compute Engine VMs. An object containing a list + # of "key": "value" pairs. Example: `` "name": "wrench", "mass": "1.3kg", "count" + # : "3" ``. + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # The name (URI) of this migration job resource, in the form of: projects/` + # project`/locations/`location`/instances/`instance`. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Output only. The current migration job phase. + # Corresponds to the JSON property `phase` + # @return [String] + attr_accessor :phase + + # The details needed to configure a reverse SSH tunnel between the source and + # destination databases. These details will be used when calling the + # generateSshScript method (see https://cloud.google.com/database-migration/docs/ + # reference/rest/v1beta1/projects.locations.migrationJobs/generateSshScript) to + # produce the script that will help set up the reverse SSH tunnel, and to set up + # the VPC peering between the Cloud SQL private network and the VPC. + # Corresponds to the JSON property `reverseSshConnectivity` + # @return [Google::Apis::DatamigrationV1beta1::ReverseSshConnectivity] + attr_accessor :reverse_ssh_connectivity + + # Required. The resource name (URI) of the source connection profile. + # Corresponds to the JSON property `source` + # @return [String] + attr_accessor :source + + # A message defining the database engine and provider. + # Corresponds to the JSON property `sourceDatabase` + # @return [Google::Apis::DatamigrationV1beta1::DatabaseType] + attr_accessor :source_database + + # The current migration job state. + # Corresponds to the JSON property `state` + # @return [String] + attr_accessor :state + + # The source database will allow incoming connections from the destination + # database's public IP. You can retrieve the Cloud SQL instance's public IP from + # the Cloud SQL console or using Cloud SQL APIs. No additional configuration is + # required. + # Corresponds to the JSON property `staticIpConnectivity` + # @return [Google::Apis::DatamigrationV1beta1::StaticIpConnectivity] + attr_accessor :static_ip_connectivity + + # Required. The migration job type. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + # Output only. The timestamp when the migration job resource was last updated. A + # timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: " + # 2014-10-02T15:01:23.045123456Z". + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + # The details of the VPC where the source database is located in Google Cloud. + # We will use this information to set up the VPC peering connection between + # Cloud SQL and this VPC. + # Corresponds to the JSON property `vpcPeeringConnectivity` + # @return [Google::Apis::DatamigrationV1beta1::VpcPeeringConnectivity] + attr_accessor :vpc_peering_connectivity + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @destination = args[:destination] if args.key?(:destination) + @destination_database = args[:destination_database] if args.key?(:destination_database) + @display_name = args[:display_name] if args.key?(:display_name) + @dump_path = args[:dump_path] if args.key?(:dump_path) + @duration = args[:duration] if args.key?(:duration) + @end_time = args[:end_time] if args.key?(:end_time) + @error = args[:error] if args.key?(:error) + @labels = args[:labels] if args.key?(:labels) + @name = args[:name] if args.key?(:name) + @phase = args[:phase] if args.key?(:phase) + @reverse_ssh_connectivity = args[:reverse_ssh_connectivity] if args.key?(:reverse_ssh_connectivity) + @source = args[:source] if args.key?(:source) + @source_database = args[:source_database] if args.key?(:source_database) + @state = args[:state] if args.key?(:state) + @static_ip_connectivity = args[:static_ip_connectivity] if args.key?(:static_ip_connectivity) + @type = args[:type] if args.key?(:type) + @update_time = args[:update_time] if args.key?(:update_time) + @vpc_peering_connectivity = args[:vpc_peering_connectivity] if args.key?(:vpc_peering_connectivity) + end + end + + # Error message of a verification Migration job. + class MigrationJobVerificationError + include Google::Apis::Core::Hashable + + # Output only. An instance of ErrorCode specifying the error that occurred. + # Corresponds to the JSON property `errorCode` + # @return [String] + attr_accessor :error_code + + # Output only. A specific detailed error message, if supplied by the engine. + # Corresponds to the JSON property `errorDetailMessage` + # @return [String] + attr_accessor :error_detail_message + + # Output only. A formatted message with further details about the error and a + # CTA. + # Corresponds to the JSON property `errorMessage` + # @return [String] + attr_accessor :error_message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @error_code = args[:error_code] if args.key?(:error_code) + @error_detail_message = args[:error_detail_message] if args.key?(:error_detail_message) + @error_message = args[:error_message] if args.key?(:error_message) + end + end + + # Specifies connection parameters required specifically for MySQL databases. + class MySqlConnectionProfile + include Google::Apis::Core::Hashable + + # If the source is a Cloud SQL database, use this field to provide the Cloud SQL + # instance ID of the source. + # Corresponds to the JSON property `cloudSqlId` + # @return [String] + attr_accessor :cloud_sql_id + + # Required. The IP or hostname of the source MySQL database. + # Corresponds to the JSON property `host` + # @return [String] + attr_accessor :host + + # Required. Input only. The password for the user that Database Migration + # Service will be using to connect to the database. This field is not returned + # on request, and the value is encrypted when stored in Database Migration + # Service. + # Corresponds to the JSON property `password` + # @return [String] + attr_accessor :password + + # Output only. Indicates If this connection profile password is stored. + # Corresponds to the JSON property `passwordSet` + # @return [Boolean] + attr_accessor :password_set + alias_method :password_set?, :password_set + + # Required. The network port of the source MySQL database. + # Corresponds to the JSON property `port` + # @return [Fixnum] + attr_accessor :port + + # SSL configuration information. + # Corresponds to the JSON property `ssl` + # @return [Google::Apis::DatamigrationV1beta1::SslConfig] + attr_accessor :ssl + + # Required. The username that Database Migration Service will use to connect to + # the database. The value is encrypted when stored in Database Migration Service. + # Corresponds to the JSON property `username` + # @return [String] + attr_accessor :username + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cloud_sql_id = args[:cloud_sql_id] if args.key?(:cloud_sql_id) + @host = args[:host] if args.key?(:host) + @password = args[:password] if args.key?(:password) + @password_set = args[:password_set] if args.key?(:password_set) + @port = args[:port] if args.key?(:port) + @ssl = args[:ssl] if args.key?(:ssl) + @username = args[:username] if args.key?(:username) + end + end + + # This resource represents a long-running operation that is the result of a + # network API call. + class Operation + include Google::Apis::Core::Hashable + + # If the value is `false`, it means the operation is still in progress. If `true` + # , the operation is completed, and either `error` or `response` is available. + # Corresponds to the JSON property `done` + # @return [Boolean] + attr_accessor :done + alias_method :done?, :done + + # The `Status` type defines a logical error model that is suitable for different + # programming environments, including REST APIs and RPC APIs. It is used by [ + # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of + # data: error code, error message, and error details. You can find out more + # about this error model and how to work with it in the [API Design Guide](https: + # //cloud.google.com/apis/design/errors). + # Corresponds to the JSON property `error` + # @return [Google::Apis::DatamigrationV1beta1::Status] + attr_accessor :error + + # Service-specific metadata associated with the operation. It typically contains + # progress information and common metadata such as create time. Some services + # might not provide such metadata. Any method that returns a long-running + # operation should document the metadata type, if any. + # Corresponds to the JSON property `metadata` + # @return [Hash] + attr_accessor :metadata + + # The server-assigned name, which is only unique within the same service that + # originally returns it. If you use the default HTTP mapping, the `name` should + # be a resource name ending with `operations/`unique_id``. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # The normal response of the operation in case of success. If the original + # method returns no data on success, such as `Delete`, the response is `google. + # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, + # the response should be the resource. For other methods, the response should + # have the type `XxxResponse`, where `Xxx` is the original method name. For + # example, if the original method name is `TakeSnapshot()`, the inferred + # response type is `TakeSnapshotResponse`. + # Corresponds to the JSON property `response` + # @return [Hash] + attr_accessor :response + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @done = args[:done] if args.key?(:done) + @error = args[:error] if args.key?(:error) + @metadata = args[:metadata] if args.key?(:metadata) + @name = args[:name] if args.key?(:name) + @response = args[:response] if args.key?(:response) + end + end + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. A `Policy` is a collection of `bindings`. + # A `binding` binds one or more `members` to a single `role`. Members can be + # user accounts, service accounts, Google groups, and domains (such as G Suite). + # A `role` is a named list of permissions; each `role` can be an IAM predefined + # role or a user-created custom role. For some types of Google Cloud resources, + # a `binding` can also specify a `condition`, which is a logical expression that + # allows access to a resource only if the expression evaluates to `true`. A + # condition can add constraints based on attributes of the request, the resource, + # or both. To learn which resources support conditions in their IAM policies, + # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/ + # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/ + # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", " + # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@ + # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager. + # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` " + # title": "expirable access", "description": "Does not grant access after Sep + # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", ` + # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: - + # members: - user:mike@example.com - group:admins@example.com - domain:google. + # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/ + # resourcemanager.organizationAdmin - members: - user:eve@example.com role: + # roles/resourcemanager.organizationViewer condition: title: expirable access + # description: Does not grant access after Sep 2020 expression: request.time < + # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a + # description of IAM and its features, see the [IAM documentation](https://cloud. + # google.com/iam/docs/). + class Policy + include Google::Apis::Core::Hashable + + # Specifies cloud audit logging configuration for this policy. + # Corresponds to the JSON property `auditConfigs` + # @return [Array] + attr_accessor :audit_configs + + # Associates a list of `members` to a `role`. Optionally, may specify a ` + # condition` that determines how and when the `bindings` are applied. Each of + # the `bindings` must contain at least one member. + # Corresponds to the JSON property `bindings` + # @return [Array] + attr_accessor :bindings + + # `etag` is used for optimistic concurrency control as a way to help prevent + # simultaneous updates of a policy from overwriting each other. It is strongly + # suggested that systems make use of the `etag` in the read-modify-write cycle + # to perform policy updates in order to avoid race conditions: An `etag` is + # returned in the response to `getIamPolicy`, and systems are expected to put + # that etag in the request to `setIamPolicy` to ensure that their change will be + # applied to the same version of the policy. **Important:** If you use IAM + # Conditions, you must include the `etag` field whenever you call `setIamPolicy`. + # If you omit this field, then IAM allows you to overwrite a version `3` policy + # with a version `1` policy, and all of the conditions in the version `3` policy + # are lost. + # Corresponds to the JSON property `etag` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :etag + + # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. + # Requests that specify an invalid value are rejected. Any operation that + # affects conditional role bindings must specify version `3`. This requirement + # applies to the following operations: * Getting a policy that includes a + # conditional role binding * Adding a conditional role binding to a policy * + # Changing a conditional role binding in a policy * Removing any role binding, + # with or without a condition, from a policy that includes conditions ** + # Important:** If you use IAM Conditions, you must include the `etag` field + # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you + # to overwrite a version `3` policy with a version `1` policy, and all of the + # conditions in the version `3` policy are lost. If a policy does not include + # any conditions, operations on that policy may specify any valid version or + # leave the field unset. To learn which resources support conditions in their + # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/ + # conditions/resource-policies). + # Corresponds to the JSON property `version` + # @return [Fixnum] + attr_accessor :version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @audit_configs = args[:audit_configs] if args.key?(:audit_configs) + @bindings = args[:bindings] if args.key?(:bindings) + @etag = args[:etag] if args.key?(:etag) + @version = args[:version] if args.key?(:version) + end + end + + # Request message for 'PromoteMigrationJob' request. + class PromoteMigrationJobRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Request message for 'RestartMigrationJob' request. + class RestartMigrationJobRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Request message for 'ResumeMigrationJob' request. + class ResumeMigrationJobRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # The details needed to configure a reverse SSH tunnel between the source and + # destination databases. These details will be used when calling the + # generateSshScript method (see https://cloud.google.com/database-migration/docs/ + # reference/rest/v1beta1/projects.locations.migrationJobs/generateSshScript) to + # produce the script that will help set up the reverse SSH tunnel, and to set up + # the VPC peering between the Cloud SQL private network and the VPC. + class ReverseSshConnectivity + include Google::Apis::Core::Hashable + + # The name of the virtual machine (Compute Engine) used as the bastion server + # for the SSH tunnel. + # Corresponds to the JSON property `vm` + # @return [String] + attr_accessor :vm + + # Required. The IP of the virtual machine (Compute Engine) used as the bastion + # server for the SSH tunnel. + # Corresponds to the JSON property `vmIp` + # @return [String] + attr_accessor :vm_ip + + # Required. The forwarding port of the virtual machine (Compute Engine) used as + # the bastion server for the SSH tunnel. + # Corresponds to the JSON property `vmPort` + # @return [Fixnum] + attr_accessor :vm_port + + # The name of the VPC to peer with the Cloud SQL private network. + # Corresponds to the JSON property `vpc` + # @return [String] + attr_accessor :vpc + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @vm = args[:vm] if args.key?(:vm) + @vm_ip = args[:vm_ip] if args.key?(:vm_ip) + @vm_port = args[:vm_port] if args.key?(:vm_port) + @vpc = args[:vpc] if args.key?(:vpc) + end + end + + # Request message for `SetIamPolicy` method. + class SetIamPolicyRequest + include Google::Apis::Core::Hashable + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. A `Policy` is a collection of `bindings`. + # A `binding` binds one or more `members` to a single `role`. Members can be + # user accounts, service accounts, Google groups, and domains (such as G Suite). + # A `role` is a named list of permissions; each `role` can be an IAM predefined + # role or a user-created custom role. For some types of Google Cloud resources, + # a `binding` can also specify a `condition`, which is a logical expression that + # allows access to a resource only if the expression evaluates to `true`. A + # condition can add constraints based on attributes of the request, the resource, + # or both. To learn which resources support conditions in their IAM policies, + # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/ + # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/ + # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", " + # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@ + # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager. + # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` " + # title": "expirable access", "description": "Does not grant access after Sep + # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", ` + # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: - + # members: - user:mike@example.com - group:admins@example.com - domain:google. + # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/ + # resourcemanager.organizationAdmin - members: - user:eve@example.com role: + # roles/resourcemanager.organizationViewer condition: title: expirable access + # description: Does not grant access after Sep 2020 expression: request.time < + # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a + # description of IAM and its features, see the [IAM documentation](https://cloud. + # google.com/iam/docs/). + # Corresponds to the JSON property `policy` + # @return [Google::Apis::DatamigrationV1beta1::Policy] + attr_accessor :policy + + # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + # the fields in the mask will be modified. If no mask is provided, the following + # default mask is used: `paths: "bindings, etag"` + # Corresponds to the JSON property `updateMask` + # @return [String] + attr_accessor :update_mask + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @policy = args[:policy] if args.key?(:policy) + @update_mask = args[:update_mask] if args.key?(:update_mask) + end + end + + # An entry for an Access Control list. + class SqlAclEntry + include Google::Apis::Core::Hashable + + # The time when this access control entry expires in [RFC 3339](https://tools. + # ietf.org/html/rfc3339) format, for example: `2012-11-15T16:19:00.094Z`. + # Corresponds to the JSON property `expireTime` + # @return [String] + attr_accessor :expire_time + + # A label to identify this entry. + # Corresponds to the JSON property `label` + # @return [String] + attr_accessor :label + + # Input only. The time-to-leave of this access control entry. + # Corresponds to the JSON property `ttl` + # @return [String] + attr_accessor :ttl + + # The allowlisted value for the access control list. + # Corresponds to the JSON property `value` + # @return [String] + attr_accessor :value + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @expire_time = args[:expire_time] if args.key?(:expire_time) + @label = args[:label] if args.key?(:label) + @ttl = args[:ttl] if args.key?(:ttl) + @value = args[:value] if args.key?(:value) + end + end + + # IP Management configuration. + class SqlIpConfig + include Google::Apis::Core::Hashable + + # The list of external networks that are allowed to connect to the instance + # using the IP. See https://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation, + # also known as 'slash' notation (e.g. `192.168.100.0/24`). + # Corresponds to the JSON property `authorizedNetworks` + # @return [Array] + attr_accessor :authorized_networks + + # Whether the instance should be assigned an IPv4 address or not. + # Corresponds to the JSON property `enableIpv4` + # @return [Boolean] + attr_accessor :enable_ipv4 + alias_method :enable_ipv4?, :enable_ipv4 + + # The resource link for the VPC network from which the Cloud SQL instance is + # accessible for private IP. For example, `/projects/myProject/global/networks/ + # default`. This setting can be updated, but it cannot be removed after it is + # set. + # Corresponds to the JSON property `privateNetwork` + # @return [String] + attr_accessor :private_network + + # Whether SSL connections over IP should be enforced or not. + # Corresponds to the JSON property `requireSsl` + # @return [Boolean] + attr_accessor :require_ssl + alias_method :require_ssl?, :require_ssl + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks) + @enable_ipv4 = args[:enable_ipv4] if args.key?(:enable_ipv4) + @private_network = args[:private_network] if args.key?(:private_network) + @require_ssl = args[:require_ssl] if args.key?(:require_ssl) + end + end + + # Response message for 'GenerateSshScript' request. + class SshScript + include Google::Apis::Core::Hashable + + # The ssh configuration script. + # Corresponds to the JSON property `script` + # @return [String] + attr_accessor :script + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @script = args[:script] if args.key?(:script) + end + end + + # SSL configuration information. + class SslConfig + include Google::Apis::Core::Hashable + + # Required. Input only. The x509 PEM-encoded certificate of the CA that signed + # the source database server's certificate. The replica will use this + # certificate to verify it's connecting to the right host. + # Corresponds to the JSON property `caCertificate` + # @return [String] + attr_accessor :ca_certificate + + # Input only. The x509 PEM-encoded certificate that will be used by the replica + # to authenticate against the source database server.If this field is used then + # the 'client_key' field is mandatory. + # Corresponds to the JSON property `clientCertificate` + # @return [String] + attr_accessor :client_certificate + + # Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key + # associated with the Client Certificate. If this field is used then the ' + # client_certificate' field is mandatory. + # Corresponds to the JSON property `clientKey` + # @return [String] + attr_accessor :client_key + + # Output only. The ssl config type according to 'client_key', ' + # client_certificate' and 'ca_certificate'. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate) + @client_certificate = args[:client_certificate] if args.key?(:client_certificate) + @client_key = args[:client_key] if args.key?(:client_key) + @type = args[:type] if args.key?(:type) + end + end + + # Request message for 'StartMigrationJob' request. + class StartMigrationJobRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # The source database will allow incoming connections from the destination + # database's public IP. You can retrieve the Cloud SQL instance's public IP from + # the Cloud SQL console or using Cloud SQL APIs. No additional configuration is + # required. + class StaticIpConnectivity + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # The `Status` type defines a logical error model that is suitable for different + # programming environments, including REST APIs and RPC APIs. It is used by [ + # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of + # data: error code, error message, and error details. You can find out more + # about this error model and how to work with it in the [API Design Guide](https: + # //cloud.google.com/apis/design/errors). + class Status + include Google::Apis::Core::Hashable + + # The status code, which should be an enum value of google.rpc.Code. + # Corresponds to the JSON property `code` + # @return [Fixnum] + attr_accessor :code + + # A list of messages that carry the error details. There is a common set of + # message types for APIs to use. + # Corresponds to the JSON property `details` + # @return [Array>] + attr_accessor :details + + # A developer-facing error message, which should be in English. Any user-facing + # error message should be localized and sent in the google.rpc.Status.details + # field, or localized by the client. + # Corresponds to the JSON property `message` + # @return [String] + attr_accessor :message + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @code = args[:code] if args.key?(:code) + @details = args[:details] if args.key?(:details) + @message = args[:message] if args.key?(:message) + end + end + + # Request message for 'StopMigrationJob' request. + class StopMigrationJobRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # Request message for `TestIamPermissions` method. + class TestIamPermissionsRequest + include Google::Apis::Core::Hashable + + # The set of permissions to check for the `resource`. Permissions with wildcards + # (such as '*' or 'storage.*') are not allowed. For more information see [IAM + # Overview](https://cloud.google.com/iam/docs/overview#permissions). + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # Response message for `TestIamPermissions` method. + class TestIamPermissionsResponse + include Google::Apis::Core::Hashable + + # A subset of `TestPermissionsRequest.permissions` that the caller is allowed. + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + + # Request message for 'VerifyMigrationJob' request. + class VerifyMigrationJobRequest + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + + # VM creation configuration message + class VmCreationConfig + include Google::Apis::Core::Hashable + + # The subnet name the vm needs to be created in. + # Corresponds to the JSON property `subnet` + # @return [String] + attr_accessor :subnet + + # Required. VM instance machine type to create. + # Corresponds to the JSON property `vmMachineType` + # @return [String] + attr_accessor :vm_machine_type + + # The Google Cloud Platform zone to create the VM in. + # Corresponds to the JSON property `vmZone` + # @return [String] + attr_accessor :vm_zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @subnet = args[:subnet] if args.key?(:subnet) + @vm_machine_type = args[:vm_machine_type] if args.key?(:vm_machine_type) + @vm_zone = args[:vm_zone] if args.key?(:vm_zone) + end + end + + # VM selection configuration message + class VmSelectionConfig + include Google::Apis::Core::Hashable + + # Required. The Google Cloud Platform zone the VM is located. + # Corresponds to the JSON property `vmZone` + # @return [String] + attr_accessor :vm_zone + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @vm_zone = args[:vm_zone] if args.key?(:vm_zone) + end + end + + # The details of the VPC where the source database is located in Google Cloud. + # We will use this information to set up the VPC peering connection between + # Cloud SQL and this VPC. + class VpcPeeringConnectivity + include Google::Apis::Core::Hashable + + # The name of the VPC network to peer with the Cloud SQL private network. + # Corresponds to the JSON property `vpc` + # @return [String] + attr_accessor :vpc + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @vpc = args[:vpc] if args.key?(:vpc) + end + end + end + end +end diff --git a/generated/google/apis/datamigration_v1beta1/representations.rb b/generated/google/apis/datamigration_v1beta1/representations.rb new file mode 100644 index 000000000..bebcace5c --- /dev/null +++ b/generated/google/apis/datamigration_v1beta1/representations.rb @@ -0,0 +1,678 @@ +# Copyright 2015 Google Inc. +# +# 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 +# +# http://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. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module DatamigrationV1beta1 + + class AuditConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AuditLogConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Binding + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CancelOperationRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CloudSqlConnectionProfile + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class CloudSqlSettings + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ConnectionProfile + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class DatabaseType + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Empty + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Expr + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GenerateSshScriptRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class GoogleCloudClouddmsV1beta1OperationMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListConnectionProfilesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListLocationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListMigrationJobsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListOperationsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Location + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class MigrationJob + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class MigrationJobVerificationError + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class MySqlConnectionProfile + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Operation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Policy + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class PromoteMigrationJobRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RestartMigrationJobRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ResumeMigrationJobRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ReverseSshConnectivity + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SetIamPolicyRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SqlAclEntry + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SqlIpConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SshScript + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SslConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class StartMigrationJobRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class StaticIpConnectivity + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Status + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class StopMigrationJobRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TestIamPermissionsRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TestIamPermissionsResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class VerifyMigrationJobRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class VmCreationConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class VmSelectionConfig + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class VpcPeeringConnectivity + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AuditConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :audit_log_configs, as: 'auditLogConfigs', class: Google::Apis::DatamigrationV1beta1::AuditLogConfig, decorator: Google::Apis::DatamigrationV1beta1::AuditLogConfig::Representation + + property :service, as: 'service' + end + end + + class AuditLogConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :exempted_members, as: 'exemptedMembers' + property :log_type, as: 'logType' + end + end + + class Binding + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :binding_id, as: 'bindingId' + property :condition, as: 'condition', class: Google::Apis::DatamigrationV1beta1::Expr, decorator: Google::Apis::DatamigrationV1beta1::Expr::Representation + + collection :members, as: 'members' + property :role, as: 'role' + end + end + + class CancelOperationRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class CloudSqlConnectionProfile + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cloud_sql_id, as: 'cloudSqlId' + property :private_ip, as: 'privateIp' + property :public_ip, as: 'publicIp' + property :settings, as: 'settings', class: Google::Apis::DatamigrationV1beta1::CloudSqlSettings, decorator: Google::Apis::DatamigrationV1beta1::CloudSqlSettings::Representation + + end + end + + class CloudSqlSettings + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :activation_policy, as: 'activationPolicy' + property :auto_storage_increase, as: 'autoStorageIncrease' + property :data_disk_size_gb, :numeric_string => true, as: 'dataDiskSizeGb' + property :data_disk_type, as: 'dataDiskType' + hash :database_flags, as: 'databaseFlags' + property :database_version, as: 'databaseVersion' + property :ip_config, as: 'ipConfig', class: Google::Apis::DatamigrationV1beta1::SqlIpConfig, decorator: Google::Apis::DatamigrationV1beta1::SqlIpConfig::Representation + + property :root_password, as: 'rootPassword' + property :root_password_set, as: 'rootPasswordSet' + property :source_id, as: 'sourceId' + property :storage_auto_resize_limit, :numeric_string => true, as: 'storageAutoResizeLimit' + property :tier, as: 'tier' + hash :user_labels, as: 'userLabels' + property :zone, as: 'zone' + end + end + + class ConnectionProfile + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cloudsql, as: 'cloudsql', class: Google::Apis::DatamigrationV1beta1::CloudSqlConnectionProfile, decorator: Google::Apis::DatamigrationV1beta1::CloudSqlConnectionProfile::Representation + + property :create_time, as: 'createTime' + property :display_name, as: 'displayName' + property :error, as: 'error', class: Google::Apis::DatamigrationV1beta1::Status, decorator: Google::Apis::DatamigrationV1beta1::Status::Representation + + hash :labels, as: 'labels' + property :mysql, as: 'mysql', class: Google::Apis::DatamigrationV1beta1::MySqlConnectionProfile, decorator: Google::Apis::DatamigrationV1beta1::MySqlConnectionProfile::Representation + + property :name, as: 'name' + property :provider, as: 'provider' + property :state, as: 'state' + property :update_time, as: 'updateTime' + end + end + + class DatabaseType + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :engine, as: 'engine' + property :provider, as: 'provider' + end + end + + class Empty + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class Expr + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + property :expression, as: 'expression' + property :location, as: 'location' + property :title, as: 'title' + end + end + + class GenerateSshScriptRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :vm, as: 'vm' + property :vm_creation_config, as: 'vmCreationConfig', class: Google::Apis::DatamigrationV1beta1::VmCreationConfig, decorator: Google::Apis::DatamigrationV1beta1::VmCreationConfig::Representation + + property :vm_port, as: 'vmPort' + property :vm_selection_config, as: 'vmSelectionConfig', class: Google::Apis::DatamigrationV1beta1::VmSelectionConfig, decorator: Google::Apis::DatamigrationV1beta1::VmSelectionConfig::Representation + + end + end + + class GoogleCloudClouddmsV1beta1OperationMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :api_version, as: 'apiVersion' + property :create_time, as: 'createTime' + property :end_time, as: 'endTime' + property :requested_cancellation, as: 'requestedCancellation' + property :status_message, as: 'statusMessage' + property :target, as: 'target' + property :verb, as: 'verb' + end + end + + class ListConnectionProfilesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :connection_profiles, as: 'connectionProfiles', class: Google::Apis::DatamigrationV1beta1::ConnectionProfile, decorator: Google::Apis::DatamigrationV1beta1::ConnectionProfile::Representation + + property :next_page_token, as: 'nextPageToken' + collection :unreachable, as: 'unreachable' + end + end + + class ListLocationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :locations, as: 'locations', class: Google::Apis::DatamigrationV1beta1::Location, decorator: Google::Apis::DatamigrationV1beta1::Location::Representation + + property :next_page_token, as: 'nextPageToken' + end + end + + class ListMigrationJobsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :migration_jobs, as: 'migrationJobs', class: Google::Apis::DatamigrationV1beta1::MigrationJob, decorator: Google::Apis::DatamigrationV1beta1::MigrationJob::Representation + + property :next_page_token, as: 'nextPageToken' + collection :unreachable, as: 'unreachable' + end + end + + class ListOperationsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :operations, as: 'operations', class: Google::Apis::DatamigrationV1beta1::Operation, decorator: Google::Apis::DatamigrationV1beta1::Operation::Representation + + end + end + + class Location + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :display_name, as: 'displayName' + hash :labels, as: 'labels' + property :location_id, as: 'locationId' + hash :metadata, as: 'metadata' + property :name, as: 'name' + end + end + + class MigrationJob + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :create_time, as: 'createTime' + property :destination, as: 'destination' + property :destination_database, as: 'destinationDatabase', class: Google::Apis::DatamigrationV1beta1::DatabaseType, decorator: Google::Apis::DatamigrationV1beta1::DatabaseType::Representation + + property :display_name, as: 'displayName' + property :dump_path, as: 'dumpPath' + property :duration, as: 'duration' + property :end_time, as: 'endTime' + property :error, as: 'error', class: Google::Apis::DatamigrationV1beta1::Status, decorator: Google::Apis::DatamigrationV1beta1::Status::Representation + + hash :labels, as: 'labels' + property :name, as: 'name' + property :phase, as: 'phase' + property :reverse_ssh_connectivity, as: 'reverseSshConnectivity', class: Google::Apis::DatamigrationV1beta1::ReverseSshConnectivity, decorator: Google::Apis::DatamigrationV1beta1::ReverseSshConnectivity::Representation + + property :source, as: 'source' + property :source_database, as: 'sourceDatabase', class: Google::Apis::DatamigrationV1beta1::DatabaseType, decorator: Google::Apis::DatamigrationV1beta1::DatabaseType::Representation + + property :state, as: 'state' + property :static_ip_connectivity, as: 'staticIpConnectivity', class: Google::Apis::DatamigrationV1beta1::StaticIpConnectivity, decorator: Google::Apis::DatamigrationV1beta1::StaticIpConnectivity::Representation + + property :type, as: 'type' + property :update_time, as: 'updateTime' + property :vpc_peering_connectivity, as: 'vpcPeeringConnectivity', class: Google::Apis::DatamigrationV1beta1::VpcPeeringConnectivity, decorator: Google::Apis::DatamigrationV1beta1::VpcPeeringConnectivity::Representation + + end + end + + class MigrationJobVerificationError + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :error_code, as: 'errorCode' + property :error_detail_message, as: 'errorDetailMessage' + property :error_message, as: 'errorMessage' + end + end + + class MySqlConnectionProfile + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cloud_sql_id, as: 'cloudSqlId' + property :host, as: 'host' + property :password, as: 'password' + property :password_set, as: 'passwordSet' + property :port, as: 'port' + property :ssl, as: 'ssl', class: Google::Apis::DatamigrationV1beta1::SslConfig, decorator: Google::Apis::DatamigrationV1beta1::SslConfig::Representation + + property :username, as: 'username' + end + end + + class Operation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :done, as: 'done' + property :error, as: 'error', class: Google::Apis::DatamigrationV1beta1::Status, decorator: Google::Apis::DatamigrationV1beta1::Status::Representation + + hash :metadata, as: 'metadata' + property :name, as: 'name' + hash :response, as: 'response' + end + end + + class Policy + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :audit_configs, as: 'auditConfigs', class: Google::Apis::DatamigrationV1beta1::AuditConfig, decorator: Google::Apis::DatamigrationV1beta1::AuditConfig::Representation + + collection :bindings, as: 'bindings', class: Google::Apis::DatamigrationV1beta1::Binding, decorator: Google::Apis::DatamigrationV1beta1::Binding::Representation + + property :etag, :base64 => true, as: 'etag' + property :version, as: 'version' + end + end + + class PromoteMigrationJobRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class RestartMigrationJobRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class ResumeMigrationJobRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class ReverseSshConnectivity + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :vm, as: 'vm' + property :vm_ip, as: 'vmIp' + property :vm_port, as: 'vmPort' + property :vpc, as: 'vpc' + end + end + + class SetIamPolicyRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :policy, as: 'policy', class: Google::Apis::DatamigrationV1beta1::Policy, decorator: Google::Apis::DatamigrationV1beta1::Policy::Representation + + property :update_mask, as: 'updateMask' + end + end + + class SqlAclEntry + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :expire_time, as: 'expireTime' + property :label, as: 'label' + property :ttl, as: 'ttl' + property :value, as: 'value' + end + end + + class SqlIpConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :authorized_networks, as: 'authorizedNetworks', class: Google::Apis::DatamigrationV1beta1::SqlAclEntry, decorator: Google::Apis::DatamigrationV1beta1::SqlAclEntry::Representation + + property :enable_ipv4, as: 'enableIpv4' + property :private_network, as: 'privateNetwork' + property :require_ssl, as: 'requireSsl' + end + end + + class SshScript + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :script, as: 'script' + end + end + + class SslConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :ca_certificate, as: 'caCertificate' + property :client_certificate, as: 'clientCertificate' + property :client_key, as: 'clientKey' + property :type, as: 'type' + end + end + + class StartMigrationJobRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class StaticIpConnectivity + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class Status + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :code, as: 'code' + collection :details, as: 'details' + property :message, as: 'message' + end + end + + class StopMigrationJobRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class TestIamPermissionsRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + + class TestIamPermissionsResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + + class VerifyMigrationJobRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + + class VmCreationConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :subnet, as: 'subnet' + property :vm_machine_type, as: 'vmMachineType' + property :vm_zone, as: 'vmZone' + end + end + + class VmSelectionConfig + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :vm_zone, as: 'vmZone' + end + end + + class VpcPeeringConnectivity + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :vpc, as: 'vpc' + end + end + end + end +end diff --git a/generated/google/apis/datamigration_v1beta1/service.rb b/generated/google/apis/datamigration_v1beta1/service.rb new file mode 100644 index 000000000..3f331eaca --- /dev/null +++ b/generated/google/apis/datamigration_v1beta1/service.rb @@ -0,0 +1,1172 @@ +# Copyright 2015 Google Inc. +# +# 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 +# +# http://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. + +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module DatamigrationV1beta1 + # Database Migration API + # + # Manage Cloud Database Migration Service resources on Google Cloud Platform. + # + # @example + # require 'google/apis/datamigration_v1beta1' + # + # Datamigration = Google::Apis::DatamigrationV1beta1 # Alias the module + # service = Datamigration::CloudDatabaseMigrationServiceService.new + # + # @see https://cloud.google.com/datamigration/ + class CloudDatabaseMigrationServiceService < Google::Apis::Core::BaseService + # @return [String] + # API key. Your API key identifies your project and provides you with API access, + # quota, and reports. Required unless you provide an OAuth 2.0 token. + attr_accessor :key + + # @return [String] + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + attr_accessor :quota_user + + def initialize + super('https://datamigration.googleapis.com/', '') + @batch_path = 'batch' + end + + # Gets information about a location. + # @param [String] name + # Resource name for the location. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Location] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Location] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::Location::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Location + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists information about the supported locations for this service. + # @param [String] name + # The resource that owns the locations collection, if applicable. + # @param [String] filter + # The standard list filter. + # @param [Fixnum] page_size + # The standard list page size. + # @param [String] page_token + # The standard list page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::ListLocationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::ListLocationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_locations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}/locations', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::ListLocationsResponse::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::ListLocationsResponse + command.params['name'] = name unless name.nil? + command.query['filter'] = filter unless filter.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates a new connection profile in a given project and location. + # @param [String] parent + # Required. The parent, which owns this collection of connection profiles. + # @param [Google::Apis::DatamigrationV1beta1::ConnectionProfile] connection_profile_object + # @param [String] connection_profile_id + # Required. The connection profile identifier. + # @param [String] request_id + # A unique id used to identify the request. If the server receives two requests + # with the same id, then the second request will be ignored. It is recommended + # to always set this value to a UUID. The id must contain only letters (a-z, A-Z) + # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 + # characters. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_project_location_connection_profile(parent, connection_profile_object = nil, connection_profile_id: nil, request_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+parent}/connectionProfiles', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::ConnectionProfile::Representation + command.request_object = connection_profile_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['parent'] = parent unless parent.nil? + command.query['connectionProfileId'] = connection_profile_id unless connection_profile_id.nil? + command.query['requestId'] = request_id unless request_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a single Database Migration Service connection profile. A connection + # profile can only be deleted if it is not in use by any active migration jobs. + # @param [String] name + # Required. Name of the connection profile resource to delete. + # @param [Boolean] force + # In case of force delete, the CloudSQL replica database is also deleted (only + # for CloudSQL connection profile). + # @param [String] request_id + # A unique id used to identify the request. If the server receives two requests + # with the same id, then the second request will be ignored. It is recommended + # to always set this value to a UUID. The id must contain only letters (a-z, A-Z) + # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 + # characters. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_project_location_connection_profile(name, force: nil, request_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['force'] = force unless force.nil? + command.query['requestId'] = request_id unless request_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets details of a single connection profile. + # @param [String] name + # Required. Name of the connection profile resource to get. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::ConnectionProfile] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::ConnectionProfile] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_connection_profile(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::ConnectionProfile::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::ConnectionProfile + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the access control policy for a resource. Returns an empty policy if the + # resource exists and does not have a policy set. + # @param [String] resource + # REQUIRED: The resource for which the policy is being requested. See the + # operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. Valid values are 0, 1, and + # 3. Requests specifying an invalid value will be rejected. Requests for + # policies with any conditional bindings must specify version 3. Policies + # without any conditional bindings may specify any valid value or leave the + # field unset. To learn which resources support conditions in their IAM policies, + # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/ + # resource-policies). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_connection_profile_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+resource}:getIamPolicy', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::Policy::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Policy + command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Retrieve a list of all connection profiles in a given project and location. + # @param [String] parent + # Required. The parent, which owns this collection of connection profiles. + # @param [String] filter + # A filter expression that filters connection profiles listed in the response. + # The expression must specify the field name, a comparison operator, and the + # value that you want to use for filtering. The value must be a string, a number, + # or a boolean. The comparison operator must be either =, !=, >, or <. For + # example, list connection profiles created this year by specifying **createTime + # %gt; 2020-01-01T00:00:00.000000000Z**. You can also filter nested fields. For + # example, you could specify **mySql.username = %lt;my_username%gt;** to list + # all connection profiles configured to connect with a specific username. + # @param [String] order_by + # the order by fields for the result. + # @param [Fixnum] page_size + # The maximum number of connection profiles to return. The service may return + # fewer than this value. If unspecified, at most 50 connection profiles will be + # returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + # @param [String] page_token + # A page token, received from a previous `ListConnectionProfiles` call. Provide + # this to retrieve the subsequent page. When paginating, all other parameters + # provided to `ListConnectionProfiles` must match the call that provided the + # page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::ListConnectionProfilesResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::ListConnectionProfilesResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_connection_profiles(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+parent}/connectionProfiles', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::ListConnectionProfilesResponse::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::ListConnectionProfilesResponse + command.params['parent'] = parent unless parent.nil? + command.query['filter'] = filter unless filter.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Update the configuration of a single connection profile. + # @param [String] name + # The name of this connection profile resource in the form of projects/`project`/ + # locations/`location`/instances/`instance`. + # @param [Google::Apis::DatamigrationV1beta1::ConnectionProfile] connection_profile_object + # @param [String] request_id + # A unique id used to identify the request. If the server receives two requests + # with the same id, then the second request will be ignored. It is recommended + # to always set this value to a UUID. The id must contain only letters (a-z, A-Z) + # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 + # characters. + # @param [String] update_mask + # Required. Field mask is used to specify the fields to be overwritten in the + # connection profile resource by the update. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_project_location_connection_profile(name, connection_profile_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v1beta1/{+name}', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::ConnectionProfile::Representation + command.request_object = connection_profile_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['requestId'] = request_id unless request_id.nil? + command.query['updateMask'] = update_mask unless update_mask.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Sets the access control policy on the specified resource. Replaces any + # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and ` + # PERMISSION_DENIED` errors. + # @param [String] resource + # REQUIRED: The resource for which the policy is being specified. See the + # operation documentation for the appropriate value for this field. + # @param [Google::Apis::DatamigrationV1beta1::SetIamPolicyRequest] set_iam_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_connection_profile_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+resource}:setIamPolicy', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::SetIamPolicyRequest::Representation + command.request_object = set_iam_policy_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Policy::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Policy + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Returns permissions that a caller has on the specified resource. If the + # resource does not exist, this will return an empty set of permissions, not a ` + # NOT_FOUND` error. Note: This operation is designed to be used for building + # permission-aware UIs and command-line tools, not for authorization checking. + # This operation may "fail open" without warning. + # @param [String] resource + # REQUIRED: The resource for which the policy detail is being requested. See the + # operation documentation for the appropriate value for this field. + # @param [Google::Apis::DatamigrationV1beta1::TestIamPermissionsRequest] test_iam_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def test_connection_profile_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+resource}:testIamPermissions', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::TestIamPermissionsRequest::Representation + command.request_object = test_iam_permissions_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Creates a new migration job in a given project and location. + # @param [String] parent + # Required. The parent, which owns this collection of migration jobs. + # @param [Google::Apis::DatamigrationV1beta1::MigrationJob] migration_job_object + # @param [String] migration_job_id + # Required. The ID of the instance to create. + # @param [String] request_id + # A unique id used to identify the request. If the server receives two requests + # with the same id, then the second request will be ignored. It is recommended + # to always set this value to a UUID. The id must contain only letters (a-z, A-Z) + # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 + # characters. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def create_project_location_migration_job(parent, migration_job_object = nil, migration_job_id: nil, request_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+parent}/migrationJobs', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::MigrationJob::Representation + command.request_object = migration_job_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['parent'] = parent unless parent.nil? + command.query['migrationJobId'] = migration_job_id unless migration_job_id.nil? + command.query['requestId'] = request_id unless request_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a single migration job. + # @param [String] name + # Required. Name of the migration job resource to delete. + # @param [Boolean] force + # The destination CloudSQL connection profile is always deleted with the + # migration job. In case of force delete, the destination CloudSQL replica + # database is also deleted. + # @param [String] request_id + # A unique id used to identify the request. If the server receives two requests + # with the same id, then the second request will be ignored. It is recommended + # to always set this value to a UUID. The id must contain only letters (a-z, A-Z) + # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 + # characters. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_project_location_migration_job(name, force: nil, request_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['force'] = force unless force.nil? + command.query['requestId'] = request_id unless request_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Generate a SSH configuration script to configure the reverse SSH connectivity. + # @param [String] migration_job + # Name of the migration job resource to generate the SSH script. + # @param [Google::Apis::DatamigrationV1beta1::GenerateSshScriptRequest] generate_ssh_script_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::SshScript] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::SshScript] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def generate_migration_job_ssh_script(migration_job, generate_ssh_script_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+migrationJob}:generateSshScript', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::GenerateSshScriptRequest::Representation + command.request_object = generate_ssh_script_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::SshScript::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::SshScript + command.params['migrationJob'] = migration_job unless migration_job.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets details of a single migration job. + # @param [String] name + # Required. Name of the migration job resource to get. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::MigrationJob] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::MigrationJob] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_migration_job(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::MigrationJob::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::MigrationJob + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the access control policy for a resource. Returns an empty policy if the + # resource exists and does not have a policy set. + # @param [String] resource + # REQUIRED: The resource for which the policy is being requested. See the + # operation documentation for the appropriate value for this field. + # @param [Fixnum] options_requested_policy_version + # Optional. The policy format version to be returned. Valid values are 0, 1, and + # 3. Requests specifying an invalid value will be rejected. Requests for + # policies with any conditional bindings must specify version 3. Policies + # without any conditional bindings may specify any valid value or leave the + # field unset. To learn which resources support conditions in their IAM policies, + # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/ + # resource-policies). + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_migration_job_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+resource}:getIamPolicy', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::Policy::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Policy + command.params['resource'] = resource unless resource.nil? + command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists migration jobs in a given project and location. + # @param [String] parent + # Required. The parent, which owns this collection of migrationJobs. + # @param [String] filter + # A filter expression that filters migration jobs listed in the response. The + # expression must specify the field name, a comparison operator, and the value + # that you want to use for filtering. The value must be a string, a number, or a + # boolean. The comparison operator must be either =, !=, >, or <. For example, + # list migration jobs created this year by specifying **createTime %gt; 2020-01- + # 01T00:00:00.000000000Z.** You can also filter nested fields. For example, you + # could specify **reverseSshConnectivity.vmIp = "1.2.3.4"** to select all + # migration jobs connecting through the specific SSH tunnel bastion. + # @param [String] order_by + # Sort the results based on the migration job name. Valid values are: "name", " + # name asc", and "name desc". + # @param [Fixnum] page_size + # The maximum number of migration jobs to return. The service may return fewer + # than this value. If unspecified, at most 50 migration jobs will be returned. + # The maximum value is 1000; values above 1000 will be coerced to 1000. + # @param [String] page_token + # The nextPageToken value received in the previous call to migrationJobs.list, + # used in the subsequent request to retrieve the next page of results. On first + # call this should be left blank. When paginating, all other parameters provided + # to migrationJobs.list must match the call that provided the page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::ListMigrationJobsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::ListMigrationJobsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_migration_jobs(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+parent}/migrationJobs', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::ListMigrationJobsResponse::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::ListMigrationJobsResponse + command.params['parent'] = parent unless parent.nil? + command.query['filter'] = filter unless filter.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Updates the parameters of a single migration job. + # @param [String] name + # The name (URI) of this migration job resource, in the form of: projects/` + # project`/locations/`location`/instances/`instance`. + # @param [Google::Apis::DatamigrationV1beta1::MigrationJob] migration_job_object + # @param [String] request_id + # A unique id used to identify the request. If the server receives two requests + # with the same id, then the second request will be ignored. It is recommended + # to always set this value to a UUID. The id must contain only letters (a-z, A-Z) + # , numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 + # characters. + # @param [String] update_mask + # Required. Field mask is used to specify the fields to be overwritten in the + # migration job resource by the update. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def patch_project_location_migration_job(name, migration_job_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v1beta1/{+name}', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::MigrationJob::Representation + command.request_object = migration_job_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['requestId'] = request_id unless request_id.nil? + command.query['updateMask'] = update_mask unless update_mask.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Promote a migration job, stopping replication to the destination and promoting + # the destination to be a standalone database. + # @param [String] name + # Name of the migration job resource to promote. + # @param [Google::Apis::DatamigrationV1beta1::PromoteMigrationJobRequest] promote_migration_job_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def promote_migration_job(name, promote_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:promote', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::PromoteMigrationJobRequest::Representation + command.request_object = promote_migration_job_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Restart a stopped or failed migration job, resetting the destination instance + # to its original state and starting the migration process from scratch. + # @param [String] name + # Name of the migration job resource to restart. + # @param [Google::Apis::DatamigrationV1beta1::RestartMigrationJobRequest] restart_migration_job_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def restart_migration_job(name, restart_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:restart', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::RestartMigrationJobRequest::Representation + command.request_object = restart_migration_job_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Resume a migration job that is currently stopped and is resumable (was stopped + # during CDC phase). + # @param [String] name + # Name of the migration job resource to resume. + # @param [Google::Apis::DatamigrationV1beta1::ResumeMigrationJobRequest] resume_migration_job_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def resume_migration_job(name, resume_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:resume', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::ResumeMigrationJobRequest::Representation + command.request_object = resume_migration_job_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Sets the access control policy on the specified resource. Replaces any + # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and ` + # PERMISSION_DENIED` errors. + # @param [String] resource + # REQUIRED: The resource for which the policy is being specified. See the + # operation documentation for the appropriate value for this field. + # @param [Google::Apis::DatamigrationV1beta1::SetIamPolicyRequest] set_iam_policy_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Policy] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Policy] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def set_migration_job_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+resource}:setIamPolicy', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::SetIamPolicyRequest::Representation + command.request_object = set_iam_policy_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Policy::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Policy + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Start an already created migration job. + # @param [String] name + # Name of the migration job resource to start. + # @param [Google::Apis::DatamigrationV1beta1::StartMigrationJobRequest] start_migration_job_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def start_migration_job(name, start_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:start', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::StartMigrationJobRequest::Representation + command.request_object = start_migration_job_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Stops a running migration job. + # @param [String] name + # Name of the migration job resource to stop. + # @param [Google::Apis::DatamigrationV1beta1::StopMigrationJobRequest] stop_migration_job_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def stop_migration_job(name, stop_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:stop', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::StopMigrationJobRequest::Representation + command.request_object = stop_migration_job_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Returns permissions that a caller has on the specified resource. If the + # resource does not exist, this will return an empty set of permissions, not a ` + # NOT_FOUND` error. Note: This operation is designed to be used for building + # permission-aware UIs and command-line tools, not for authorization checking. + # This operation may "fail open" without warning. + # @param [String] resource + # REQUIRED: The resource for which the policy detail is being requested. See the + # operation documentation for the appropriate value for this field. + # @param [Google::Apis::DatamigrationV1beta1::TestIamPermissionsRequest] test_iam_permissions_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def test_migration_job_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+resource}:testIamPermissions', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::TestIamPermissionsRequest::Representation + command.request_object = test_iam_permissions_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::TestIamPermissionsResponse + command.params['resource'] = resource unless resource.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Verify a migration job, making sure the destination can reach the source and + # that all configuration and prerequisites are met. + # @param [String] name + # Name of the migration job resource to verify. + # @param [Google::Apis::DatamigrationV1beta1::VerifyMigrationJobRequest] verify_migration_job_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def verify_migration_job(name, verify_migration_job_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:verify', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::VerifyMigrationJobRequest::Representation + command.request_object = verify_migration_job_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Starts asynchronous cancellation on a long-running operation. The server makes + # a best effort to cancel the operation, but success is not guaranteed. If the + # server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. + # Clients can use Operations.GetOperation or other methods to check whether the + # cancellation succeeded or whether the operation completed despite cancellation. + # On successful cancellation, the operation is not deleted; instead, it becomes + # an operation with an Operation.error value with a google.rpc.Status.code of 1, + # corresponding to `Code.CANCELLED`. + # @param [String] name + # The name of the operation resource to be cancelled. + # @param [Google::Apis::DatamigrationV1beta1::CancelOperationRequest] cancel_operation_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def cancel_operation(name, cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:cancel', options) + command.request_representation = Google::Apis::DatamigrationV1beta1::CancelOperationRequest::Representation + command.request_object = cancel_operation_request_object + command.response_representation = Google::Apis::DatamigrationV1beta1::Empty::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Deletes a long-running operation. This method indicates that the client is no + # longer interested in the operation result. It does not cancel the operation. + # If the server doesn't support this method, it returns `google.rpc.Code. + # UNIMPLEMENTED`. + # @param [String] name + # The name of the operation resource to be deleted. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Empty] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def delete_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::Empty::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Empty + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets the latest state of a long-running operation. Clients can use this method + # to poll the operation result at intervals as recommended by the API service. + # @param [String] name + # The name of the operation resource. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::Operation] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::Operation] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::Operation::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::Operation + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Lists operations that match the specified filter in the request. If the server + # doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` + # binding allows API services to override the binding to use different resource + # name schemes, such as `users/*/operations`. To override the binding, API + # services can add a binding such as `"/v1/`name=users/*`/operations"` to their + # service configuration. For backwards compatibility, the default name includes + # the operations collection id, however overriding users must ensure the name + # binding is the parent resource, without the operations collection id. + # @param [String] name + # The name of the operation's parent resource. + # @param [String] filter + # The standard list filter. + # @param [Fixnum] page_size + # The standard list page size. + # @param [String] page_token + # The standard list page token. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatamigrationV1beta1::ListOperationsResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatamigrationV1beta1::ListOperationsResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def list_project_location_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1beta1/{+name}/operations', options) + command.response_representation = Google::Apis::DatamigrationV1beta1::ListOperationsResponse::Representation + command.response_class = Google::Apis::DatamigrationV1beta1::ListOperationsResponse + command.params['name'] = name unless name.nil? + command.query['filter'] = filter unless filter.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + protected + + def apply_command_defaults(command) + command.query['key'] = key unless key.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + end + end + end + end +end diff --git a/generated/google/apis/datamigration_v1beta1/synth.metadata b/generated/google/apis/datamigration_v1beta1/synth.metadata new file mode 100644 index 000000000..72f9c5661 --- /dev/null +++ b/generated/google/apis/datamigration_v1beta1/synth.metadata @@ -0,0 +1,11 @@ +{ + "sources": [ + { + "git": { + "name": ".", + "remote": "https://github.com/googleapis/google-api-ruby-client.git", + "sha": "c95aca35d31bd5df6f656776fc8d6b777233bb35" + } + } + ] +} \ No newline at end of file