From 439beea43b3cda03c6520540e8775936cec4c30b Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 12 Mar 2024 02:26:43 +0000 Subject: [PATCH] feat: Automated regeneration of DataMigration client --- .../data_migration/v1/api/projects.ex | 2733 +++++++++++++++-- .../google_api/data_migration/v1/metadata.ex | 2 +- .../v1/model/alloy_db_settings.ex | 6 + .../apply_conversion_workspace_request.ex | 55 + .../data_migration/v1/model/apply_hash.ex | 46 + .../v1/model/apply_job_details.ex | 49 + .../v1/model/assign_specific_value.ex | 46 + .../v1/model/background_job_log_entry.ex | 77 + .../data_migration/v1/model/binding.ex | 4 +- .../v1/model/cloud_sql_settings.ex | 6 + .../data_migration/v1/model/column_entity.ex | 97 + .../commit_conversion_workspace_request.ex | 46 + .../v1/model/conditional_column_set_value.ex | 55 + .../v1/model/connection_profile.ex | 3 + .../v1/model/constraint_entity.ex | 64 + .../v1/model/conversion_workspace.ex | 73 + .../v1/model/conversion_workspace_info.ex | 49 + .../convert_conversion_workspace_request.ex | 52 + .../v1/model/convert_job_details.ex | 46 + .../v1/model/convert_row_id_to_column.ex | 46 + .../v1/model/data_cache_config.ex | 46 + .../v1/model/database_engine_info.ex | 49 + .../v1/model/database_entity.ex | 97 + .../v1/model/database_instance_entity.ex | 46 + .../v1/model/demote_destination_request.ex | 41 + ...conversion_workspace_revisions_response.ex | 51 + .../describe_database_entities_response.ex | 49 + .../v1/model/double_comparison_filter.ex | 49 + .../v1/model/encryption_config.ex | 46 + .../data_migration/v1/model/entity_ddl.ex | 58 + .../data_migration/v1/model/entity_issue.ex | 67 + .../data_migration/v1/model/entity_mapping.ex | 58 + .../v1/model/entity_mapping_log_entry.ex | 52 + .../data_migration/v1/model/entity_move.ex | 46 + .../v1/model/fetch_static_ips_response.ex | 49 + .../v1/model/filter_table_columns.ex | 49 + .../model/forward_ssh_tunnel_connectivity.ex | 58 + .../v1/model/function_entity.ex | 49 + .../v1/model/generate_ssh_script_request.ex | 2 +- .../generate_tcp_proxy_script_request.ex | 55 + .../v1/model/import_mapping_rules_request.ex | 52 + .../v1/model/import_rules_job_details.ex | 49 + .../data_migration/v1/model/index_entity.ex | 58 + .../v1/model/int_comparison_filter.ex | 49 + .../list_connection_profiles_response.ex | 2 +- .../list_conversion_workspaces_response.ex | 57 + .../v1/model/list_mapping_rules_response.ex | 49 + .../v1/model/list_migration_jobs_response.ex | 2 +- .../list_private_connections_response.ex | 53 + .../data_migration/v1/model/location.ex | 2 +- .../data_migration/v1/model/mapping_rule.ex | 105 + .../v1/model/mapping_rule_filter.ex | 58 + .../v1/model/materialized_view_entity.ex | 49 + .../data_migration/v1/model/migration_job.ex | 13 + .../v1/model/multi_column_datatype_change.ex | 70 + .../v1/model/multi_entity_rename.ex | 49 + .../data_migration/v1/model/operation.ex | 2 +- .../v1/model/oracle_connection_profile.ex | 81 + .../data_migration/v1/model/package_entity.ex | 52 + .../v1/model/performance_config.ex | 46 + .../data_migration/v1/model/policy.ex | 2 +- .../data_migration/v1/model/position.ex | 55 + .../model/postgre_sql_connection_profile.ex | 15 + .../v1/model/private_connection.ex | 67 + .../v1/model/private_connectivity.ex | 46 + .../private_service_connect_connectivity.ex | 46 + .../v1/model/restart_migration_job_request.ex | 7 +- .../rollback_conversion_workspace_request.ex | 41 + .../data_migration/v1/model/round_to_scale.ex | 46 + .../data_migration/v1/model/rules_file.ex | 49 + .../data_migration/v1/model/schema_entity.ex | 46 + .../model/search_background_jobs_response.ex | 46 + .../seed_conversion_workspace_request.ex | 52 + .../v1/model/seed_job_details.ex | 46 + .../v1/model/sequence_entity.ex | 64 + .../v1/model/set_table_primary_key.ex | 49 + .../v1/model/single_column_change.ex | 88 + .../v1/model/single_entity_rename.ex | 46 + .../v1/model/single_package_change.ex | 49 + .../v1/model/source_numeric_filter.ex | 58 + .../v1/model/source_sql_change.ex | 46 + .../v1/model/source_text_filter.ex | 49 + .../data_migration/v1/model/sql_ip_config.ex | 3 + .../v1/model/start_migration_job_request.ex | 7 +- .../v1/model/static_ip_connectivity.ex | 2 +- .../model/static_service_ip_connectivity.ex | 41 + .../v1/model/stored_procedure_entity.ex | 49 + .../data_migration/v1/model/synonym_entity.ex | 52 + .../data_migration/v1/model/table_entity.ex | 61 + .../v1/model/tcp_proxy_script.ex | 46 + .../data_migration/v1/model/trigger_entity.ex | 58 + .../data_migration/v1/model/udt_entity.ex | 52 + .../v1/model/value_list_filter.ex | 52 + .../v1/model/value_transformation.ex | 73 + .../v1/model/verify_migration_job_request.ex | 10 +- .../data_migration/v1/model/view_entity.ex | 52 + .../v1/model/vpc_peering_config.ex | 49 + .../data_migration/v1beta1/api/projects.ex | 2 +- .../data_migration/v1beta1/metadata.ex | 2 +- .../data_migration/v1beta1/model/binding.ex | 4 +- .../data_migration/v1beta1/model/location.ex | 2 +- .../data_migration/v1beta1/model/operation.ex | 2 +- .../data_migration/v1beta1/model/policy.ex | 2 +- 103 files changed, 6869 insertions(+), 235 deletions(-) create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/apply_conversion_workspace_request.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/apply_hash.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/apply_job_details.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/assign_specific_value.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/background_job_log_entry.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/column_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/commit_conversion_workspace_request.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/conditional_column_set_value.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/constraint_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/conversion_workspace.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/conversion_workspace_info.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/convert_conversion_workspace_request.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/convert_job_details.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/convert_row_id_to_column.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/data_cache_config.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/database_engine_info.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/database_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/database_instance_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/demote_destination_request.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/describe_conversion_workspace_revisions_response.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/describe_database_entities_response.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/double_comparison_filter.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/encryption_config.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/entity_ddl.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/entity_issue.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/entity_mapping.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/entity_mapping_log_entry.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/entity_move.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/fetch_static_ips_response.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/filter_table_columns.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/forward_ssh_tunnel_connectivity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/function_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/generate_tcp_proxy_script_request.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/import_mapping_rules_request.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/import_rules_job_details.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/index_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/int_comparison_filter.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/list_conversion_workspaces_response.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/list_mapping_rules_response.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/list_private_connections_response.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/mapping_rule.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/mapping_rule_filter.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/materialized_view_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/multi_column_datatype_change.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/multi_entity_rename.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/oracle_connection_profile.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/package_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/performance_config.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/position.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/private_connection.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/private_connectivity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/private_service_connect_connectivity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/rollback_conversion_workspace_request.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/round_to_scale.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/rules_file.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/schema_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/search_background_jobs_response.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/seed_conversion_workspace_request.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/seed_job_details.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/sequence_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/set_table_primary_key.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/single_column_change.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/single_entity_rename.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/single_package_change.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/source_numeric_filter.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/source_sql_change.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/source_text_filter.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/static_service_ip_connectivity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/stored_procedure_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/synonym_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/table_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/tcp_proxy_script.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/trigger_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/udt_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/value_list_filter.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/value_transformation.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/view_entity.ex create mode 100644 clients/data_migration/lib/google_api/data_migration/v1/model/vpc_peering_config.ex diff --git a/clients/data_migration/lib/google_api/data_migration/v1/api/projects.ex b/clients/data_migration/lib/google_api/data_migration/v1/api/projects.ex index 534cb8da62..027926c8ec 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/api/projects.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/api/projects.ex @@ -25,6 +25,82 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do @library_version Mix.Project.config() |> Keyword.get(:version, "") + @doc """ + Fetches a set of static IP addresses that need to be allowlisted by the customer when using the static-IP connectivity method. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. The resource name for the location for which static IPs should be returned. Must be in the format `projects/*/locations/*`. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:pageSize` (*type:* `integer()`) - Maximum number of IPs to return. + * `:pageToken` (*type:* `String.t`) - A page token, received from a previous `FetchStaticIps` call. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.FetchStaticIpsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_fetch_static_ips( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.FetchStaticIpsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_fetch_static_ips( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+name}:fetchStaticIps", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.DataMigration.V1.Model.FetchStaticIpsResponse{}] + ) + end + @doc """ Gets information about a location. @@ -164,7 +240,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `parent` (*type:* `String.t`) - Required. The parent, which owns this collection of connection profiles. + * `parent` (*type:* `String.t`) - Required. The parent which owns this collection of connection profiles. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -178,7 +254,9 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). * `:connectionProfileId` (*type:* `String.t`) - Required. The connection profile identifier. - * `:requestId` (*type:* `String.t`) - 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. + * `:requestId` (*type:* `String.t`) - Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. + * `:skipValidation` (*type:* `boolean()`) - Optional. Create the connection profile without validating it. The default is false. Only supported for Oracle connection profiles. + * `:validateOnly` (*type:* `boolean()`) - Optional. Only validate the connection profile, but don't create any resources. The default is false. Only supported for Oracle connection profiles. * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.ConnectionProfile.t`) - * `opts` (*type:* `keyword()`) - Call options @@ -217,6 +295,8 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :upload_protocol => :query, :connectionProfileId => :query, :requestId => :query, + :skipValidation => :query, + :validateOnly => :query, :body => :body } @@ -254,7 +334,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). * `:force` (*type:* `boolean()`) - In case of force delete, the CloudSQL replica database is also deleted (only for CloudSQL connection profile). - * `:requestId` (*type:* `String.t`) - 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. + * `:requestId` (*type:* `String.t`) - A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -456,7 +536,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `parent` (*type:* `String.t`) - Required. The parent, which owns this collection of connection profiles. + * `parent` (*type:* `String.t`) - Required. The parent which owns this collection of connection profiles. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -471,7 +551,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). * `:filter` (*type:* `String.t`) - 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. * `:orderBy` (*type:* `String.t`) - A comma-separated list of fields to order results according to. - * `:pageSize` (*type:* `integer()`) - 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. + * `:pageSize` (*type:* `integer()`) - 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 are coerced to 1000. * `:pageToken` (*type:* `String.t`) - 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. * `opts` (*type:* `keyword()`) - Call options @@ -549,8 +629,10 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:requestId` (*type:* `String.t`) - 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. - * `:updateMask` (*type:* `String.t`) - Required. Field mask is used to specify the fields to be overwritten in the connection profile resource by the update. + * `:requestId` (*type:* `String.t`) - Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. + * `:skipValidation` (*type:* `boolean()`) - Optional. Update the connection profile without validating it. The default is false. Only supported for Oracle connection profiles. + * `:updateMask` (*type:* `String.t`) - Required. Field mask is used to specify the fields to be overwritten by the update in the conversion workspace resource. + * `:validateOnly` (*type:* `boolean()`) - Optional. Only validate the connection profile, but don't update any resources. The default is false. Only supported for Oracle connection profiles. * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.ConnectionProfile.t`) - * `opts` (*type:* `keyword()`) - Call options @@ -588,7 +670,9 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :uploadType => :query, :upload_protocol => :query, :requestId => :query, + :skipValidation => :query, :updateMask => :query, + :validateOnly => :query, :body => :body } @@ -753,12 +837,12 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do end @doc """ - Creates a new migration job in a given project and location. + Applies draft tree onto a specific destination database. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `parent` (*type:* `String.t`) - Required. The parent, which owns this collection of migration jobs. + * `name` (*type:* `String.t`) - Required. The name of the conversion workspace resource for which to apply the draft tree. Must be in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -771,9 +855,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:migrationJobId` (*type:* `String.t`) - Required. The ID of the instance to create. - * `:requestId` (*type:* `String.t`) - 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. - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.MigrationJob.t`) - + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.ApplyConversionWorkspaceRequest.t`) - * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -781,7 +863,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_create( + @spec datamigration_projects_locations_conversion_workspaces_apply( Tesla.Env.client(), String.t(), keyword(), @@ -791,9 +873,9 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_create( + def datamigration_projects_locations_conversion_workspaces_apply( connection, - parent, + name, optional_params \\ [], opts \\ [] ) do @@ -809,16 +891,14 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :migrationJobId => :query, - :requestId => :query, :body => :body } request = Request.new() |> Request.method(:post) - |> Request.url("/v1/{+parent}/migrationJobs", %{ - "parent" => URI.encode(parent, &URI.char_unreserved?/1) + |> Request.url("/v1/{+name}:apply", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) @@ -829,12 +909,12 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do end @doc """ - Deletes a single migration job. + Marks all the data in the conversion workspace as committed. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - Required. Name of the migration job resource to delete. + * `name` (*type:* `String.t`) - Required. Name of the conversion workspace resource to commit. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -847,8 +927,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:force` (*type:* `boolean()`) - 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. - * `:requestId` (*type:* `String.t`) - 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. + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.CommitConversionWorkspaceRequest.t`) - * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -856,7 +935,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_delete( + @spec datamigration_projects_locations_conversion_workspaces_commit( Tesla.Env.client(), String.t(), keyword(), @@ -866,7 +945,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_delete( + def datamigration_projects_locations_conversion_workspaces_commit( connection, name, optional_params \\ [], @@ -884,14 +963,13 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :force => :query, - :requestId => :query + :body => :body } request = Request.new() - |> Request.method(:delete) - |> Request.url("/v1/{+name}", %{ + |> Request.method(:post) + |> Request.url("/v1/{+name}:commit", %{ "name" => URI.encode(name, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) @@ -903,12 +981,12 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do end @doc """ - Generate a SSH configuration script to configure the reverse SSH connectivity. + Creates a draft tree schema for the destination database. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `migration_job` (*type:* `String.t`) - Name of the migration job resource to generate the SSH script. + * `name` (*type:* `String.t`) - Name of the conversion workspace resource to convert in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -921,27 +999,27 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.GenerateSshScriptRequest.t`) - + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.ConvertConversionWorkspaceRequest.t`) - * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.SshScript{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_generate_ssh_script( + @spec datamigration_projects_locations_conversion_workspaces_convert( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.SshScript.t()} + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_generate_ssh_script( + def datamigration_projects_locations_conversion_workspaces_convert( connection, - migration_job, + name, optional_params \\ [], opts \\ [] ) do @@ -963,24 +1041,24 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do request = Request.new() |> Request.method(:post) - |> Request.url("/v1/{+migrationJob}:generateSshScript", %{ - "migrationJob" => URI.encode(migration_job, &URI.char_unreserved?/1) + |> Request.url("/v1/{+name}:convert", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) connection |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.SshScript{}]) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) end @doc """ - Gets details of a single migration job. + Creates a new conversion workspace in a given project and location. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - Required. Name of the migration job resource to get. + * `parent` (*type:* `String.t`) - Required. The parent which owns this collection of conversion workspaces. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -993,26 +1071,29 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:conversionWorkspaceId` (*type:* `String.t`) - Required. The ID of the conversion workspace to create. + * `:requestId` (*type:* `String.t`) - A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.ConversionWorkspace.t`) - * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.MigrationJob{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_get( + @spec datamigration_projects_locations_conversion_workspaces_create( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.MigrationJob.t()} + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_get( + def datamigration_projects_locations_conversion_workspaces_create( connection, - name, + parent, optional_params \\ [], opts \\ [] ) do @@ -1027,30 +1108,33 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :prettyPrint => :query, :quotaUser => :query, :uploadType => :query, - :upload_protocol => :query + :upload_protocol => :query, + :conversionWorkspaceId => :query, + :requestId => :query, + :body => :body } request = Request.new() - |> Request.method(:get) - |> Request.url("/v1/{+name}", %{ - "name" => URI.encode(name, &URI.char_unreserved?/1) + |> Request.method(:post) + |> Request.url("/v1/{+parent}/conversionWorkspaces", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) connection |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.MigrationJob{}]) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) end @doc """ - Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + Deletes a single conversion workspace. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `resource` (*type:* `String.t`) - REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * `name` (*type:* `String.t`) - Required. Name of the conversion workspace resource to delete. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1063,27 +1147,28 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:"options.requestedPolicyVersion"` (*type:* `integer()`) - Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + * `:force` (*type:* `boolean()`) - Force delete the conversion workspace, even if there's a running migration that is using the workspace. + * `:requestId` (*type:* `String.t`) - A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.Policy{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_get_iam_policy( + @spec datamigration_projects_locations_conversion_workspaces_delete( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.Policy.t()} + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_get_iam_policy( + def datamigration_projects_locations_conversion_workspaces_delete( connection, - resource, + name, optional_params \\ [], opts \\ [] ) do @@ -1099,30 +1184,31 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :"options.requestedPolicyVersion" => :query + :force => :query, + :requestId => :query } request = Request.new() - |> Request.method(:get) - |> Request.url("/v1/{+resource}:getIamPolicy", %{ - "resource" => URI.encode(resource, &URI.char_unreserved?/1) + |> Request.method(:delete) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) connection |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Policy{}]) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) end @doc """ - Lists migration jobs in a given project and location. + Retrieves a list of committed revisions of a specific conversion workspace. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `parent` (*type:* `String.t`) - Required. The parent, which owns this collection of migrationJobs. + * `conversion_workspace` (*type:* `String.t`) - Required. Name of the conversion workspace resource whose revisions are listed. Must be in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1135,30 +1221,27 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:filter` (*type:* `String.t`) - 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. - * `:orderBy` (*type:* `String.t`) - Sort the results based on the migration job name. Valid values are: "name", "name asc", and "name desc". - * `:pageSize` (*type:* `integer()`) - 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. - * `:pageToken` (*type:* `String.t`) - 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. + * `:commitId` (*type:* `String.t`) - Optional. Optional filter to request a specific commit ID. * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.ListMigrationJobsResponse{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.DescribeConversionWorkspaceRevisionsResponse{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_list( + @spec datamigration_projects_locations_conversion_workspaces_describe_conversion_workspace_revisions( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.ListMigrationJobsResponse.t()} + {:ok, GoogleApi.DataMigration.V1.Model.DescribeConversionWorkspaceRevisionsResponse.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_list( + def datamigration_projects_locations_conversion_workspaces_describe_conversion_workspace_revisions( connection, - parent, + conversion_workspace, optional_params \\ [], opts \\ [] ) do @@ -1174,17 +1257,14 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :filter => :query, - :orderBy => :query, - :pageSize => :query, - :pageToken => :query + :commitId => :query } request = Request.new() |> Request.method(:get) - |> Request.url("/v1/{+parent}/migrationJobs", %{ - "parent" => URI.encode(parent, &URI.char_unreserved?/1) + |> Request.url("/v1/{+conversionWorkspace}:describeConversionWorkspaceRevisions", %{ + "conversionWorkspace" => URI.encode(conversion_workspace, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) @@ -1192,17 +1272,18 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do connection |> Connection.execute(request) |> Response.decode( - opts ++ [struct: %GoogleApi.DataMigration.V1.Model.ListMigrationJobsResponse{}] + opts ++ + [struct: %GoogleApi.DataMigration.V1.Model.DescribeConversionWorkspaceRevisionsResponse{}] ) end @doc """ - Updates the parameters of a single migration job. + Describes the database entities tree for a specific conversion workspace and a specific tree type. Database entities are not resources like conversion workspaces or mapping rules, and they can't be created, updated or deleted. Instead, they are simple data objects describing the structure of the client database. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. + * `conversion_workspace` (*type:* `String.t`) - Required. Name of the conversion workspace resource whose database entities are described. Must be in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1215,29 +1296,33 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:requestId` (*type:* `String.t`) - 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. - * `:updateMask` (*type:* `String.t`) - Required. Field mask is used to specify the fields to be overwritten in the migration job resource by the update. - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.MigrationJob.t`) - + * `:commitId` (*type:* `String.t`) - Optional. Request a specific commit ID. If not specified, the entities from the latest commit are returned. + * `:filter` (*type:* `String.t`) - Optional. Filter the returned entities based on AIP-160 standard. + * `:pageSize` (*type:* `integer()`) - Optional. The maximum number of entities to return. The service may return fewer entities than the value specifies. + * `:pageToken` (*type:* `String.t`) - Optional. The nextPageToken value received in the previous call to conversionWorkspace.describeDatabaseEntities, 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 conversionWorkspace.describeDatabaseEntities must match the call that provided the page token. + * `:tree` (*type:* `String.t`) - Required. The tree to fetch. + * `:uncommitted` (*type:* `boolean()`) - Optional. Whether to retrieve the latest committed version of the entities or the latest version. This field is ignored if a specific commit_id is specified. + * `:view` (*type:* `String.t`) - Optional. Results view based on AIP-157 * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.DescribeDatabaseEntitiesResponse{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_patch( + @spec datamigration_projects_locations_conversion_workspaces_describe_database_entities( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + {:ok, GoogleApi.DataMigration.V1.Model.DescribeDatabaseEntitiesResponse.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_patch( + def datamigration_projects_locations_conversion_workspaces_describe_database_entities( connection, - name, + conversion_workspace, optional_params \\ [], opts \\ [] ) do @@ -1253,32 +1338,38 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :requestId => :query, - :updateMask => :query, - :body => :body + :commitId => :query, + :filter => :query, + :pageSize => :query, + :pageToken => :query, + :tree => :query, + :uncommitted => :query, + :view => :query } request = Request.new() - |> Request.method(:patch) - |> Request.url("/v1/{+name}", %{ - "name" => URI.encode(name, &URI.char_unreserved?/1) + |> Request.method(:get) + |> Request.url("/v1/{+conversionWorkspace}:describeDatabaseEntities", %{ + "conversionWorkspace" => URI.encode(conversion_workspace, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) connection |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + |> Response.decode( + opts ++ [struct: %GoogleApi.DataMigration.V1.Model.DescribeDatabaseEntitiesResponse{}] + ) end @doc """ - Promote a migration job, stopping replication to the destination and promoting the destination to be a standalone database. + Gets details of a single conversion workspace. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - Name of the migration job resource to promote. + * `name` (*type:* `String.t`) - Required. Name of the conversion workspace resource to get. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1291,25 +1382,24 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.PromoteMigrationJobRequest.t`) - * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.ConversionWorkspace{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_promote( + @spec datamigration_projects_locations_conversion_workspaces_get( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + {:ok, GoogleApi.DataMigration.V1.Model.ConversionWorkspace.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_promote( + def datamigration_projects_locations_conversion_workspaces_get( connection, name, optional_params \\ [], @@ -1326,14 +1416,13 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :prettyPrint => :query, :quotaUser => :query, :uploadType => :query, - :upload_protocol => :query, - :body => :body + :upload_protocol => :query } request = Request.new() - |> Request.method(:post) - |> Request.url("/v1/{+name}:promote", %{ + |> Request.method(:get) + |> Request.url("/v1/{+name}", %{ "name" => URI.encode(name, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) @@ -1341,16 +1430,16 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do connection |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.ConversionWorkspace{}]) end @doc """ - Restart a stopped or failed migration job, resetting the destination instance to its original state and starting the migration process from scratch. + Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - Name of the migration job resource to restart. + * `resource` (*type:* `String.t`) - REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1363,27 +1452,27 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.RestartMigrationJobRequest.t`) - + * `:"options.requestedPolicyVersion"` (*type:* `integer()`) - Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.Policy{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_restart( + @spec datamigration_projects_locations_conversion_workspaces_get_iam_policy( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + {:ok, GoogleApi.DataMigration.V1.Model.Policy.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_restart( + def datamigration_projects_locations_conversion_workspaces_get_iam_policy( connection, - name, + resource, optional_params \\ [], opts \\ [] ) do @@ -1399,30 +1488,30 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :body => :body + :"options.requestedPolicyVersion" => :query } request = Request.new() - |> Request.method(:post) - |> Request.url("/v1/{+name}:restart", %{ - "name" => URI.encode(name, &URI.char_unreserved?/1) + |> Request.method(:get) + |> Request.url("/v1/{+resource}:getIamPolicy", %{ + "resource" => URI.encode(resource, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) connection |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Policy{}]) end @doc """ - Resume a migration job that is currently stopped and is resumable (was stopped during CDC phase). + Lists conversion workspaces in a given project and location. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - Name of the migration job resource to resume. + * `parent` (*type:* `String.t`) - Required. The parent which owns this collection of conversion workspaces. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1435,27 +1524,29 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.ResumeMigrationJobRequest.t`) - + * `:filter` (*type:* `String.t`) - A filter expression that filters conversion workspaces 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 conversion workspaces created this year by specifying **createTime %gt; 2020-01-01T00:00:00.000000000Z.** You can also filter nested fields. For example, you could specify **source.version = "12.c.1"** to select all conversion workspaces with source database version equal to 12.c.1. + * `:pageSize` (*type:* `integer()`) - The maximum number of conversion workspaces to return. The service may return fewer than this value. If unspecified, at most 50 sets are returned. + * `:pageToken` (*type:* `String.t`) - The nextPageToken value received in the previous call to conversionWorkspaces.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 conversionWorkspaces.list must match the call that provided the page token. * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.ListConversionWorkspacesResponse{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_resume( + @spec datamigration_projects_locations_conversion_workspaces_list( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + {:ok, GoogleApi.DataMigration.V1.Model.ListConversionWorkspacesResponse.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_resume( + def datamigration_projects_locations_conversion_workspaces_list( connection, - name, + parent, optional_params \\ [], opts \\ [] ) do @@ -1471,30 +1562,34 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :body => :body + :filter => :query, + :pageSize => :query, + :pageToken => :query } request = Request.new() - |> Request.method(:post) - |> Request.url("/v1/{+name}:resume", %{ - "name" => URI.encode(name, &URI.char_unreserved?/1) + |> Request.method(:get) + |> Request.url("/v1/{+parent}/conversionWorkspaces", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) connection |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + |> Response.decode( + opts ++ [struct: %GoogleApi.DataMigration.V1.Model.ListConversionWorkspacesResponse{}] + ) end @doc """ - Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + Updates the parameters of a single conversion workspace. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `resource` (*type:* `String.t`) - REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * `name` (*type:* `String.t`) - Full name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1507,27 +1602,29 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.SetIamPolicyRequest.t`) - + * `:requestId` (*type:* `String.t`) - A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. + * `:updateMask` (*type:* `String.t`) - Required. Field mask is used to specify the fields to be overwritten by the update in the conversion workspace resource. + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.ConversionWorkspace.t`) - * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.Policy{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_set_iam_policy( + @spec datamigration_projects_locations_conversion_workspaces_patch( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.Policy.t()} + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_set_iam_policy( + def datamigration_projects_locations_conversion_workspaces_patch( connection, - resource, + name, optional_params \\ [], opts \\ [] ) do @@ -1543,30 +1640,32 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :body => :body + :requestId => :query, + :updateMask => :query, + :body => :body } request = Request.new() - |> Request.method(:post) - |> Request.url("/v1/{+resource}:setIamPolicy", %{ - "resource" => URI.encode(resource, &URI.char_unreserved?/1) + |> Request.method(:patch) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) connection |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Policy{}]) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) end @doc """ - Start an already created migration job. + Rolls back a conversion workspace to the last committed snapshot. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - Name of the migration job resource to start. + * `name` (*type:* `String.t`) - Required. Name of the conversion workspace resource to roll back to. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1579,7 +1678,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.StartMigrationJobRequest.t`) - + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.RollbackConversionWorkspaceRequest.t`) - * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -1587,7 +1686,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_start( + @spec datamigration_projects_locations_conversion_workspaces_rollback( Tesla.Env.client(), String.t(), keyword(), @@ -1597,7 +1696,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_start( + def datamigration_projects_locations_conversion_workspaces_rollback( connection, name, optional_params \\ [], @@ -1621,7 +1720,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do request = Request.new() |> Request.method(:post) - |> Request.url("/v1/{+name}:start", %{ + |> Request.url("/v1/{+name}:rollback", %{ "name" => URI.encode(name, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) @@ -1633,12 +1732,12 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do end @doc """ - Stops a running migration job. + Searches/lists the background jobs for a specific conversion workspace. The background jobs are not resources like conversion workspaces or mapping rules, and they can't be created, updated or deleted. Instead, they are a way to expose the data plane jobs log. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - Name of the migration job resource to stop. + * `conversion_workspace` (*type:* `String.t`) - Required. Name of the conversion workspace resource whose jobs are listed, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1651,7 +1750,85 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.StopMigrationJobRequest.t`) - + * `:completedUntilTime` (*type:* `DateTime.t`) - Optional. If provided, only returns jobs that completed until (not including) the given timestamp. + * `:maxSize` (*type:* `integer()`) - Optional. The maximum number of jobs to return. The service may return fewer than this value. If unspecified, at most 100 jobs are returned. The maximum value is 100; values above 100 are coerced to 100. + * `:returnMostRecentPerJobType` (*type:* `boolean()`) - Optional. Whether or not to return just the most recent job per job type, + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.SearchBackgroundJobsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_conversion_workspaces_search_background_jobs( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.SearchBackgroundJobsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_conversion_workspaces_search_background_jobs( + connection, + conversion_workspace, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :completedUntilTime => :query, + :maxSize => :query, + :returnMostRecentPerJobType => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+conversionWorkspace}:searchBackgroundJobs", %{ + "conversionWorkspace" => URI.encode(conversion_workspace, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.DataMigration.V1.Model.SearchBackgroundJobsResponse{}] + ) + end + + @doc """ + Imports a snapshot of the source database into the conversion workspace. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Name of the conversion workspace resource to seed with new database structure, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.SeedConversionWorkspaceRequest.t`) - * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -1659,7 +1836,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_stop( + @spec datamigration_projects_locations_conversion_workspaces_seed( Tesla.Env.client(), String.t(), keyword(), @@ -1669,7 +1846,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_stop( + def datamigration_projects_locations_conversion_workspaces_seed( connection, name, optional_params \\ [], @@ -1693,7 +1870,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do request = Request.new() |> Request.method(:post) - |> Request.url("/v1/{+name}:stop", %{ + |> Request.url("/v1/{+name}:seed", %{ "name" => URI.encode(name, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) @@ -1704,6 +1881,78 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) end + @doc """ + Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `resource` (*type:* `String.t`) - REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.SetIamPolicyRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_conversion_workspaces_set_iam_policy( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_conversion_workspaces_set_iam_policy( + connection, + resource, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+resource}:setIamPolicy", %{ + "resource" => URI.encode(resource, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Policy{}]) + end + @doc """ 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. @@ -1731,7 +1980,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `{:ok, %GoogleApi.DataMigration.V1.Model.TestIamPermissionsResponse{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_test_iam_permissions( + @spec datamigration_projects_locations_conversion_workspaces_test_iam_permissions( Tesla.Env.client(), String.t(), keyword(), @@ -1741,7 +1990,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_test_iam_permissions( + def datamigration_projects_locations_conversion_workspaces_test_iam_permissions( connection, resource, optional_params \\ [], @@ -1779,12 +2028,12 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do end @doc """ - Verify a migration job, making sure the destination can reach the source and that all configuration and prerequisites are met. + Creates a new mapping rule for a given conversion workspace. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - Name of the migration job resource to verify. + * `parent` (*type:* `String.t`) - Required. The parent which owns this collection of mapping rules. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1797,27 +2046,29 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.VerifyMigrationJobRequest.t`) - + * `:mappingRuleId` (*type:* `String.t`) - Required. The ID of the rule to create. + * `:requestId` (*type:* `String.t`) - A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.MappingRule.t`) - * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.MappingRule{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_migration_jobs_verify( + @spec datamigration_projects_locations_conversion_workspaces_mapping_rules_create( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + {:ok, GoogleApi.DataMigration.V1.Model.MappingRule.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_migration_jobs_verify( + def datamigration_projects_locations_conversion_workspaces_mapping_rules_create( connection, - name, + parent, optional_params \\ [], opts \\ [] ) do @@ -1833,30 +2084,32 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, + :mappingRuleId => :query, + :requestId => :query, :body => :body } request = Request.new() |> Request.method(:post) - |> Request.url("/v1/{+name}:verify", %{ - "name" => URI.encode(name, &URI.char_unreserved?/1) + |> Request.url("/v1/{+parent}/mappingRules", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) connection |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.MappingRule{}]) end @doc """ - 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`. + Deletes a single mapping rule. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - The name of the operation resource to be cancelled. + * `name` (*type:* `String.t`) - Required. Name of the mapping rule resource to delete. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1869,7 +2122,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.CancelOperationRequest.t`) - + * `:requestId` (*type:* `String.t`) - Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -1877,7 +2130,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `{:ok, %GoogleApi.DataMigration.V1.Model.Empty{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_operations_cancel( + @spec datamigration_projects_locations_conversion_workspaces_mapping_rules_delete( Tesla.Env.client(), String.t(), keyword(), @@ -1887,7 +2140,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_operations_cancel( + def datamigration_projects_locations_conversion_workspaces_mapping_rules_delete( connection, name, optional_params \\ [], @@ -1905,13 +2158,13 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :body => :body + :requestId => :query } request = Request.new() - |> Request.method(:post) - |> Request.url("/v1/{+name}:cancel", %{ + |> Request.method(:delete) + |> Request.url("/v1/{+name}", %{ "name" => URI.encode(name, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) @@ -1923,12 +2176,12 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do end @doc """ - 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`. + Gets the details of a mapping rule. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - The name of the operation resource to be deleted. + * `name` (*type:* `String.t`) - Required. Name of the mapping rule resource to get. Example: conversionWorkspaces/123/mappingRules/rule123 In order to retrieve a previous revision of the mapping rule, also provide the revision ID. Example: conversionWorkspace/123/mappingRules/rule123@c7cfa2a8c7cfa2a8c7cfa2a8c7cfa2a8 * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -1945,20 +2198,20 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.Empty{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.MappingRule{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_operations_delete( + @spec datamigration_projects_locations_conversion_workspaces_mapping_rules_get( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.Empty.t()} + {:ok, GoogleApi.DataMigration.V1.Model.MappingRule.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_operations_delete( + def datamigration_projects_locations_conversion_workspaces_mapping_rules_get( connection, name, optional_params \\ [], @@ -1980,7 +2233,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do request = Request.new() - |> Request.method(:delete) + |> Request.method(:get) |> Request.url("/v1/{+name}", %{ "name" => URI.encode(name, &URI.char_unreserved?/1) }) @@ -1989,16 +2242,16 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do connection |> Connection.execute(request) - |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Empty{}]) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.MappingRule{}]) end @doc """ - 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. + Imports the mapping rules for a given conversion workspace. Supports various formats of external rules files. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - The name of the operation resource. + * `parent` (*type:* `String.t`) - Required. Name of the conversion workspace resource to import the rules to in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -2011,6 +2264,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.ImportMappingRulesRequest.t`) - * `opts` (*type:* `keyword()`) - Call options ## Returns @@ -2018,7 +2272,7 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_operations_get( + @spec datamigration_projects_locations_conversion_workspaces_mapping_rules_import( Tesla.Env.client(), String.t(), keyword(), @@ -2028,9 +2282,9 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_operations_get( + def datamigration_projects_locations_conversion_workspaces_mapping_rules_import( connection, - name, + parent, optional_params \\ [], opts \\ [] ) do @@ -2045,14 +2299,15 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :prettyPrint => :query, :quotaUser => :query, :uploadType => :query, - :upload_protocol => :query + :upload_protocol => :query, + :body => :body } request = Request.new() - |> Request.method(:get) - |> Request.url("/v1/{+name}", %{ - "name" => URI.encode(name, &URI.char_unreserved?/1) + |> Request.method(:post) + |> Request.url("/v1/{+parent}/mappingRules:import", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) @@ -2063,12 +2318,12 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do end @doc """ - 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. + Lists the mapping rules for a specific conversion workspace. ## Parameters * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server - * `name` (*type:* `String.t`) - The name of the operation's parent resource. + * `parent` (*type:* `String.t`) - Required. Name of the conversion workspace resource whose mapping rules are listed in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. * `optional_params` (*type:* `keyword()`) - Optional parameters * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. * `:access_token` (*type:* `String.t`) - OAuth access token. @@ -2081,29 +2336,28 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do * `:quotaUser` (*type:* `String.t`) - 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. * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). - * `:filter` (*type:* `String.t`) - The standard list filter. - * `:pageSize` (*type:* `integer()`) - The standard list page size. - * `:pageToken` (*type:* `String.t`) - The standard list page token. + * `:pageSize` (*type:* `integer()`) - The maximum number of rules to return. The service may return fewer than this value. + * `:pageToken` (*type:* `String.t`) - The nextPageToken value received in the previous call to mappingRules.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 mappingRules.list must match the call that provided the page token. * `opts` (*type:* `keyword()`) - Call options ## Returns - * `{:ok, %GoogleApi.DataMigration.V1.Model.ListOperationsResponse{}}` on success + * `{:ok, %GoogleApi.DataMigration.V1.Model.ListMappingRulesResponse{}}` on success * `{:error, info}` on failure """ - @spec datamigration_projects_locations_operations_list( + @spec datamigration_projects_locations_conversion_workspaces_mapping_rules_list( Tesla.Env.client(), String.t(), keyword(), keyword() ) :: - {:ok, GoogleApi.DataMigration.V1.Model.ListOperationsResponse.t()} + {:ok, GoogleApi.DataMigration.V1.Model.ListMappingRulesResponse.t()} | {:ok, Tesla.Env.t()} | {:ok, list()} | {:error, any()} - def datamigration_projects_locations_operations_list( + def datamigration_projects_locations_conversion_workspaces_mapping_rules_list( connection, - name, + parent, optional_params \\ [], opts \\ [] ) do @@ -2119,7 +2373,6 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do :quotaUser => :query, :uploadType => :query, :upload_protocol => :query, - :filter => :query, :pageSize => :query, :pageToken => :query } @@ -2127,8 +2380,8 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do request = Request.new() |> Request.method(:get) - |> Request.url("/v1/{+name}/operations", %{ - "name" => URI.encode(name, &URI.char_unreserved?/1) + |> Request.url("/v1/{+parent}/mappingRules", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) }) |> Request.add_optional_params(optional_params_config, optional_params) |> Request.library_version(@library_version) @@ -2136,7 +2389,2057 @@ defmodule GoogleApi.DataMigration.V1.Api.Projects do connection |> Connection.execute(request) |> Response.decode( - opts ++ [struct: %GoogleApi.DataMigration.V1.Model.ListOperationsResponse{}] + opts ++ [struct: %GoogleApi.DataMigration.V1.Model.ListMappingRulesResponse{}] + ) + end + + @doc """ + Creates a new migration job in a given project and location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. The parent which owns this collection of migration jobs. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:migrationJobId` (*type:* `String.t`) - Required. The ID of the instance to create. + * `:requestId` (*type:* `String.t`) - Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.MigrationJob.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_create( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_create( + connection, + parent, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :migrationJobId => :query, + :requestId => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+parent}/migrationJobs", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Deletes a single migration job. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the migration job resource to delete. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:force` (*type:* `boolean()`) - 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. + * `:requestId` (*type:* `String.t`) - A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_delete( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_delete( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :force => :query, + :requestId => :query + } + + request = + Request.new() + |> Request.method(:delete) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Demotes the destination database to become a read replica of the source. This is applicable for the following migrations: 1. MySQL to Cloud SQL for MySQL 2. PostgreSQL to Cloud SQL for PostgreSQL 3. PostgreSQL to AlloyDB for PostgreSQL. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Name of the migration job resource to demote its destination. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.DemoteDestinationRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_demote_destination( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_demote_destination( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+name}:demoteDestination", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Generate a SSH configuration script to configure the reverse SSH connectivity. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `migration_job` (*type:* `String.t`) - Name of the migration job resource to generate the SSH script. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.GenerateSshScriptRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.SshScript{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_generate_ssh_script( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.SshScript.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_generate_ssh_script( + connection, + migration_job, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+migrationJob}:generateSshScript", %{ + "migrationJob" => URI.encode(migration_job, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.SshScript{}]) + end + + @doc """ + Generate a TCP Proxy configuration script to configure a cloud-hosted VM running a TCP Proxy. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `migration_job` (*type:* `String.t`) - Name of the migration job resource to generate the TCP Proxy script. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.GenerateTcpProxyScriptRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.TcpProxyScript{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_generate_tcp_proxy_script( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.TcpProxyScript.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_generate_tcp_proxy_script( + connection, + migration_job, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+migrationJob}:generateTcpProxyScript", %{ + "migrationJob" => URI.encode(migration_job, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.TcpProxyScript{}]) + end + + @doc """ + Gets details of a single migration job. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. Name of the migration job resource to get. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.MigrationJob{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.MigrationJob.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_get( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.MigrationJob{}]) + end + + @doc """ + Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `resource` (*type:* `String.t`) - REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:"options.requestedPolicyVersion"` (*type:* `integer()`) - Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_get_iam_policy( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_get_iam_policy( + connection, + resource, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :"options.requestedPolicyVersion" => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+resource}:getIamPolicy", %{ + "resource" => URI.encode(resource, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Policy{}]) + end + + @doc """ + Lists migration jobs in a given project and location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. The parent which owns this collection of migrationJobs. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:filter` (*type:* `String.t`) - 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. + * `:orderBy` (*type:* `String.t`) - Sort the results based on the migration job name. Valid values are: "name", "name asc", and "name desc". + * `:pageSize` (*type:* `integer()`) - 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 are coerced to 1000. + * `:pageToken` (*type:* `String.t`) - 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. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.ListMigrationJobsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.ListMigrationJobsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_list( + connection, + parent, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :filter => :query, + :orderBy => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+parent}/migrationJobs", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.DataMigration.V1.Model.ListMigrationJobsResponse{}] + ) + end + + @doc """ + Updates the parameters of a single migration job. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:requestId` (*type:* `String.t`) - A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. + * `:updateMask` (*type:* `String.t`) - Required. Field mask is used to specify the fields to be overwritten by the update in the conversion workspace resource. + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.MigrationJob.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_patch( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_patch( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :requestId => :query, + :updateMask => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:patch) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Promote a migration job, stopping replication to the destination and promoting the destination to be a standalone database. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Name of the migration job resource to promote. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.PromoteMigrationJobRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_promote( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_promote( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+name}:promote", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Restart a stopped or failed migration job, resetting the destination instance to its original state and starting the migration process from scratch. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Name of the migration job resource to restart. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.RestartMigrationJobRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_restart( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_restart( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+name}:restart", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Resume a migration job that is currently stopped and is resumable (was stopped during CDC phase). + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Name of the migration job resource to resume. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.ResumeMigrationJobRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_resume( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_resume( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+name}:resume", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `resource` (*type:* `String.t`) - REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.SetIamPolicyRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_set_iam_policy( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_set_iam_policy( + connection, + resource, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+resource}:setIamPolicy", %{ + "resource" => URI.encode(resource, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Policy{}]) + end + + @doc """ + Start an already created migration job. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Name of the migration job resource to start. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.StartMigrationJobRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_start( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_start( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+name}:start", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Stops a running migration job. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Name of the migration job resource to stop. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.StopMigrationJobRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_stop( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_stop( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+name}:stop", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + 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. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `resource` (*type:* `String.t`) - REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.TestIamPermissionsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.TestIamPermissionsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_test_iam_permissions( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.TestIamPermissionsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_test_iam_permissions( + connection, + resource, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+resource}:testIamPermissions", %{ + "resource" => URI.encode(resource, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.DataMigration.V1.Model.TestIamPermissionsResponse{}] + ) + end + + @doc """ + Verify a migration job, making sure the destination can reach the source and that all configuration and prerequisites are met. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Name of the migration job resource to verify. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.VerifyMigrationJobRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_migration_jobs_verify( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_migration_jobs_verify( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+name}:verify", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + 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`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The name of the operation resource to be cancelled. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.CancelOperationRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Empty{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_operations_cancel( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Empty.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_operations_cancel( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+name}:cancel", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Empty{}]) + end + + @doc """ + 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`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The name of the operation resource to be deleted. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Empty{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_operations_delete( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Empty.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_operations_delete( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query + } + + request = + Request.new() + |> Request.method(:delete) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Empty{}]) + end + + @doc """ + 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. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The name of the operation resource. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_operations_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_operations_get( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - The name of the operation's parent resource. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:filter` (*type:* `String.t`) - The standard list filter. + * `:pageSize` (*type:* `integer()`) - The standard list page size. + * `:pageToken` (*type:* `String.t`) - The standard list page token. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.ListOperationsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_operations_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.ListOperationsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_operations_list( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :filter => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+name}/operations", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.DataMigration.V1.Model.ListOperationsResponse{}] + ) + end + + @doc """ + Creates a new private connection in a given project and location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. The parent that owns the collection of PrivateConnections. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:privateConnectionId` (*type:* `String.t`) - Required. The private connection identifier. + * `:requestId` (*type:* `String.t`) - Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. + * `:skipValidation` (*type:* `boolean()`) - Optional. If set to true, will skip validations. + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.PrivateConnection.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_private_connections_create( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_private_connections_create( + connection, + parent, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :privateConnectionId => :query, + :requestId => :query, + :skipValidation => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+parent}/privateConnections", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Deletes a single Database Migration Service private connection. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. The name of the private connection to delete. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:requestId` (*type:* `String.t`) - Optional. A unique ID used to identify the request. If the server receives two requests with the same ID, then the second request is 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. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Operation{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_private_connections_delete( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Operation.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_private_connections_delete( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :requestId => :query + } + + request = + Request.new() + |> Request.method(:delete) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Operation{}]) + end + + @doc """ + Gets details of a single private connection. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `name` (*type:* `String.t`) - Required. The name of the private connection to get. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.PrivateConnection{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_private_connections_get( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.PrivateConnection.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_private_connections_get( + connection, + name, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+name}", %{ + "name" => URI.encode(name, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.PrivateConnection{}]) + end + + @doc """ + Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `resource` (*type:* `String.t`) - REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:"options.requestedPolicyVersion"` (*type:* `integer()`) - Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_private_connections_get_iam_policy( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_private_connections_get_iam_policy( + connection, + resource, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :"options.requestedPolicyVersion" => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+resource}:getIamPolicy", %{ + "resource" => URI.encode(resource, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Policy{}]) + end + + @doc """ + Retrieves a list of private connections in a given project and location. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `parent` (*type:* `String.t`) - Required. The parent that owns the collection of private connections. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:filter` (*type:* `String.t`) - A filter expression that filters private connections 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 private connections created this year by specifying **createTime %gt; 2021-01-01T00:00:00.000000000Z**. + * `:orderBy` (*type:* `String.t`) - Order by fields for the result. + * `:pageSize` (*type:* `integer()`) - Maximum number of private connections to return. If unspecified, at most 50 private connections that are returned. The maximum value is 1000; values above 1000 are coerced to 1000. + * `:pageToken` (*type:* `String.t`) - Page token received from a previous `ListPrivateConnections` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPrivateConnections` must match the call that provided the page token. + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.ListPrivateConnectionsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_private_connections_list( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.ListPrivateConnectionsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_private_connections_list( + connection, + parent, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :filter => :query, + :orderBy => :query, + :pageSize => :query, + :pageToken => :query + } + + request = + Request.new() + |> Request.method(:get) + |> Request.url("/v1/{+parent}/privateConnections", %{ + "parent" => URI.encode(parent, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.DataMigration.V1.Model.ListPrivateConnectionsResponse{}] + ) + end + + @doc """ + Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `resource` (*type:* `String.t`) - REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.SetIamPolicyRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.Policy{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_private_connections_set_iam_policy( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.Policy.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_private_connections_set_iam_policy( + connection, + resource, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+resource}:setIamPolicy", %{ + "resource" => URI.encode(resource, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode(opts ++ [struct: %GoogleApi.DataMigration.V1.Model.Policy{}]) + end + + @doc """ + 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. + + ## Parameters + + * `connection` (*type:* `GoogleApi.DataMigration.V1.Connection.t`) - Connection to server + * `resource` (*type:* `String.t`) - REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * `optional_params` (*type:* `keyword()`) - Optional parameters + * `:"$.xgafv"` (*type:* `String.t`) - V1 error format. + * `:access_token` (*type:* `String.t`) - OAuth access token. + * `:alt` (*type:* `String.t`) - Data format for response. + * `:callback` (*type:* `String.t`) - JSONP + * `:fields` (*type:* `String.t`) - Selector specifying which fields to include in a partial response. + * `:key` (*type:* `String.t`) - 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. + * `:oauth_token` (*type:* `String.t`) - OAuth 2.0 token for the current user. + * `:prettyPrint` (*type:* `boolean()`) - Returns response with indentations and line breaks. + * `:quotaUser` (*type:* `String.t`) - 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. + * `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart"). + * `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart"). + * `:body` (*type:* `GoogleApi.DataMigration.V1.Model.TestIamPermissionsRequest.t`) - + * `opts` (*type:* `keyword()`) - Call options + + ## Returns + + * `{:ok, %GoogleApi.DataMigration.V1.Model.TestIamPermissionsResponse{}}` on success + * `{:error, info}` on failure + """ + @spec datamigration_projects_locations_private_connections_test_iam_permissions( + Tesla.Env.client(), + String.t(), + keyword(), + keyword() + ) :: + {:ok, GoogleApi.DataMigration.V1.Model.TestIamPermissionsResponse.t()} + | {:ok, Tesla.Env.t()} + | {:ok, list()} + | {:error, any()} + def datamigration_projects_locations_private_connections_test_iam_permissions( + connection, + resource, + optional_params \\ [], + opts \\ [] + ) do + optional_params_config = %{ + :"$.xgafv" => :query, + :access_token => :query, + :alt => :query, + :callback => :query, + :fields => :query, + :key => :query, + :oauth_token => :query, + :prettyPrint => :query, + :quotaUser => :query, + :uploadType => :query, + :upload_protocol => :query, + :body => :body + } + + request = + Request.new() + |> Request.method(:post) + |> Request.url("/v1/{+resource}:testIamPermissions", %{ + "resource" => URI.encode(resource, &URI.char_unreserved?/1) + }) + |> Request.add_optional_params(optional_params_config, optional_params) + |> Request.library_version(@library_version) + + connection + |> Connection.execute(request) + |> Response.decode( + opts ++ [struct: %GoogleApi.DataMigration.V1.Model.TestIamPermissionsResponse{}] ) end end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/metadata.ex b/clients/data_migration/lib/google_api/data_migration/v1/metadata.ex index 6872d00272..c9d8ab0bba 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/metadata.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.DataMigration.V1 do API client metadata for GoogleApi.DataMigration.V1. """ - @discovery_revision "20221108" + @discovery_revision "20240228" def discovery_revision(), do: @discovery_revision end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/alloy_db_settings.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/alloy_db_settings.ex index 64f236dfdc..4da6307f35 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/alloy_db_settings.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/alloy_db_settings.ex @@ -21,6 +21,8 @@ defmodule GoogleApi.DataMigration.V1.Model.AlloyDbSettings do ## Attributes + * `databaseVersion` (*type:* `String.t`, *default:* `nil`) - Optional. The database engine major version. This is an optional field. If a database version is not supplied at cluster creation time, then a default database version will be used. + * `encryptionConfig` (*type:* `GoogleApi.DataMigration.V1.Model.EncryptionConfig.t`, *default:* `nil`) - Optional. The encryption config can be specified to encrypt the data disks and other persistent data resources of a cluster with a customer-managed encryption key (CMEK). When this field is not specified, the cluster will then use default encryption scheme to protect the user data. * `initialUser` (*type:* `GoogleApi.DataMigration.V1.Model.UserPassword.t`, *default:* `nil`) - Required. Input only. Initial user to setup during cluster creation. Required. * `labels` (*type:* `map()`, *default:* `nil`) - Labels for the AlloyDB cluster created by DMS. An object containing a list of 'key', 'value' pairs. * `primaryInstanceSettings` (*type:* `GoogleApi.DataMigration.V1.Model.PrimaryInstanceSettings.t`, *default:* `nil`) - @@ -30,6 +32,8 @@ defmodule GoogleApi.DataMigration.V1.Model.AlloyDbSettings do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :databaseVersion => String.t() | nil, + :encryptionConfig => GoogleApi.DataMigration.V1.Model.EncryptionConfig.t() | nil, :initialUser => GoogleApi.DataMigration.V1.Model.UserPassword.t() | nil, :labels => map() | nil, :primaryInstanceSettings => @@ -37,6 +41,8 @@ defmodule GoogleApi.DataMigration.V1.Model.AlloyDbSettings do :vpcNetwork => String.t() | nil } + field(:databaseVersion) + field(:encryptionConfig, as: GoogleApi.DataMigration.V1.Model.EncryptionConfig) field(:initialUser, as: GoogleApi.DataMigration.V1.Model.UserPassword) field(:labels, type: :map) field(:primaryInstanceSettings, as: GoogleApi.DataMigration.V1.Model.PrimaryInstanceSettings) diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/apply_conversion_workspace_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/apply_conversion_workspace_request.ex new file mode 100644 index 0000000000..9bc9c38791 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/apply_conversion_workspace_request.ex @@ -0,0 +1,55 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ApplyConversionWorkspaceRequest do + @moduledoc """ + Request message for 'ApplyConversionWorkspace' request. + + ## Attributes + + * `autoCommit` (*type:* `boolean()`, *default:* `nil`) - Optional. Specifies whether the conversion workspace is to be committed automatically after the apply. + * `connectionProfile` (*type:* `String.t`, *default:* `nil`) - Optional. Fully qualified (Uri) name of the destination connection profile. + * `dryRun` (*type:* `boolean()`, *default:* `nil`) - Optional. Only validates the apply process, but doesn't change the destination database. Only works for PostgreSQL destination connection profile. + * `filter` (*type:* `String.t`, *default:* `nil`) - Filter which entities to apply. Leaving this field empty will apply all of the entities. Supports Google AIP 160 based filtering. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :autoCommit => boolean() | nil, + :connectionProfile => String.t() | nil, + :dryRun => boolean() | nil, + :filter => String.t() | nil + } + + field(:autoCommit) + field(:connectionProfile) + field(:dryRun) + field(:filter) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ApplyConversionWorkspaceRequest do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ApplyConversionWorkspaceRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ApplyConversionWorkspaceRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/apply_hash.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/apply_hash.ex new file mode 100644 index 0000000000..0f71bf20e8 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/apply_hash.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ApplyHash do + @moduledoc """ + Apply a hash function on the value. + + ## Attributes + + * `uuidFromBytes` (*type:* `GoogleApi.DataMigration.V1.Model.Empty.t`, *default:* `nil`) - Optional. Generate UUID from the data's byte array + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :uuidFromBytes => GoogleApi.DataMigration.V1.Model.Empty.t() | nil + } + + field(:uuidFromBytes, as: GoogleApi.DataMigration.V1.Model.Empty) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ApplyHash do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ApplyHash.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ApplyHash do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/apply_job_details.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/apply_job_details.ex new file mode 100644 index 0000000000..ed7e559669 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/apply_job_details.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ApplyJobDetails do + @moduledoc """ + Details regarding an Apply background job. + + ## Attributes + + * `connectionProfile` (*type:* `String.t`, *default:* `nil`) - Output only. The connection profile which was used for the apply job. + * `filter` (*type:* `String.t`, *default:* `nil`) - Output only. AIP-160 based filter used to specify the entities to apply + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :connectionProfile => String.t() | nil, + :filter => String.t() | nil + } + + field(:connectionProfile) + field(:filter) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ApplyJobDetails do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ApplyJobDetails.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ApplyJobDetails do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/assign_specific_value.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/assign_specific_value.ex new file mode 100644 index 0000000000..dbdce6922c --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/assign_specific_value.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.AssignSpecificValue do + @moduledoc """ + Set to a specific value (value is converted to fit the target data type) + + ## Attributes + + * `value` (*type:* `String.t`, *default:* `nil`) - Required. Specific value to be assigned + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :value => String.t() | nil + } + + field(:value) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.AssignSpecificValue do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.AssignSpecificValue.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.AssignSpecificValue do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/background_job_log_entry.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/background_job_log_entry.ex new file mode 100644 index 0000000000..6a93d8ba17 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/background_job_log_entry.ex @@ -0,0 +1,77 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.BackgroundJobLogEntry do + @moduledoc """ + Execution log of a background job. + + ## Attributes + + * `applyJobDetails` (*type:* `GoogleApi.DataMigration.V1.Model.ApplyJobDetails.t`, *default:* `nil`) - Output only. Apply job details. + * `completionComment` (*type:* `String.t`, *default:* `nil`) - Output only. Job completion comment, such as how many entities were seeded, how many warnings were found during conversion, and similar information. + * `completionState` (*type:* `String.t`, *default:* `nil`) - Output only. Job completion state, i.e. the final state after the job completed. + * `convertJobDetails` (*type:* `GoogleApi.DataMigration.V1.Model.ConvertJobDetails.t`, *default:* `nil`) - Output only. Convert job details. + * `finishTime` (*type:* `DateTime.t`, *default:* `nil`) - The timestamp when the background job was finished. + * `id` (*type:* `String.t`, *default:* `nil`) - The background job log entry ID. + * `importRulesJobDetails` (*type:* `GoogleApi.DataMigration.V1.Model.ImportRulesJobDetails.t`, *default:* `nil`) - Output only. Import rules job details. + * `jobType` (*type:* `String.t`, *default:* `nil`) - The type of job that was executed. + * `requestAutocommit` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the client requested the conversion workspace to be committed after a successful completion of the job. + * `seedJobDetails` (*type:* `GoogleApi.DataMigration.V1.Model.SeedJobDetails.t`, *default:* `nil`) - Output only. Seed job details. + * `startTime` (*type:* `DateTime.t`, *default:* `nil`) - The timestamp when the background job was started. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :applyJobDetails => GoogleApi.DataMigration.V1.Model.ApplyJobDetails.t() | nil, + :completionComment => String.t() | nil, + :completionState => String.t() | nil, + :convertJobDetails => GoogleApi.DataMigration.V1.Model.ConvertJobDetails.t() | nil, + :finishTime => DateTime.t() | nil, + :id => String.t() | nil, + :importRulesJobDetails => + GoogleApi.DataMigration.V1.Model.ImportRulesJobDetails.t() | nil, + :jobType => String.t() | nil, + :requestAutocommit => boolean() | nil, + :seedJobDetails => GoogleApi.DataMigration.V1.Model.SeedJobDetails.t() | nil, + :startTime => DateTime.t() | nil + } + + field(:applyJobDetails, as: GoogleApi.DataMigration.V1.Model.ApplyJobDetails) + field(:completionComment) + field(:completionState) + field(:convertJobDetails, as: GoogleApi.DataMigration.V1.Model.ConvertJobDetails) + field(:finishTime, as: DateTime) + field(:id) + field(:importRulesJobDetails, as: GoogleApi.DataMigration.V1.Model.ImportRulesJobDetails) + field(:jobType) + field(:requestAutocommit) + field(:seedJobDetails, as: GoogleApi.DataMigration.V1.Model.SeedJobDetails) + field(:startTime, as: DateTime) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.BackgroundJobLogEntry do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.BackgroundJobLogEntry.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.BackgroundJobLogEntry do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/binding.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/binding.ex index f172fee3bb..8d10584301 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/binding.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/binding.ex @@ -22,8 +22,8 @@ defmodule GoogleApi.DataMigration.V1.Model.Binding do ## Attributes * `condition` (*type:* `GoogleApi.DataMigration.V1.Model.Expr.t`, *default:* `nil`) - The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - * `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `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`. - * `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + * `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + * `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). """ use GoogleApi.Gax.ModelBase diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/cloud_sql_settings.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/cloud_sql_settings.ex index df0d7fb94c..bafe4cef37 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/cloud_sql_settings.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/cloud_sql_settings.ex @@ -26,10 +26,12 @@ defmodule GoogleApi.DataMigration.V1.Model.CloudSqlSettings do * `availabilityType` (*type:* `String.t`, *default:* `nil`) - Optional. Availability type. Potential values: * `ZONAL`: The instance serves data from only one zone. Outages in that zone affect data availability. * `REGIONAL`: The instance can serve data from more than one zone in a region (it is highly available). * `cmekKeyName` (*type:* `String.t`, *default:* `nil`) - The KMS key name used for the csql instance. * `collation` (*type:* `String.t`, *default:* `nil`) - The Cloud SQL default instance level collation. + * `dataCacheConfig` (*type:* `GoogleApi.DataMigration.V1.Model.DataCacheConfig.t`, *default:* `nil`) - Optional. Data cache is an optional feature available for Cloud SQL for MySQL Enterprise Plus edition only. For more information on data cache, see [Data cache overview](https://cloud.google.com/sql/help/mysql-data-cache) in Cloud SQL documentation. * `dataDiskSizeGb` (*type:* `String.t`, *default:* `nil`) - The storage capacity available to the database, in GB. The minimum (and default) size is 10GB. * `dataDiskType` (*type:* `String.t`, *default:* `nil`) - The type of storage: `PD_SSD` (default) or `PD_HDD`. * `databaseFlags` (*type:* `map()`, *default:* `nil`) - 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" }. * `databaseVersion` (*type:* `String.t`, *default:* `nil`) - The database engine type and version. + * `edition` (*type:* `String.t`, *default:* `nil`) - Optional. The edition of the given Cloud SQL instance. * `ipConfig` (*type:* `GoogleApi.DataMigration.V1.Model.SqlIpConfig.t`, *default:* `nil`) - The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled. * `rootPassword` (*type:* `String.t`, *default:* `nil`) - Input only. Initial root password. * `rootPasswordSet` (*type:* `boolean()`, *default:* `nil`) - Output only. Indicates If this connection profile root password is stored. @@ -49,10 +51,12 @@ defmodule GoogleApi.DataMigration.V1.Model.CloudSqlSettings do :availabilityType => String.t() | nil, :cmekKeyName => String.t() | nil, :collation => String.t() | nil, + :dataCacheConfig => GoogleApi.DataMigration.V1.Model.DataCacheConfig.t() | nil, :dataDiskSizeGb => String.t() | nil, :dataDiskType => String.t() | nil, :databaseFlags => map() | nil, :databaseVersion => String.t() | nil, + :edition => String.t() | nil, :ipConfig => GoogleApi.DataMigration.V1.Model.SqlIpConfig.t() | nil, :rootPassword => String.t() | nil, :rootPasswordSet => boolean() | nil, @@ -69,10 +73,12 @@ defmodule GoogleApi.DataMigration.V1.Model.CloudSqlSettings do field(:availabilityType) field(:cmekKeyName) field(:collation) + field(:dataCacheConfig, as: GoogleApi.DataMigration.V1.Model.DataCacheConfig) field(:dataDiskSizeGb) field(:dataDiskType) field(:databaseFlags, type: :map) field(:databaseVersion) + field(:edition) field(:ipConfig, as: GoogleApi.DataMigration.V1.Model.SqlIpConfig) field(:rootPassword) field(:rootPasswordSet) diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/column_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/column_entity.ex new file mode 100644 index 0000000000..65d527b07d --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/column_entity.ex @@ -0,0 +1,97 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ColumnEntity do + @moduledoc """ + Column is not used as an independent entity, it is retrieved as part of a Table entity. + + ## Attributes + + * `array` (*type:* `boolean()`, *default:* `nil`) - Is the column of array type. + * `arrayLength` (*type:* `integer()`, *default:* `nil`) - If the column is array, of which length. + * `autoGenerated` (*type:* `boolean()`, *default:* `nil`) - Is the column auto-generated/identity. + * `charset` (*type:* `String.t`, *default:* `nil`) - Charset override - instead of table level charset. + * `collation` (*type:* `String.t`, *default:* `nil`) - Collation override - instead of table level collation. + * `comment` (*type:* `String.t`, *default:* `nil`) - Comment associated with the column. + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `dataType` (*type:* `String.t`, *default:* `nil`) - Column data type. + * `defaultValue` (*type:* `String.t`, *default:* `nil`) - Default value of the column. + * `fractionalSecondsPrecision` (*type:* `integer()`, *default:* `nil`) - Column fractional second precision - used for timestamp based datatypes. + * `length` (*type:* `String.t`, *default:* `nil`) - Column length - e.g. varchar (50). + * `name` (*type:* `String.t`, *default:* `nil`) - Column name. + * `nullable` (*type:* `boolean()`, *default:* `nil`) - Is the column nullable. + * `ordinalPosition` (*type:* `integer()`, *default:* `nil`) - Column order in the table. + * `precision` (*type:* `integer()`, *default:* `nil`) - Column precision - when relevant. + * `scale` (*type:* `integer()`, *default:* `nil`) - Column scale - when relevant. + * `setValues` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the list of values allowed in the column. Only used for set data type. + * `udt` (*type:* `boolean()`, *default:* `nil`) - Is the column a UDT. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :array => boolean() | nil, + :arrayLength => integer() | nil, + :autoGenerated => boolean() | nil, + :charset => String.t() | nil, + :collation => String.t() | nil, + :comment => String.t() | nil, + :customFeatures => map() | nil, + :dataType => String.t() | nil, + :defaultValue => String.t() | nil, + :fractionalSecondsPrecision => integer() | nil, + :length => String.t() | nil, + :name => String.t() | nil, + :nullable => boolean() | nil, + :ordinalPosition => integer() | nil, + :precision => integer() | nil, + :scale => integer() | nil, + :setValues => list(String.t()) | nil, + :udt => boolean() | nil + } + + field(:array) + field(:arrayLength) + field(:autoGenerated) + field(:charset) + field(:collation) + field(:comment) + field(:customFeatures, type: :map) + field(:dataType) + field(:defaultValue) + field(:fractionalSecondsPrecision) + field(:length) + field(:name) + field(:nullable) + field(:ordinalPosition) + field(:precision) + field(:scale) + field(:setValues, type: :list) + field(:udt) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ColumnEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ColumnEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ColumnEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/commit_conversion_workspace_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/commit_conversion_workspace_request.ex new file mode 100644 index 0000000000..57af6f37fa --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/commit_conversion_workspace_request.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.CommitConversionWorkspaceRequest do + @moduledoc """ + Request message for 'CommitConversionWorkspace' request. + + ## Attributes + + * `commitName` (*type:* `String.t`, *default:* `nil`) - Optional. Optional name of the commit. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :commitName => String.t() | nil + } + + field(:commitName) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.CommitConversionWorkspaceRequest do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.CommitConversionWorkspaceRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.CommitConversionWorkspaceRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/conditional_column_set_value.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/conditional_column_set_value.ex new file mode 100644 index 0000000000..c5ad367ca8 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/conditional_column_set_value.ex @@ -0,0 +1,55 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ConditionalColumnSetValue do + @moduledoc """ + Options to configure rule type ConditionalColumnSetValue. The rule is used to transform the data which is being replicated/migrated. The rule filter field can refer to one or more entities. The rule scope can be one of: Column. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Optional. Custom engine specific features. + * `sourceNumericFilter` (*type:* `GoogleApi.DataMigration.V1.Model.SourceNumericFilter.t`, *default:* `nil`) - Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. + * `sourceTextFilter` (*type:* `GoogleApi.DataMigration.V1.Model.SourceTextFilter.t`, *default:* `nil`) - Optional. Optional filter on source column length. Used for text based data types like varchar. + * `valueTransformation` (*type:* `GoogleApi.DataMigration.V1.Model.ValueTransformation.t`, *default:* `nil`) - Required. Description of data transformation during migration. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :sourceNumericFilter => GoogleApi.DataMigration.V1.Model.SourceNumericFilter.t() | nil, + :sourceTextFilter => GoogleApi.DataMigration.V1.Model.SourceTextFilter.t() | nil, + :valueTransformation => GoogleApi.DataMigration.V1.Model.ValueTransformation.t() | nil + } + + field(:customFeatures, type: :map) + field(:sourceNumericFilter, as: GoogleApi.DataMigration.V1.Model.SourceNumericFilter) + field(:sourceTextFilter, as: GoogleApi.DataMigration.V1.Model.SourceTextFilter) + field(:valueTransformation, as: GoogleApi.DataMigration.V1.Model.ValueTransformation) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ConditionalColumnSetValue do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ConditionalColumnSetValue.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ConditionalColumnSetValue do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/connection_profile.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/connection_profile.ex index 947a685b99..36d492bdf1 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/connection_profile.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/connection_profile.ex @@ -29,6 +29,7 @@ defmodule GoogleApi.DataMigration.V1.Model.ConnectionProfile do * `labels` (*type:* `map()`, *default:* `nil`) - 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" }`. * `mysql` (*type:* `GoogleApi.DataMigration.V1.Model.MySqlConnectionProfile.t`, *default:* `nil`) - A MySQL database connection profile. * `name` (*type:* `String.t`, *default:* `nil`) - The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}. + * `oracle` (*type:* `GoogleApi.DataMigration.V1.Model.OracleConnectionProfile.t`, *default:* `nil`) - An Oracle database connection profile. * `postgresql` (*type:* `GoogleApi.DataMigration.V1.Model.PostgreSqlConnectionProfile.t`, *default:* `nil`) - A PostgreSQL database connection profile. * `provider` (*type:* `String.t`, *default:* `nil`) - The database provider. * `state` (*type:* `String.t`, *default:* `nil`) - The current connection profile state (e.g. DRAFT, READY, or FAILED). @@ -46,6 +47,7 @@ defmodule GoogleApi.DataMigration.V1.Model.ConnectionProfile do :labels => map() | nil, :mysql => GoogleApi.DataMigration.V1.Model.MySqlConnectionProfile.t() | nil, :name => String.t() | nil, + :oracle => GoogleApi.DataMigration.V1.Model.OracleConnectionProfile.t() | nil, :postgresql => GoogleApi.DataMigration.V1.Model.PostgreSqlConnectionProfile.t() | nil, :provider => String.t() | nil, :state => String.t() | nil, @@ -60,6 +62,7 @@ defmodule GoogleApi.DataMigration.V1.Model.ConnectionProfile do field(:labels, type: :map) field(:mysql, as: GoogleApi.DataMigration.V1.Model.MySqlConnectionProfile) field(:name) + field(:oracle, as: GoogleApi.DataMigration.V1.Model.OracleConnectionProfile) field(:postgresql, as: GoogleApi.DataMigration.V1.Model.PostgreSqlConnectionProfile) field(:provider) field(:state) diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/constraint_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/constraint_entity.ex new file mode 100644 index 0000000000..1b664b1b50 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/constraint_entity.ex @@ -0,0 +1,64 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ConstraintEntity do + @moduledoc """ + Constraint is not used as an independent entity, it is retrieved as part of another entity such as Table or View. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `name` (*type:* `String.t`, *default:* `nil`) - The name of the table constraint. + * `referenceColumns` (*type:* `list(String.t)`, *default:* `nil`) - Reference columns which may be associated with the constraint. For example, if the constraint is a FOREIGN_KEY, this represents the list of full names of referenced columns by the foreign key. + * `referenceTable` (*type:* `String.t`, *default:* `nil`) - Reference table which may be associated with the constraint. For example, if the constraint is a FOREIGN_KEY, this represents the list of full name of the referenced table by the foreign key. + * `tableColumns` (*type:* `list(String.t)`, *default:* `nil`) - Table columns used as part of the Constraint, for example primary key constraint should list the columns which constitutes the key. + * `tableName` (*type:* `String.t`, *default:* `nil`) - Table which is associated with the constraint. In case the constraint is defined on a table, this field is left empty as this information is stored in parent_name. However, if constraint is defined on a view, this field stores the table name on which the view is defined. + * `type` (*type:* `String.t`, *default:* `nil`) - Type of constraint, for example unique, primary key, foreign key (currently only primary key is supported). + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :name => String.t() | nil, + :referenceColumns => list(String.t()) | nil, + :referenceTable => String.t() | nil, + :tableColumns => list(String.t()) | nil, + :tableName => String.t() | nil, + :type => String.t() | nil + } + + field(:customFeatures, type: :map) + field(:name) + field(:referenceColumns, type: :list) + field(:referenceTable) + field(:tableColumns, type: :list) + field(:tableName) + field(:type) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ConstraintEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ConstraintEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ConstraintEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/conversion_workspace.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/conversion_workspace.ex new file mode 100644 index 0000000000..8dd941010a --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/conversion_workspace.ex @@ -0,0 +1,73 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ConversionWorkspace do + @moduledoc """ + The main conversion workspace resource entity. + + ## Attributes + + * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The timestamp when the workspace resource was created. + * `destination` (*type:* `GoogleApi.DataMigration.V1.Model.DatabaseEngineInfo.t`, *default:* `nil`) - Required. The destination engine details. + * `displayName` (*type:* `String.t`, *default:* `nil`) - Optional. The display name for the workspace. + * `globalSettings` (*type:* `map()`, *default:* `nil`) - Optional. A generic list of settings for the workspace. The settings are database pair dependant and can indicate default behavior for the mapping rules engine or turn on or off specific features. Such examples can be: convert_foreign_key_to_interleave=true, skip_triggers=false, ignore_non_table_synonyms=true + * `hasUncommittedChanges` (*type:* `boolean()`, *default:* `nil`) - Output only. Whether the workspace has uncommitted changes (changes which were made after the workspace was committed). + * `latestCommitId` (*type:* `String.t`, *default:* `nil`) - Output only. The latest commit ID. + * `latestCommitTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The timestamp when the workspace was committed. + * `name` (*type:* `String.t`, *default:* `nil`) - Full name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. + * `source` (*type:* `GoogleApi.DataMigration.V1.Model.DatabaseEngineInfo.t`, *default:* `nil`) - Required. The source engine details. + * `updateTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The timestamp when the workspace resource was last updated. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :createTime => DateTime.t() | nil, + :destination => GoogleApi.DataMigration.V1.Model.DatabaseEngineInfo.t() | nil, + :displayName => String.t() | nil, + :globalSettings => map() | nil, + :hasUncommittedChanges => boolean() | nil, + :latestCommitId => String.t() | nil, + :latestCommitTime => DateTime.t() | nil, + :name => String.t() | nil, + :source => GoogleApi.DataMigration.V1.Model.DatabaseEngineInfo.t() | nil, + :updateTime => DateTime.t() | nil + } + + field(:createTime, as: DateTime) + field(:destination, as: GoogleApi.DataMigration.V1.Model.DatabaseEngineInfo) + field(:displayName) + field(:globalSettings, type: :map) + field(:hasUncommittedChanges) + field(:latestCommitId) + field(:latestCommitTime, as: DateTime) + field(:name) + field(:source, as: GoogleApi.DataMigration.V1.Model.DatabaseEngineInfo) + field(:updateTime, as: DateTime) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ConversionWorkspace do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ConversionWorkspace.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ConversionWorkspace do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/conversion_workspace_info.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/conversion_workspace_info.ex new file mode 100644 index 0000000000..6cde8ca2dc --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/conversion_workspace_info.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ConversionWorkspaceInfo do + @moduledoc """ + A conversion workspace's version. + + ## Attributes + + * `commitId` (*type:* `String.t`, *default:* `nil`) - The commit ID of the conversion workspace. + * `name` (*type:* `String.t`, *default:* `nil`) - The resource name (URI) of the conversion workspace. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :commitId => String.t() | nil, + :name => String.t() | nil + } + + field(:commitId) + field(:name) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ConversionWorkspaceInfo do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ConversionWorkspaceInfo.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ConversionWorkspaceInfo do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/convert_conversion_workspace_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/convert_conversion_workspace_request.ex new file mode 100644 index 0000000000..22e90f87db --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/convert_conversion_workspace_request.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ConvertConversionWorkspaceRequest do + @moduledoc """ + Request message for 'ConvertConversionWorkspace' request. + + ## Attributes + + * `autoCommit` (*type:* `boolean()`, *default:* `nil`) - Optional. Specifies whether the conversion workspace is to be committed automatically after the conversion. + * `convertFullPath` (*type:* `boolean()`, *default:* `nil`) - Optional. Automatically convert the full entity path for each entity specified by the filter. For example, if the filter specifies a table, that table schema (and database if there is one) will also be converted. + * `filter` (*type:* `String.t`, *default:* `nil`) - Optional. Filter the entities to convert. Leaving this field empty will convert all of the entities. Supports Google AIP-160 style filtering. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :autoCommit => boolean() | nil, + :convertFullPath => boolean() | nil, + :filter => String.t() | nil + } + + field(:autoCommit) + field(:convertFullPath) + field(:filter) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ConvertConversionWorkspaceRequest do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ConvertConversionWorkspaceRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ConvertConversionWorkspaceRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/convert_job_details.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/convert_job_details.ex new file mode 100644 index 0000000000..e85f0b7f3d --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/convert_job_details.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ConvertJobDetails do + @moduledoc """ + Details regarding a Convert background job. + + ## Attributes + + * `filter` (*type:* `String.t`, *default:* `nil`) - Output only. AIP-160 based filter used to specify the entities to convert + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :filter => String.t() | nil + } + + field(:filter) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ConvertJobDetails do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ConvertJobDetails.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ConvertJobDetails do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/convert_row_id_to_column.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/convert_row_id_to_column.ex new file mode 100644 index 0000000000..26f91d1f38 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/convert_row_id_to_column.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ConvertRowIdToColumn do + @moduledoc """ + Options to configure rule type ConvertROWIDToColumn. The rule is used to add column rowid to destination tables based on an Oracle rowid function/property. The rule filter field can refer to one or more entities. The rule scope can be one of: Table. This rule requires additional filter to be specified beyond the basic rule filter field, which is whether or not to work on tables which already have a primary key defined. + + ## Attributes + + * `onlyIfNoPrimaryKey` (*type:* `boolean()`, *default:* `nil`) - Required. Only work on tables without primary key defined + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :onlyIfNoPrimaryKey => boolean() | nil + } + + field(:onlyIfNoPrimaryKey) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ConvertRowIdToColumn do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ConvertRowIdToColumn.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ConvertRowIdToColumn do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/data_cache_config.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/data_cache_config.ex new file mode 100644 index 0000000000..d005cd3701 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/data_cache_config.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.DataCacheConfig do + @moduledoc """ + Data cache is an optional feature available for Cloud SQL for MySQL Enterprise Plus edition only. For more information on data cache, see [Data cache overview](https://cloud.google.com/sql/help/mysql-data-cache) in Cloud SQL documentation. + + ## Attributes + + * `dataCacheEnabled` (*type:* `boolean()`, *default:* `nil`) - Optional. Whether data cache is enabled for the instance. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :dataCacheEnabled => boolean() | nil + } + + field(:dataCacheEnabled) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.DataCacheConfig do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.DataCacheConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.DataCacheConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/database_engine_info.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/database_engine_info.ex new file mode 100644 index 0000000000..9cb8759145 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/database_engine_info.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.DatabaseEngineInfo do + @moduledoc """ + The type and version of a source or destination database. + + ## Attributes + + * `engine` (*type:* `String.t`, *default:* `nil`) - Required. Engine type. + * `version` (*type:* `String.t`, *default:* `nil`) - Required. Engine version, for example "12.c.1". + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :engine => String.t() | nil, + :version => String.t() | nil + } + + field(:engine) + field(:version) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.DatabaseEngineInfo do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.DatabaseEngineInfo.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.DatabaseEngineInfo do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/database_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/database_entity.ex new file mode 100644 index 0000000000..eb824db5a6 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/database_entity.ex @@ -0,0 +1,97 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.DatabaseEntity do + @moduledoc """ + The base entity type for all the database related entities. The message contains the entity name, the name of its parent, the entity type, and the specific details per entity type. + + ## Attributes + + * `database` (*type:* `GoogleApi.DataMigration.V1.Model.DatabaseInstanceEntity.t`, *default:* `nil`) - Database. + * `databaseFunction` (*type:* `GoogleApi.DataMigration.V1.Model.FunctionEntity.t`, *default:* `nil`) - Function. + * `databasePackage` (*type:* `GoogleApi.DataMigration.V1.Model.PackageEntity.t`, *default:* `nil`) - Package. + * `entityDdl` (*type:* `list(GoogleApi.DataMigration.V1.Model.EntityDdl.t)`, *default:* `nil`) - Details about the entity DDL script. Multiple DDL scripts are provided for child entities such as a table entity will have one DDL for the table with additional DDLs for each index, constraint and such. + * `entityType` (*type:* `String.t`, *default:* `nil`) - The type of the database entity (table, view, index, ...). + * `issues` (*type:* `list(GoogleApi.DataMigration.V1.Model.EntityIssue.t)`, *default:* `nil`) - Details about the various issues found for the entity. + * `mappings` (*type:* `list(GoogleApi.DataMigration.V1.Model.EntityMapping.t)`, *default:* `nil`) - Details about entity mappings. For source tree entities, this holds the draft entities which were generated by the mapping rules. For draft tree entities, this holds the source entities which were converted to form the draft entity. Destination entities will have no mapping details. + * `materializedView` (*type:* `GoogleApi.DataMigration.V1.Model.MaterializedViewEntity.t`, *default:* `nil`) - Materialized view. + * `parentEntity` (*type:* `String.t`, *default:* `nil`) - The full name of the parent entity (e.g. schema name). + * `schema` (*type:* `GoogleApi.DataMigration.V1.Model.SchemaEntity.t`, *default:* `nil`) - Schema. + * `sequence` (*type:* `GoogleApi.DataMigration.V1.Model.SequenceEntity.t`, *default:* `nil`) - Sequence. + * `shortName` (*type:* `String.t`, *default:* `nil`) - The short name (e.g. table name) of the entity. + * `storedProcedure` (*type:* `GoogleApi.DataMigration.V1.Model.StoredProcedureEntity.t`, *default:* `nil`) - Stored procedure. + * `synonym` (*type:* `GoogleApi.DataMigration.V1.Model.SynonymEntity.t`, *default:* `nil`) - Synonym. + * `table` (*type:* `GoogleApi.DataMigration.V1.Model.TableEntity.t`, *default:* `nil`) - Table. + * `tree` (*type:* `String.t`, *default:* `nil`) - The type of tree the entity belongs to. + * `udt` (*type:* `GoogleApi.DataMigration.V1.Model.UDTEntity.t`, *default:* `nil`) - UDT. + * `view` (*type:* `GoogleApi.DataMigration.V1.Model.ViewEntity.t`, *default:* `nil`) - View. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :database => GoogleApi.DataMigration.V1.Model.DatabaseInstanceEntity.t() | nil, + :databaseFunction => GoogleApi.DataMigration.V1.Model.FunctionEntity.t() | nil, + :databasePackage => GoogleApi.DataMigration.V1.Model.PackageEntity.t() | nil, + :entityDdl => list(GoogleApi.DataMigration.V1.Model.EntityDdl.t()) | nil, + :entityType => String.t() | nil, + :issues => list(GoogleApi.DataMigration.V1.Model.EntityIssue.t()) | nil, + :mappings => list(GoogleApi.DataMigration.V1.Model.EntityMapping.t()) | nil, + :materializedView => GoogleApi.DataMigration.V1.Model.MaterializedViewEntity.t() | nil, + :parentEntity => String.t() | nil, + :schema => GoogleApi.DataMigration.V1.Model.SchemaEntity.t() | nil, + :sequence => GoogleApi.DataMigration.V1.Model.SequenceEntity.t() | nil, + :shortName => String.t() | nil, + :storedProcedure => GoogleApi.DataMigration.V1.Model.StoredProcedureEntity.t() | nil, + :synonym => GoogleApi.DataMigration.V1.Model.SynonymEntity.t() | nil, + :table => GoogleApi.DataMigration.V1.Model.TableEntity.t() | nil, + :tree => String.t() | nil, + :udt => GoogleApi.DataMigration.V1.Model.UDTEntity.t() | nil, + :view => GoogleApi.DataMigration.V1.Model.ViewEntity.t() | nil + } + + field(:database, as: GoogleApi.DataMigration.V1.Model.DatabaseInstanceEntity) + field(:databaseFunction, as: GoogleApi.DataMigration.V1.Model.FunctionEntity) + field(:databasePackage, as: GoogleApi.DataMigration.V1.Model.PackageEntity) + field(:entityDdl, as: GoogleApi.DataMigration.V1.Model.EntityDdl, type: :list) + field(:entityType) + field(:issues, as: GoogleApi.DataMigration.V1.Model.EntityIssue, type: :list) + field(:mappings, as: GoogleApi.DataMigration.V1.Model.EntityMapping, type: :list) + field(:materializedView, as: GoogleApi.DataMigration.V1.Model.MaterializedViewEntity) + field(:parentEntity) + field(:schema, as: GoogleApi.DataMigration.V1.Model.SchemaEntity) + field(:sequence, as: GoogleApi.DataMigration.V1.Model.SequenceEntity) + field(:shortName) + field(:storedProcedure, as: GoogleApi.DataMigration.V1.Model.StoredProcedureEntity) + field(:synonym, as: GoogleApi.DataMigration.V1.Model.SynonymEntity) + field(:table, as: GoogleApi.DataMigration.V1.Model.TableEntity) + field(:tree) + field(:udt, as: GoogleApi.DataMigration.V1.Model.UDTEntity) + field(:view, as: GoogleApi.DataMigration.V1.Model.ViewEntity) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.DatabaseEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.DatabaseEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.DatabaseEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/database_instance_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/database_instance_entity.ex new file mode 100644 index 0000000000..73b8df85c4 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/database_instance_entity.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.DatabaseInstanceEntity do + @moduledoc """ + DatabaseInstance acts as a parent entity to other database entities. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil + } + + field(:customFeatures, type: :map) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.DatabaseInstanceEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.DatabaseInstanceEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.DatabaseInstanceEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/demote_destination_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/demote_destination_request.ex new file mode 100644 index 0000000000..3e51c0f9b6 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/demote_destination_request.ex @@ -0,0 +1,41 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.DemoteDestinationRequest do + @moduledoc """ + Request message for 'DemoteDestination' request. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.DemoteDestinationRequest do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.DemoteDestinationRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.DemoteDestinationRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/describe_conversion_workspace_revisions_response.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/describe_conversion_workspace_revisions_response.ex new file mode 100644 index 0000000000..45c35d1075 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/describe_conversion_workspace_revisions_response.ex @@ -0,0 +1,51 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.DescribeConversionWorkspaceRevisionsResponse do + @moduledoc """ + Response message for 'DescribeConversionWorkspaceRevisions' request. + + ## Attributes + + * `revisions` (*type:* `list(GoogleApi.DataMigration.V1.Model.ConversionWorkspace.t)`, *default:* `nil`) - The list of conversion workspace revisions. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :revisions => list(GoogleApi.DataMigration.V1.Model.ConversionWorkspace.t()) | nil + } + + field(:revisions, as: GoogleApi.DataMigration.V1.Model.ConversionWorkspace, type: :list) +end + +defimpl Poison.Decoder, + for: GoogleApi.DataMigration.V1.Model.DescribeConversionWorkspaceRevisionsResponse do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.DescribeConversionWorkspaceRevisionsResponse.decode( + value, + options + ) + end +end + +defimpl Poison.Encoder, + for: GoogleApi.DataMigration.V1.Model.DescribeConversionWorkspaceRevisionsResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/describe_database_entities_response.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/describe_database_entities_response.ex new file mode 100644 index 0000000000..8826c5ad72 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/describe_database_entities_response.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.DescribeDatabaseEntitiesResponse do + @moduledoc """ + Response message for 'DescribeDatabaseEntities' request. + + ## Attributes + + * `databaseEntities` (*type:* `list(GoogleApi.DataMigration.V1.Model.DatabaseEntity.t)`, *default:* `nil`) - The list of database entities for the conversion workspace. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :databaseEntities => list(GoogleApi.DataMigration.V1.Model.DatabaseEntity.t()) | nil, + :nextPageToken => String.t() | nil + } + + field(:databaseEntities, as: GoogleApi.DataMigration.V1.Model.DatabaseEntity, type: :list) + field(:nextPageToken) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.DescribeDatabaseEntitiesResponse do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.DescribeDatabaseEntitiesResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.DescribeDatabaseEntitiesResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/double_comparison_filter.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/double_comparison_filter.ex new file mode 100644 index 0000000000..cc65fd8d02 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/double_comparison_filter.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.DoubleComparisonFilter do + @moduledoc """ + Filter based on relation between source value and compare value of type double in ConditionalColumnSetValue + + ## Attributes + + * `value` (*type:* `float()`, *default:* `nil`) - Required. Double compare value to be used + * `valueComparison` (*type:* `String.t`, *default:* `nil`) - Required. Relation between source value and compare value + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :value => float() | nil, + :valueComparison => String.t() | nil + } + + field(:value) + field(:valueComparison) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.DoubleComparisonFilter do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.DoubleComparisonFilter.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.DoubleComparisonFilter do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/encryption_config.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/encryption_config.ex new file mode 100644 index 0000000000..119100ce8f --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/encryption_config.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.EncryptionConfig do + @moduledoc """ + EncryptionConfig describes the encryption config of a cluster that is encrypted with a CMEK (customer-managed encryption key). + + ## Attributes + + * `kmsKeyName` (*type:* `String.t`, *default:* `nil`) - The fully-qualified resource name of the KMS key. Each Cloud KMS key is regionalized and has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME] + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :kmsKeyName => String.t() | nil + } + + field(:kmsKeyName) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.EncryptionConfig do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.EncryptionConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.EncryptionConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/entity_ddl.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/entity_ddl.ex new file mode 100644 index 0000000000..5f8c9f052a --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/entity_ddl.ex @@ -0,0 +1,58 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.EntityDdl do + @moduledoc """ + A single DDL statement for a specific entity + + ## Attributes + + * `ddl` (*type:* `String.t`, *default:* `nil`) - The actual ddl code. + * `ddlType` (*type:* `String.t`, *default:* `nil`) - Type of DDL (Create, Alter). + * `entity` (*type:* `String.t`, *default:* `nil`) - The name of the database entity the ddl refers to. + * `entityType` (*type:* `String.t`, *default:* `nil`) - The entity type (if the DDL is for a sub entity). + * `issueId` (*type:* `list(String.t)`, *default:* `nil`) - EntityIssues found for this ddl. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :ddl => String.t() | nil, + :ddlType => String.t() | nil, + :entity => String.t() | nil, + :entityType => String.t() | nil, + :issueId => list(String.t()) | nil + } + + field(:ddl) + field(:ddlType) + field(:entity) + field(:entityType) + field(:issueId, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.EntityDdl do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.EntityDdl.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.EntityDdl do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/entity_issue.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/entity_issue.ex new file mode 100644 index 0000000000..238411d029 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/entity_issue.ex @@ -0,0 +1,67 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.EntityIssue do + @moduledoc """ + Issue related to the entity. + + ## Attributes + + * `code` (*type:* `String.t`, *default:* `nil`) - Error/Warning code + * `ddl` (*type:* `String.t`, *default:* `nil`) - The ddl which caused the issue, if relevant. + * `entityType` (*type:* `String.t`, *default:* `nil`) - The entity type (if the DDL is for a sub entity). + * `id` (*type:* `String.t`, *default:* `nil`) - Unique Issue ID. + * `message` (*type:* `String.t`, *default:* `nil`) - Issue detailed message + * `position` (*type:* `GoogleApi.DataMigration.V1.Model.Position.t`, *default:* `nil`) - The position of the issue found, if relevant. + * `severity` (*type:* `String.t`, *default:* `nil`) - Severity of the issue + * `type` (*type:* `String.t`, *default:* `nil`) - The type of the issue. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :code => String.t() | nil, + :ddl => String.t() | nil, + :entityType => String.t() | nil, + :id => String.t() | nil, + :message => String.t() | nil, + :position => GoogleApi.DataMigration.V1.Model.Position.t() | nil, + :severity => String.t() | nil, + :type => String.t() | nil + } + + field(:code) + field(:ddl) + field(:entityType) + field(:id) + field(:message) + field(:position, as: GoogleApi.DataMigration.V1.Model.Position) + field(:severity) + field(:type) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.EntityIssue do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.EntityIssue.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.EntityIssue do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/entity_mapping.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/entity_mapping.ex new file mode 100644 index 0000000000..c8aa304975 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/entity_mapping.ex @@ -0,0 +1,58 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.EntityMapping do + @moduledoc """ + Details of the mappings of a database entity. + + ## Attributes + + * `draftEntity` (*type:* `String.t`, *default:* `nil`) - Target entity full name. The draft entity can also include a column, index or constraint using the same naming notation schema.table.column. + * `draftType` (*type:* `String.t`, *default:* `nil`) - Type of draft entity. + * `mappingLog` (*type:* `list(GoogleApi.DataMigration.V1.Model.EntityMappingLogEntry.t)`, *default:* `nil`) - Entity mapping log entries. Multiple rules can be effective and contribute changes to a converted entity, such as a rule can handle the entity name, another rule can handle an entity type. In addition, rules which did not change the entity are also logged along with the reason preventing them to do so. + * `sourceEntity` (*type:* `String.t`, *default:* `nil`) - Source entity full name. The source entity can also be a column, index or constraint using the same naming notation schema.table.column. + * `sourceType` (*type:* `String.t`, *default:* `nil`) - Type of source entity. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :draftEntity => String.t() | nil, + :draftType => String.t() | nil, + :mappingLog => list(GoogleApi.DataMigration.V1.Model.EntityMappingLogEntry.t()) | nil, + :sourceEntity => String.t() | nil, + :sourceType => String.t() | nil + } + + field(:draftEntity) + field(:draftType) + field(:mappingLog, as: GoogleApi.DataMigration.V1.Model.EntityMappingLogEntry, type: :list) + field(:sourceEntity) + field(:sourceType) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.EntityMapping do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.EntityMapping.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.EntityMapping do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/entity_mapping_log_entry.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/entity_mapping_log_entry.ex new file mode 100644 index 0000000000..6a02c3248e --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/entity_mapping_log_entry.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.EntityMappingLogEntry do + @moduledoc """ + A single record of a rule which was used for a mapping. + + ## Attributes + + * `mappingComment` (*type:* `String.t`, *default:* `nil`) - Comment. + * `ruleId` (*type:* `String.t`, *default:* `nil`) - Which rule caused this log entry. + * `ruleRevisionId` (*type:* `String.t`, *default:* `nil`) - Rule revision ID. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :mappingComment => String.t() | nil, + :ruleId => String.t() | nil, + :ruleRevisionId => String.t() | nil + } + + field(:mappingComment) + field(:ruleId) + field(:ruleRevisionId) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.EntityMappingLogEntry do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.EntityMappingLogEntry.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.EntityMappingLogEntry do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/entity_move.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/entity_move.ex new file mode 100644 index 0000000000..a28bdb2916 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/entity_move.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.EntityMove do + @moduledoc """ + Options to configure rule type EntityMove. The rule is used to move an entity to a new schema. The rule filter field can refer to one or more entities. The rule scope can be one of: Table, Column, Constraint, Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT + + ## Attributes + + * `newSchema` (*type:* `String.t`, *default:* `nil`) - Required. The new schema + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :newSchema => String.t() | nil + } + + field(:newSchema) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.EntityMove do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.EntityMove.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.EntityMove do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/fetch_static_ips_response.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/fetch_static_ips_response.ex new file mode 100644 index 0000000000..d350aa0fc2 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/fetch_static_ips_response.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.FetchStaticIpsResponse do + @moduledoc """ + Response message for a 'FetchStaticIps' request. + + ## Attributes + + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + * `staticIps` (*type:* `list(String.t)`, *default:* `nil`) - List of static IPs. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :nextPageToken => String.t() | nil, + :staticIps => list(String.t()) | nil + } + + field(:nextPageToken) + field(:staticIps, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.FetchStaticIpsResponse do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.FetchStaticIpsResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.FetchStaticIpsResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/filter_table_columns.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/filter_table_columns.ex new file mode 100644 index 0000000000..3016bbfd26 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/filter_table_columns.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.FilterTableColumns do + @moduledoc """ + Options to configure rule type FilterTableColumns. The rule is used to filter the list of columns to include or exclude from a table. The rule filter field can refer to one entity. The rule scope can be: Table Only one of the two lists can be specified for the rule. + + ## Attributes + + * `excludeColumns` (*type:* `list(String.t)`, *default:* `nil`) - Optional. List of columns to be excluded for a particular table. + * `includeColumns` (*type:* `list(String.t)`, *default:* `nil`) - Optional. List of columns to be included for a particular table. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :excludeColumns => list(String.t()) | nil, + :includeColumns => list(String.t()) | nil + } + + field(:excludeColumns, type: :list) + field(:includeColumns, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.FilterTableColumns do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.FilterTableColumns.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.FilterTableColumns do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/forward_ssh_tunnel_connectivity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/forward_ssh_tunnel_connectivity.ex new file mode 100644 index 0000000000..c608b2bfef --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/forward_ssh_tunnel_connectivity.ex @@ -0,0 +1,58 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ForwardSshTunnelConnectivity do + @moduledoc """ + Forward SSH Tunnel connectivity. + + ## Attributes + + * `hostname` (*type:* `String.t`, *default:* `nil`) - Required. Hostname for the SSH tunnel. + * `password` (*type:* `String.t`, *default:* `nil`) - Input only. SSH password. + * `port` (*type:* `integer()`, *default:* `nil`) - Port for the SSH tunnel, default value is 22. + * `privateKey` (*type:* `String.t`, *default:* `nil`) - Input only. SSH private key. + * `username` (*type:* `String.t`, *default:* `nil`) - Required. Username for the SSH tunnel. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :hostname => String.t() | nil, + :password => String.t() | nil, + :port => integer() | nil, + :privateKey => String.t() | nil, + :username => String.t() | nil + } + + field(:hostname) + field(:password) + field(:port) + field(:privateKey) + field(:username) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ForwardSshTunnelConnectivity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ForwardSshTunnelConnectivity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ForwardSshTunnelConnectivity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/function_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/function_entity.ex new file mode 100644 index 0000000000..55027b93b8 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/function_entity.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.FunctionEntity do + @moduledoc """ + Function's parent is a schema. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `sqlCode` (*type:* `String.t`, *default:* `nil`) - The SQL code which creates the function. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :sqlCode => String.t() | nil + } + + field(:customFeatures, type: :map) + field(:sqlCode) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.FunctionEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.FunctionEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.FunctionEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/generate_ssh_script_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/generate_ssh_script_request.ex index 84be659251..52bacb79e1 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/generate_ssh_script_request.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/generate_ssh_script_request.ex @@ -23,7 +23,7 @@ defmodule GoogleApi.DataMigration.V1.Model.GenerateSshScriptRequest do * `vm` (*type:* `String.t`, *default:* `nil`) - Required. Bastion VM Instance name to use or to create. * `vmCreationConfig` (*type:* `GoogleApi.DataMigration.V1.Model.VmCreationConfig.t`, *default:* `nil`) - The VM creation configuration - * `vmPort` (*type:* `integer()`, *default:* `nil`) - The port that will be open on the bastion host + * `vmPort` (*type:* `integer()`, *default:* `nil`) - The port that will be open on the bastion host. * `vmSelectionConfig` (*type:* `GoogleApi.DataMigration.V1.Model.VmSelectionConfig.t`, *default:* `nil`) - The VM selection configuration """ diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/generate_tcp_proxy_script_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/generate_tcp_proxy_script_request.ex new file mode 100644 index 0000000000..f7654ca9cb --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/generate_tcp_proxy_script_request.ex @@ -0,0 +1,55 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.GenerateTcpProxyScriptRequest do + @moduledoc """ + Request message for 'GenerateTcpProxyScript' request. + + ## Attributes + + * `vmMachineType` (*type:* `String.t`, *default:* `nil`) - Required. The type of the Compute instance that will host the proxy. + * `vmName` (*type:* `String.t`, *default:* `nil`) - Required. The name of the Compute instance that will host the proxy. + * `vmSubnet` (*type:* `String.t`, *default:* `nil`) - Required. The name of the subnet the Compute instance will use for private connectivity. Must be supplied in the form of projects/{project}/regions/{region}/subnetworks/{subnetwork}. Note: the region for the subnet must match the Compute instance region. + * `vmZone` (*type:* `String.t`, *default:* `nil`) - Optional. The Google Cloud Platform zone to create the VM in. The fully qualified name of the zone must be specified, including the region name, for example "us-central1-b". If not specified, uses the "-b" zone of the destination Connection Profile's region. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :vmMachineType => String.t() | nil, + :vmName => String.t() | nil, + :vmSubnet => String.t() | nil, + :vmZone => String.t() | nil + } + + field(:vmMachineType) + field(:vmName) + field(:vmSubnet) + field(:vmZone) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.GenerateTcpProxyScriptRequest do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.GenerateTcpProxyScriptRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.GenerateTcpProxyScriptRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/import_mapping_rules_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/import_mapping_rules_request.ex new file mode 100644 index 0000000000..2612d3dbca --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/import_mapping_rules_request.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ImportMappingRulesRequest do + @moduledoc """ + Request message for 'ImportMappingRules' request. + + ## Attributes + + * `autoCommit` (*type:* `boolean()`, *default:* `nil`) - Required. Should the conversion workspace be committed automatically after the import operation. + * `rulesFiles` (*type:* `list(GoogleApi.DataMigration.V1.Model.RulesFile.t)`, *default:* `nil`) - Required. One or more rules files. + * `rulesFormat` (*type:* `String.t`, *default:* `nil`) - Required. The format of the rules content file. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :autoCommit => boolean() | nil, + :rulesFiles => list(GoogleApi.DataMigration.V1.Model.RulesFile.t()) | nil, + :rulesFormat => String.t() | nil + } + + field(:autoCommit) + field(:rulesFiles, as: GoogleApi.DataMigration.V1.Model.RulesFile, type: :list) + field(:rulesFormat) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ImportMappingRulesRequest do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ImportMappingRulesRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ImportMappingRulesRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/import_rules_job_details.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/import_rules_job_details.ex new file mode 100644 index 0000000000..7f1ea967b5 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/import_rules_job_details.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ImportRulesJobDetails do + @moduledoc """ + Details regarding an Import Rules background job. + + ## Attributes + + * `fileFormat` (*type:* `String.t`, *default:* `nil`) - Output only. The requested file format. + * `files` (*type:* `list(String.t)`, *default:* `nil`) - Output only. File names used for the import rules job. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :fileFormat => String.t() | nil, + :files => list(String.t()) | nil + } + + field(:fileFormat) + field(:files, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ImportRulesJobDetails do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ImportRulesJobDetails.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ImportRulesJobDetails do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/index_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/index_entity.ex new file mode 100644 index 0000000000..a9ab41afc9 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/index_entity.ex @@ -0,0 +1,58 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.IndexEntity do + @moduledoc """ + Index is not used as an independent entity, it is retrieved as part of a Table entity. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `name` (*type:* `String.t`, *default:* `nil`) - The name of the index. + * `tableColumns` (*type:* `list(String.t)`, *default:* `nil`) - Table columns used as part of the Index, for example B-TREE index should list the columns which constitutes the index. + * `type` (*type:* `String.t`, *default:* `nil`) - Type of index, for example B-TREE. + * `unique` (*type:* `boolean()`, *default:* `nil`) - Boolean value indicating whether the index is unique. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :name => String.t() | nil, + :tableColumns => list(String.t()) | nil, + :type => String.t() | nil, + :unique => boolean() | nil + } + + field(:customFeatures, type: :map) + field(:name) + field(:tableColumns, type: :list) + field(:type) + field(:unique) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.IndexEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.IndexEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.IndexEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/int_comparison_filter.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/int_comparison_filter.ex new file mode 100644 index 0000000000..690a33423c --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/int_comparison_filter.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.IntComparisonFilter do + @moduledoc """ + Filter based on relation between source value and compare value of type integer in ConditionalColumnSetValue + + ## Attributes + + * `value` (*type:* `String.t`, *default:* `nil`) - Required. Integer compare value to be used + * `valueComparison` (*type:* `String.t`, *default:* `nil`) - Required. Relation between source value and compare value + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :value => String.t() | nil, + :valueComparison => String.t() | nil + } + + field(:value) + field(:valueComparison) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.IntComparisonFilter do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.IntComparisonFilter.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.IntComparisonFilter do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/list_connection_profiles_response.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/list_connection_profiles_response.ex index 9f649b33bd..3d9cc10ccb 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/list_connection_profiles_response.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/list_connection_profiles_response.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.DataMigration.V1.Model.ListConnectionProfilesResponse do ## Attributes * `connectionProfiles` (*type:* `list(GoogleApi.DataMigration.V1.Model.ConnectionProfile.t)`, *default:* `nil`) - The response list of connection profiles. - * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. * `unreachable` (*type:* `list(String.t)`, *default:* `nil`) - Locations that could not be reached. """ diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/list_conversion_workspaces_response.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/list_conversion_workspaces_response.ex new file mode 100644 index 0000000000..6993ecb0d3 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/list_conversion_workspaces_response.ex @@ -0,0 +1,57 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ListConversionWorkspacesResponse do + @moduledoc """ + Response message for 'ListConversionWorkspaces' request. + + ## Attributes + + * `conversionWorkspaces` (*type:* `list(GoogleApi.DataMigration.V1.Model.ConversionWorkspace.t)`, *default:* `nil`) - The list of conversion workspace objects. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + * `unreachable` (*type:* `list(String.t)`, *default:* `nil`) - Locations that could not be reached. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :conversionWorkspaces => + list(GoogleApi.DataMigration.V1.Model.ConversionWorkspace.t()) | nil, + :nextPageToken => String.t() | nil, + :unreachable => list(String.t()) | nil + } + + field(:conversionWorkspaces, + as: GoogleApi.DataMigration.V1.Model.ConversionWorkspace, + type: :list + ) + + field(:nextPageToken) + field(:unreachable, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ListConversionWorkspacesResponse do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ListConversionWorkspacesResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ListConversionWorkspacesResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/list_mapping_rules_response.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/list_mapping_rules_response.ex new file mode 100644 index 0000000000..a2fac228c1 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/list_mapping_rules_response.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ListMappingRulesResponse do + @moduledoc """ + Response message for 'ListMappingRulesRequest' request. + + ## Attributes + + * `mappingRules` (*type:* `list(GoogleApi.DataMigration.V1.Model.MappingRule.t)`, *default:* `nil`) - The list of conversion workspace mapping rules. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :mappingRules => list(GoogleApi.DataMigration.V1.Model.MappingRule.t()) | nil, + :nextPageToken => String.t() | nil + } + + field(:mappingRules, as: GoogleApi.DataMigration.V1.Model.MappingRule, type: :list) + field(:nextPageToken) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ListMappingRulesResponse do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ListMappingRulesResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ListMappingRulesResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/list_migration_jobs_response.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/list_migration_jobs_response.ex index 6ba5e3461b..d606196423 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/list_migration_jobs_response.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/list_migration_jobs_response.ex @@ -22,7 +22,7 @@ defmodule GoogleApi.DataMigration.V1.Model.ListMigrationJobsResponse do ## Attributes * `migrationJobs` (*type:* `list(GoogleApi.DataMigration.V1.Model.MigrationJob.t)`, *default:* `nil`) - The list of migration jobs objects. - * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. * `unreachable` (*type:* `list(String.t)`, *default:* `nil`) - Locations that could not be reached. """ diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/list_private_connections_response.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/list_private_connections_response.ex new file mode 100644 index 0000000000..a55b928e0b --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/list_private_connections_response.ex @@ -0,0 +1,53 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ListPrivateConnectionsResponse do + @moduledoc """ + Response message for 'ListPrivateConnections' request. + + ## Attributes + + * `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + * `privateConnections` (*type:* `list(GoogleApi.DataMigration.V1.Model.PrivateConnection.t)`, *default:* `nil`) - List of private connections. + * `unreachable` (*type:* `list(String.t)`, *default:* `nil`) - Locations that could not be reached. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :nextPageToken => String.t() | nil, + :privateConnections => + list(GoogleApi.DataMigration.V1.Model.PrivateConnection.t()) | nil, + :unreachable => list(String.t()) | nil + } + + field(:nextPageToken) + field(:privateConnections, as: GoogleApi.DataMigration.V1.Model.PrivateConnection, type: :list) + field(:unreachable, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ListPrivateConnectionsResponse do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ListPrivateConnectionsResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ListPrivateConnectionsResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/location.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/location.ex index 7c714ad085..1685b94d3e 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/location.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/location.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.DataMigration.V1.Model.Location do @moduledoc """ - A resource that represents Google Cloud Platform location. + A resource that represents a Google Cloud location. ## Attributes diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/mapping_rule.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/mapping_rule.ex new file mode 100644 index 0000000000..04e994a960 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/mapping_rule.ex @@ -0,0 +1,105 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.MappingRule do + @moduledoc """ + Definition of a transformation that is to be applied to a group of entities in the source schema. Several such transformations can be applied to an entity sequentially to define the corresponding entity in the target schema. + + ## Attributes + + * `conditionalColumnSetValue` (*type:* `GoogleApi.DataMigration.V1.Model.ConditionalColumnSetValue.t`, *default:* `nil`) - Optional. Rule to specify how the data contained in a column should be transformed (such as trimmed, rounded, etc) provided that the data meets certain criteria. + * `convertRowidColumn` (*type:* `GoogleApi.DataMigration.V1.Model.ConvertRowIdToColumn.t`, *default:* `nil`) - Optional. Rule to specify how multiple tables should be converted with an additional rowid column. + * `displayName` (*type:* `String.t`, *default:* `nil`) - Optional. A human readable name + * `entityMove` (*type:* `GoogleApi.DataMigration.V1.Model.EntityMove.t`, *default:* `nil`) - Optional. Rule to specify how multiple entities should be relocated into a different schema. + * `filter` (*type:* `GoogleApi.DataMigration.V1.Model.MappingRuleFilter.t`, *default:* `nil`) - Required. The rule filter + * `filterTableColumns` (*type:* `GoogleApi.DataMigration.V1.Model.FilterTableColumns.t`, *default:* `nil`) - Optional. Rule to specify the list of columns to include or exclude from a table. + * `multiColumnDataTypeChange` (*type:* `GoogleApi.DataMigration.V1.Model.MultiColumnDatatypeChange.t`, *default:* `nil`) - Optional. Rule to specify how multiple columns should be converted to a different data type. + * `multiEntityRename` (*type:* `GoogleApi.DataMigration.V1.Model.MultiEntityRename.t`, *default:* `nil`) - Optional. Rule to specify how multiple entities should be renamed. + * `name` (*type:* `String.t`, *default:* `nil`) - Full name of the mapping rule resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{set}/mappingRule/{rule}. + * `revisionCreateTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The timestamp that the revision was created. + * `revisionId` (*type:* `String.t`, *default:* `nil`) - Output only. The revision ID of the mapping rule. A new revision is committed whenever the mapping rule is changed in any way. The format is an 8-character hexadecimal string. + * `ruleOrder` (*type:* `String.t`, *default:* `nil`) - Required. The order in which the rule is applied. Lower order rules are applied before higher value rules so they may end up being overridden. + * `ruleScope` (*type:* `String.t`, *default:* `nil`) - Required. The rule scope + * `setTablePrimaryKey` (*type:* `GoogleApi.DataMigration.V1.Model.SetTablePrimaryKey.t`, *default:* `nil`) - Optional. Rule to specify the primary key for a table + * `singleColumnChange` (*type:* `GoogleApi.DataMigration.V1.Model.SingleColumnChange.t`, *default:* `nil`) - Optional. Rule to specify how a single column is converted. + * `singleEntityRename` (*type:* `GoogleApi.DataMigration.V1.Model.SingleEntityRename.t`, *default:* `nil`) - Optional. Rule to specify how a single entity should be renamed. + * `singlePackageChange` (*type:* `GoogleApi.DataMigration.V1.Model.SinglePackageChange.t`, *default:* `nil`) - Optional. Rule to specify how a single package is converted. + * `sourceSqlChange` (*type:* `GoogleApi.DataMigration.V1.Model.SourceSqlChange.t`, *default:* `nil`) - Optional. Rule to change the sql code for an entity, for example, function, procedure. + * `state` (*type:* `String.t`, *default:* `nil`) - Optional. The mapping rule state + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :conditionalColumnSetValue => + GoogleApi.DataMigration.V1.Model.ConditionalColumnSetValue.t() | nil, + :convertRowidColumn => GoogleApi.DataMigration.V1.Model.ConvertRowIdToColumn.t() | nil, + :displayName => String.t() | nil, + :entityMove => GoogleApi.DataMigration.V1.Model.EntityMove.t() | nil, + :filter => GoogleApi.DataMigration.V1.Model.MappingRuleFilter.t() | nil, + :filterTableColumns => GoogleApi.DataMigration.V1.Model.FilterTableColumns.t() | nil, + :multiColumnDataTypeChange => + GoogleApi.DataMigration.V1.Model.MultiColumnDatatypeChange.t() | nil, + :multiEntityRename => GoogleApi.DataMigration.V1.Model.MultiEntityRename.t() | nil, + :name => String.t() | nil, + :revisionCreateTime => DateTime.t() | nil, + :revisionId => String.t() | nil, + :ruleOrder => String.t() | nil, + :ruleScope => String.t() | nil, + :setTablePrimaryKey => GoogleApi.DataMigration.V1.Model.SetTablePrimaryKey.t() | nil, + :singleColumnChange => GoogleApi.DataMigration.V1.Model.SingleColumnChange.t() | nil, + :singleEntityRename => GoogleApi.DataMigration.V1.Model.SingleEntityRename.t() | nil, + :singlePackageChange => GoogleApi.DataMigration.V1.Model.SinglePackageChange.t() | nil, + :sourceSqlChange => GoogleApi.DataMigration.V1.Model.SourceSqlChange.t() | nil, + :state => String.t() | nil + } + + field(:conditionalColumnSetValue, as: GoogleApi.DataMigration.V1.Model.ConditionalColumnSetValue) + + field(:convertRowidColumn, as: GoogleApi.DataMigration.V1.Model.ConvertRowIdToColumn) + field(:displayName) + field(:entityMove, as: GoogleApi.DataMigration.V1.Model.EntityMove) + field(:filter, as: GoogleApi.DataMigration.V1.Model.MappingRuleFilter) + field(:filterTableColumns, as: GoogleApi.DataMigration.V1.Model.FilterTableColumns) + + field(:multiColumnDataTypeChange, as: GoogleApi.DataMigration.V1.Model.MultiColumnDatatypeChange) + + field(:multiEntityRename, as: GoogleApi.DataMigration.V1.Model.MultiEntityRename) + field(:name) + field(:revisionCreateTime, as: DateTime) + field(:revisionId) + field(:ruleOrder) + field(:ruleScope) + field(:setTablePrimaryKey, as: GoogleApi.DataMigration.V1.Model.SetTablePrimaryKey) + field(:singleColumnChange, as: GoogleApi.DataMigration.V1.Model.SingleColumnChange) + field(:singleEntityRename, as: GoogleApi.DataMigration.V1.Model.SingleEntityRename) + field(:singlePackageChange, as: GoogleApi.DataMigration.V1.Model.SinglePackageChange) + field(:sourceSqlChange, as: GoogleApi.DataMigration.V1.Model.SourceSqlChange) + field(:state) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.MappingRule do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.MappingRule.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.MappingRule do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/mapping_rule_filter.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/mapping_rule_filter.ex new file mode 100644 index 0000000000..8ca2b5d66e --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/mapping_rule_filter.ex @@ -0,0 +1,58 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.MappingRuleFilter do + @moduledoc """ + A filter defining the entities that a mapping rule should be applied to. When more than one field is specified, the rule is applied only to entities which match all the fields. + + ## Attributes + + * `entities` (*type:* `list(String.t)`, *default:* `nil`) - Optional. The rule should be applied to specific entities defined by their fully qualified names. + * `entityNameContains` (*type:* `String.t`, *default:* `nil`) - Optional. The rule should be applied to entities whose non-qualified name contains the given string. + * `entityNamePrefix` (*type:* `String.t`, *default:* `nil`) - Optional. The rule should be applied to entities whose non-qualified name starts with the given prefix. + * `entityNameSuffix` (*type:* `String.t`, *default:* `nil`) - Optional. The rule should be applied to entities whose non-qualified name ends with the given suffix. + * `parentEntity` (*type:* `String.t`, *default:* `nil`) - Optional. The rule should be applied to entities whose parent entity (fully qualified name) matches the given value. For example, if the rule applies to a table entity, the expected value should be a schema (schema). If the rule applies to a column or index entity, the expected value can be either a schema (schema) or a table (schema.table) + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :entities => list(String.t()) | nil, + :entityNameContains => String.t() | nil, + :entityNamePrefix => String.t() | nil, + :entityNameSuffix => String.t() | nil, + :parentEntity => String.t() | nil + } + + field(:entities, type: :list) + field(:entityNameContains) + field(:entityNamePrefix) + field(:entityNameSuffix) + field(:parentEntity) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.MappingRuleFilter do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.MappingRuleFilter.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.MappingRuleFilter do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/materialized_view_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/materialized_view_entity.ex new file mode 100644 index 0000000000..cc64204f89 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/materialized_view_entity.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.MaterializedViewEntity do + @moduledoc """ + MaterializedView's parent is a schema. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `sqlCode` (*type:* `String.t`, *default:* `nil`) - The SQL code which creates the view. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :sqlCode => String.t() | nil + } + + field(:customFeatures, type: :map) + field(:sqlCode) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.MaterializedViewEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.MaterializedViewEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.MaterializedViewEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/migration_job.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/migration_job.ex index fd6b3f5fd1..4b78a452e1 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/migration_job.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/migration_job.ex @@ -21,6 +21,8 @@ defmodule GoogleApi.DataMigration.V1.Model.MigrationJob do ## Attributes + * `cmekKeyName` (*type:* `String.t`, *default:* `nil`) - The CMEK (customer-managed encryption key) fully qualified key name used for the migration job. This field supports all migration jobs types except for: * Mysql to Mysql (use the cmek field in the cloudsql connection profile instead). * PostrgeSQL to PostgreSQL (use the cmek field in the cloudsql connection profile instead). * PostgreSQL to AlloyDB (use the kms_key_name field in the alloydb connection profile instead). Each Cloud CMEK key has the following format: projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME] + * `conversionWorkspace` (*type:* `GoogleApi.DataMigration.V1.Model.ConversionWorkspaceInfo.t`, *default:* `nil`) - The conversion workspace used by the migration. * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - 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". * `destination` (*type:* `String.t`, *default:* `nil`) - Required. The resource name (URI) of the destination connection profile. * `destinationDatabase` (*type:* `GoogleApi.DataMigration.V1.Model.DatabaseType.t`, *default:* `nil`) - The database engine type and provider of the destination. @@ -30,8 +32,10 @@ defmodule GoogleApi.DataMigration.V1.Model.MigrationJob do * `duration` (*type:* `String.t`, *default:* `nil`) - 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". * `endTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. If the migration job is completed, the time when it was completed. * `error` (*type:* `GoogleApi.DataMigration.V1.Model.Status.t`, *default:* `nil`) - Output only. The error details in case of state FAILED. + * `filter` (*type:* `String.t`, *default:* `nil`) - This field can be used to select the entities to migrate as part of the migration job. It uses AIP-160 notation to select a subset of the entities configured on the associated conversion-workspace. This field should not be set on migration-jobs that are not associated with a conversion workspace. * `labels` (*type:* `map()`, *default:* `nil`) - 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" }`. * `name` (*type:* `String.t`, *default:* `nil`) - The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}. + * `performanceConfig` (*type:* `GoogleApi.DataMigration.V1.Model.PerformanceConfig.t`, *default:* `nil`) - Optional. Data dump parallelism settings used by the migration. Currently applicable only for MySQL to Cloud SQL for MySQL migrations only. * `phase` (*type:* `String.t`, *default:* `nil`) - Output only. The current migration job phase. * `reverseSshConnectivity` (*type:* `GoogleApi.DataMigration.V1.Model.ReverseSshConnectivity.t`, *default:* `nil`) - The details needed to communicate to the source over Reverse SSH tunnel connectivity. * `source` (*type:* `String.t`, *default:* `nil`) - Required. The resource name (URI) of the source connection profile. @@ -46,6 +50,9 @@ defmodule GoogleApi.DataMigration.V1.Model.MigrationJob do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :cmekKeyName => String.t() | nil, + :conversionWorkspace => + GoogleApi.DataMigration.V1.Model.ConversionWorkspaceInfo.t() | nil, :createTime => DateTime.t() | nil, :destination => String.t() | nil, :destinationDatabase => GoogleApi.DataMigration.V1.Model.DatabaseType.t() | nil, @@ -55,8 +62,10 @@ defmodule GoogleApi.DataMigration.V1.Model.MigrationJob do :duration => String.t() | nil, :endTime => DateTime.t() | nil, :error => GoogleApi.DataMigration.V1.Model.Status.t() | nil, + :filter => String.t() | nil, :labels => map() | nil, :name => String.t() | nil, + :performanceConfig => GoogleApi.DataMigration.V1.Model.PerformanceConfig.t() | nil, :phase => String.t() | nil, :reverseSshConnectivity => GoogleApi.DataMigration.V1.Model.ReverseSshConnectivity.t() | nil, @@ -71,6 +80,8 @@ defmodule GoogleApi.DataMigration.V1.Model.MigrationJob do GoogleApi.DataMigration.V1.Model.VpcPeeringConnectivity.t() | nil } + field(:cmekKeyName) + field(:conversionWorkspace, as: GoogleApi.DataMigration.V1.Model.ConversionWorkspaceInfo) field(:createTime, as: DateTime) field(:destination) field(:destinationDatabase, as: GoogleApi.DataMigration.V1.Model.DatabaseType) @@ -80,8 +91,10 @@ defmodule GoogleApi.DataMigration.V1.Model.MigrationJob do field(:duration) field(:endTime, as: DateTime) field(:error, as: GoogleApi.DataMigration.V1.Model.Status) + field(:filter) field(:labels, type: :map) field(:name) + field(:performanceConfig, as: GoogleApi.DataMigration.V1.Model.PerformanceConfig) field(:phase) field(:reverseSshConnectivity, as: GoogleApi.DataMigration.V1.Model.ReverseSshConnectivity) field(:source) diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/multi_column_datatype_change.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/multi_column_datatype_change.ex new file mode 100644 index 0000000000..a9d7368b9b --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/multi_column_datatype_change.ex @@ -0,0 +1,70 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.MultiColumnDatatypeChange do + @moduledoc """ + Options to configure rule type MultiColumnDatatypeChange. The rule is used to change the data type and associated properties of multiple columns at once. The rule filter field can refer to one or more entities. The rule scope can be one of:Column. This rule requires additional filters to be specified beyond the basic rule filter field, which is the source data type, but the rule supports additional filtering capabilities such as the minimum and maximum field length. All additional filters which are specified are required to be met in order for the rule to be applied (logical AND between the fields). + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Optional. Custom engine specific features. + * `newDataType` (*type:* `String.t`, *default:* `nil`) - Required. New data type. + * `overrideFractionalSecondsPrecision` (*type:* `integer()`, *default:* `nil`) - Optional. Column fractional seconds precision - used only for timestamp based datatypes - if not specified and relevant uses the source column fractional seconds precision. + * `overrideLength` (*type:* `String.t`, *default:* `nil`) - Optional. Column length - e.g. varchar (50) - if not specified and relevant uses the source column length. + * `overridePrecision` (*type:* `integer()`, *default:* `nil`) - Optional. Column precision - when relevant - if not specified and relevant uses the source column precision. + * `overrideScale` (*type:* `integer()`, *default:* `nil`) - Optional. Column scale - when relevant - if not specified and relevant uses the source column scale. + * `sourceDataTypeFilter` (*type:* `String.t`, *default:* `nil`) - Required. Filter on source data type. + * `sourceNumericFilter` (*type:* `GoogleApi.DataMigration.V1.Model.SourceNumericFilter.t`, *default:* `nil`) - Optional. Filter for fixed point number data types such as NUMERIC/NUMBER. + * `sourceTextFilter` (*type:* `GoogleApi.DataMigration.V1.Model.SourceTextFilter.t`, *default:* `nil`) - Optional. Filter for text-based data types like varchar. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :newDataType => String.t() | nil, + :overrideFractionalSecondsPrecision => integer() | nil, + :overrideLength => String.t() | nil, + :overridePrecision => integer() | nil, + :overrideScale => integer() | nil, + :sourceDataTypeFilter => String.t() | nil, + :sourceNumericFilter => GoogleApi.DataMigration.V1.Model.SourceNumericFilter.t() | nil, + :sourceTextFilter => GoogleApi.DataMigration.V1.Model.SourceTextFilter.t() | nil + } + + field(:customFeatures, type: :map) + field(:newDataType) + field(:overrideFractionalSecondsPrecision) + field(:overrideLength) + field(:overridePrecision) + field(:overrideScale) + field(:sourceDataTypeFilter) + field(:sourceNumericFilter, as: GoogleApi.DataMigration.V1.Model.SourceNumericFilter) + field(:sourceTextFilter, as: GoogleApi.DataMigration.V1.Model.SourceTextFilter) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.MultiColumnDatatypeChange do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.MultiColumnDatatypeChange.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.MultiColumnDatatypeChange do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/multi_entity_rename.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/multi_entity_rename.ex new file mode 100644 index 0000000000..6c9d2c4304 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/multi_entity_rename.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.MultiEntityRename do + @moduledoc """ + Options to configure rule type MultiEntityRename. The rule is used to rename multiple entities. The rule filter field can refer to one or more entities. The rule scope can be one of: Database, Schema, Table, Column, Constraint, Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT + + ## Attributes + + * `newNamePattern` (*type:* `String.t`, *default:* `nil`) - Optional. The pattern used to generate the new entity's name. This pattern must include the characters '{name}', which will be replaced with the name of the original entity. For example, the pattern 't_{name}' for an entity name jobs would be converted to 't_jobs'. If unspecified, the default value for this field is '{name}' + * `sourceNameTransformation` (*type:* `String.t`, *default:* `nil`) - Optional. Additional transformation that can be done on the source entity name before it is being used by the new_name_pattern, for example lower case. If no transformation is desired, use NO_TRANSFORMATION + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :newNamePattern => String.t() | nil, + :sourceNameTransformation => String.t() | nil + } + + field(:newNamePattern) + field(:sourceNameTransformation) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.MultiEntityRename do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.MultiEntityRename.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.MultiEntityRename do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/operation.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/operation.ex index eee44ecdfe..c97b79e161 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/operation.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/operation.ex @@ -25,7 +25,7 @@ defmodule GoogleApi.DataMigration.V1.Model.Operation do * `error` (*type:* `GoogleApi.DataMigration.V1.Model.Status.t`, *default:* `nil`) - The error result of the operation in case of failure or cancellation. * `metadata` (*type:* `map()`, *default:* `nil`) - 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. * `name` (*type:* `String.t`, *default:* `nil`) - 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}`. - * `response` (*type:* `map()`, *default:* `nil`) - 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`. + * `response` (*type:* `map()`, *default:* `nil`) - The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. """ use GoogleApi.Gax.ModelBase diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/oracle_connection_profile.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/oracle_connection_profile.ex new file mode 100644 index 0000000000..39b5d845ee --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/oracle_connection_profile.ex @@ -0,0 +1,81 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.OracleConnectionProfile do + @moduledoc """ + Specifies connection parameters required specifically for Oracle databases. + + ## Attributes + + * `databaseService` (*type:* `String.t`, *default:* `nil`) - Required. Database service for the Oracle connection. + * `forwardSshConnectivity` (*type:* `GoogleApi.DataMigration.V1.Model.ForwardSshTunnelConnectivity.t`, *default:* `nil`) - Forward SSH tunnel connectivity. + * `host` (*type:* `String.t`, *default:* `nil`) - Required. The IP or hostname of the source Oracle database. + * `password` (*type:* `String.t`, *default:* `nil`) - 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. + * `passwordSet` (*type:* `boolean()`, *default:* `nil`) - Output only. Indicates whether a new password is included in the request. + * `port` (*type:* `integer()`, *default:* `nil`) - Required. The network port of the source Oracle database. + * `privateConnectivity` (*type:* `GoogleApi.DataMigration.V1.Model.PrivateConnectivity.t`, *default:* `nil`) - Private connectivity. + * `ssl` (*type:* `GoogleApi.DataMigration.V1.Model.SslConfig.t`, *default:* `nil`) - SSL configuration for the connection to the source Oracle database. * Only `SERVER_ONLY` configuration is supported for Oracle SSL. * SSL is supported for Oracle versions 12 and above. + * `staticServiceIpConnectivity` (*type:* `GoogleApi.DataMigration.V1.Model.StaticServiceIpConnectivity.t`, *default:* `nil`) - Static Service IP connectivity. + * `username` (*type:* `String.t`, *default:* `nil`) - Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :databaseService => String.t() | nil, + :forwardSshConnectivity => + GoogleApi.DataMigration.V1.Model.ForwardSshTunnelConnectivity.t() | nil, + :host => String.t() | nil, + :password => String.t() | nil, + :passwordSet => boolean() | nil, + :port => integer() | nil, + :privateConnectivity => GoogleApi.DataMigration.V1.Model.PrivateConnectivity.t() | nil, + :ssl => GoogleApi.DataMigration.V1.Model.SslConfig.t() | nil, + :staticServiceIpConnectivity => + GoogleApi.DataMigration.V1.Model.StaticServiceIpConnectivity.t() | nil, + :username => String.t() | nil + } + + field(:databaseService) + + field(:forwardSshConnectivity, as: GoogleApi.DataMigration.V1.Model.ForwardSshTunnelConnectivity) + + field(:host) + field(:password) + field(:passwordSet) + field(:port) + field(:privateConnectivity, as: GoogleApi.DataMigration.V1.Model.PrivateConnectivity) + field(:ssl, as: GoogleApi.DataMigration.V1.Model.SslConfig) + + field(:staticServiceIpConnectivity, + as: GoogleApi.DataMigration.V1.Model.StaticServiceIpConnectivity + ) + + field(:username) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.OracleConnectionProfile do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.OracleConnectionProfile.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.OracleConnectionProfile do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/package_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/package_entity.ex new file mode 100644 index 0000000000..3532f7d96e --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/package_entity.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.PackageEntity do + @moduledoc """ + Package's parent is a schema. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `packageBody` (*type:* `String.t`, *default:* `nil`) - The SQL code which creates the package body. If the package specification has cursors or subprograms, then the package body is mandatory. + * `packageSqlCode` (*type:* `String.t`, *default:* `nil`) - The SQL code which creates the package. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :packageBody => String.t() | nil, + :packageSqlCode => String.t() | nil + } + + field(:customFeatures, type: :map) + field(:packageBody) + field(:packageSqlCode) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.PackageEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.PackageEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.PackageEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/performance_config.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/performance_config.ex new file mode 100644 index 0000000000..8f365a03ea --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/performance_config.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.PerformanceConfig do + @moduledoc """ + Performance configuration definition. + + ## Attributes + + * `dumpParallelLevel` (*type:* `String.t`, *default:* `nil`) - Initial dump parallelism level. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :dumpParallelLevel => String.t() | nil + } + + field(:dumpParallelLevel) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.PerformanceConfig do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.PerformanceConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.PerformanceConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/policy.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/policy.ex index 6ec4847071..389c12d112 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/policy.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/policy.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.DataMigration.V1.Model.Policy do @moduledoc """ - An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). ## Attributes diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/position.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/position.ex new file mode 100644 index 0000000000..bc754c7070 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/position.ex @@ -0,0 +1,55 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.Position do + @moduledoc """ + Issue position. + + ## Attributes + + * `column` (*type:* `integer()`, *default:* `nil`) - Issue column number + * `length` (*type:* `integer()`, *default:* `nil`) - Issue length + * `line` (*type:* `integer()`, *default:* `nil`) - Issue line number + * `offset` (*type:* `integer()`, *default:* `nil`) - Issue offset + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :column => integer() | nil, + :length => integer() | nil, + :line => integer() | nil, + :offset => integer() | nil + } + + field(:column) + field(:length) + field(:line) + field(:offset) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.Position do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.Position.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.Position do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/postgre_sql_connection_profile.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/postgre_sql_connection_profile.ex index a221422213..597e29669f 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/postgre_sql_connection_profile.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/postgre_sql_connection_profile.ex @@ -21,36 +21,51 @@ defmodule GoogleApi.DataMigration.V1.Model.PostgreSqlConnectionProfile do ## Attributes + * `alloydbClusterId` (*type:* `String.t`, *default:* `nil`) - Optional. If the destination is an AlloyDB database, use this field to provide the AlloyDB cluster ID. * `cloudSqlId` (*type:* `String.t`, *default:* `nil`) - If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source. * `host` (*type:* `String.t`, *default:* `nil`) - Required. The IP or hostname of the source PostgreSQL database. * `networkArchitecture` (*type:* `String.t`, *default:* `nil`) - Output only. If the source is a Cloud SQL database, this field indicates the network architecture it's associated with. * `password` (*type:* `String.t`, *default:* `nil`) - 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. * `passwordSet` (*type:* `boolean()`, *default:* `nil`) - Output only. Indicates If this connection profile password is stored. * `port` (*type:* `integer()`, *default:* `nil`) - Required. The network port of the source PostgreSQL database. + * `privateServiceConnectConnectivity` (*type:* `GoogleApi.DataMigration.V1.Model.PrivateServiceConnectConnectivity.t`, *default:* `nil`) - Private service connect connectivity. * `ssl` (*type:* `GoogleApi.DataMigration.V1.Model.SslConfig.t`, *default:* `nil`) - SSL configuration for the destination to connect to the source database. + * `staticIpConnectivity` (*type:* `GoogleApi.DataMigration.V1.Model.StaticIpConnectivity.t`, *default:* `nil`) - Static ip connectivity data (default, no additional details needed). * `username` (*type:* `String.t`, *default:* `nil`) - Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :alloydbClusterId => String.t() | nil, :cloudSqlId => String.t() | nil, :host => String.t() | nil, :networkArchitecture => String.t() | nil, :password => String.t() | nil, :passwordSet => boolean() | nil, :port => integer() | nil, + :privateServiceConnectConnectivity => + GoogleApi.DataMigration.V1.Model.PrivateServiceConnectConnectivity.t() | nil, :ssl => GoogleApi.DataMigration.V1.Model.SslConfig.t() | nil, + :staticIpConnectivity => + GoogleApi.DataMigration.V1.Model.StaticIpConnectivity.t() | nil, :username => String.t() | nil } + field(:alloydbClusterId) field(:cloudSqlId) field(:host) field(:networkArchitecture) field(:password) field(:passwordSet) field(:port) + + field(:privateServiceConnectConnectivity, + as: GoogleApi.DataMigration.V1.Model.PrivateServiceConnectConnectivity + ) + field(:ssl, as: GoogleApi.DataMigration.V1.Model.SslConfig) + field(:staticIpConnectivity, as: GoogleApi.DataMigration.V1.Model.StaticIpConnectivity) field(:username) end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/private_connection.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/private_connection.ex new file mode 100644 index 0000000000..ac1de18dea --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/private_connection.ex @@ -0,0 +1,67 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.PrivateConnection do + @moduledoc """ + The PrivateConnection resource is used to establish private connectivity with the customer's network. + + ## Attributes + + * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The create time of the resource. + * `displayName` (*type:* `String.t`, *default:* `nil`) - The private connection display name. + * `error` (*type:* `GoogleApi.DataMigration.V1.Model.Status.t`, *default:* `nil`) - Output only. The error details in case of state FAILED. + * `labels` (*type:* `map()`, *default:* `nil`) - The resource labels for private connections 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" }`. + * `name` (*type:* `String.t`, *default:* `nil`) - The name of the resource. + * `state` (*type:* `String.t`, *default:* `nil`) - Output only. The state of the private connection. + * `updateTime` (*type:* `DateTime.t`, *default:* `nil`) - Output only. The last update time of the resource. + * `vpcPeeringConfig` (*type:* `GoogleApi.DataMigration.V1.Model.VpcPeeringConfig.t`, *default:* `nil`) - VPC peering configuration. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :createTime => DateTime.t() | nil, + :displayName => String.t() | nil, + :error => GoogleApi.DataMigration.V1.Model.Status.t() | nil, + :labels => map() | nil, + :name => String.t() | nil, + :state => String.t() | nil, + :updateTime => DateTime.t() | nil, + :vpcPeeringConfig => GoogleApi.DataMigration.V1.Model.VpcPeeringConfig.t() | nil + } + + field(:createTime, as: DateTime) + field(:displayName) + field(:error, as: GoogleApi.DataMigration.V1.Model.Status) + field(:labels, type: :map) + field(:name) + field(:state) + field(:updateTime, as: DateTime) + field(:vpcPeeringConfig, as: GoogleApi.DataMigration.V1.Model.VpcPeeringConfig) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.PrivateConnection do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.PrivateConnection.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.PrivateConnection do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/private_connectivity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/private_connectivity.ex new file mode 100644 index 0000000000..bbb05385b0 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/private_connectivity.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.PrivateConnectivity do + @moduledoc """ + Private Connectivity. + + ## Attributes + + * `privateConnection` (*type:* `String.t`, *default:* `nil`) - Required. The resource name (URI) of the private connection. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :privateConnection => String.t() | nil + } + + field(:privateConnection) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.PrivateConnectivity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.PrivateConnectivity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.PrivateConnectivity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/private_service_connect_connectivity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/private_service_connect_connectivity.ex new file mode 100644 index 0000000000..f555a0c19b --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/private_service_connect_connectivity.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.PrivateServiceConnectConnectivity do + @moduledoc """ + [Private Service Connect connectivity](https://cloud.google.com/vpc/docs/private-service-connect#service-attachments) + + ## Attributes + + * `serviceAttachment` (*type:* `String.t`, *default:* `nil`) - Required. A service attachment that exposes a database, and has the following format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name} + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :serviceAttachment => String.t() | nil + } + + field(:serviceAttachment) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.PrivateServiceConnectConnectivity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.PrivateServiceConnectConnectivity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.PrivateServiceConnectConnectivity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/restart_migration_job_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/restart_migration_job_request.ex index 7453b358c1..b4b629f323 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/restart_migration_job_request.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/restart_migration_job_request.ex @@ -21,11 +21,16 @@ defmodule GoogleApi.DataMigration.V1.Model.RestartMigrationJobRequest do ## Attributes + * `skipValidation` (*type:* `boolean()`, *default:* `nil`) - Optional. Restart the migration job without running prior configuration verification. Defaults to `false`. """ use GoogleApi.Gax.ModelBase - @type t :: %__MODULE__{} + @type t :: %__MODULE__{ + :skipValidation => boolean() | nil + } + + field(:skipValidation) end defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.RestartMigrationJobRequest do diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/rollback_conversion_workspace_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/rollback_conversion_workspace_request.ex new file mode 100644 index 0000000000..9ea2c97294 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/rollback_conversion_workspace_request.ex @@ -0,0 +1,41 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.RollbackConversionWorkspaceRequest do + @moduledoc """ + Request message for 'RollbackConversionWorkspace' request. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.RollbackConversionWorkspaceRequest do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.RollbackConversionWorkspaceRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.RollbackConversionWorkspaceRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/round_to_scale.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/round_to_scale.ex new file mode 100644 index 0000000000..6c49052cc4 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/round_to_scale.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.RoundToScale do + @moduledoc """ + This allows the data to change scale, for example if the source is 2 digits after the decimal point, specify round to scale value = 2. If for example the value needs to be converted to an integer, use round to scale value = 0. + + ## Attributes + + * `scale` (*type:* `integer()`, *default:* `nil`) - Required. Scale value to be used + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :scale => integer() | nil + } + + field(:scale) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.RoundToScale do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.RoundToScale.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.RoundToScale do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/rules_file.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/rules_file.ex new file mode 100644 index 0000000000..d0e9c8c605 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/rules_file.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.RulesFile do + @moduledoc """ + Details of a single rules file. + + ## Attributes + + * `rulesContent` (*type:* `String.t`, *default:* `nil`) - Required. The text content of the rules that needs to be converted. + * `rulesSourceFilename` (*type:* `String.t`, *default:* `nil`) - Required. The filename of the rules that needs to be converted. The filename is used mainly so that future logs of the import rules job contain it, and can therefore be searched by it. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :rulesContent => String.t() | nil, + :rulesSourceFilename => String.t() | nil + } + + field(:rulesContent) + field(:rulesSourceFilename) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.RulesFile do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.RulesFile.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.RulesFile do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/schema_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/schema_entity.ex new file mode 100644 index 0000000000..a9b75fdcf8 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/schema_entity.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SchemaEntity do + @moduledoc """ + Schema typically has no parent entity, but can have a parent entity DatabaseInstance (for database engines which support it). For some database engines, the terms schema and user can be used interchangeably when they refer to a namespace or a collection of other database entities. Can store additional information which is schema specific. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil + } + + field(:customFeatures, type: :map) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SchemaEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SchemaEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SchemaEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/search_background_jobs_response.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/search_background_jobs_response.ex new file mode 100644 index 0000000000..096744db43 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/search_background_jobs_response.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SearchBackgroundJobsResponse do + @moduledoc """ + Response message for 'SearchBackgroundJobs' request. + + ## Attributes + + * `jobs` (*type:* `list(GoogleApi.DataMigration.V1.Model.BackgroundJobLogEntry.t)`, *default:* `nil`) - The list of conversion workspace mapping rules. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :jobs => list(GoogleApi.DataMigration.V1.Model.BackgroundJobLogEntry.t()) | nil + } + + field(:jobs, as: GoogleApi.DataMigration.V1.Model.BackgroundJobLogEntry, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SearchBackgroundJobsResponse do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SearchBackgroundJobsResponse.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SearchBackgroundJobsResponse do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/seed_conversion_workspace_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/seed_conversion_workspace_request.ex new file mode 100644 index 0000000000..f94e21140d --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/seed_conversion_workspace_request.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SeedConversionWorkspaceRequest do + @moduledoc """ + Request message for 'SeedConversionWorkspace' request. + + ## Attributes + + * `autoCommit` (*type:* `boolean()`, *default:* `nil`) - Should the conversion workspace be committed automatically after the seed operation. + * `destinationConnectionProfile` (*type:* `String.t`, *default:* `nil`) - Optional. Fully qualified (Uri) name of the destination connection profile. + * `sourceConnectionProfile` (*type:* `String.t`, *default:* `nil`) - Optional. Fully qualified (Uri) name of the source connection profile. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :autoCommit => boolean() | nil, + :destinationConnectionProfile => String.t() | nil, + :sourceConnectionProfile => String.t() | nil + } + + field(:autoCommit) + field(:destinationConnectionProfile) + field(:sourceConnectionProfile) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SeedConversionWorkspaceRequest do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SeedConversionWorkspaceRequest.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SeedConversionWorkspaceRequest do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/seed_job_details.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/seed_job_details.ex new file mode 100644 index 0000000000..19546af6e9 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/seed_job_details.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SeedJobDetails do + @moduledoc """ + Details regarding a Seed background job. + + ## Attributes + + * `connectionProfile` (*type:* `String.t`, *default:* `nil`) - Output only. The connection profile which was used for the seed job. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :connectionProfile => String.t() | nil + } + + field(:connectionProfile) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SeedJobDetails do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SeedJobDetails.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SeedJobDetails do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/sequence_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/sequence_entity.ex new file mode 100644 index 0000000000..c5c8218bf8 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/sequence_entity.ex @@ -0,0 +1,64 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SequenceEntity do + @moduledoc """ + Sequence's parent is a schema. + + ## Attributes + + * `cache` (*type:* `String.t`, *default:* `nil`) - Indicates number of entries to cache / precreate. + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `cycle` (*type:* `boolean()`, *default:* `nil`) - Indicates whether the sequence value should cycle through. + * `increment` (*type:* `String.t`, *default:* `nil`) - Increment value for the sequence. + * `maxValue` (*type:* `String.t`, *default:* `nil`) - Maximum number for the sequence represented as bytes to accommodate large. numbers + * `minValue` (*type:* `String.t`, *default:* `nil`) - Minimum number for the sequence represented as bytes to accommodate large. numbers + * `startValue` (*type:* `String.t`, *default:* `nil`) - Start number for the sequence represented as bytes to accommodate large. numbers + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :cache => String.t() | nil, + :customFeatures => map() | nil, + :cycle => boolean() | nil, + :increment => String.t() | nil, + :maxValue => String.t() | nil, + :minValue => String.t() | nil, + :startValue => String.t() | nil + } + + field(:cache) + field(:customFeatures, type: :map) + field(:cycle) + field(:increment) + field(:maxValue) + field(:minValue) + field(:startValue) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SequenceEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SequenceEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SequenceEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/set_table_primary_key.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/set_table_primary_key.ex new file mode 100644 index 0000000000..76e1af043b --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/set_table_primary_key.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SetTablePrimaryKey do + @moduledoc """ + Options to configure rule type SetTablePrimaryKey. The rule is used to specify the columns and name to configure/alter the primary key of a table. The rule filter field can refer to one entity. The rule scope can be one of: Table. + + ## Attributes + + * `primaryKey` (*type:* `String.t`, *default:* `nil`) - Optional. Name for the primary key + * `primaryKeyColumns` (*type:* `list(String.t)`, *default:* `nil`) - Required. List of column names for the primary key + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :primaryKey => String.t() | nil, + :primaryKeyColumns => list(String.t()) | nil + } + + field(:primaryKey) + field(:primaryKeyColumns, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SetTablePrimaryKey do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SetTablePrimaryKey.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SetTablePrimaryKey do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/single_column_change.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/single_column_change.ex new file mode 100644 index 0000000000..3fcf21f51c --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/single_column_change.ex @@ -0,0 +1,88 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SingleColumnChange do + @moduledoc """ + Options to configure rule type SingleColumnChange. The rule is used to change the properties of a column. The rule filter field can refer to one entity. The rule scope can be one of: Column. When using this rule, if a field is not specified than the destination column's configuration will be the same as the one in the source column.. + + ## Attributes + + * `array` (*type:* `boolean()`, *default:* `nil`) - Optional. Is the column of array type. + * `arrayLength` (*type:* `integer()`, *default:* `nil`) - Optional. The length of the array, only relevant if the column type is an array. + * `autoGenerated` (*type:* `boolean()`, *default:* `nil`) - Optional. Is the column auto-generated/identity. + * `charset` (*type:* `String.t`, *default:* `nil`) - Optional. Charset override - instead of table level charset. + * `collation` (*type:* `String.t`, *default:* `nil`) - Optional. Collation override - instead of table level collation. + * `comment` (*type:* `String.t`, *default:* `nil`) - Optional. Comment associated with the column. + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Optional. Custom engine specific features. + * `dataType` (*type:* `String.t`, *default:* `nil`) - Optional. Column data type name. + * `fractionalSecondsPrecision` (*type:* `integer()`, *default:* `nil`) - Optional. Column fractional seconds precision - e.g. 2 as in timestamp (2) - when relevant. + * `length` (*type:* `String.t`, *default:* `nil`) - Optional. Column length - e.g. 50 as in varchar (50) - when relevant. + * `nullable` (*type:* `boolean()`, *default:* `nil`) - Optional. Is the column nullable. + * `precision` (*type:* `integer()`, *default:* `nil`) - Optional. Column precision - e.g. 8 as in double (8,2) - when relevant. + * `scale` (*type:* `integer()`, *default:* `nil`) - Optional. Column scale - e.g. 2 as in double (8,2) - when relevant. + * `setValues` (*type:* `list(String.t)`, *default:* `nil`) - Optional. Specifies the list of values allowed in the column. + * `udt` (*type:* `boolean()`, *default:* `nil`) - Optional. Is the column a UDT (User-defined Type). + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :array => boolean() | nil, + :arrayLength => integer() | nil, + :autoGenerated => boolean() | nil, + :charset => String.t() | nil, + :collation => String.t() | nil, + :comment => String.t() | nil, + :customFeatures => map() | nil, + :dataType => String.t() | nil, + :fractionalSecondsPrecision => integer() | nil, + :length => String.t() | nil, + :nullable => boolean() | nil, + :precision => integer() | nil, + :scale => integer() | nil, + :setValues => list(String.t()) | nil, + :udt => boolean() | nil + } + + field(:array) + field(:arrayLength) + field(:autoGenerated) + field(:charset) + field(:collation) + field(:comment) + field(:customFeatures, type: :map) + field(:dataType) + field(:fractionalSecondsPrecision) + field(:length) + field(:nullable) + field(:precision) + field(:scale) + field(:setValues, type: :list) + field(:udt) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SingleColumnChange do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SingleColumnChange.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SingleColumnChange do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/single_entity_rename.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/single_entity_rename.ex new file mode 100644 index 0000000000..8e61b1a29d --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/single_entity_rename.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SingleEntityRename do + @moduledoc """ + Options to configure rule type SingleEntityRename. The rule is used to rename an entity. The rule filter field can refer to only one entity. The rule scope can be one of: Database, Schema, Table, Column, Constraint, Index, View, Function, Stored Procedure, Materialized View, Sequence, UDT, Synonym + + ## Attributes + + * `newName` (*type:* `String.t`, *default:* `nil`) - Required. The new name of the destination entity + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :newName => String.t() | nil + } + + field(:newName) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SingleEntityRename do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SingleEntityRename.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SingleEntityRename do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/single_package_change.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/single_package_change.ex new file mode 100644 index 0000000000..e0252546e7 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/single_package_change.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SinglePackageChange do + @moduledoc """ + Options to configure rule type SinglePackageChange. The rule is used to alter the sql code for a package entities. The rule filter field can refer to one entity. The rule scope can be: Package + + ## Attributes + + * `packageBody` (*type:* `String.t`, *default:* `nil`) - Optional. Sql code for package body + * `packageDescription` (*type:* `String.t`, *default:* `nil`) - Optional. Sql code for package description + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :packageBody => String.t() | nil, + :packageDescription => String.t() | nil + } + + field(:packageBody) + field(:packageDescription) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SinglePackageChange do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SinglePackageChange.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SinglePackageChange do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/source_numeric_filter.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/source_numeric_filter.ex new file mode 100644 index 0000000000..600e4630d7 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/source_numeric_filter.ex @@ -0,0 +1,58 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SourceNumericFilter do + @moduledoc """ + Filter for fixed point number data types such as NUMERIC/NUMBER + + ## Attributes + + * `numericFilterOption` (*type:* `String.t`, *default:* `nil`) - Required. Enum to set the option defining the datatypes numeric filter has to be applied to + * `sourceMaxPrecisionFilter` (*type:* `integer()`, *default:* `nil`) - Optional. The filter will match columns with precision smaller than or equal to this number. + * `sourceMaxScaleFilter` (*type:* `integer()`, *default:* `nil`) - Optional. The filter will match columns with scale smaller than or equal to this number. + * `sourceMinPrecisionFilter` (*type:* `integer()`, *default:* `nil`) - Optional. The filter will match columns with precision greater than or equal to this number. + * `sourceMinScaleFilter` (*type:* `integer()`, *default:* `nil`) - Optional. The filter will match columns with scale greater than or equal to this number. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :numericFilterOption => String.t() | nil, + :sourceMaxPrecisionFilter => integer() | nil, + :sourceMaxScaleFilter => integer() | nil, + :sourceMinPrecisionFilter => integer() | nil, + :sourceMinScaleFilter => integer() | nil + } + + field(:numericFilterOption) + field(:sourceMaxPrecisionFilter) + field(:sourceMaxScaleFilter) + field(:sourceMinPrecisionFilter) + field(:sourceMinScaleFilter) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SourceNumericFilter do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SourceNumericFilter.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SourceNumericFilter do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/source_sql_change.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/source_sql_change.ex new file mode 100644 index 0000000000..cadf97f65e --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/source_sql_change.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SourceSqlChange do + @moduledoc """ + Options to configure rule type SourceSqlChange. The rule is used to alter the sql code for database entities. The rule filter field can refer to one entity. The rule scope can be: StoredProcedure, Function, Trigger, View + + ## Attributes + + * `sqlCode` (*type:* `String.t`, *default:* `nil`) - Required. Sql code for source (stored procedure, function, trigger or view) + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :sqlCode => String.t() | nil + } + + field(:sqlCode) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SourceSqlChange do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SourceSqlChange.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SourceSqlChange do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/source_text_filter.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/source_text_filter.ex new file mode 100644 index 0000000000..79b47fc6e2 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/source_text_filter.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SourceTextFilter do + @moduledoc """ + Filter for text-based data types like varchar. + + ## Attributes + + * `sourceMaxLengthFilter` (*type:* `String.t`, *default:* `nil`) - Optional. The filter will match columns with length smaller than or equal to this number. + * `sourceMinLengthFilter` (*type:* `String.t`, *default:* `nil`) - Optional. The filter will match columns with length greater than or equal to this number. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :sourceMaxLengthFilter => String.t() | nil, + :sourceMinLengthFilter => String.t() | nil + } + + field(:sourceMaxLengthFilter) + field(:sourceMinLengthFilter) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SourceTextFilter do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SourceTextFilter.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SourceTextFilter do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/sql_ip_config.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/sql_ip_config.ex index b6a714f4b5..0c9007b563 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/sql_ip_config.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/sql_ip_config.ex @@ -21,6 +21,7 @@ defmodule GoogleApi.DataMigration.V1.Model.SqlIpConfig do ## Attributes + * `allocatedIpRange` (*type:* `String.t`, *default:* `nil`) - Optional. The name of the allocated IP address range for the private IP Cloud SQL instance. This name refers to an already allocated IP range address. If set, the instance IP address will be created in the allocated range. Note that this IP address range can't be modified after the instance is created. If you change the VPC when configuring connectivity settings for the migration job, this field is not relevant. * `authorizedNetworks` (*type:* `list(GoogleApi.DataMigration.V1.Model.SqlAclEntry.t)`, *default:* `nil`) - 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`). * `enableIpv4` (*type:* `boolean()`, *default:* `nil`) - Whether the instance should be assigned an IPv4 address or not. * `privateNetwork` (*type:* `String.t`, *default:* `nil`) - 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. @@ -30,12 +31,14 @@ defmodule GoogleApi.DataMigration.V1.Model.SqlIpConfig do use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ + :allocatedIpRange => String.t() | nil, :authorizedNetworks => list(GoogleApi.DataMigration.V1.Model.SqlAclEntry.t()) | nil, :enableIpv4 => boolean() | nil, :privateNetwork => String.t() | nil, :requireSsl => boolean() | nil } + field(:allocatedIpRange) field(:authorizedNetworks, as: GoogleApi.DataMigration.V1.Model.SqlAclEntry, type: :list) field(:enableIpv4) field(:privateNetwork) diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/start_migration_job_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/start_migration_job_request.ex index eb1bea9c5c..4931e1f643 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/start_migration_job_request.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/start_migration_job_request.ex @@ -21,11 +21,16 @@ defmodule GoogleApi.DataMigration.V1.Model.StartMigrationJobRequest do ## Attributes + * `skipValidation` (*type:* `boolean()`, *default:* `nil`) - Optional. Start the migration job without running prior configuration verification. Defaults to `false`. """ use GoogleApi.Gax.ModelBase - @type t :: %__MODULE__{} + @type t :: %__MODULE__{ + :skipValidation => boolean() | nil + } + + field(:skipValidation) end defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.StartMigrationJobRequest do diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/static_ip_connectivity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/static_ip_connectivity.ex index 12eeeec911..1b081bd48e 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/static_ip_connectivity.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/static_ip_connectivity.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.DataMigration.V1.Model.StaticIpConnectivity do @moduledoc """ - 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. + The source database will allow incoming connections from the public IP of the destination database. You can retrieve the public IP of the Cloud SQL instance from the Cloud SQL console or using Cloud SQL APIs. No additional configuration is required. ## Attributes diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/static_service_ip_connectivity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/static_service_ip_connectivity.ex new file mode 100644 index 0000000000..0513d08e03 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/static_service_ip_connectivity.ex @@ -0,0 +1,41 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.StaticServiceIpConnectivity do + @moduledoc """ + Static IP address connectivity configured on service project. + + ## Attributes + + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{} +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.StaticServiceIpConnectivity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.StaticServiceIpConnectivity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.StaticServiceIpConnectivity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/stored_procedure_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/stored_procedure_entity.ex new file mode 100644 index 0000000000..122f15c96a --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/stored_procedure_entity.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.StoredProcedureEntity do + @moduledoc """ + Stored procedure's parent is a schema. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `sqlCode` (*type:* `String.t`, *default:* `nil`) - The SQL code which creates the stored procedure. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :sqlCode => String.t() | nil + } + + field(:customFeatures, type: :map) + field(:sqlCode) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.StoredProcedureEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.StoredProcedureEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.StoredProcedureEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/synonym_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/synonym_entity.ex new file mode 100644 index 0000000000..47b46bf41a --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/synonym_entity.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.SynonymEntity do + @moduledoc """ + Synonym's parent is a schema. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `sourceEntity` (*type:* `String.t`, *default:* `nil`) - The name of the entity for which the synonym is being created (the source). + * `sourceType` (*type:* `String.t`, *default:* `nil`) - The type of the entity for which the synonym is being created (usually a table or a sequence). + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :sourceEntity => String.t() | nil, + :sourceType => String.t() | nil + } + + field(:customFeatures, type: :map) + field(:sourceEntity) + field(:sourceType) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.SynonymEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.SynonymEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.SynonymEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/table_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/table_entity.ex new file mode 100644 index 0000000000..2763f72deb --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/table_entity.ex @@ -0,0 +1,61 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.TableEntity do + @moduledoc """ + Table's parent is a schema. + + ## Attributes + + * `columns` (*type:* `list(GoogleApi.DataMigration.V1.Model.ColumnEntity.t)`, *default:* `nil`) - Table columns. + * `comment` (*type:* `String.t`, *default:* `nil`) - Comment associated with the table. + * `constraints` (*type:* `list(GoogleApi.DataMigration.V1.Model.ConstraintEntity.t)`, *default:* `nil`) - Table constraints. + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `indices` (*type:* `list(GoogleApi.DataMigration.V1.Model.IndexEntity.t)`, *default:* `nil`) - Table indices. + * `triggers` (*type:* `list(GoogleApi.DataMigration.V1.Model.TriggerEntity.t)`, *default:* `nil`) - Table triggers. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :columns => list(GoogleApi.DataMigration.V1.Model.ColumnEntity.t()) | nil, + :comment => String.t() | nil, + :constraints => list(GoogleApi.DataMigration.V1.Model.ConstraintEntity.t()) | nil, + :customFeatures => map() | nil, + :indices => list(GoogleApi.DataMigration.V1.Model.IndexEntity.t()) | nil, + :triggers => list(GoogleApi.DataMigration.V1.Model.TriggerEntity.t()) | nil + } + + field(:columns, as: GoogleApi.DataMigration.V1.Model.ColumnEntity, type: :list) + field(:comment) + field(:constraints, as: GoogleApi.DataMigration.V1.Model.ConstraintEntity, type: :list) + field(:customFeatures, type: :map) + field(:indices, as: GoogleApi.DataMigration.V1.Model.IndexEntity, type: :list) + field(:triggers, as: GoogleApi.DataMigration.V1.Model.TriggerEntity, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.TableEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.TableEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.TableEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/tcp_proxy_script.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/tcp_proxy_script.ex new file mode 100644 index 0000000000..b92c653c8c --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/tcp_proxy_script.ex @@ -0,0 +1,46 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.TcpProxyScript do + @moduledoc """ + Response message for 'GenerateTcpProxyScript' request. + + ## Attributes + + * `script` (*type:* `String.t`, *default:* `nil`) - The TCP Proxy configuration script. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :script => String.t() | nil + } + + field(:script) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.TcpProxyScript do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.TcpProxyScript.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.TcpProxyScript do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/trigger_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/trigger_entity.ex new file mode 100644 index 0000000000..90d62f1365 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/trigger_entity.ex @@ -0,0 +1,58 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.TriggerEntity do + @moduledoc """ + Trigger is not used as an independent entity, it is retrieved as part of a Table entity. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `name` (*type:* `String.t`, *default:* `nil`) - The name of the trigger. + * `sqlCode` (*type:* `String.t`, *default:* `nil`) - The SQL code which creates the trigger. + * `triggerType` (*type:* `String.t`, *default:* `nil`) - Indicates when the trigger fires, for example BEFORE STATEMENT, AFTER EACH ROW. + * `triggeringEvents` (*type:* `list(String.t)`, *default:* `nil`) - The DML, DDL, or database events that fire the trigger, for example INSERT, UPDATE. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :name => String.t() | nil, + :sqlCode => String.t() | nil, + :triggerType => String.t() | nil, + :triggeringEvents => list(String.t()) | nil + } + + field(:customFeatures, type: :map) + field(:name) + field(:sqlCode) + field(:triggerType) + field(:triggeringEvents, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.TriggerEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.TriggerEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.TriggerEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/udt_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/udt_entity.ex new file mode 100644 index 0000000000..871d62c33c --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/udt_entity.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.UDTEntity do + @moduledoc """ + UDT's parent is a schema. + + ## Attributes + + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `udtBody` (*type:* `String.t`, *default:* `nil`) - The SQL code which creates the udt body. + * `udtSqlCode` (*type:* `String.t`, *default:* `nil`) - The SQL code which creates the udt. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :customFeatures => map() | nil, + :udtBody => String.t() | nil, + :udtSqlCode => String.t() | nil + } + + field(:customFeatures, type: :map) + field(:udtBody) + field(:udtSqlCode) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.UDTEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.UDTEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.UDTEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/value_list_filter.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/value_list_filter.ex new file mode 100644 index 0000000000..410e3a9471 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/value_list_filter.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ValueListFilter do + @moduledoc """ + A list of values to filter by in ConditionalColumnSetValue + + ## Attributes + + * `ignoreCase` (*type:* `boolean()`, *default:* `nil`) - Required. Whether to ignore case when filtering by values. Defaults to false + * `valuePresentList` (*type:* `String.t`, *default:* `nil`) - Required. Indicates whether the filter matches rows with values that are present in the list or those with values not present in it. + * `values` (*type:* `list(String.t)`, *default:* `nil`) - Required. The list to be used to filter by + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :ignoreCase => boolean() | nil, + :valuePresentList => String.t() | nil, + :values => list(String.t()) | nil + } + + field(:ignoreCase) + field(:valuePresentList) + field(:values, type: :list) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ValueListFilter do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ValueListFilter.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ValueListFilter do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/value_transformation.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/value_transformation.ex new file mode 100644 index 0000000000..6f9434e75c --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/value_transformation.ex @@ -0,0 +1,73 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ValueTransformation do + @moduledoc """ + Description of data transformation during migration as part of the ConditionalColumnSetValue. + + ## Attributes + + * `applyHash` (*type:* `GoogleApi.DataMigration.V1.Model.ApplyHash.t`, *default:* `nil`) - Optional. Applies a hash function on the data + * `assignMaxValue` (*type:* `GoogleApi.DataMigration.V1.Model.Empty.t`, *default:* `nil`) - Optional. Set to max_value - if integer or numeric, will use int.maxvalue, etc + * `assignMinValue` (*type:* `GoogleApi.DataMigration.V1.Model.Empty.t`, *default:* `nil`) - Optional. Set to min_value - if integer or numeric, will use int.minvalue, etc + * `assignNull` (*type:* `GoogleApi.DataMigration.V1.Model.Empty.t`, *default:* `nil`) - Optional. Set to null + * `assignSpecificValue` (*type:* `GoogleApi.DataMigration.V1.Model.AssignSpecificValue.t`, *default:* `nil`) - Optional. Set to a specific value (value is converted to fit the target data type) + * `doubleComparison` (*type:* `GoogleApi.DataMigration.V1.Model.DoubleComparisonFilter.t`, *default:* `nil`) - Optional. Filter on relation between source value and compare value of type double. + * `intComparison` (*type:* `GoogleApi.DataMigration.V1.Model.IntComparisonFilter.t`, *default:* `nil`) - Optional. Filter on relation between source value and compare value of type integer. + * `isNull` (*type:* `GoogleApi.DataMigration.V1.Model.Empty.t`, *default:* `nil`) - Optional. Value is null + * `roundScale` (*type:* `GoogleApi.DataMigration.V1.Model.RoundToScale.t`, *default:* `nil`) - Optional. Allows the data to change scale + * `valueList` (*type:* `GoogleApi.DataMigration.V1.Model.ValueListFilter.t`, *default:* `nil`) - Optional. Value is found in the specified list. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :applyHash => GoogleApi.DataMigration.V1.Model.ApplyHash.t() | nil, + :assignMaxValue => GoogleApi.DataMigration.V1.Model.Empty.t() | nil, + :assignMinValue => GoogleApi.DataMigration.V1.Model.Empty.t() | nil, + :assignNull => GoogleApi.DataMigration.V1.Model.Empty.t() | nil, + :assignSpecificValue => GoogleApi.DataMigration.V1.Model.AssignSpecificValue.t() | nil, + :doubleComparison => GoogleApi.DataMigration.V1.Model.DoubleComparisonFilter.t() | nil, + :intComparison => GoogleApi.DataMigration.V1.Model.IntComparisonFilter.t() | nil, + :isNull => GoogleApi.DataMigration.V1.Model.Empty.t() | nil, + :roundScale => GoogleApi.DataMigration.V1.Model.RoundToScale.t() | nil, + :valueList => GoogleApi.DataMigration.V1.Model.ValueListFilter.t() | nil + } + + field(:applyHash, as: GoogleApi.DataMigration.V1.Model.ApplyHash) + field(:assignMaxValue, as: GoogleApi.DataMigration.V1.Model.Empty) + field(:assignMinValue, as: GoogleApi.DataMigration.V1.Model.Empty) + field(:assignNull, as: GoogleApi.DataMigration.V1.Model.Empty) + field(:assignSpecificValue, as: GoogleApi.DataMigration.V1.Model.AssignSpecificValue) + field(:doubleComparison, as: GoogleApi.DataMigration.V1.Model.DoubleComparisonFilter) + field(:intComparison, as: GoogleApi.DataMigration.V1.Model.IntComparisonFilter) + field(:isNull, as: GoogleApi.DataMigration.V1.Model.Empty) + field(:roundScale, as: GoogleApi.DataMigration.V1.Model.RoundToScale) + field(:valueList, as: GoogleApi.DataMigration.V1.Model.ValueListFilter) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ValueTransformation do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ValueTransformation.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ValueTransformation do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/verify_migration_job_request.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/verify_migration_job_request.ex index ccaf734764..4fccdc59d8 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1/model/verify_migration_job_request.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/verify_migration_job_request.ex @@ -21,11 +21,19 @@ defmodule GoogleApi.DataMigration.V1.Model.VerifyMigrationJobRequest do ## Attributes + * `migrationJob` (*type:* `GoogleApi.DataMigration.V1.Model.MigrationJob.t`, *default:* `nil`) - Optional. The changed migration job parameters to verify. It will not update the migration job. + * `updateMask` (*type:* `String.t`, *default:* `nil`) - Optional. Field mask is used to specify the changed fields to be verified. It will not update the migration job. """ use GoogleApi.Gax.ModelBase - @type t :: %__MODULE__{} + @type t :: %__MODULE__{ + :migrationJob => GoogleApi.DataMigration.V1.Model.MigrationJob.t() | nil, + :updateMask => String.t() | nil + } + + field(:migrationJob, as: GoogleApi.DataMigration.V1.Model.MigrationJob) + field(:updateMask) end defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.VerifyMigrationJobRequest do diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/view_entity.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/view_entity.ex new file mode 100644 index 0000000000..dfb8bd5af7 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/view_entity.ex @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.ViewEntity do + @moduledoc """ + View's parent is a schema. + + ## Attributes + + * `constraints` (*type:* `list(GoogleApi.DataMigration.V1.Model.ConstraintEntity.t)`, *default:* `nil`) - View constraints. + * `customFeatures` (*type:* `map()`, *default:* `nil`) - Custom engine specific features. + * `sqlCode` (*type:* `String.t`, *default:* `nil`) - The SQL code which creates the view. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :constraints => list(GoogleApi.DataMigration.V1.Model.ConstraintEntity.t()) | nil, + :customFeatures => map() | nil, + :sqlCode => String.t() | nil + } + + field(:constraints, as: GoogleApi.DataMigration.V1.Model.ConstraintEntity, type: :list) + field(:customFeatures, type: :map) + field(:sqlCode) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.ViewEntity do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.ViewEntity.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.ViewEntity do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1/model/vpc_peering_config.ex b/clients/data_migration/lib/google_api/data_migration/v1/model/vpc_peering_config.ex new file mode 100644 index 0000000000..cf91bdec23 --- /dev/null +++ b/clients/data_migration/lib/google_api/data_migration/v1/model/vpc_peering_config.ex @@ -0,0 +1,49 @@ +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# 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. + +# NOTE: This file is auto generated by the elixir code generator program. +# Do not edit this file manually. + +defmodule GoogleApi.DataMigration.V1.Model.VpcPeeringConfig do + @moduledoc """ + The VPC peering configuration is used to create VPC peering with the consumer's VPC. + + ## Attributes + + * `subnet` (*type:* `String.t`, *default:* `nil`) - Required. A free subnet for peering. (CIDR of /29) + * `vpcName` (*type:* `String.t`, *default:* `nil`) - Required. Fully qualified name of the VPC that Database Migration Service will peer to. + """ + + use GoogleApi.Gax.ModelBase + + @type t :: %__MODULE__{ + :subnet => String.t() | nil, + :vpcName => String.t() | nil + } + + field(:subnet) + field(:vpcName) +end + +defimpl Poison.Decoder, for: GoogleApi.DataMigration.V1.Model.VpcPeeringConfig do + def decode(value, options) do + GoogleApi.DataMigration.V1.Model.VpcPeeringConfig.decode(value, options) + end +end + +defimpl Poison.Encoder, for: GoogleApi.DataMigration.V1.Model.VpcPeeringConfig do + def encode(value, options) do + GoogleApi.Gax.ModelBase.encode(value, options) + end +end diff --git a/clients/data_migration/lib/google_api/data_migration/v1beta1/api/projects.ex b/clients/data_migration/lib/google_api/data_migration/v1beta1/api/projects.ex index c349d0b9a6..59f20fad1e 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1beta1/api/projects.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1beta1/api/projects.ex @@ -2065,7 +2065,7 @@ defmodule GoogleApi.DataMigration.V1beta1.Api.Projects do end @doc """ - 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. + Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. ## Parameters diff --git a/clients/data_migration/lib/google_api/data_migration/v1beta1/metadata.ex b/clients/data_migration/lib/google_api/data_migration/v1beta1/metadata.ex index d23c93b20a..dca0d40c75 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1beta1/metadata.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1beta1/metadata.ex @@ -20,7 +20,7 @@ defmodule GoogleApi.DataMigration.V1beta1 do API client metadata for GoogleApi.DataMigration.V1beta1. """ - @discovery_revision "20221020" + @discovery_revision "20240228" def discovery_revision(), do: @discovery_revision end diff --git a/clients/data_migration/lib/google_api/data_migration/v1beta1/model/binding.ex b/clients/data_migration/lib/google_api/data_migration/v1beta1/model/binding.ex index b00d24b4b0..c3b9fab209 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1beta1/model/binding.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1beta1/model/binding.ex @@ -22,8 +22,8 @@ defmodule GoogleApi.DataMigration.V1beta1.Model.Binding do ## Attributes * `condition` (*type:* `GoogleApi.DataMigration.V1beta1.Model.Expr.t`, *default:* `nil`) - The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - * `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `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`. - * `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + * `members` (*type:* `list(String.t)`, *default:* `nil`) - Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`. + * `role` (*type:* `String.t`, *default:* `nil`) - Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles). """ use GoogleApi.Gax.ModelBase diff --git a/clients/data_migration/lib/google_api/data_migration/v1beta1/model/location.ex b/clients/data_migration/lib/google_api/data_migration/v1beta1/model/location.ex index 9d9b46f61e..d30e6459b9 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1beta1/model/location.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1beta1/model/location.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.DataMigration.V1beta1.Model.Location do @moduledoc """ - A resource that represents Google Cloud Platform location. + A resource that represents a Google Cloud location. ## Attributes diff --git a/clients/data_migration/lib/google_api/data_migration/v1beta1/model/operation.ex b/clients/data_migration/lib/google_api/data_migration/v1beta1/model/operation.ex index 8a3bbae04e..50f84a5558 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1beta1/model/operation.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1beta1/model/operation.ex @@ -25,7 +25,7 @@ defmodule GoogleApi.DataMigration.V1beta1.Model.Operation do * `error` (*type:* `GoogleApi.DataMigration.V1beta1.Model.Status.t`, *default:* `nil`) - The error result of the operation in case of failure or cancellation. * `metadata` (*type:* `map()`, *default:* `nil`) - 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. * `name` (*type:* `String.t`, *default:* `nil`) - 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}`. - * `response` (*type:* `map()`, *default:* `nil`) - 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`. + * `response` (*type:* `map()`, *default:* `nil`) - The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. """ use GoogleApi.Gax.ModelBase diff --git a/clients/data_migration/lib/google_api/data_migration/v1beta1/model/policy.ex b/clients/data_migration/lib/google_api/data_migration/v1beta1/model/policy.ex index c4da9ad520..4135beb586 100644 --- a/clients/data_migration/lib/google_api/data_migration/v1beta1/model/policy.ex +++ b/clients/data_migration/lib/google_api/data_migration/v1beta1/model/policy.ex @@ -17,7 +17,7 @@ defmodule GoogleApi.DataMigration.V1beta1.Model.Policy do @moduledoc """ - An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). ## Attributes