| // Copyright 2021 Google LLC |
| // |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file or at |
| // https://developers.google.com/open-source/licenses/bsd |
| |
| // This is a generated file (see the discoveryapis_generator project). |
| |
| // ignore_for_file: camel_case_types |
| // ignore_for_file: comment_references |
| // ignore_for_file: deprecated_member_use_from_same_package |
| // ignore_for_file: doc_directive_unknown |
| // ignore_for_file: lines_longer_than_80_chars |
| // ignore_for_file: non_constant_identifier_names |
| // ignore_for_file: prefer_interpolation_to_compose_strings |
| // ignore_for_file: unintended_html_in_doc_comment |
| // ignore_for_file: unnecessary_brace_in_string_interps |
| // ignore_for_file: unnecessary_lambdas |
| // ignore_for_file: unnecessary_string_interpolations |
| |
| /// Database Migration API - v1 |
| /// |
| /// Manage Cloud Database Migration Service resources on Google Cloud Platform. |
| /// |
| /// For more information, see <https://cloud.google.com/database-migration/> |
| /// |
| /// Create an instance of [DatabaseMigrationServiceApi] to access these |
| /// resources: |
| /// |
| /// - [ProjectsResource] |
| /// - [ProjectsLocationsResource] |
| /// - [ProjectsLocationsConnectionProfilesResource] |
| /// - [ProjectsLocationsConversionWorkspacesResource] |
| /// - [ProjectsLocationsConversionWorkspacesMappingRulesResource] |
| /// - [ProjectsLocationsMigrationJobsResource] |
| /// - [ProjectsLocationsMigrationJobsObjectsResource] |
| /// - [ProjectsLocationsOperationsResource] |
| /// - [ProjectsLocationsPrivateConnectionsResource] |
| library; |
| |
| import 'dart:async' as async; |
| import 'dart:convert' as convert_1; |
| import 'dart:core' as core; |
| |
| import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| import 'package:http/http.dart' as http; |
| |
| import '../shared.dart'; |
| import '../src/user_agent.dart'; |
| |
| export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' |
| show ApiRequestError, DetailedApiRequestError; |
| |
| /// Manage Cloud Database Migration Service resources on Google Cloud Platform. |
| class DatabaseMigrationServiceApi { |
| /// See, edit, configure, and delete your Google Cloud data and see the email |
| /// address for your Google Account. |
| static const cloudPlatformScope = |
| 'https://www.googleapis.com/auth/cloud-platform'; |
| |
| final commons.ApiRequester _requester; |
| |
| ProjectsResource get projects => ProjectsResource(_requester); |
| |
| DatabaseMigrationServiceApi( |
| http.Client client, { |
| core.String rootUrl = 'https://datamigration.googleapis.com/', |
| core.String servicePath = '', |
| }) : _requester = commons.ApiRequester( |
| client, |
| rootUrl, |
| servicePath, |
| requestHeaders, |
| ); |
| } |
| |
| class ProjectsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsResource get locations => |
| ProjectsLocationsResource(_requester); |
| |
| ProjectsResource(commons.ApiRequester client) : _requester = client; |
| } |
| |
| class ProjectsLocationsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsConnectionProfilesResource get connectionProfiles => |
| ProjectsLocationsConnectionProfilesResource(_requester); |
| ProjectsLocationsConversionWorkspacesResource get conversionWorkspaces => |
| ProjectsLocationsConversionWorkspacesResource(_requester); |
| ProjectsLocationsMigrationJobsResource get migrationJobs => |
| ProjectsLocationsMigrationJobsResource(_requester); |
| ProjectsLocationsOperationsResource get operations => |
| ProjectsLocationsOperationsResource(_requester); |
| ProjectsLocationsPrivateConnectionsResource get privateConnections => |
| ProjectsLocationsPrivateConnectionsResource(_requester); |
| |
| ProjectsLocationsResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Fetches a set of static IP addresses that need to be allowlisted by the |
| /// customer when using the static-IP connectivity method. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The resource name for the location for which static IPs |
| /// should be returned. Must be in the format `projects / * /locations / * `. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [pageSize] - Optional. Maximum number of IPs to return. |
| /// |
| /// [pageToken] - Optional. A page token, received from a previous |
| /// `FetchStaticIps` call. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FetchStaticIpsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FetchStaticIpsResponse> fetchStaticIps( |
| core.String name, { |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'pageSize': ?pageSize == null ? null : ['${pageSize}'], |
| 'pageToken': ?pageToken == null ? null : [pageToken], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':fetchStaticIps'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return FetchStaticIpsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Gets information about a location. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Resource name for the location. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Location]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Location> get(core.String name, {core.String? $fields}) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Location.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists information about the supported locations for this service. |
| /// |
| /// This method lists locations based on the resource scope provided in the |
| /// \[ListLocationsRequest.name\] field: * **Global locations**: If `name` is |
| /// empty, the method lists the public locations available to all projects. * |
| /// **Project-specific locations**: If `name` follows the format |
| /// `projects/{project}`, the method lists locations visible to that specific |
| /// project. This includes public, private, or other project-specific |
| /// locations enabled for the project. For gRPC and client library |
| /// implementations, the resource name is passed as the `name` field. For |
| /// direct service calls, the resource name is incorporated into the request |
| /// path based on the specific service implementation and version. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The resource that owns the locations collection, if applicable. |
| /// Value must have pattern `^projects/\[^/\]+$`. |
| /// |
| /// [extraLocationTypes] - Optional. Do not use this field. It is unsupported |
| /// and is ignored unless explicitly documented otherwise. This is primarily |
| /// for internal usage. |
| /// |
| /// [filter] - A filter to narrow down results to a preferred subset. The |
| /// filtering language accepts strings like `"displayName=tokyo"`, and is |
| /// documented in more detail in \[AIP-160\](https://google.aip.dev/160). |
| /// |
| /// [pageSize] - The maximum number of results to return. If not set, the |
| /// service selects a default. |
| /// |
| /// [pageToken] - A page token received from the `next_page_token` field in |
| /// the response. Send that page token to receive the subsequent page. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListLocationsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListLocationsResponse> list( |
| core.String name, { |
| core.List<core.String>? extraLocationTypes, |
| core.String? filter, |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'extraLocationTypes': ?extraLocationTypes, |
| 'filter': ?filter == null ? null : [filter], |
| 'pageSize': ?pageSize == null ? null : ['${pageSize}'], |
| 'pageToken': ?pageToken == null ? null : [pageToken], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + '/locations'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListLocationsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class ProjectsLocationsConnectionProfilesResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsConnectionProfilesResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Creates a new connection profile in a given project and location. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent which owns this collection of connection |
| /// profiles. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [connectionProfileId] - Required. The connection profile identifier. |
| /// |
| /// [requestId] - 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] - Optional. Create the connection profile without |
| /// validating it. The default is false. Only supported for Oracle connection |
| /// profiles. |
| /// |
| /// [validateOnly] - Optional. Only validate the connection profile, but don't |
| /// create any resources. The default is false. Only supported for Oracle |
| /// connection profiles. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> create( |
| ConnectionProfile request, |
| core.String parent, { |
| core.String? connectionProfileId, |
| core.String? requestId, |
| core.bool? skipValidation, |
| core.bool? validateOnly, |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'connectionProfileId': ?connectionProfileId == null |
| ? null |
| : [connectionProfileId], |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'skipValidation': ?skipValidation == null ? null : ['${skipValidation}'], |
| 'validateOnly': ?validateOnly == null ? null : ['${validateOnly}'], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/connectionProfiles'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Deletes a single Database Migration Service connection profile. |
| /// |
| /// A connection profile can only be deleted if it is not in use by any active |
| /// migration jobs. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Name of the connection profile resource to delete. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/connectionProfiles/\[^/\]+$`. |
| /// |
| /// [force] - In case of force delete, the CloudSQL replica database is also |
| /// deleted (only for CloudSQL connection profile). |
| /// |
| /// [requestId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> delete( |
| core.String name, { |
| core.bool? force, |
| core.String? requestId, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'force': ?force == null ? null : ['${force}'], |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets details of a single connection profile. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Name of the connection profile resource to get. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/connectionProfiles/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ConnectionProfile]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ConnectionProfile> get( |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ConnectionProfile.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Gets the access control policy for a resource. |
| /// |
| /// Returns an empty policy if the resource exists and does not have a policy |
| /// set. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/connectionProfiles/\[^/\]+$`. |
| /// |
| /// [options_requestedPolicyVersion] - 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). |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> getIamPolicy( |
| core.String resource, { |
| core.int? options_requestedPolicyVersion, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'options.requestedPolicyVersion': ?options_requestedPolicyVersion == null |
| ? null |
| : ['${options_requestedPolicyVersion}'], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Retrieves a list of all connection profiles in a given project and |
| /// location. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent which owns this collection of connection |
| /// profiles. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [filter] - Optional. 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] - Optional. A comma-separated list of fields to order results |
| /// according to. |
| /// |
| /// [pageSize] - 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] - Optional. 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListConnectionProfilesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListConnectionProfilesResponse> list( |
| core.String parent, { |
| core.String? filter, |
| core.String? orderBy, |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'filter': ?filter == null ? null : [filter], |
| 'orderBy': ?orderBy == null ? null : [orderBy], |
| 'pageSize': ?pageSize == null ? null : ['${pageSize}'], |
| 'pageToken': ?pageToken == null ? null : [pageToken], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/connectionProfiles'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListConnectionProfilesResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Update the configuration of a single connection profile. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of this connection profile resource in the form of |
| /// projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/connectionProfiles/\[^/\]+$`. |
| /// |
| /// [requestId] - 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] - Optional. Update the connection profile without |
| /// validating it. The default is false. Only supported for Oracle connection |
| /// profiles. |
| /// |
| /// [updateMask] - Required. Field mask is used to specify the fields to be |
| /// overwritten by the update in the conversion workspace resource. |
| /// |
| /// [validateOnly] - Optional. Only validate the connection profile, but don't |
| /// update any resources. The default is false. Only supported for Oracle |
| /// connection profiles. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> patch( |
| ConnectionProfile request, |
| core.String name, { |
| core.String? requestId, |
| core.bool? skipValidation, |
| core.String? updateMask, |
| core.bool? validateOnly, |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'skipValidation': ?skipValidation == null ? null : ['${skipValidation}'], |
| 'updateMask': ?updateMask == null ? null : [updateMask], |
| 'validateOnly': ?validateOnly == null ? null : ['${validateOnly}'], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the access control policy on the specified resource. |
| /// |
| /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, |
| /// and `PERMISSION_DENIED` errors. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/connectionProfiles/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> setIamPolicy( |
| SetIamPolicyRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/connectionProfiles/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TestIamPermissionsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TestIamPermissionsResponse> testIamPermissions( |
| TestIamPermissionsRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TestIamPermissionsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class ProjectsLocationsConversionWorkspacesResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsConversionWorkspacesMappingRulesResource get mappingRules => |
| ProjectsLocationsConversionWorkspacesMappingRulesResource(_requester); |
| |
| ProjectsLocationsConversionWorkspacesResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Applies draft tree onto a specific destination database. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - 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}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> apply( |
| ApplyConversionWorkspaceRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':apply'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Marks all the data in the conversion workspace as committed. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Name of the conversion workspace resource to commit. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> commit( |
| CommitConversionWorkspaceRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':commit'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Creates a draft tree schema for the destination database. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Name of the conversion workspace resource to convert in the form |
| /// of: |
| /// projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> convert( |
| ConvertConversionWorkspaceRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':convert'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Creates a new conversion workspace in a given project and location. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent which owns this collection of conversion |
| /// workspaces. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [conversionWorkspaceId] - Required. The ID of the conversion workspace to |
| /// create. |
| /// |
| /// [requestId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> create( |
| ConversionWorkspace request, |
| core.String parent, { |
| core.String? conversionWorkspaceId, |
| core.String? requestId, |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'conversionWorkspaceId': ?conversionWorkspaceId == null |
| ? null |
| : [conversionWorkspaceId], |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + core.Uri.encodeFull('$parent') + '/conversionWorkspaces'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Deletes a single conversion workspace. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Name of the conversion workspace resource to delete. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [force] - Optional. Force delete the conversion workspace, even if there's |
| /// a running migration that is using the workspace. |
| /// |
| /// [requestId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> delete( |
| core.String name, { |
| core.bool? force, |
| core.String? requestId, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'force': ?force == null ? null : ['${force}'], |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Retrieves a list of committed revisions of a specific conversion |
| /// workspace. |
| /// |
| /// Request parameters: |
| /// |
| /// [conversionWorkspace] - Required. Name of the conversion workspace |
| /// resource whose revisions are listed. Must be in the form of: |
| /// projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [commitId] - Optional. Optional filter to request a specific commit ID. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [DescribeConversionWorkspaceRevisionsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<DescribeConversionWorkspaceRevisionsResponse> |
| describeConversionWorkspaceRevisions( |
| core.String conversionWorkspace, { |
| core.String? commitId, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'commitId': ?commitId == null ? null : [commitId], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + |
| core.Uri.encodeFull('$conversionWorkspace') + |
| ':describeConversionWorkspaceRevisions'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return DescribeConversionWorkspaceRevisionsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// 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. |
| /// |
| /// Request parameters: |
| /// |
| /// [conversionWorkspace] - 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}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [commitId] - Optional. Request a specific commit ID. If not specified, the |
| /// entities from the latest commit are returned. |
| /// |
| /// [filter] - Optional. Filter the returned entities based on AIP-160 |
| /// standard. |
| /// |
| /// [pageSize] - Optional. The maximum number of entities to return. The |
| /// service may return fewer entities than the value specifies. |
| /// |
| /// [pageToken] - 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] - Required. The tree to fetch. |
| /// Possible string values are: |
| /// - "DB_TREE_TYPE_UNSPECIFIED" : Unspecified tree type. |
| /// - "SOURCE_TREE" : The source database tree. |
| /// - "DRAFT_TREE" : The draft database tree. |
| /// - "DESTINATION_TREE" : The destination database tree. |
| /// |
| /// [uncommitted] - 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] - Optional. Results view based on AIP-157 |
| /// Possible string values are: |
| /// - "DATABASE_ENTITY_VIEW_UNSPECIFIED" : Unspecified view. Defaults to basic |
| /// view. |
| /// - "DATABASE_ENTITY_VIEW_BASIC" : Default view. Does not return DDLs or |
| /// Issues. |
| /// - "DATABASE_ENTITY_VIEW_FULL" : Return full entity details including |
| /// mappings, ddl and issues. |
| /// - "DATABASE_ENTITY_VIEW_ROOT_SUMMARY" : Top-most (Database, Schema) nodes |
| /// which are returned contains summary details for their descendants such as |
| /// the number of entities per type and issues rollups. When this view is |
| /// used, only a single page of result is returned and the page_size property |
| /// of the request is ignored. The returned page will only include the |
| /// top-most node types. |
| /// - "DATABASE_ENTITY_VIEW_FULL_COMPACT" : Returns full entity details except |
| /// for ddls and schema custom features. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [DescribeDatabaseEntitiesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<DescribeDatabaseEntitiesResponse> describeDatabaseEntities( |
| core.String conversionWorkspace, { |
| core.String? commitId, |
| core.String? filter, |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? tree, |
| core.bool? uncommitted, |
| core.String? view, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'commitId': ?commitId == null ? null : [commitId], |
| 'filter': ?filter == null ? null : [filter], |
| 'pageSize': ?pageSize == null ? null : ['${pageSize}'], |
| 'pageToken': ?pageToken == null ? null : [pageToken], |
| 'tree': ?tree == null ? null : [tree], |
| 'uncommitted': ?uncommitted == null ? null : ['${uncommitted}'], |
| 'view': ?view == null ? null : [view], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + |
| core.Uri.encodeFull('$conversionWorkspace') + |
| ':describeDatabaseEntities'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return DescribeDatabaseEntitiesResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Gets details of a single conversion workspace. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Name of the conversion workspace resource to get. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ConversionWorkspace]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ConversionWorkspace> get( |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ConversionWorkspace.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Gets the access control policy for a resource. |
| /// |
| /// Returns an empty policy if the resource exists and does not have a policy |
| /// set. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [options_requestedPolicyVersion] - 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). |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> getIamPolicy( |
| core.String resource, { |
| core.int? options_requestedPolicyVersion, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'options.requestedPolicyVersion': ?options_requestedPolicyVersion == null |
| ? null |
| : ['${options_requestedPolicyVersion}'], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists conversion workspaces in a given project and location. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent which owns this collection of conversion |
| /// workspaces. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [filter] - Optional. 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] - Optional. 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] - Optional. 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListConversionWorkspacesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListConversionWorkspacesResponse> list( |
| core.String parent, { |
| core.String? filter, |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'filter': ?filter == null ? null : [filter], |
| 'pageSize': ?pageSize == null ? null : ['${pageSize}'], |
| 'pageToken': ?pageToken == null ? null : [pageToken], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + core.Uri.encodeFull('$parent') + '/conversionWorkspaces'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListConversionWorkspacesResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the parameters of a single conversion workspace. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Full name of the workspace resource, in the form of: |
| /// projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [requestId] - 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. |
| /// |
| /// [updateMask] - Required. Field mask is used to specify the fields to be |
| /// overwritten by the update in the conversion workspace resource. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> patch( |
| ConversionWorkspace request, |
| core.String name, { |
| core.String? requestId, |
| core.String? updateMask, |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'updateMask': ?updateMask == null ? null : [updateMask], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Rolls back a conversion workspace to the last committed snapshot. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Name of the conversion workspace resource to roll back |
| /// to. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> rollback( |
| RollbackConversionWorkspaceRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':rollback'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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. |
| /// |
| /// Request parameters: |
| /// |
| /// [conversionWorkspace] - Required. Name of the conversion workspace |
| /// resource whose jobs are listed, in the form of: |
| /// projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [completedUntilTime] - Optional. If provided, only returns jobs that |
| /// completed until (not including) the given timestamp. |
| /// |
| /// [maxSize] - 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] - Optional. Whether or not to return just the |
| /// most recent job per job type, |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [SearchBackgroundJobsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<SearchBackgroundJobsResponse> searchBackgroundJobs( |
| core.String conversionWorkspace, { |
| core.String? completedUntilTime, |
| core.int? maxSize, |
| core.bool? returnMostRecentPerJobType, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'completedUntilTime': ?completedUntilTime == null |
| ? null |
| : [completedUntilTime], |
| 'maxSize': ?maxSize == null ? null : ['${maxSize}'], |
| 'returnMostRecentPerJobType': ?returnMostRecentPerJobType == null |
| ? null |
| : ['${returnMostRecentPerJobType}'], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + |
| core.Uri.encodeFull('$conversionWorkspace') + |
| ':searchBackgroundJobs'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return SearchBackgroundJobsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Imports a snapshot of the source database into the conversion workspace. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Name of the conversion workspace resource to seed with new |
| /// database structure, in the form of: |
| /// projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> seed( |
| SeedConversionWorkspaceRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':seed'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the access control policy on the specified resource. |
| /// |
| /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, |
| /// and `PERMISSION_DENIED` errors. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> setIamPolicy( |
| SetIamPolicyRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TestIamPermissionsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TestIamPermissionsResponse> testIamPermissions( |
| TestIamPermissionsRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TestIamPermissionsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class ProjectsLocationsConversionWorkspacesMappingRulesResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsConversionWorkspacesMappingRulesResource( |
| commons.ApiRequester client, |
| ) : _requester = client; |
| |
| /// Creates a new mapping rule for a given conversion workspace. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent which owns this collection of mapping |
| /// rules. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [mappingRuleId] - Required. The ID of the rule to create. |
| /// |
| /// [requestId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [MappingRule]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<MappingRule> create( |
| MappingRule request, |
| core.String parent, { |
| core.String? mappingRuleId, |
| core.String? requestId, |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'mappingRuleId': ?mappingRuleId == null ? null : [mappingRuleId], |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/mappingRules'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return MappingRule.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Deletes a single mapping rule. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Name of the mapping rule resource to delete. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+/mappingRules/\[^/\]+$`. |
| /// |
| /// [requestId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> delete( |
| core.String name, { |
| core.String? requestId, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets the details of a mapping rule. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - 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 |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+/mappingRules/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [MappingRule]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<MappingRule> get( |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return MappingRule.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Imports the mapping rules for a given conversion workspace. |
| /// |
| /// Supports various formats of external rules files. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. Name of the conversion workspace resource to import |
| /// the rules to in the form of: |
| /// projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> import( |
| ImportMappingRulesRequest request, |
| core.String parent, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + core.Uri.encodeFull('$parent') + '/mappingRules:import'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists the mapping rules for a specific conversion workspace. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. Name of the conversion workspace resource whose |
| /// mapping rules are listed in the form of: |
| /// projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/conversionWorkspaces/\[^/\]+$`. |
| /// |
| /// [pageSize] - Optional. The maximum number of rules to return. The service |
| /// may return fewer than this value. |
| /// |
| /// [pageToken] - Optional. 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListMappingRulesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListMappingRulesResponse> list( |
| core.String parent, { |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'pageSize': ?pageSize == null ? null : ['${pageSize}'], |
| 'pageToken': ?pageToken == null ? null : [pageToken], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/mappingRules'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListMappingRulesResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class ProjectsLocationsMigrationJobsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsMigrationJobsObjectsResource get objects => |
| ProjectsLocationsMigrationJobsObjectsResource(_requester); |
| |
| ProjectsLocationsMigrationJobsResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Creates a new migration job in a given project and location. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent which owns this collection of migration |
| /// jobs. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [migrationJobId] - Required. The ID of the instance to create. |
| /// |
| /// [requestId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> create( |
| MigrationJob request, |
| core.String parent, { |
| core.String? migrationJobId, |
| core.String? requestId, |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'migrationJobId': ?migrationJobId == null ? null : [migrationJobId], |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/migrationJobs'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Deletes a single migration job. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Name of the migration job resource to delete. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [force] - Optional. 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] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> delete( |
| core.String name, { |
| core.bool? force, |
| core.String? requestId, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'force': ?force == null ? null : ['${force}'], |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Name of the migration job resource to demote its |
| /// destination. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> demoteDestination( |
| DemoteDestinationRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':demoteDestination'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Retrieves objects from the source database that can be selected for data |
| /// migration. |
| /// |
| /// This is applicable for the following migrations: 1. PostgreSQL to Cloud |
| /// SQL for PostgreSQL 2. PostgreSQL to AlloyDB for PostgreSQL. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The resource name for the migration job for which |
| /// source objects should be returned. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> fetchSourceObjects( |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':fetchSourceObjects'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Generate a SSH configuration script to configure the reverse SSH |
| /// connectivity. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [migrationJob] - Name of the migration job resource to generate the SSH |
| /// script. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [SshScript]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<SshScript> generateSshScript( |
| GenerateSshScriptRequest request, |
| core.String migrationJob, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + core.Uri.encodeFull('$migrationJob') + ':generateSshScript'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return SshScript.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Generate a TCP Proxy configuration script to configure a cloud-hosted VM |
| /// running a TCP Proxy. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [migrationJob] - Name of the migration job resource to generate the TCP |
| /// Proxy script. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TcpProxyScript]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TcpProxyScript> generateTcpProxyScript( |
| GenerateTcpProxyScriptRequest request, |
| core.String migrationJob, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + |
| core.Uri.encodeFull('$migrationJob') + |
| ':generateTcpProxyScript'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TcpProxyScript.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Gets details of a single migration job. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. Name of the migration job resource to get. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [MigrationJob]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<MigrationJob> get( |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return MigrationJob.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Gets the access control policy for a resource. |
| /// |
| /// Returns an empty policy if the resource exists and does not have a policy |
| /// set. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [options_requestedPolicyVersion] - 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). |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> getIamPolicy( |
| core.String resource, { |
| core.int? options_requestedPolicyVersion, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'options.requestedPolicyVersion': ?options_requestedPolicyVersion == null |
| ? null |
| : ['${options_requestedPolicyVersion}'], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists migration jobs in a given project and location. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent which owns this collection of |
| /// migrationJobs. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [filter] - Optional. 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] - Optional. Sort the results based on the migration job name. |
| /// Valid values are: "name", "name asc", and "name desc". |
| /// |
| /// [pageSize] - Optional. 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] - Optional. 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListMigrationJobsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListMigrationJobsResponse> list( |
| core.String parent, { |
| core.String? filter, |
| core.String? orderBy, |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'filter': ?filter == null ? null : [filter], |
| 'orderBy': ?orderBy == null ? null : [orderBy], |
| 'pageSize': ?pageSize == null ? null : ['${pageSize}'], |
| 'pageToken': ?pageToken == null ? null : [pageToken], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/migrationJobs'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListMigrationJobsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the parameters of a single migration job. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name (URI) of this migration job resource, in the form of: |
| /// projects/{project}/locations/{location}/migrationJobs/{migrationJob}. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [requestId] - 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. |
| /// |
| /// [updateMask] - Required. Field mask is used to specify the fields to be |
| /// overwritten by the update in the conversion workspace resource. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> patch( |
| MigrationJob request, |
| core.String name, { |
| core.String? requestId, |
| core.String? updateMask, |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'updateMask': ?updateMask == null ? null : [updateMask], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Promote a migration job, stopping replication to the destination and |
| /// promoting the destination to be a standalone database. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Name of the migration job resource to promote. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> promote( |
| PromoteMigrationJobRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':promote'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Restart a stopped or failed migration job, resetting the destination |
| /// instance to its original state and starting the migration process from |
| /// scratch. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Name of the migration job resource to restart. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> restart( |
| RestartMigrationJobRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':restart'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Resume a migration job that is currently stopped and is resumable (was |
| /// stopped during CDC phase). |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Name of the migration job resource to resume. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> resume( |
| ResumeMigrationJobRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':resume'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Sets the access control policy on the specified resource. |
| /// |
| /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, |
| /// and `PERMISSION_DENIED` errors. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> setIamPolicy( |
| SetIamPolicyRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Start an already created migration job. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Name of the migration job resource to start. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> start( |
| StartMigrationJobRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':start'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Stops a running migration job. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Name of the migration job resource to stop. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> stop( |
| StopMigrationJobRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':stop'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TestIamPermissionsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TestIamPermissionsResponse> testIamPermissions( |
| TestIamPermissionsRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TestIamPermissionsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Verify a migration job, making sure the destination can reach the source |
| /// and that all configuration and prerequisites are met. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Name of the migration job resource to verify. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> verify( |
| VerifyMigrationJobRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':verify'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class ProjectsLocationsMigrationJobsObjectsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsMigrationJobsObjectsResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Use this method to get details about a migration job object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The name of the migration job object resource to get. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+/objects/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [MigrationJobObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<MigrationJobObject> get( |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return MigrationJobObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Gets the access control policy for a resource. |
| /// |
| /// Returns an empty policy if the resource exists and does not have a policy |
| /// set. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+/objects/\[^/\]+$`. |
| /// |
| /// [options_requestedPolicyVersion] - 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). |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> getIamPolicy( |
| core.String resource, { |
| core.int? options_requestedPolicyVersion, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'options.requestedPolicyVersion': ?options_requestedPolicyVersion == null |
| ? null |
| : ['${options_requestedPolicyVersion}'], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Use this method to list the objects of a specific migration job. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent migration job that owns the collection of |
| /// objects. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [pageSize] - Optional. Maximum number of objects to return. Default is 50. |
| /// The maximum value is 1000; values above 1000 will be coerced to 1000. |
| /// |
| /// [pageToken] - Optional. Page token received from a previous |
| /// `ListMigrationJObObjectsRequest` call. Provide this to retrieve the |
| /// subsequent page. When paginating, all other parameters provided to |
| /// `ListMigrationJobObjectsRequest` must match the call that provided the |
| /// page token. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListMigrationJobObjectsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListMigrationJobObjectsResponse> list( |
| core.String parent, { |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'pageSize': ?pageSize == null ? null : ['${pageSize}'], |
| 'pageToken': ?pageToken == null ? null : [pageToken], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/objects'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListMigrationJobObjectsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Use this method to look up a migration job object by its source object |
| /// identifier. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent migration job that owns the collection of |
| /// objects. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [MigrationJobObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<MigrationJobObject> lookup( |
| LookupMigrationJobObjectRequest request, |
| core.String parent, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/objects:lookup'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return MigrationJobObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Sets the access control policy on the specified resource. |
| /// |
| /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, |
| /// and `PERMISSION_DENIED` errors. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+/objects/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> setIamPolicy( |
| SetIamPolicyRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/migrationJobs/\[^/\]+/objects/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TestIamPermissionsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TestIamPermissionsResponse> testIamPermissions( |
| TestIamPermissionsRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TestIamPermissionsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class ProjectsLocationsOperationsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsOperationsResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// 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`. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation resource to be cancelled. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> cancel( |
| CancelOperationRequest request, |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + ':cancel'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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`. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation resource to be deleted. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> delete(core.String name, {core.String? $fields}) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation resource. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/operations/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> get(core.String name, {core.String? $fields}) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Lists operations that match the specified filter in the request. |
| /// |
| /// If the server doesn't support this method, it returns `UNIMPLEMENTED`. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the operation's parent resource. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [filter] - The standard list filter. |
| /// |
| /// [pageSize] - The standard list page size. |
| /// |
| /// [pageToken] - The standard list page token. |
| /// |
| /// [returnPartialSuccess] - When set to `true`, operations that are reachable |
| /// are returned as normal, and those that are unreachable are returned in the |
| /// ListOperationsResponse.unreachable field. This can only be `true` when |
| /// reading across collections. For example, when `parent` is set to |
| /// `"projects/example/locations/-"`. This field is not supported by default |
| /// and will result in an `UNIMPLEMENTED` error if set unless explicitly |
| /// documented otherwise in service or product specific documentation. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListOperationsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListOperationsResponse> list( |
| core.String name, { |
| core.String? filter, |
| core.int? pageSize, |
| core.String? pageToken, |
| core.bool? returnPartialSuccess, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'filter': ?filter == null ? null : [filter], |
| 'pageSize': ?pageSize == null ? null : ['${pageSize}'], |
| 'pageToken': ?pageToken == null ? null : [pageToken], |
| 'returnPartialSuccess': ?returnPartialSuccess == null |
| ? null |
| : ['${returnPartialSuccess}'], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name') + '/operations'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListOperationsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class ProjectsLocationsPrivateConnectionsResource { |
| final commons.ApiRequester _requester; |
| |
| ProjectsLocationsPrivateConnectionsResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Creates a new private connection in a given project and location. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent that owns the collection of |
| /// PrivateConnections. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [privateConnectionId] - Required. The private connection identifier. |
| /// |
| /// [requestId] - 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] - Optional. If set to true, will skip validations. |
| /// |
| /// [validateOnly] - Optional. For PSC Interface only - get the tenant project |
| /// before creating the resource. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> create( |
| PrivateConnection request, |
| core.String parent, { |
| core.String? privateConnectionId, |
| core.String? requestId, |
| core.bool? skipValidation, |
| core.bool? validateOnly, |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'privateConnectionId': ?privateConnectionId == null |
| ? null |
| : [privateConnectionId], |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'skipValidation': ?skipValidation == null ? null : ['${skipValidation}'], |
| 'validateOnly': ?validateOnly == null ? null : ['${validateOnly}'], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/privateConnections'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Deletes a single Database Migration Service private connection. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The name of the private connection to delete. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/privateConnections/\[^/\]+$`. |
| /// |
| /// [requestId] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> delete( |
| core.String name, { |
| core.String? requestId, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'requestId': ?requestId == null ? null : [requestId], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'DELETE', |
| queryParams: queryParams_, |
| ); |
| return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Gets details of a single private connection. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Required. The name of the private connection to get. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/privateConnections/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [PrivateConnection]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<PrivateConnection> get( |
| core.String name, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$name'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return PrivateConnection.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Gets the access control policy for a resource. |
| /// |
| /// Returns an empty policy if the resource exists and does not have a policy |
| /// set. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/privateConnections/\[^/\]+$`. |
| /// |
| /// [options_requestedPolicyVersion] - 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). |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> getIamPolicy( |
| core.String resource, { |
| core.int? options_requestedPolicyVersion, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'options.requestedPolicyVersion': ?options_requestedPolicyVersion == null |
| ? null |
| : ['${options_requestedPolicyVersion}'], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':getIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Retrieves a list of private connections in a given project and location. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - Required. The parent that owns the collection of private |
| /// connections. |
| /// Value must have pattern `^projects/\[^/\]+/locations/\[^/\]+$`. |
| /// |
| /// [filter] - Optional. 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] - Optional. Order by fields for the result. |
| /// |
| /// [pageSize] - Optional. 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] - Optional. 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListPrivateConnectionsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListPrivateConnectionsResponse> list( |
| core.String parent, { |
| core.String? filter, |
| core.String? orderBy, |
| core.int? pageSize, |
| core.String? pageToken, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'filter': ?filter == null ? null : [filter], |
| 'orderBy': ?orderBy == null ? null : [orderBy], |
| 'pageSize': ?pageSize == null ? null : ['${pageSize}'], |
| 'pageToken': ?pageToken == null ? null : [pageToken], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/privateConnections'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return ListPrivateConnectionsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Sets the access control policy on the specified resource. |
| /// |
| /// Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, |
| /// and `PERMISSION_DENIED` errors. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/privateConnections/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Policy]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Policy> setIamPolicy( |
| SetIamPolicyRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = 'v1/' + core.Uri.encodeFull('$resource') + ':setIamPolicy'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Policy.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// 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. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resource] - 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. |
| /// Value must have pattern |
| /// `^projects/\[^/\]+/locations/\[^/\]+/privateConnections/\[^/\]+$`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TestIamPermissionsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TestIamPermissionsResponse> testIamPermissions( |
| TestIamPermissionsRequest request, |
| core.String resource, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert_1.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'v1/' + core.Uri.encodeFull('$resource') + ':testIamPermissions'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TestIamPermissionsResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| /// Specifies required connection parameters, and the parameters required to |
| /// create an AlloyDB destination cluster. |
| class AlloyDbConnectionProfile { |
| /// The AlloyDB cluster ID that this connection profile is associated with. |
| /// |
| /// Required. |
| core.String? clusterId; |
| |
| /// Metadata used to create the destination AlloyDB cluster. |
| /// |
| /// Immutable. |
| AlloyDbSettings? settings; |
| |
| AlloyDbConnectionProfile({this.clusterId, this.settings}); |
| |
| AlloyDbConnectionProfile.fromJson(core.Map json_) |
| : this( |
| clusterId: json_['clusterId'] as core.String?, |
| settings: json_.containsKey('settings') |
| ? AlloyDbSettings.fromJson( |
| json_['settings'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final clusterId = this.clusterId; |
| final settings = this.settings; |
| return {'clusterId': ?clusterId, 'settings': ?settings}; |
| } |
| } |
| |
| /// Settings for creating an AlloyDB cluster. |
| class AlloyDbSettings { |
| /// 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. |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "DATABASE_VERSION_UNSPECIFIED" : This is an unknown database version. |
| /// - "POSTGRES_14" : The database version is Postgres 14. |
| /// - "POSTGRES_15" : The database version is Postgres 15. |
| /// - "POSTGRES_16" : The database version is Postgres 16. |
| /// - "POSTGRES_17" : The database version is Postgres 17. |
| /// - "POSTGRES_18" : The database version is Postgres 18. |
| core.String? databaseVersion; |
| |
| /// 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. |
| /// |
| /// Optional. |
| EncryptionConfig? encryptionConfig; |
| |
| /// Input only. |
| /// |
| /// Initial user to setup during cluster creation. Required. |
| /// |
| /// Required. |
| UserPassword? initialUser; |
| |
| /// Labels for the AlloyDB cluster created by DMS. |
| /// |
| /// An object containing a list of 'key', 'value' pairs. |
| core.Map<core.String, core.String>? labels; |
| |
| /// Settings for the cluster's primary instance |
| PrimaryInstanceSettings? primaryInstanceSettings; |
| |
| /// The resource link for the VPC network in which cluster resources are |
| /// created and from which they are accessible via Private IP. |
| /// |
| /// The network must belong to the same project as the cluster. It is |
| /// specified in the form: |
| /// "projects/{project_number}/global/networks/{network_id}". This is required |
| /// to create a cluster. |
| /// |
| /// Required. |
| core.String? vpcNetwork; |
| |
| AlloyDbSettings({ |
| this.databaseVersion, |
| this.encryptionConfig, |
| this.initialUser, |
| this.labels, |
| this.primaryInstanceSettings, |
| this.vpcNetwork, |
| }); |
| |
| AlloyDbSettings.fromJson(core.Map json_) |
| : this( |
| databaseVersion: json_['databaseVersion'] as core.String?, |
| encryptionConfig: json_.containsKey('encryptionConfig') |
| ? EncryptionConfig.fromJson( |
| json_['encryptionConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| initialUser: json_.containsKey('initialUser') |
| ? UserPassword.fromJson( |
| json_['initialUser'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| labels: (json_['labels'] as core.Map<core.String, core.dynamic>?)?.map( |
| (key, value) => core.MapEntry(key, value as core.String), |
| ), |
| primaryInstanceSettings: json_.containsKey('primaryInstanceSettings') |
| ? PrimaryInstanceSettings.fromJson( |
| json_['primaryInstanceSettings'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| vpcNetwork: json_['vpcNetwork'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final databaseVersion = this.databaseVersion; |
| final encryptionConfig = this.encryptionConfig; |
| final initialUser = this.initialUser; |
| final labels = this.labels; |
| final primaryInstanceSettings = this.primaryInstanceSettings; |
| final vpcNetwork = this.vpcNetwork; |
| return { |
| 'databaseVersion': ?databaseVersion, |
| 'encryptionConfig': ?encryptionConfig, |
| 'initialUser': ?initialUser, |
| 'labels': ?labels, |
| 'primaryInstanceSettings': ?primaryInstanceSettings, |
| 'vpcNetwork': ?vpcNetwork, |
| }; |
| } |
| } |
| |
| /// Request message for 'ApplyConversionWorkspace' request. |
| class ApplyConversionWorkspaceRequest { |
| /// Specifies whether the conversion workspace is to be committed |
| /// automatically after the apply. |
| /// |
| /// Optional. |
| core.bool? autoCommit; |
| |
| /// Fully qualified (Uri) name of the destination connection profile. |
| /// |
| /// Optional. |
| core.String? connectionProfile; |
| |
| /// Only validates the apply process, but doesn't change the destination |
| /// database. |
| /// |
| /// Only works for PostgreSQL destination connection profile. |
| /// |
| /// Optional. |
| core.bool? dryRun; |
| |
| /// Filter which entities to apply. |
| /// |
| /// Leaving this field empty will apply all of the entities. Supports Google |
| /// AIP 160 based filtering. |
| /// |
| /// Optional. |
| core.String? filter; |
| |
| ApplyConversionWorkspaceRequest({ |
| this.autoCommit, |
| this.connectionProfile, |
| this.dryRun, |
| this.filter, |
| }); |
| |
| ApplyConversionWorkspaceRequest.fromJson(core.Map json_) |
| : this( |
| autoCommit: json_['autoCommit'] as core.bool?, |
| connectionProfile: json_['connectionProfile'] as core.String?, |
| dryRun: json_['dryRun'] as core.bool?, |
| filter: json_['filter'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final autoCommit = this.autoCommit; |
| final connectionProfile = this.connectionProfile; |
| final dryRun = this.dryRun; |
| final filter = this.filter; |
| return { |
| 'autoCommit': ?autoCommit, |
| 'connectionProfile': ?connectionProfile, |
| 'dryRun': ?dryRun, |
| 'filter': ?filter, |
| }; |
| } |
| } |
| |
| /// Apply a hash function on the value. |
| class ApplyHash { |
| /// Generate UUID from the data's byte array |
| /// |
| /// Optional. |
| Empty? uuidFromBytes; |
| |
| ApplyHash({this.uuidFromBytes}); |
| |
| ApplyHash.fromJson(core.Map json_) |
| : this( |
| uuidFromBytes: json_.containsKey('uuidFromBytes') |
| ? Empty.fromJson( |
| json_['uuidFromBytes'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final uuidFromBytes = this.uuidFromBytes; |
| return {'uuidFromBytes': ?uuidFromBytes}; |
| } |
| } |
| |
| /// Details regarding an Apply background job. |
| class ApplyJobDetails { |
| /// The connection profile which was used for the apply job. |
| /// |
| /// Output only. |
| core.String? connectionProfile; |
| |
| /// AIP-160 based filter used to specify the entities to apply |
| /// |
| /// Output only. |
| core.String? filter; |
| |
| ApplyJobDetails({this.connectionProfile, this.filter}); |
| |
| ApplyJobDetails.fromJson(core.Map json_) |
| : this( |
| connectionProfile: json_['connectionProfile'] as core.String?, |
| filter: json_['filter'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final connectionProfile = this.connectionProfile; |
| final filter = this.filter; |
| return {'connectionProfile': ?connectionProfile, 'filter': ?filter}; |
| } |
| } |
| |
| /// Set to a specific value (value is converted to fit the target data type) |
| class AssignSpecificValue { |
| /// Specific value to be assigned |
| /// |
| /// Required. |
| core.String? value; |
| |
| AssignSpecificValue({this.value}); |
| |
| AssignSpecificValue.fromJson(core.Map json_) |
| : this(value: json_['value'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final value = this.value; |
| return {'value': ?value}; |
| } |
| } |
| |
| /// Specifies the audit configuration for a service. |
| /// |
| /// The configuration determines which permission types are logged, and what |
| /// identities, if any, are exempted from logging. An AuditConfig must have one |
| /// or more AuditLogConfigs. If there are AuditConfigs for both `allServices` |
| /// and a specific service, the union of the two AuditConfigs is used for that |
| /// service: the log_types specified in each AuditConfig are enabled, and the |
| /// exempted_members in each AuditLogConfig are exempted. Example Policy with |
| /// multiple AuditConfigs: { "audit_configs": \[ { "service": "allServices", |
| /// "audit_log_configs": \[ { "log_type": "DATA_READ", "exempted_members": \[ |
| /// "user:jose@example.com" \] }, { "log_type": "DATA_WRITE" }, { "log_type": |
| /// "ADMIN_READ" } \] }, { "service": "sampleservice.googleapis.com", |
| /// "audit_log_configs": \[ { "log_type": "DATA_READ" }, { "log_type": |
| /// "DATA_WRITE", "exempted_members": \[ "user:aliya@example.com" \] } \] } \] } |
| /// For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ |
| /// logging. It also exempts `jose@example.com` from DATA_READ logging, and |
| /// `aliya@example.com` from DATA_WRITE logging. |
| class AuditConfig { |
| /// The configuration for logging of each type of permission. |
| core.List<AuditLogConfig>? auditLogConfigs; |
| |
| /// Specifies a service that will be enabled for audit logging. |
| /// |
| /// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. |
| /// `allServices` is a special value that covers all services. |
| core.String? service; |
| |
| AuditConfig({this.auditLogConfigs, this.service}); |
| |
| AuditConfig.fromJson(core.Map json_) |
| : this( |
| auditLogConfigs: (json_['auditLogConfigs'] as core.List?) |
| ?.map( |
| (value) => AuditLogConfig.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| service: json_['service'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final auditLogConfigs = this.auditLogConfigs; |
| final service = this.service; |
| return {'auditLogConfigs': ?auditLogConfigs, 'service': ?service}; |
| } |
| } |
| |
| /// Provides the configuration for logging a type of permissions. |
| /// |
| /// Example: { "audit_log_configs": \[ { "log_type": "DATA_READ", |
| /// "exempted_members": \[ "user:jose@example.com" \] }, { "log_type": |
| /// "DATA_WRITE" } \] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while |
| /// exempting jose@example.com from DATA_READ logging. |
| typedef AuditLogConfig = $AuditLogConfig; |
| |
| /// AuthorizedNetwork contains metadata for an authorized network. |
| class AuthorizedNetwork { |
| /// CIDR range for one authorzied network of the instance. |
| /// |
| /// Optional. |
| core.String? cidrRange; |
| |
| AuthorizedNetwork({this.cidrRange}); |
| |
| AuthorizedNetwork.fromJson(core.Map json_) |
| : this(cidrRange: json_['cidrRange'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final cidrRange = this.cidrRange; |
| return {'cidrRange': ?cidrRange}; |
| } |
| } |
| |
| /// Execution log of a background job. |
| class BackgroundJobLogEntry { |
| /// Apply job details. |
| /// |
| /// Output only. |
| ApplyJobDetails? applyJobDetails; |
| |
| /// Job completion comment, such as how many entities were seeded, how many |
| /// warnings were found during conversion, and similar information. |
| /// |
| /// Output only. |
| core.String? completionComment; |
| |
| /// Job completion state, i.e. the final state after the job completed. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "JOB_COMPLETION_STATE_UNSPECIFIED" : The status is not specified. This |
| /// state is used when job is not yet finished. |
| /// - "SUCCEEDED" : Success. |
| /// - "FAILED" : Error. |
| core.String? completionState; |
| |
| /// Convert job details. |
| /// |
| /// Output only. |
| ConvertJobDetails? convertJobDetails; |
| |
| /// The timestamp when the background job was finished. |
| core.String? finishTime; |
| |
| /// The background job log entry ID. |
| core.String? id; |
| |
| /// Import rules job details. |
| /// |
| /// Output only. |
| ImportRulesJobDetails? importRulesJobDetails; |
| |
| /// The type of job that was executed. |
| /// Possible string values are: |
| /// - "BACKGROUND_JOB_TYPE_UNSPECIFIED" : Unspecified background job type. |
| /// - "BACKGROUND_JOB_TYPE_SOURCE_SEED" : Job to seed from the source |
| /// database. |
| /// - "BACKGROUND_JOB_TYPE_CONVERT" : Job to convert the source database into |
| /// a draft of the destination database. |
| /// - "BACKGROUND_JOB_TYPE_APPLY_DESTINATION" : Job to apply the draft tree |
| /// onto the destination. |
| /// - "BACKGROUND_JOB_TYPE_IMPORT_RULES_FILE" : Job to import and convert |
| /// mapping rules from an external source such as an ora2pg config file. |
| core.String? jobType; |
| |
| /// Whether the client requested the conversion workspace to be committed |
| /// after a successful completion of the job. |
| /// |
| /// Output only. |
| core.bool? requestAutocommit; |
| |
| /// Seed job details. |
| /// |
| /// Output only. |
| SeedJobDetails? seedJobDetails; |
| |
| /// The timestamp when the background job was started. |
| core.String? startTime; |
| |
| BackgroundJobLogEntry({ |
| this.applyJobDetails, |
| this.completionComment, |
| this.completionState, |
| this.convertJobDetails, |
| this.finishTime, |
| this.id, |
| this.importRulesJobDetails, |
| this.jobType, |
| this.requestAutocommit, |
| this.seedJobDetails, |
| this.startTime, |
| }); |
| |
| BackgroundJobLogEntry.fromJson(core.Map json_) |
| : this( |
| applyJobDetails: json_.containsKey('applyJobDetails') |
| ? ApplyJobDetails.fromJson( |
| json_['applyJobDetails'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| completionComment: json_['completionComment'] as core.String?, |
| completionState: json_['completionState'] as core.String?, |
| convertJobDetails: json_.containsKey('convertJobDetails') |
| ? ConvertJobDetails.fromJson( |
| json_['convertJobDetails'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| finishTime: json_['finishTime'] as core.String?, |
| id: json_['id'] as core.String?, |
| importRulesJobDetails: json_.containsKey('importRulesJobDetails') |
| ? ImportRulesJobDetails.fromJson( |
| json_['importRulesJobDetails'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| jobType: json_['jobType'] as core.String?, |
| requestAutocommit: json_['requestAutocommit'] as core.bool?, |
| seedJobDetails: json_.containsKey('seedJobDetails') |
| ? SeedJobDetails.fromJson( |
| json_['seedJobDetails'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| startTime: json_['startTime'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final applyJobDetails = this.applyJobDetails; |
| final completionComment = this.completionComment; |
| final completionState = this.completionState; |
| final convertJobDetails = this.convertJobDetails; |
| final finishTime = this.finishTime; |
| final id = this.id; |
| final importRulesJobDetails = this.importRulesJobDetails; |
| final jobType = this.jobType; |
| final requestAutocommit = this.requestAutocommit; |
| final seedJobDetails = this.seedJobDetails; |
| final startTime = this.startTime; |
| return { |
| 'applyJobDetails': ?applyJobDetails, |
| 'completionComment': ?completionComment, |
| 'completionState': ?completionState, |
| 'convertJobDetails': ?convertJobDetails, |
| 'finishTime': ?finishTime, |
| 'id': ?id, |
| 'importRulesJobDetails': ?importRulesJobDetails, |
| 'jobType': ?jobType, |
| 'requestAutocommit': ?requestAutocommit, |
| 'seedJobDetails': ?seedJobDetails, |
| 'startTime': ?startTime, |
| }; |
| } |
| } |
| |
| /// Configuration to use Binary Log Parser CDC technique. |
| class BinaryLogParser { |
| /// Use Oracle directories. |
| LogFileDirectories? logFileDirectories; |
| |
| /// Use Oracle ASM. |
| OracleAsmLogFileAccess? oracleAsmLogFileAccess; |
| |
| BinaryLogParser({this.logFileDirectories, this.oracleAsmLogFileAccess}); |
| |
| BinaryLogParser.fromJson(core.Map json_) |
| : this( |
| logFileDirectories: json_.containsKey('logFileDirectories') |
| ? LogFileDirectories.fromJson( |
| json_['logFileDirectories'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| oracleAsmLogFileAccess: json_.containsKey('oracleAsmLogFileAccess') |
| ? OracleAsmLogFileAccess.fromJson( |
| json_['oracleAsmLogFileAccess'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final logFileDirectories = this.logFileDirectories; |
| final oracleAsmLogFileAccess = this.oracleAsmLogFileAccess; |
| return { |
| 'logFileDirectories': ?logFileDirectories, |
| 'oracleAsmLogFileAccess': ?oracleAsmLogFileAccess, |
| }; |
| } |
| } |
| |
| /// Associates `members`, or principals, with a `role`. |
| class Binding { |
| /// 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). |
| Expr? condition; |
| |
| /// 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`. |
| core.List<core.String>? members; |
| |
| /// 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). |
| core.String? role; |
| |
| Binding({this.condition, this.members, this.role}); |
| |
| Binding.fromJson(core.Map json_) |
| : this( |
| condition: json_.containsKey('condition') |
| ? Expr.fromJson( |
| json_['condition'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| members: (json_['members'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| role: json_['role'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final condition = this.condition; |
| final members = this.members; |
| final role = this.role; |
| return {'condition': ?condition, 'members': ?members, 'role': ?role}; |
| } |
| } |
| |
| /// The request message for Operations.CancelOperation. |
| typedef CancelOperationRequest = $Empty; |
| |
| /// Specifies required connection parameters, and, optionally, the parameters |
| /// required to create a Cloud SQL destination database instance. |
| class CloudSqlConnectionProfile { |
| /// The Cloud SQL database instance's additional (outgoing) public IP. |
| /// |
| /// Used when the Cloud SQL database availability type is REGIONAL (i.e. |
| /// multiple zones / highly available). |
| /// |
| /// Output only. |
| core.String? additionalPublicIp; |
| |
| /// The Cloud SQL instance ID that this connection profile is associated with. |
| /// |
| /// Output only. |
| core.String? cloudSqlId; |
| |
| /// The Cloud SQL database instance's private IP. |
| /// |
| /// Output only. |
| core.String? privateIp; |
| |
| /// The Cloud SQL database instance's public IP. |
| /// |
| /// Output only. |
| core.String? publicIp; |
| |
| /// Metadata used to create the destination Cloud SQL database. |
| /// |
| /// Immutable. |
| CloudSqlSettings? settings; |
| |
| CloudSqlConnectionProfile({ |
| this.additionalPublicIp, |
| this.cloudSqlId, |
| this.privateIp, |
| this.publicIp, |
| this.settings, |
| }); |
| |
| CloudSqlConnectionProfile.fromJson(core.Map json_) |
| : this( |
| additionalPublicIp: json_['additionalPublicIp'] as core.String?, |
| cloudSqlId: json_['cloudSqlId'] as core.String?, |
| privateIp: json_['privateIp'] as core.String?, |
| publicIp: json_['publicIp'] as core.String?, |
| settings: json_.containsKey('settings') |
| ? CloudSqlSettings.fromJson( |
| json_['settings'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final additionalPublicIp = this.additionalPublicIp; |
| final cloudSqlId = this.cloudSqlId; |
| final privateIp = this.privateIp; |
| final publicIp = this.publicIp; |
| final settings = this.settings; |
| return { |
| 'additionalPublicIp': ?additionalPublicIp, |
| 'cloudSqlId': ?cloudSqlId, |
| 'privateIp': ?privateIp, |
| 'publicIp': ?publicIp, |
| 'settings': ?settings, |
| }; |
| } |
| } |
| |
| /// Settings for creating a Cloud SQL database instance. |
| class CloudSqlSettings { |
| /// The activation policy specifies when the instance is activated; it is |
| /// applicable only when the instance state is 'RUNNABLE'. |
| /// |
| /// Valid values: 'ALWAYS': The instance is on, and remains so even in the |
| /// absence of connection requests. `NEVER`: The instance is off; it is not |
| /// activated, even if a connection request arrives. |
| /// Possible string values are: |
| /// - "SQL_ACTIVATION_POLICY_UNSPECIFIED" : unspecified policy. |
| /// - "ALWAYS" : The instance is always up and running. |
| /// - "NEVER" : The instance should never spin up. |
| core.String? activationPolicy; |
| |
| /// \[default: ON\] If you enable this setting, Cloud SQL checks your |
| /// available storage every 30 seconds. |
| /// |
| /// If the available storage falls below a threshold size, Cloud SQL |
| /// automatically adds additional storage capacity. If the available storage |
| /// repeatedly falls below the threshold size, Cloud SQL continues to add |
| /// storage until it reaches the maximum of 30 TB. |
| core.bool? autoStorageIncrease; |
| |
| /// 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). |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "SQL_AVAILABILITY_TYPE_UNSPECIFIED" : This is an unknown Availability |
| /// type. |
| /// - "ZONAL" : Zonal availablility instance. |
| /// - "REGIONAL" : Regional availability instance. |
| core.String? availabilityType; |
| |
| /// The KMS key name used for the csql instance. |
| core.String? cmekKeyName; |
| |
| /// The Cloud SQL default instance level collation. |
| core.String? collation; |
| |
| /// 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. |
| /// |
| /// Optional. |
| DataCacheConfig? dataCacheConfig; |
| |
| /// Provisioned number of I/O operations per second for the data disk. |
| /// |
| /// This field is only used for hyperdisk-balanced disk types. |
| /// |
| /// Optional. |
| core.String? dataDiskProvisionedIops; |
| |
| /// Provisioned throughput measured in MiB per second for the data disk. |
| /// |
| /// This field is only used for hyperdisk-balanced disk types. |
| /// |
| /// Optional. |
| core.String? dataDiskProvisionedThroughput; |
| |
| /// The storage capacity available to the database, in GB. |
| /// |
| /// The minimum (and default) size is 10GB. |
| core.String? dataDiskSizeGb; |
| |
| /// The type of storage: `PD_SSD` (default) or `PD_HDD` or |
| /// `HYPERDISK_BALANCED`. |
| /// Possible string values are: |
| /// - "SQL_DATA_DISK_TYPE_UNSPECIFIED" : Unspecified. |
| /// - "PD_SSD" : SSD disk. |
| /// - "PD_HDD" : HDD disk. |
| /// - "HYPERDISK_BALANCED" : A Hyperdisk Balanced data disk. |
| core.String? dataDiskType; |
| |
| /// 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" }. |
| core.Map<core.String, core.String>? databaseFlags; |
| |
| /// The database engine type and version. |
| /// |
| /// Deprecated. Use database_version_name instead. |
| /// Possible string values are: |
| /// - "SQL_DATABASE_VERSION_UNSPECIFIED" : Unspecified version. |
| /// - "MYSQL_5_6" : MySQL 5.6. |
| /// - "MYSQL_5_7" : MySQL 5.7. |
| /// - "MYSQL_8_0" : MySQL 8.0. |
| /// - "MYSQL_8_0_18" : The database major version is MySQL 8.0 and the minor |
| /// version is 18. |
| /// - "MYSQL_8_0_26" : The database major version is MySQL 8.0 and the minor |
| /// version is 26. |
| /// - "MYSQL_8_0_27" : The database major version is MySQL 8.0 and the minor |
| /// version is 27. |
| /// - "MYSQL_8_0_28" : The database major version is MySQL 8.0 and the minor |
| /// version is 28. |
| /// - "MYSQL_8_0_30" : The database major version is MySQL 8.0 and the minor |
| /// version is 30. |
| /// - "MYSQL_8_0_31" : The database major version is MySQL 8.0 and the minor |
| /// version is 31. |
| /// - "MYSQL_8_0_32" : The database major version is MySQL 8.0 and the minor |
| /// version is 32. |
| /// - "MYSQL_8_0_33" : The database major version is MySQL 8.0 and the minor |
| /// version is 33. |
| /// - "MYSQL_8_0_34" : The database major version is MySQL 8.0 and the minor |
| /// version is 34. |
| /// - "MYSQL_8_0_35" : The database major version is MySQL 8.0 and the minor |
| /// version is 35. |
| /// - "MYSQL_8_0_36" : The database major version is MySQL 8.0 and the minor |
| /// version is 36. |
| /// - "MYSQL_8_0_37" : The database major version is MySQL 8.0 and the minor |
| /// version is 37. |
| /// - "MYSQL_8_4" : MySQL 8.4. |
| /// - "POSTGRES_9_6" : PostgreSQL 9.6. |
| /// - "POSTGRES_11" : PostgreSQL 11. |
| /// - "POSTGRES_10" : PostgreSQL 10. |
| /// - "POSTGRES_12" : PostgreSQL 12. |
| /// - "POSTGRES_13" : PostgreSQL 13. |
| /// - "POSTGRES_14" : PostgreSQL 14. |
| /// - "POSTGRES_15" : PostgreSQL 15. |
| /// - "POSTGRES_16" : PostgreSQL 16. |
| core.String? databaseVersion; |
| |
| /// The database engine type and version name. |
| /// |
| /// Optional. |
| core.String? databaseVersionName; |
| |
| /// The edition of the given Cloud SQL instance. |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "EDITION_UNSPECIFIED" : The instance did not specify the edition. |
| /// - "ENTERPRISE" : The instance is an enterprise edition. |
| /// - "ENTERPRISE_PLUS" : The instance is an enterprise plus edition. |
| core.String? edition; |
| |
| /// 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. |
| SqlIpConfig? ipConfig; |
| |
| /// Input only. |
| /// |
| /// Initial root password. |
| core.String? rootPassword; |
| |
| /// Indicates If this connection profile root password is stored. |
| /// |
| /// Output only. |
| core.bool? rootPasswordSet; |
| |
| /// The Google Cloud Platform zone where the failover Cloud SQL database |
| /// instance is located. |
| /// |
| /// Used when the Cloud SQL database availability type is REGIONAL (i.e. |
| /// multiple zones / highly available). |
| /// |
| /// Optional. |
| core.String? secondaryZone; |
| |
| /// The Database Migration Service source connection profile ID, in the |
| /// format: |
| /// `projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID` |
| core.String? sourceId; |
| |
| /// The maximum size to which storage capacity can be automatically increased. |
| /// |
| /// The default value is 0, which specifies that there is no limit. |
| core.String? storageAutoResizeLimit; |
| |
| /// The tier (or machine type) for this instance, for example: |
| /// `db-n1-standard-1` (MySQL instances) or `db-custom-1-3840` (PostgreSQL |
| /// instances). |
| /// |
| /// For more information, see |
| /// [Cloud SQL Instance Settings](https://cloud.google.com/sql/docs/mysql/instance-settings). |
| core.String? tier; |
| |
| /// The resource labels for a Cloud SQL instance to use to annotate any |
| /// related underlying resources such as Compute Engine VMs. |
| /// |
| /// An object containing a list of "key": "value" pairs. Example: `{ "name": |
| /// "wrench", "mass": "18kg", "count": "3" }`. |
| core.Map<core.String, core.String>? userLabels; |
| |
| /// The Google Cloud Platform zone where your Cloud SQL database instance is |
| /// located. |
| core.String? zone; |
| |
| CloudSqlSettings({ |
| this.activationPolicy, |
| this.autoStorageIncrease, |
| this.availabilityType, |
| this.cmekKeyName, |
| this.collation, |
| this.dataCacheConfig, |
| this.dataDiskProvisionedIops, |
| this.dataDiskProvisionedThroughput, |
| this.dataDiskSizeGb, |
| this.dataDiskType, |
| this.databaseFlags, |
| this.databaseVersion, |
| this.databaseVersionName, |
| this.edition, |
| this.ipConfig, |
| this.rootPassword, |
| this.rootPasswordSet, |
| this.secondaryZone, |
| this.sourceId, |
| this.storageAutoResizeLimit, |
| this.tier, |
| this.userLabels, |
| this.zone, |
| }); |
| |
| CloudSqlSettings.fromJson(core.Map json_) |
| : this( |
| activationPolicy: json_['activationPolicy'] as core.String?, |
| autoStorageIncrease: json_['autoStorageIncrease'] as core.bool?, |
| availabilityType: json_['availabilityType'] as core.String?, |
| cmekKeyName: json_['cmekKeyName'] as core.String?, |
| collation: json_['collation'] as core.String?, |
| dataCacheConfig: json_.containsKey('dataCacheConfig') |
| ? DataCacheConfig.fromJson( |
| json_['dataCacheConfig'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| dataDiskProvisionedIops: |
| json_['dataDiskProvisionedIops'] as core.String?, |
| dataDiskProvisionedThroughput: |
| json_['dataDiskProvisionedThroughput'] as core.String?, |
| dataDiskSizeGb: json_['dataDiskSizeGb'] as core.String?, |
| dataDiskType: json_['dataDiskType'] as core.String?, |
| databaseFlags: |
| (json_['databaseFlags'] as core.Map<core.String, core.dynamic>?) |
| ?.map((key, value) => core.MapEntry(key, value as core.String)), |
| databaseVersion: json_['databaseVersion'] as core.String?, |
| databaseVersionName: json_['databaseVersionName'] as core.String?, |
| edition: json_['edition'] as core.String?, |
| ipConfig: json_.containsKey('ipConfig') |
| ? SqlIpConfig.fromJson( |
| json_['ipConfig'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| rootPassword: json_['rootPassword'] as core.String?, |
| rootPasswordSet: json_['rootPasswordSet'] as core.bool?, |
| secondaryZone: json_['secondaryZone'] as core.String?, |
| sourceId: json_['sourceId'] as core.String?, |
| storageAutoResizeLimit: json_['storageAutoResizeLimit'] as core.String?, |
| tier: json_['tier'] as core.String?, |
| userLabels: |
| (json_['userLabels'] as core.Map<core.String, core.dynamic>?)?.map( |
| (key, value) => core.MapEntry(key, value as core.String), |
| ), |
| zone: json_['zone'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final activationPolicy = this.activationPolicy; |
| final autoStorageIncrease = this.autoStorageIncrease; |
| final availabilityType = this.availabilityType; |
| final cmekKeyName = this.cmekKeyName; |
| final collation = this.collation; |
| final dataCacheConfig = this.dataCacheConfig; |
| final dataDiskProvisionedIops = this.dataDiskProvisionedIops; |
| final dataDiskProvisionedThroughput = this.dataDiskProvisionedThroughput; |
| final dataDiskSizeGb = this.dataDiskSizeGb; |
| final dataDiskType = this.dataDiskType; |
| final databaseFlags = this.databaseFlags; |
| final databaseVersion = this.databaseVersion; |
| final databaseVersionName = this.databaseVersionName; |
| final edition = this.edition; |
| final ipConfig = this.ipConfig; |
| final rootPassword = this.rootPassword; |
| final rootPasswordSet = this.rootPasswordSet; |
| final secondaryZone = this.secondaryZone; |
| final sourceId = this.sourceId; |
| final storageAutoResizeLimit = this.storageAutoResizeLimit; |
| final tier = this.tier; |
| final userLabels = this.userLabels; |
| final zone = this.zone; |
| return { |
| 'activationPolicy': ?activationPolicy, |
| 'autoStorageIncrease': ?autoStorageIncrease, |
| 'availabilityType': ?availabilityType, |
| 'cmekKeyName': ?cmekKeyName, |
| 'collation': ?collation, |
| 'dataCacheConfig': ?dataCacheConfig, |
| 'dataDiskProvisionedIops': ?dataDiskProvisionedIops, |
| 'dataDiskProvisionedThroughput': ?dataDiskProvisionedThroughput, |
| 'dataDiskSizeGb': ?dataDiskSizeGb, |
| 'dataDiskType': ?dataDiskType, |
| 'databaseFlags': ?databaseFlags, |
| 'databaseVersion': ?databaseVersion, |
| 'databaseVersionName': ?databaseVersionName, |
| 'edition': ?edition, |
| 'ipConfig': ?ipConfig, |
| 'rootPassword': ?rootPassword, |
| 'rootPasswordSet': ?rootPasswordSet, |
| 'secondaryZone': ?secondaryZone, |
| 'sourceId': ?sourceId, |
| 'storageAutoResizeLimit': ?storageAutoResizeLimit, |
| 'tier': ?tier, |
| 'userLabels': ?userLabels, |
| 'zone': ?zone, |
| }; |
| } |
| } |
| |
| /// Column is not used as an independent entity, it is retrieved as part of a |
| /// Table entity. |
| class ColumnEntity { |
| /// Is the column of array type. |
| core.bool? array; |
| |
| /// If the column is array, of which length. |
| core.int? arrayLength; |
| |
| /// Is the column auto-generated/identity. |
| core.bool? autoGenerated; |
| |
| /// Charset override - instead of table level charset. |
| core.String? charset; |
| |
| /// Collation override - instead of table level collation. |
| core.String? collation; |
| |
| /// Comment associated with the column. |
| core.String? comment; |
| |
| /// Is the column a computed column. |
| core.bool? computed; |
| |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// Column data type. |
| core.String? dataType; |
| |
| /// Default value of the column. |
| core.String? defaultValue; |
| |
| /// Column fractional second precision - used for timestamp based datatypes. |
| core.int? fractionalSecondsPrecision; |
| |
| /// Column length - e.g. varchar (50). |
| core.String? length; |
| |
| /// Column name. |
| core.String? name; |
| |
| /// Is the column nullable. |
| core.bool? nullable; |
| |
| /// Column order in the table. |
| core.int? ordinalPosition; |
| |
| /// Column precision - when relevant. |
| core.int? precision; |
| |
| /// Column scale - when relevant. |
| core.int? scale; |
| |
| /// Specifies the list of values allowed in the column. |
| /// |
| /// Only used for set data type. |
| core.List<core.String>? setValues; |
| |
| /// Is the column a UDT. |
| core.bool? udt; |
| |
| ColumnEntity({ |
| this.array, |
| this.arrayLength, |
| this.autoGenerated, |
| this.charset, |
| this.collation, |
| this.comment, |
| this.computed, |
| this.customFeatures, |
| this.dataType, |
| this.defaultValue, |
| this.fractionalSecondsPrecision, |
| this.length, |
| this.name, |
| this.nullable, |
| this.ordinalPosition, |
| this.precision, |
| this.scale, |
| this.setValues, |
| this.udt, |
| }); |
| |
| ColumnEntity.fromJson(core.Map json_) |
| : this( |
| array: json_['array'] as core.bool?, |
| arrayLength: json_['arrayLength'] as core.int?, |
| autoGenerated: json_['autoGenerated'] as core.bool?, |
| charset: json_['charset'] as core.String?, |
| collation: json_['collation'] as core.String?, |
| comment: json_['comment'] as core.String?, |
| computed: json_['computed'] as core.bool?, |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| dataType: json_['dataType'] as core.String?, |
| defaultValue: json_['defaultValue'] as core.String?, |
| fractionalSecondsPrecision: |
| json_['fractionalSecondsPrecision'] as core.int?, |
| length: json_['length'] as core.String?, |
| name: json_['name'] as core.String?, |
| nullable: json_['nullable'] as core.bool?, |
| ordinalPosition: json_['ordinalPosition'] as core.int?, |
| precision: json_['precision'] as core.int?, |
| scale: json_['scale'] as core.int?, |
| setValues: (json_['setValues'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| udt: json_['udt'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final array = this.array; |
| final arrayLength = this.arrayLength; |
| final autoGenerated = this.autoGenerated; |
| final charset = this.charset; |
| final collation = this.collation; |
| final comment = this.comment; |
| final computed = this.computed; |
| final customFeatures = this.customFeatures; |
| final dataType = this.dataType; |
| final defaultValue = this.defaultValue; |
| final fractionalSecondsPrecision = this.fractionalSecondsPrecision; |
| final length = this.length; |
| final name = this.name; |
| final nullable = this.nullable; |
| final ordinalPosition = this.ordinalPosition; |
| final precision = this.precision; |
| final scale = this.scale; |
| final setValues = this.setValues; |
| final udt = this.udt; |
| return { |
| 'array': ?array, |
| 'arrayLength': ?arrayLength, |
| 'autoGenerated': ?autoGenerated, |
| 'charset': ?charset, |
| 'collation': ?collation, |
| 'comment': ?comment, |
| 'computed': ?computed, |
| 'customFeatures': ?customFeatures, |
| 'dataType': ?dataType, |
| 'defaultValue': ?defaultValue, |
| 'fractionalSecondsPrecision': ?fractionalSecondsPrecision, |
| 'length': ?length, |
| 'name': ?name, |
| 'nullable': ?nullable, |
| 'ordinalPosition': ?ordinalPosition, |
| 'precision': ?precision, |
| 'scale': ?scale, |
| 'setValues': ?setValues, |
| 'udt': ?udt, |
| }; |
| } |
| } |
| |
| /// Request message for 'CommitConversionWorkspace' request. |
| class CommitConversionWorkspaceRequest { |
| /// Optional name of the commit. |
| /// |
| /// Optional. |
| core.String? commitName; |
| |
| CommitConversionWorkspaceRequest({this.commitName}); |
| |
| CommitConversionWorkspaceRequest.fromJson(core.Map json_) |
| : this(commitName: json_['commitName'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final commitName = this.commitName; |
| return {'commitName': ?commitName}; |
| } |
| } |
| |
| /// 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. |
| class ConditionalColumnSetValue { |
| /// Custom engine specific features. |
| /// |
| /// Optional. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// Optional filter on source column precision and scale. |
| /// |
| /// Used for fixed point numbers such as NUMERIC/NUMBER data types. |
| /// |
| /// Optional. |
| SourceNumericFilter? sourceNumericFilter; |
| |
| /// Optional filter on source column length. |
| /// |
| /// Used for text based data types like varchar. |
| /// |
| /// Optional. |
| SourceTextFilter? sourceTextFilter; |
| |
| /// Description of data transformation during migration. |
| /// |
| /// Required. |
| ValueTransformation? valueTransformation; |
| |
| ConditionalColumnSetValue({ |
| this.customFeatures, |
| this.sourceNumericFilter, |
| this.sourceTextFilter, |
| this.valueTransformation, |
| }); |
| |
| ConditionalColumnSetValue.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| sourceNumericFilter: json_.containsKey('sourceNumericFilter') |
| ? SourceNumericFilter.fromJson( |
| json_['sourceNumericFilter'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| sourceTextFilter: json_.containsKey('sourceTextFilter') |
| ? SourceTextFilter.fromJson( |
| json_['sourceTextFilter'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| valueTransformation: json_.containsKey('valueTransformation') |
| ? ValueTransformation.fromJson( |
| json_['valueTransformation'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final sourceNumericFilter = this.sourceNumericFilter; |
| final sourceTextFilter = this.sourceTextFilter; |
| final valueTransformation = this.valueTransformation; |
| return { |
| 'customFeatures': ?customFeatures, |
| 'sourceNumericFilter': ?sourceNumericFilter, |
| 'sourceTextFilter': ?sourceTextFilter, |
| 'valueTransformation': ?valueTransformation, |
| }; |
| } |
| } |
| |
| /// A connection profile definition. |
| class ConnectionProfile { |
| /// An AlloyDB cluster connection profile. |
| AlloyDbConnectionProfile? alloydb; |
| |
| /// A CloudSQL database connection profile. |
| CloudSqlConnectionProfile? cloudsql; |
| |
| /// The timestamp when the resource was created. |
| /// |
| /// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. |
| /// Example: "2014-10-02T15:01:23.045123456Z". |
| /// |
| /// Output only. |
| core.String? createTime; |
| |
| /// The connection profile display name. |
| core.String? displayName; |
| |
| /// The error details in case of state FAILED. |
| /// |
| /// Output only. |
| Status? error; |
| |
| /// The resource labels for connection profile to use to annotate any related |
| /// underlying resources such as Compute Engine VMs. |
| /// |
| /// An object containing a list of "key": "value" pairs. Example: `{ "name": |
| /// "wrench", "mass": "1.3kg", "count": "3" }`. |
| core.Map<core.String, core.String>? labels; |
| |
| /// A MySQL database connection profile. |
| MySqlConnectionProfile? mysql; |
| |
| /// The name of this connection profile resource in the form of |
| /// projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}. |
| core.String? name; |
| |
| /// An Oracle database connection profile. |
| OracleConnectionProfile? oracle; |
| |
| /// A PostgreSQL database connection profile. |
| PostgreSqlConnectionProfile? postgresql; |
| |
| /// The database provider. |
| /// Possible string values are: |
| /// - "DATABASE_PROVIDER_UNSPECIFIED" : Use this value for on-premise source |
| /// database instances and ORACLE. |
| /// - "CLOUDSQL" : Cloud SQL is the source instance provider. |
| /// - "RDS" : Amazon RDS is the source instance provider. |
| /// - "AURORA" : Amazon Aurora is the source instance provider. |
| /// - "ALLOYDB" : AlloyDB for PostgreSQL is the source instance provider. |
| /// - "AZURE_DATABASE" : Microsoft Azure Database for MySQL/PostgreSQL. |
| core.String? provider; |
| |
| /// The connection profile role. |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "ROLE_UNSPECIFIED" : The role is unspecified. |
| /// - "SOURCE" : The role is source. |
| /// - "DESTINATION" : The role is destination. |
| core.String? role; |
| |
| /// Reserved for future use. |
| /// |
| /// Output only. |
| core.bool? satisfiesPzi; |
| |
| /// Reserved for future use. |
| /// |
| /// Output only. |
| core.bool? satisfiesPzs; |
| |
| /// Connection profile for a SQL Server data source. |
| SqlServerConnectionProfile? sqlserver; |
| |
| /// The current connection profile state (e.g. DRAFT, READY, or FAILED). |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : The state of the connection profile is unknown. |
| /// - "DRAFT" : The connection profile is in draft mode and fully editable. |
| /// - "CREATING" : The connection profile is being created. |
| /// - "READY" : The connection profile is ready. |
| /// - "UPDATING" : The connection profile is being updated. |
| /// - "DELETING" : The connection profile is being deleted. |
| /// - "DELETED" : The connection profile has been deleted. |
| /// - "FAILED" : The last action on the connection profile failed. |
| core.String? state; |
| |
| /// The timestamp when the resource was last updated. |
| /// |
| /// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. |
| /// Example: "2014-10-02T15:01:23.045123456Z". |
| /// |
| /// Output only. |
| core.String? updateTime; |
| |
| ConnectionProfile({ |
| this.alloydb, |
| this.cloudsql, |
| this.createTime, |
| this.displayName, |
| this.error, |
| this.labels, |
| this.mysql, |
| this.name, |
| this.oracle, |
| this.postgresql, |
| this.provider, |
| this.role, |
| this.satisfiesPzi, |
| this.satisfiesPzs, |
| this.sqlserver, |
| this.state, |
| this.updateTime, |
| }); |
| |
| ConnectionProfile.fromJson(core.Map json_) |
| : this( |
| alloydb: json_.containsKey('alloydb') |
| ? AlloyDbConnectionProfile.fromJson( |
| json_['alloydb'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| cloudsql: json_.containsKey('cloudsql') |
| ? CloudSqlConnectionProfile.fromJson( |
| json_['cloudsql'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| createTime: json_['createTime'] as core.String?, |
| displayName: json_['displayName'] as core.String?, |
| error: json_.containsKey('error') |
| ? Status.fromJson( |
| json_['error'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| labels: (json_['labels'] as core.Map<core.String, core.dynamic>?)?.map( |
| (key, value) => core.MapEntry(key, value as core.String), |
| ), |
| mysql: json_.containsKey('mysql') |
| ? MySqlConnectionProfile.fromJson( |
| json_['mysql'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| name: json_['name'] as core.String?, |
| oracle: json_.containsKey('oracle') |
| ? OracleConnectionProfile.fromJson( |
| json_['oracle'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| postgresql: json_.containsKey('postgresql') |
| ? PostgreSqlConnectionProfile.fromJson( |
| json_['postgresql'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| provider: json_['provider'] as core.String?, |
| role: json_['role'] as core.String?, |
| satisfiesPzi: json_['satisfiesPzi'] as core.bool?, |
| satisfiesPzs: json_['satisfiesPzs'] as core.bool?, |
| sqlserver: json_.containsKey('sqlserver') |
| ? SqlServerConnectionProfile.fromJson( |
| json_['sqlserver'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| state: json_['state'] as core.String?, |
| updateTime: json_['updateTime'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final alloydb = this.alloydb; |
| final cloudsql = this.cloudsql; |
| final createTime = this.createTime; |
| final displayName = this.displayName; |
| final error = this.error; |
| final labels = this.labels; |
| final mysql = this.mysql; |
| final name = this.name; |
| final oracle = this.oracle; |
| final postgresql = this.postgresql; |
| final provider = this.provider; |
| final role = this.role; |
| final satisfiesPzi = this.satisfiesPzi; |
| final satisfiesPzs = this.satisfiesPzs; |
| final sqlserver = this.sqlserver; |
| final state = this.state; |
| final updateTime = this.updateTime; |
| return { |
| 'alloydb': ?alloydb, |
| 'cloudsql': ?cloudsql, |
| 'createTime': ?createTime, |
| 'displayName': ?displayName, |
| 'error': ?error, |
| 'labels': ?labels, |
| 'mysql': ?mysql, |
| 'name': ?name, |
| 'oracle': ?oracle, |
| 'postgresql': ?postgresql, |
| 'provider': ?provider, |
| 'role': ?role, |
| 'satisfiesPzi': ?satisfiesPzi, |
| 'satisfiesPzs': ?satisfiesPzs, |
| 'sqlserver': ?sqlserver, |
| 'state': ?state, |
| 'updateTime': ?updateTime, |
| }; |
| } |
| } |
| |
| /// Constraint is not used as an independent entity, it is retrieved as part of |
| /// another entity such as Table or View. |
| class ConstraintEntity { |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// The name of the table constraint. |
| core.String? name; |
| |
| /// 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. |
| core.List<core.String>? referenceColumns; |
| |
| /// 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. |
| core.String? referenceTable; |
| |
| /// Table columns used as part of the Constraint, for example primary key |
| /// constraint should list the columns which constitutes the key. |
| core.List<core.String>? tableColumns; |
| |
| /// 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. |
| core.String? tableName; |
| |
| /// Type of constraint, for example unique, primary key, foreign key |
| /// (currently only primary key is supported). |
| core.String? type; |
| |
| ConstraintEntity({ |
| this.customFeatures, |
| this.name, |
| this.referenceColumns, |
| this.referenceTable, |
| this.tableColumns, |
| this.tableName, |
| this.type, |
| }); |
| |
| ConstraintEntity.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| name: json_['name'] as core.String?, |
| referenceColumns: (json_['referenceColumns'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| referenceTable: json_['referenceTable'] as core.String?, |
| tableColumns: (json_['tableColumns'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| tableName: json_['tableName'] as core.String?, |
| type: json_['type'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final name = this.name; |
| final referenceColumns = this.referenceColumns; |
| final referenceTable = this.referenceTable; |
| final tableColumns = this.tableColumns; |
| final tableName = this.tableName; |
| final type = this.type; |
| return { |
| 'customFeatures': ?customFeatures, |
| 'name': ?name, |
| 'referenceColumns': ?referenceColumns, |
| 'referenceTable': ?referenceTable, |
| 'tableColumns': ?tableColumns, |
| 'tableName': ?tableName, |
| 'type': ?type, |
| }; |
| } |
| } |
| |
| /// The main conversion workspace resource entity. |
| class ConversionWorkspace { |
| /// The timestamp when the workspace resource was created. |
| /// |
| /// Output only. |
| core.String? createTime; |
| |
| /// The destination engine details. |
| /// |
| /// Required. |
| DatabaseEngineInfo? destination; |
| |
| /// The provider for the destination database. |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "DATABASE_PROVIDER_UNSPECIFIED" : Use this value for on-premise source |
| /// database instances and ORACLE. |
| /// - "CLOUDSQL" : Cloud SQL is the source instance provider. |
| /// - "RDS" : Amazon RDS is the source instance provider. |
| /// - "AURORA" : Amazon Aurora is the source instance provider. |
| /// - "ALLOYDB" : AlloyDB for PostgreSQL is the source instance provider. |
| /// - "AZURE_DATABASE" : Microsoft Azure Database for MySQL/PostgreSQL. |
| core.String? destinationProvider; |
| |
| /// The display name for the workspace. |
| /// |
| /// Optional. |
| core.String? displayName; |
| |
| /// 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 |
| /// |
| /// Optional. |
| core.Map<core.String, core.String>? globalSettings; |
| |
| /// Whether the workspace has uncommitted changes (changes which were made |
| /// after the workspace was committed). |
| /// |
| /// Output only. |
| core.bool? hasUncommittedChanges; |
| |
| /// The latest commit ID. |
| /// |
| /// Output only. |
| core.String? latestCommitId; |
| |
| /// The timestamp when the workspace was committed. |
| /// |
| /// Output only. |
| core.String? latestCommitTime; |
| |
| /// Full name of the workspace resource, in the form of: |
| /// projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. |
| core.String? name; |
| |
| /// The source engine details. |
| /// |
| /// Required. |
| DatabaseEngineInfo? source; |
| |
| /// The provider for the source database. |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "DATABASE_PROVIDER_UNSPECIFIED" : Use this value for on-premise source |
| /// database instances and ORACLE. |
| /// - "CLOUDSQL" : Cloud SQL is the source instance provider. |
| /// - "RDS" : Amazon RDS is the source instance provider. |
| /// - "AURORA" : Amazon Aurora is the source instance provider. |
| /// - "ALLOYDB" : AlloyDB for PostgreSQL is the source instance provider. |
| /// - "AZURE_DATABASE" : Microsoft Azure Database for MySQL/PostgreSQL. |
| core.String? sourceProvider; |
| |
| /// The timestamp when the workspace resource was last updated. |
| /// |
| /// Output only. |
| core.String? updateTime; |
| |
| ConversionWorkspace({ |
| this.createTime, |
| this.destination, |
| this.destinationProvider, |
| this.displayName, |
| this.globalSettings, |
| this.hasUncommittedChanges, |
| this.latestCommitId, |
| this.latestCommitTime, |
| this.name, |
| this.source, |
| this.sourceProvider, |
| this.updateTime, |
| }); |
| |
| ConversionWorkspace.fromJson(core.Map json_) |
| : this( |
| createTime: json_['createTime'] as core.String?, |
| destination: json_.containsKey('destination') |
| ? DatabaseEngineInfo.fromJson( |
| json_['destination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| destinationProvider: json_['destinationProvider'] as core.String?, |
| displayName: json_['displayName'] as core.String?, |
| globalSettings: |
| (json_['globalSettings'] as core.Map<core.String, core.dynamic>?) |
| ?.map((key, value) => core.MapEntry(key, value as core.String)), |
| hasUncommittedChanges: json_['hasUncommittedChanges'] as core.bool?, |
| latestCommitId: json_['latestCommitId'] as core.String?, |
| latestCommitTime: json_['latestCommitTime'] as core.String?, |
| name: json_['name'] as core.String?, |
| source: json_.containsKey('source') |
| ? DatabaseEngineInfo.fromJson( |
| json_['source'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| sourceProvider: json_['sourceProvider'] as core.String?, |
| updateTime: json_['updateTime'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final createTime = this.createTime; |
| final destination = this.destination; |
| final destinationProvider = this.destinationProvider; |
| final displayName = this.displayName; |
| final globalSettings = this.globalSettings; |
| final hasUncommittedChanges = this.hasUncommittedChanges; |
| final latestCommitId = this.latestCommitId; |
| final latestCommitTime = this.latestCommitTime; |
| final name = this.name; |
| final source = this.source; |
| final sourceProvider = this.sourceProvider; |
| final updateTime = this.updateTime; |
| return { |
| 'createTime': ?createTime, |
| 'destination': ?destination, |
| 'destinationProvider': ?destinationProvider, |
| 'displayName': ?displayName, |
| 'globalSettings': ?globalSettings, |
| 'hasUncommittedChanges': ?hasUncommittedChanges, |
| 'latestCommitId': ?latestCommitId, |
| 'latestCommitTime': ?latestCommitTime, |
| 'name': ?name, |
| 'source': ?source, |
| 'sourceProvider': ?sourceProvider, |
| 'updateTime': ?updateTime, |
| }; |
| } |
| } |
| |
| /// A conversion workspace's version. |
| class ConversionWorkspaceInfo { |
| /// The commit ID of the conversion workspace. |
| core.String? commitId; |
| |
| /// The resource name (URI) of the conversion workspace. |
| core.String? name; |
| |
| ConversionWorkspaceInfo({this.commitId, this.name}); |
| |
| ConversionWorkspaceInfo.fromJson(core.Map json_) |
| : this( |
| commitId: json_['commitId'] as core.String?, |
| name: json_['name'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final commitId = this.commitId; |
| final name = this.name; |
| return {'commitId': ?commitId, 'name': ?name}; |
| } |
| } |
| |
| /// Request message for 'ConvertConversionWorkspace' request. |
| class ConvertConversionWorkspaceRequest { |
| /// Specifies whether the conversion workspace is to be committed |
| /// automatically after the conversion. |
| /// |
| /// Optional. |
| core.bool? autoCommit; |
| |
| /// 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. |
| /// |
| /// Optional. |
| core.bool? convertFullPath; |
| |
| /// Filter the entities to convert. |
| /// |
| /// Leaving this field empty will convert all of the entities. Supports Google |
| /// AIP-160 style filtering. |
| /// |
| /// Optional. |
| core.String? filter; |
| |
| ConvertConversionWorkspaceRequest({ |
| this.autoCommit, |
| this.convertFullPath, |
| this.filter, |
| }); |
| |
| ConvertConversionWorkspaceRequest.fromJson(core.Map json_) |
| : this( |
| autoCommit: json_['autoCommit'] as core.bool?, |
| convertFullPath: json_['convertFullPath'] as core.bool?, |
| filter: json_['filter'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final autoCommit = this.autoCommit; |
| final convertFullPath = this.convertFullPath; |
| final filter = this.filter; |
| return { |
| 'autoCommit': ?autoCommit, |
| 'convertFullPath': ?convertFullPath, |
| 'filter': ?filter, |
| }; |
| } |
| } |
| |
| /// Details regarding a Convert background job. |
| class ConvertJobDetails { |
| /// AIP-160 based filter used to specify the entities to convert |
| /// |
| /// Output only. |
| core.String? filter; |
| |
| ConvertJobDetails({this.filter}); |
| |
| ConvertJobDetails.fromJson(core.Map json_) |
| : this(filter: json_['filter'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final filter = this.filter; |
| return {'filter': ?filter}; |
| } |
| } |
| |
| /// 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. |
| class ConvertRowIdToColumn { |
| /// Only work on tables without primary key defined |
| /// |
| /// Required. |
| core.bool? onlyIfNoPrimaryKey; |
| |
| ConvertRowIdToColumn({this.onlyIfNoPrimaryKey}); |
| |
| ConvertRowIdToColumn.fromJson(core.Map json_) |
| : this(onlyIfNoPrimaryKey: json_['onlyIfNoPrimaryKey'] as core.bool?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final onlyIfNoPrimaryKey = this.onlyIfNoPrimaryKey; |
| return {'onlyIfNoPrimaryKey': ?onlyIfNoPrimaryKey}; |
| } |
| } |
| |
| /// 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. |
| class DataCacheConfig { |
| /// Whether data cache is enabled for the instance. |
| /// |
| /// Optional. |
| core.bool? dataCacheEnabled; |
| |
| DataCacheConfig({this.dataCacheEnabled}); |
| |
| DataCacheConfig.fromJson(core.Map json_) |
| : this(dataCacheEnabled: json_['dataCacheEnabled'] as core.bool?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final dataCacheEnabled = this.dataCacheEnabled; |
| return {'dataCacheEnabled': ?dataCacheEnabled}; |
| } |
| } |
| |
| /// The type and version of a source or destination database. |
| class DatabaseEngineInfo { |
| /// Engine type. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "DATABASE_ENGINE_UNSPECIFIED" : The source database engine of the |
| /// migration job is unknown. |
| /// - "MYSQL" : The source engine is MySQL. |
| /// - "POSTGRESQL" : The source engine is PostgreSQL. |
| /// - "SQLSERVER" : The source engine is SQL Server. |
| /// - "ORACLE" : The source engine is Oracle. |
| core.String? engine; |
| |
| /// Engine version, for example "12.c.1". |
| /// |
| /// Required. |
| core.String? version; |
| |
| DatabaseEngineInfo({this.engine, this.version}); |
| |
| DatabaseEngineInfo.fromJson(core.Map json_) |
| : this( |
| engine: json_['engine'] as core.String?, |
| version: json_['version'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final engine = this.engine; |
| final version = this.version; |
| return {'engine': ?engine, 'version': ?version}; |
| } |
| } |
| |
| /// 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. |
| class DatabaseEntity { |
| /// Database. |
| DatabaseInstanceEntity? database; |
| |
| /// Function. |
| FunctionEntity? databaseFunction; |
| |
| /// Package. |
| PackageEntity? databasePackage; |
| |
| /// 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. |
| core.List<EntityDdl>? entityDdl; |
| |
| /// The type of the database entity (table, view, index, ...). |
| /// Possible string values are: |
| /// - "DATABASE_ENTITY_TYPE_UNSPECIFIED" : Unspecified database entity type. |
| /// - "DATABASE_ENTITY_TYPE_SCHEMA" : Schema. |
| /// - "DATABASE_ENTITY_TYPE_TABLE" : Table. |
| /// - "DATABASE_ENTITY_TYPE_COLUMN" : Column. |
| /// - "DATABASE_ENTITY_TYPE_CONSTRAINT" : Constraint. |
| /// - "DATABASE_ENTITY_TYPE_INDEX" : Index. |
| /// - "DATABASE_ENTITY_TYPE_TRIGGER" : Trigger. |
| /// - "DATABASE_ENTITY_TYPE_VIEW" : View. |
| /// - "DATABASE_ENTITY_TYPE_SEQUENCE" : Sequence. |
| /// - "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" : Stored Procedure. |
| /// - "DATABASE_ENTITY_TYPE_FUNCTION" : Function. |
| /// - "DATABASE_ENTITY_TYPE_SYNONYM" : Synonym. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" : Package. |
| /// - "DATABASE_ENTITY_TYPE_UDT" : UDT. |
| /// - "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" : Materialized View. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE" : Database. |
| core.String? entityType; |
| |
| /// Details about the various issues found for the entity. |
| core.List<EntityIssue>? issues; |
| |
| /// 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. |
| core.List<EntityMapping>? mappings; |
| |
| /// Materialized view. |
| MaterializedViewEntity? materializedView; |
| |
| /// The full name of the parent entity (e.g. schema name). |
| core.String? parentEntity; |
| |
| /// Schema. |
| SchemaEntity? schema; |
| |
| /// Sequence. |
| SequenceEntity? sequence; |
| |
| /// The short name (e.g. table name) of the entity. |
| core.String? shortName; |
| |
| /// Stored procedure. |
| StoredProcedureEntity? storedProcedure; |
| |
| /// Synonym. |
| SynonymEntity? synonym; |
| |
| /// Table. |
| TableEntity? table; |
| |
| /// The type of tree the entity belongs to. |
| /// Possible string values are: |
| /// - "TREE_TYPE_UNSPECIFIED" : Tree type unspecified. |
| /// - "SOURCE" : Tree of entities loaded from a source database. |
| /// - "DRAFT" : Tree of entities converted from the source tree using the |
| /// mapping rules. |
| /// - "DESTINATION" : Tree of entities observed on the destination database. |
| core.String? tree; |
| |
| /// UDT. |
| UDTEntity? udt; |
| |
| /// View. |
| ViewEntity? view; |
| |
| DatabaseEntity({ |
| this.database, |
| this.databaseFunction, |
| this.databasePackage, |
| this.entityDdl, |
| this.entityType, |
| this.issues, |
| this.mappings, |
| this.materializedView, |
| this.parentEntity, |
| this.schema, |
| this.sequence, |
| this.shortName, |
| this.storedProcedure, |
| this.synonym, |
| this.table, |
| this.tree, |
| this.udt, |
| this.view, |
| }); |
| |
| DatabaseEntity.fromJson(core.Map json_) |
| : this( |
| database: json_.containsKey('database') |
| ? DatabaseInstanceEntity.fromJson( |
| json_['database'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| databaseFunction: json_.containsKey('databaseFunction') |
| ? FunctionEntity.fromJson( |
| json_['databaseFunction'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| databasePackage: json_.containsKey('databasePackage') |
| ? PackageEntity.fromJson( |
| json_['databasePackage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| entityDdl: (json_['entityDdl'] as core.List?) |
| ?.map( |
| (value) => EntityDdl.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| entityType: json_['entityType'] as core.String?, |
| issues: (json_['issues'] as core.List?) |
| ?.map( |
| (value) => EntityIssue.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| mappings: (json_['mappings'] as core.List?) |
| ?.map( |
| (value) => EntityMapping.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| materializedView: json_.containsKey('materializedView') |
| ? MaterializedViewEntity.fromJson( |
| json_['materializedView'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| parentEntity: json_['parentEntity'] as core.String?, |
| schema: json_.containsKey('schema') |
| ? SchemaEntity.fromJson( |
| json_['schema'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| sequence: json_.containsKey('sequence') |
| ? SequenceEntity.fromJson( |
| json_['sequence'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| shortName: json_['shortName'] as core.String?, |
| storedProcedure: json_.containsKey('storedProcedure') |
| ? StoredProcedureEntity.fromJson( |
| json_['storedProcedure'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| synonym: json_.containsKey('synonym') |
| ? SynonymEntity.fromJson( |
| json_['synonym'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| table: json_.containsKey('table') |
| ? TableEntity.fromJson( |
| json_['table'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| tree: json_['tree'] as core.String?, |
| udt: json_.containsKey('udt') |
| ? UDTEntity.fromJson( |
| json_['udt'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| view: json_.containsKey('view') |
| ? ViewEntity.fromJson( |
| json_['view'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final database = this.database; |
| final databaseFunction = this.databaseFunction; |
| final databasePackage = this.databasePackage; |
| final entityDdl = this.entityDdl; |
| final entityType = this.entityType; |
| final issues = this.issues; |
| final mappings = this.mappings; |
| final materializedView = this.materializedView; |
| final parentEntity = this.parentEntity; |
| final schema = this.schema; |
| final sequence = this.sequence; |
| final shortName = this.shortName; |
| final storedProcedure = this.storedProcedure; |
| final synonym = this.synonym; |
| final table = this.table; |
| final tree = this.tree; |
| final udt = this.udt; |
| final view = this.view; |
| return { |
| 'database': ?database, |
| 'databaseFunction': ?databaseFunction, |
| 'databasePackage': ?databasePackage, |
| 'entityDdl': ?entityDdl, |
| 'entityType': ?entityType, |
| 'issues': ?issues, |
| 'mappings': ?mappings, |
| 'materializedView': ?materializedView, |
| 'parentEntity': ?parentEntity, |
| 'schema': ?schema, |
| 'sequence': ?sequence, |
| 'shortName': ?shortName, |
| 'storedProcedure': ?storedProcedure, |
| 'synonym': ?synonym, |
| 'table': ?table, |
| 'tree': ?tree, |
| 'udt': ?udt, |
| 'view': ?view, |
| }; |
| } |
| } |
| |
| /// DatabaseInstance acts as a parent entity to other database entities. |
| typedef DatabaseInstanceEntity = $Entity; |
| |
| /// A message defining the database engine and provider. |
| class DatabaseType { |
| /// The database engine. |
| /// Possible string values are: |
| /// - "DATABASE_ENGINE_UNSPECIFIED" : The source database engine of the |
| /// migration job is unknown. |
| /// - "MYSQL" : The source engine is MySQL. |
| /// - "POSTGRESQL" : The source engine is PostgreSQL. |
| /// - "SQLSERVER" : The source engine is SQL Server. |
| /// - "ORACLE" : The source engine is Oracle. |
| core.String? engine; |
| |
| /// The database provider. |
| /// Possible string values are: |
| /// - "DATABASE_PROVIDER_UNSPECIFIED" : Use this value for on-premise source |
| /// database instances and ORACLE. |
| /// - "CLOUDSQL" : Cloud SQL is the source instance provider. |
| /// - "RDS" : Amazon RDS is the source instance provider. |
| /// - "AURORA" : Amazon Aurora is the source instance provider. |
| /// - "ALLOYDB" : AlloyDB for PostgreSQL is the source instance provider. |
| /// - "AZURE_DATABASE" : Microsoft Azure Database for MySQL/PostgreSQL. |
| core.String? provider; |
| |
| DatabaseType({this.engine, this.provider}); |
| |
| DatabaseType.fromJson(core.Map json_) |
| : this( |
| engine: json_['engine'] as core.String?, |
| provider: json_['provider'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final engine = this.engine; |
| final provider = this.provider; |
| return {'engine': ?engine, 'provider': ?provider}; |
| } |
| } |
| |
| /// Request message for 'DemoteDestination' request. |
| typedef DemoteDestinationRequest = $Empty; |
| |
| /// Response message for 'DescribeConversionWorkspaceRevisions' request. |
| class DescribeConversionWorkspaceRevisionsResponse { |
| /// The list of conversion workspace revisions. |
| core.List<ConversionWorkspace>? revisions; |
| |
| DescribeConversionWorkspaceRevisionsResponse({this.revisions}); |
| |
| DescribeConversionWorkspaceRevisionsResponse.fromJson(core.Map json_) |
| : this( |
| revisions: (json_['revisions'] as core.List?) |
| ?.map( |
| (value) => ConversionWorkspace.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final revisions = this.revisions; |
| return {'revisions': ?revisions}; |
| } |
| } |
| |
| /// Response message for 'DescribeDatabaseEntities' request. |
| class DescribeDatabaseEntitiesResponse { |
| /// The list of database entities for the conversion workspace. |
| core.List<DatabaseEntity>? databaseEntities; |
| |
| /// A token which can be sent as `page_token` to retrieve the next page. |
| /// |
| /// If this field is omitted, there are no subsequent pages. |
| core.String? nextPageToken; |
| |
| DescribeDatabaseEntitiesResponse({this.databaseEntities, this.nextPageToken}); |
| |
| DescribeDatabaseEntitiesResponse.fromJson(core.Map json_) |
| : this( |
| databaseEntities: (json_['databaseEntities'] as core.List?) |
| ?.map( |
| (value) => DatabaseEntity.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final databaseEntities = this.databaseEntities; |
| final nextPageToken = this.nextPageToken; |
| return { |
| 'databaseEntities': ?databaseEntities, |
| 'nextPageToken': ?nextPageToken, |
| }; |
| } |
| } |
| |
| /// Filter based on relation between source value and compare value of type |
| /// double in ConditionalColumnSetValue |
| class DoubleComparisonFilter { |
| /// Double compare value to be used |
| /// |
| /// Required. |
| core.double? value; |
| |
| /// Relation between source value and compare value |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "VALUE_COMPARISON_UNSPECIFIED" : Value comparison unspecified. |
| /// - "VALUE_COMPARISON_IF_VALUE_SMALLER_THAN" : Value is smaller than the |
| /// Compare value. |
| /// - "VALUE_COMPARISON_IF_VALUE_SMALLER_EQUAL_THAN" : Value is smaller or |
| /// equal than the Compare value. |
| /// - "VALUE_COMPARISON_IF_VALUE_LARGER_THAN" : Value is larger than the |
| /// Compare value. |
| /// - "VALUE_COMPARISON_IF_VALUE_LARGER_EQUAL_THAN" : Value is larger or equal |
| /// than the Compare value. |
| core.String? valueComparison; |
| |
| DoubleComparisonFilter({this.value, this.valueComparison}); |
| |
| DoubleComparisonFilter.fromJson(core.Map json_) |
| : this( |
| value: (json_['value'] as core.num?)?.toDouble(), |
| valueComparison: json_['valueComparison'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final value = this.value; |
| final valueComparison = this.valueComparison; |
| return {'value': ?value, 'valueComparison': ?valueComparison}; |
| } |
| } |
| |
| /// Dump flag definition. |
| class DumpFlag { |
| /// The name of the flag |
| core.String? name; |
| |
| /// The value of the flag. |
| core.String? value; |
| |
| DumpFlag({this.name, this.value}); |
| |
| DumpFlag.fromJson(core.Map json_) |
| : this( |
| name: json_['name'] as core.String?, |
| value: json_['value'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final name = this.name; |
| final value = this.value; |
| return {'name': ?name, 'value': ?value}; |
| } |
| } |
| |
| /// Dump flags definition. |
| class DumpFlags { |
| /// The flags for the initial dump. |
| core.List<DumpFlag>? dumpFlags; |
| |
| DumpFlags({this.dumpFlags}); |
| |
| DumpFlags.fromJson(core.Map json_) |
| : this( |
| dumpFlags: (json_['dumpFlags'] as core.List?) |
| ?.map( |
| (value) => DumpFlag.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final dumpFlags = this.dumpFlags; |
| return {'dumpFlags': ?dumpFlags}; |
| } |
| } |
| |
| /// A generic empty message that you can re-use to avoid defining duplicated |
| /// empty messages in your APIs. |
| /// |
| /// A typical example is to use it as the request or the response type of an API |
| /// method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns |
| /// (google.protobuf.Empty); } |
| typedef Empty = $Empty; |
| |
| /// EncryptionConfig describes the encryption config of a cluster that is |
| /// encrypted with a CMEK (customer-managed encryption key). |
| typedef EncryptionConfig = $EncryptionConfig; |
| |
| /// A single DDL statement for a specific entity |
| class EntityDdl { |
| /// The actual ddl code. |
| core.String? ddl; |
| |
| /// The DDL Kind selected for apply, or UNSPECIFIED if the entity wasn't |
| /// converted yet. |
| /// Possible string values are: |
| /// - "DDL_KIND_UNSPECIFIED" : The kind of the DDL is unknown. |
| /// - "SOURCE" : DDL of the source entity |
| /// - "DETERMINISTIC" : Deterministic converted DDL |
| /// - "AI" : Gemini AI converted DDL |
| /// - "USER_EDIT" : User edited DDL |
| core.String? ddlKind; |
| |
| /// Type of DDL (Create, Alter). |
| core.String? ddlType; |
| |
| /// If ddl_kind is USER_EDIT, this holds the DDL kind of the original content |
| /// - DETERMINISTIC or AI. |
| /// |
| /// Otherwise, this is DDL_KIND_UNSPECIFIED. |
| /// Possible string values are: |
| /// - "DDL_KIND_UNSPECIFIED" : The kind of the DDL is unknown. |
| /// - "SOURCE" : DDL of the source entity |
| /// - "DETERMINISTIC" : Deterministic converted DDL |
| /// - "AI" : Gemini AI converted DDL |
| /// - "USER_EDIT" : User edited DDL |
| core.String? editedDdlKind; |
| |
| /// The name of the database entity the ddl refers to. |
| core.String? entity; |
| |
| /// The entity type (if the DDL is for a sub entity). |
| /// Possible string values are: |
| /// - "DATABASE_ENTITY_TYPE_UNSPECIFIED" : Unspecified database entity type. |
| /// - "DATABASE_ENTITY_TYPE_SCHEMA" : Schema. |
| /// - "DATABASE_ENTITY_TYPE_TABLE" : Table. |
| /// - "DATABASE_ENTITY_TYPE_COLUMN" : Column. |
| /// - "DATABASE_ENTITY_TYPE_CONSTRAINT" : Constraint. |
| /// - "DATABASE_ENTITY_TYPE_INDEX" : Index. |
| /// - "DATABASE_ENTITY_TYPE_TRIGGER" : Trigger. |
| /// - "DATABASE_ENTITY_TYPE_VIEW" : View. |
| /// - "DATABASE_ENTITY_TYPE_SEQUENCE" : Sequence. |
| /// - "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" : Stored Procedure. |
| /// - "DATABASE_ENTITY_TYPE_FUNCTION" : Function. |
| /// - "DATABASE_ENTITY_TYPE_SYNONYM" : Synonym. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" : Package. |
| /// - "DATABASE_ENTITY_TYPE_UDT" : UDT. |
| /// - "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" : Materialized View. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE" : Database. |
| core.String? entityType; |
| |
| /// EntityIssues found for this ddl. |
| core.List<core.String>? issueId; |
| |
| EntityDdl({ |
| this.ddl, |
| this.ddlKind, |
| this.ddlType, |
| this.editedDdlKind, |
| this.entity, |
| this.entityType, |
| this.issueId, |
| }); |
| |
| EntityDdl.fromJson(core.Map json_) |
| : this( |
| ddl: json_['ddl'] as core.String?, |
| ddlKind: json_['ddlKind'] as core.String?, |
| ddlType: json_['ddlType'] as core.String?, |
| editedDdlKind: json_['editedDdlKind'] as core.String?, |
| entity: json_['entity'] as core.String?, |
| entityType: json_['entityType'] as core.String?, |
| issueId: (json_['issueId'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final ddl = this.ddl; |
| final ddlKind = this.ddlKind; |
| final ddlType = this.ddlType; |
| final editedDdlKind = this.editedDdlKind; |
| final entity = this.entity; |
| final entityType = this.entityType; |
| final issueId = this.issueId; |
| return { |
| 'ddl': ?ddl, |
| 'ddlKind': ?ddlKind, |
| 'ddlType': ?ddlType, |
| 'editedDdlKind': ?editedDdlKind, |
| 'entity': ?entity, |
| 'entityType': ?entityType, |
| 'issueId': ?issueId, |
| }; |
| } |
| } |
| |
| /// Issue related to the entity. |
| class EntityIssue { |
| /// Error/Warning code |
| core.String? code; |
| |
| /// The ddl which caused the issue, if relevant. |
| core.String? ddl; |
| |
| /// The entity type (if the DDL is for a sub entity). |
| /// Possible string values are: |
| /// - "DATABASE_ENTITY_TYPE_UNSPECIFIED" : Unspecified database entity type. |
| /// - "DATABASE_ENTITY_TYPE_SCHEMA" : Schema. |
| /// - "DATABASE_ENTITY_TYPE_TABLE" : Table. |
| /// - "DATABASE_ENTITY_TYPE_COLUMN" : Column. |
| /// - "DATABASE_ENTITY_TYPE_CONSTRAINT" : Constraint. |
| /// - "DATABASE_ENTITY_TYPE_INDEX" : Index. |
| /// - "DATABASE_ENTITY_TYPE_TRIGGER" : Trigger. |
| /// - "DATABASE_ENTITY_TYPE_VIEW" : View. |
| /// - "DATABASE_ENTITY_TYPE_SEQUENCE" : Sequence. |
| /// - "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" : Stored Procedure. |
| /// - "DATABASE_ENTITY_TYPE_FUNCTION" : Function. |
| /// - "DATABASE_ENTITY_TYPE_SYNONYM" : Synonym. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" : Package. |
| /// - "DATABASE_ENTITY_TYPE_UDT" : UDT. |
| /// - "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" : Materialized View. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE" : Database. |
| core.String? entityType; |
| |
| /// Unique Issue ID. |
| core.String? id; |
| |
| /// Issue detailed message |
| core.String? message; |
| |
| /// The position of the issue found, if relevant. |
| Position? position; |
| |
| /// Severity of the issue |
| /// Possible string values are: |
| /// - "ISSUE_SEVERITY_UNSPECIFIED" : Unspecified issue severity |
| /// - "ISSUE_SEVERITY_INFO" : Info |
| /// - "ISSUE_SEVERITY_WARNING" : Warning |
| /// - "ISSUE_SEVERITY_ERROR" : Error |
| core.String? severity; |
| |
| /// The type of the issue. |
| /// Possible string values are: |
| /// - "ISSUE_TYPE_UNSPECIFIED" : Unspecified issue type. |
| /// - "ISSUE_TYPE_DDL" : Issue originated from the DDL |
| /// - "ISSUE_TYPE_APPLY" : Issue originated during the apply process |
| /// - "ISSUE_TYPE_CONVERT" : Issue originated during the convert process |
| core.String? type; |
| |
| EntityIssue({ |
| this.code, |
| this.ddl, |
| this.entityType, |
| this.id, |
| this.message, |
| this.position, |
| this.severity, |
| this.type, |
| }); |
| |
| EntityIssue.fromJson(core.Map json_) |
| : this( |
| code: json_['code'] as core.String?, |
| ddl: json_['ddl'] as core.String?, |
| entityType: json_['entityType'] as core.String?, |
| id: json_['id'] as core.String?, |
| message: json_['message'] as core.String?, |
| position: json_.containsKey('position') |
| ? Position.fromJson( |
| json_['position'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| severity: json_['severity'] as core.String?, |
| type: json_['type'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final code = this.code; |
| final ddl = this.ddl; |
| final entityType = this.entityType; |
| final id = this.id; |
| final message = this.message; |
| final position = this.position; |
| final severity = this.severity; |
| final type = this.type; |
| return { |
| 'code': ?code, |
| 'ddl': ?ddl, |
| 'entityType': ?entityType, |
| 'id': ?id, |
| 'message': ?message, |
| 'position': ?position, |
| 'severity': ?severity, |
| 'type': ?type, |
| }; |
| } |
| } |
| |
| /// Details of the mappings of a database entity. |
| class EntityMapping { |
| /// Target entity full name. |
| /// |
| /// The draft entity can also include a column, index or constraint using the |
| /// same naming notation schema.table.column. |
| core.String? draftEntity; |
| |
| /// Type of draft entity. |
| /// Possible string values are: |
| /// - "DATABASE_ENTITY_TYPE_UNSPECIFIED" : Unspecified database entity type. |
| /// - "DATABASE_ENTITY_TYPE_SCHEMA" : Schema. |
| /// - "DATABASE_ENTITY_TYPE_TABLE" : Table. |
| /// - "DATABASE_ENTITY_TYPE_COLUMN" : Column. |
| /// - "DATABASE_ENTITY_TYPE_CONSTRAINT" : Constraint. |
| /// - "DATABASE_ENTITY_TYPE_INDEX" : Index. |
| /// - "DATABASE_ENTITY_TYPE_TRIGGER" : Trigger. |
| /// - "DATABASE_ENTITY_TYPE_VIEW" : View. |
| /// - "DATABASE_ENTITY_TYPE_SEQUENCE" : Sequence. |
| /// - "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" : Stored Procedure. |
| /// - "DATABASE_ENTITY_TYPE_FUNCTION" : Function. |
| /// - "DATABASE_ENTITY_TYPE_SYNONYM" : Synonym. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" : Package. |
| /// - "DATABASE_ENTITY_TYPE_UDT" : UDT. |
| /// - "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" : Materialized View. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE" : Database. |
| core.String? draftType; |
| |
| /// 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. |
| core.List<EntityMappingLogEntry>? mappingLog; |
| |
| /// Source entity full name. |
| /// |
| /// The source entity can also be a column, index or constraint using the same |
| /// naming notation schema.table.column. |
| core.String? sourceEntity; |
| |
| /// Type of source entity. |
| /// Possible string values are: |
| /// - "DATABASE_ENTITY_TYPE_UNSPECIFIED" : Unspecified database entity type. |
| /// - "DATABASE_ENTITY_TYPE_SCHEMA" : Schema. |
| /// - "DATABASE_ENTITY_TYPE_TABLE" : Table. |
| /// - "DATABASE_ENTITY_TYPE_COLUMN" : Column. |
| /// - "DATABASE_ENTITY_TYPE_CONSTRAINT" : Constraint. |
| /// - "DATABASE_ENTITY_TYPE_INDEX" : Index. |
| /// - "DATABASE_ENTITY_TYPE_TRIGGER" : Trigger. |
| /// - "DATABASE_ENTITY_TYPE_VIEW" : View. |
| /// - "DATABASE_ENTITY_TYPE_SEQUENCE" : Sequence. |
| /// - "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" : Stored Procedure. |
| /// - "DATABASE_ENTITY_TYPE_FUNCTION" : Function. |
| /// - "DATABASE_ENTITY_TYPE_SYNONYM" : Synonym. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" : Package. |
| /// - "DATABASE_ENTITY_TYPE_UDT" : UDT. |
| /// - "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" : Materialized View. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE" : Database. |
| core.String? sourceType; |
| |
| EntityMapping({ |
| this.draftEntity, |
| this.draftType, |
| this.mappingLog, |
| this.sourceEntity, |
| this.sourceType, |
| }); |
| |
| EntityMapping.fromJson(core.Map json_) |
| : this( |
| draftEntity: json_['draftEntity'] as core.String?, |
| draftType: json_['draftType'] as core.String?, |
| mappingLog: (json_['mappingLog'] as core.List?) |
| ?.map( |
| (value) => EntityMappingLogEntry.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| sourceEntity: json_['sourceEntity'] as core.String?, |
| sourceType: json_['sourceType'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final draftEntity = this.draftEntity; |
| final draftType = this.draftType; |
| final mappingLog = this.mappingLog; |
| final sourceEntity = this.sourceEntity; |
| final sourceType = this.sourceType; |
| return { |
| 'draftEntity': ?draftEntity, |
| 'draftType': ?draftType, |
| 'mappingLog': ?mappingLog, |
| 'sourceEntity': ?sourceEntity, |
| 'sourceType': ?sourceType, |
| }; |
| } |
| } |
| |
| /// A single record of a rule which was used for a mapping. |
| class EntityMappingLogEntry { |
| /// Comment. |
| core.String? mappingComment; |
| |
| /// Which rule caused this log entry. |
| core.String? ruleId; |
| |
| /// Rule revision ID. |
| core.String? ruleRevisionId; |
| |
| EntityMappingLogEntry({ |
| this.mappingComment, |
| this.ruleId, |
| this.ruleRevisionId, |
| }); |
| |
| EntityMappingLogEntry.fromJson(core.Map json_) |
| : this( |
| mappingComment: json_['mappingComment'] as core.String?, |
| ruleId: json_['ruleId'] as core.String?, |
| ruleRevisionId: json_['ruleRevisionId'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final mappingComment = this.mappingComment; |
| final ruleId = this.ruleId; |
| final ruleRevisionId = this.ruleRevisionId; |
| return { |
| 'mappingComment': ?mappingComment, |
| 'ruleId': ?ruleId, |
| 'ruleRevisionId': ?ruleRevisionId, |
| }; |
| } |
| } |
| |
| /// 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 |
| class EntityMove { |
| /// The new schema |
| /// |
| /// Required. |
| core.String? newSchema; |
| |
| EntityMove({this.newSchema}); |
| |
| EntityMove.fromJson(core.Map json_) |
| : this(newSchema: json_['newSchema'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final newSchema = this.newSchema; |
| return {'newSchema': ?newSchema}; |
| } |
| } |
| |
| /// Represents a textual expression in the Common Expression Language (CEL) |
| /// syntax. |
| /// |
| /// CEL is a C-like expression language. The syntax and semantics of CEL are |
| /// documented at https://github.com/google/cel-spec. Example (Comparison): |
| /// title: "Summary size limit" description: "Determines if a summary is less |
| /// than 100 chars" expression: "document.summary.size() \< 100" Example |
| /// (Equality): title: "Requestor is owner" description: "Determines if |
| /// requestor is the document owner" expression: "document.owner == |
| /// request.auth.claims.email" Example (Logic): title: "Public documents" |
| /// description: "Determine whether the document should be publicly visible" |
| /// expression: "document.type != 'private' && document.type != 'internal'" |
| /// Example (Data Manipulation): title: "Notification string" description: |
| /// "Create a notification string with a timestamp." expression: "'New message |
| /// received at ' + string(document.create_time)" The exact variables and |
| /// functions that may be referenced within an expression are determined by the |
| /// service that evaluates it. See the service documentation for additional |
| /// information. |
| typedef Expr = $Expr; |
| |
| /// Response message for a 'FetchStaticIps' request. |
| class FetchStaticIpsResponse { |
| /// A token that can be sent as `page_token` to retrieve the next page. |
| /// |
| /// If this field is omitted, there are no subsequent pages. |
| core.String? nextPageToken; |
| |
| /// List of static IPs. |
| core.List<core.String>? staticIps; |
| |
| FetchStaticIpsResponse({this.nextPageToken, this.staticIps}); |
| |
| FetchStaticIpsResponse.fromJson(core.Map json_) |
| : this( |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| staticIps: (json_['staticIps'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final nextPageToken = this.nextPageToken; |
| final staticIps = this.staticIps; |
| return {'nextPageToken': ?nextPageToken, 'staticIps': ?staticIps}; |
| } |
| } |
| |
| /// 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. |
| class FilterTableColumns { |
| /// List of columns to be excluded for a particular table. |
| /// |
| /// Optional. |
| core.List<core.String>? excludeColumns; |
| |
| /// List of columns to be included for a particular table. |
| /// |
| /// Optional. |
| core.List<core.String>? includeColumns; |
| |
| FilterTableColumns({this.excludeColumns, this.includeColumns}); |
| |
| FilterTableColumns.fromJson(core.Map json_) |
| : this( |
| excludeColumns: (json_['excludeColumns'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| includeColumns: (json_['includeColumns'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final excludeColumns = this.excludeColumns; |
| final includeColumns = this.includeColumns; |
| return { |
| 'excludeColumns': ?excludeColumns, |
| 'includeColumns': ?includeColumns, |
| }; |
| } |
| } |
| |
| /// Forward SSH Tunnel connectivity. |
| typedef ForwardSshTunnelConnectivity = $ForwardSshTunnelConnectivity; |
| |
| /// Function's parent is a schema. |
| class FunctionEntity { |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// The SQL code which creates the function. |
| core.String? sqlCode; |
| |
| FunctionEntity({this.customFeatures, this.sqlCode}); |
| |
| FunctionEntity.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| sqlCode: json_['sqlCode'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final sqlCode = this.sqlCode; |
| return {'customFeatures': ?customFeatures, 'sqlCode': ?sqlCode}; |
| } |
| } |
| |
| /// Request message for 'GenerateSshScript' request. |
| class GenerateSshScriptRequest { |
| /// Bastion VM Instance name to use or to create. |
| /// |
| /// Required. |
| core.String? vm; |
| |
| /// The VM creation configuration |
| VmCreationConfig? vmCreationConfig; |
| |
| /// The port that will be open on the bastion host. |
| core.int? vmPort; |
| |
| /// The VM selection configuration |
| VmSelectionConfig? vmSelectionConfig; |
| |
| GenerateSshScriptRequest({ |
| this.vm, |
| this.vmCreationConfig, |
| this.vmPort, |
| this.vmSelectionConfig, |
| }); |
| |
| GenerateSshScriptRequest.fromJson(core.Map json_) |
| : this( |
| vm: json_['vm'] as core.String?, |
| vmCreationConfig: json_.containsKey('vmCreationConfig') |
| ? VmCreationConfig.fromJson( |
| json_['vmCreationConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| vmPort: json_['vmPort'] as core.int?, |
| vmSelectionConfig: json_.containsKey('vmSelectionConfig') |
| ? VmSelectionConfig.fromJson( |
| json_['vmSelectionConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final vm = this.vm; |
| final vmCreationConfig = this.vmCreationConfig; |
| final vmPort = this.vmPort; |
| final vmSelectionConfig = this.vmSelectionConfig; |
| return { |
| 'vm': ?vm, |
| 'vmCreationConfig': ?vmCreationConfig, |
| 'vmPort': ?vmPort, |
| 'vmSelectionConfig': ?vmSelectionConfig, |
| }; |
| } |
| } |
| |
| /// Request message for 'GenerateTcpProxyScript' request. |
| class GenerateTcpProxyScriptRequest { |
| /// The type of the Compute instance that will host the proxy. |
| /// |
| /// Required. |
| core.String? vmMachineType; |
| |
| /// The name of the Compute instance that will host the proxy. |
| /// |
| /// Required. |
| core.String? vmName; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? vmSubnet; |
| |
| /// 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. |
| /// |
| /// Optional. |
| core.String? vmZone; |
| |
| GenerateTcpProxyScriptRequest({ |
| this.vmMachineType, |
| this.vmName, |
| this.vmSubnet, |
| this.vmZone, |
| }); |
| |
| GenerateTcpProxyScriptRequest.fromJson(core.Map json_) |
| : this( |
| vmMachineType: json_['vmMachineType'] as core.String?, |
| vmName: json_['vmName'] as core.String?, |
| vmSubnet: json_['vmSubnet'] as core.String?, |
| vmZone: json_['vmZone'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final vmMachineType = this.vmMachineType; |
| final vmName = this.vmName; |
| final vmSubnet = this.vmSubnet; |
| final vmZone = this.vmZone; |
| return { |
| 'vmMachineType': ?vmMachineType, |
| 'vmName': ?vmName, |
| 'vmSubnet': ?vmSubnet, |
| 'vmZone': ?vmZone, |
| }; |
| } |
| } |
| |
| /// Metadata for heterogeneous migration jobs objects. |
| class HeterogeneousMetadata { |
| /// The number of unsupported events. |
| core.String? unsupportedEventsCount; |
| |
| HeterogeneousMetadata({this.unsupportedEventsCount}); |
| |
| HeterogeneousMetadata.fromJson(core.Map json_) |
| : this( |
| unsupportedEventsCount: json_['unsupportedEventsCount'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final unsupportedEventsCount = this.unsupportedEventsCount; |
| return {'unsupportedEventsCount': ?unsupportedEventsCount}; |
| } |
| } |
| |
| /// Request message for 'ImportMappingRules' request. |
| class ImportMappingRulesRequest { |
| /// Should the conversion workspace be committed automatically after the |
| /// import operation. |
| /// |
| /// Required. |
| core.bool? autoCommit; |
| |
| /// One or more rules files. |
| /// |
| /// Required. |
| core.List<RulesFile>? rulesFiles; |
| |
| /// The format of the rules content file. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "IMPORT_RULES_FILE_FORMAT_UNSPECIFIED" : Unspecified rules format. |
| /// - "IMPORT_RULES_FILE_FORMAT_HARBOUR_BRIDGE_SESSION_FILE" : HarbourBridge |
| /// session file. |
| /// - "IMPORT_RULES_FILE_FORMAT_ORATOPG_CONFIG_FILE" : Ora2Pg configuration |
| /// file. |
| core.String? rulesFormat; |
| |
| ImportMappingRulesRequest({ |
| this.autoCommit, |
| this.rulesFiles, |
| this.rulesFormat, |
| }); |
| |
| ImportMappingRulesRequest.fromJson(core.Map json_) |
| : this( |
| autoCommit: json_['autoCommit'] as core.bool?, |
| rulesFiles: (json_['rulesFiles'] as core.List?) |
| ?.map( |
| (value) => RulesFile.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| rulesFormat: json_['rulesFormat'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final autoCommit = this.autoCommit; |
| final rulesFiles = this.rulesFiles; |
| final rulesFormat = this.rulesFormat; |
| return { |
| 'autoCommit': ?autoCommit, |
| 'rulesFiles': ?rulesFiles, |
| 'rulesFormat': ?rulesFormat, |
| }; |
| } |
| } |
| |
| /// Details regarding an Import Rules background job. |
| class ImportRulesJobDetails { |
| /// The requested file format. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "IMPORT_RULES_FILE_FORMAT_UNSPECIFIED" : Unspecified rules format. |
| /// - "IMPORT_RULES_FILE_FORMAT_HARBOUR_BRIDGE_SESSION_FILE" : HarbourBridge |
| /// session file. |
| /// - "IMPORT_RULES_FILE_FORMAT_ORATOPG_CONFIG_FILE" : Ora2Pg configuration |
| /// file. |
| core.String? fileFormat; |
| |
| /// File names used for the import rules job. |
| /// |
| /// Output only. |
| core.List<core.String>? files; |
| |
| ImportRulesJobDetails({this.fileFormat, this.files}); |
| |
| ImportRulesJobDetails.fromJson(core.Map json_) |
| : this( |
| fileFormat: json_['fileFormat'] as core.String?, |
| files: (json_['files'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final fileFormat = this.fileFormat; |
| final files = this.files; |
| return {'fileFormat': ?fileFormat, 'files': ?files}; |
| } |
| } |
| |
| /// Index is not used as an independent entity, it is retrieved as part of a |
| /// Table entity. |
| class IndexEntity { |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// The name of the index. |
| core.String? name; |
| |
| /// Table columns used as part of the Index, for example B-TREE index should |
| /// list the columns which constitutes the index. |
| core.List<core.String>? tableColumns; |
| |
| /// For each table_column, mark whether it's sorting order is ascending |
| /// (false) or descending (true). |
| /// |
| /// If no value is defined, assume all columns are sorted in ascending order. |
| /// Otherwise, the number of items must match that of table_columns with each |
| /// value specifying the direction of the matched column by its index. |
| core.List<core.bool>? tableColumnsDescending; |
| |
| /// Type of index, for example B-TREE. |
| core.String? type; |
| |
| /// Boolean value indicating whether the index is unique. |
| core.bool? unique; |
| |
| IndexEntity({ |
| this.customFeatures, |
| this.name, |
| this.tableColumns, |
| this.tableColumnsDescending, |
| this.type, |
| this.unique, |
| }); |
| |
| IndexEntity.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| name: json_['name'] as core.String?, |
| tableColumns: (json_['tableColumns'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| tableColumnsDescending: (json_['tableColumnsDescending'] as core.List?) |
| ?.map((value) => value as core.bool) |
| .toList(), |
| type: json_['type'] as core.String?, |
| unique: json_['unique'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final name = this.name; |
| final tableColumns = this.tableColumns; |
| final tableColumnsDescending = this.tableColumnsDescending; |
| final type = this.type; |
| final unique = this.unique; |
| return { |
| 'customFeatures': ?customFeatures, |
| 'name': ?name, |
| 'tableColumns': ?tableColumns, |
| 'tableColumnsDescending': ?tableColumnsDescending, |
| 'type': ?type, |
| 'unique': ?unique, |
| }; |
| } |
| } |
| |
| /// Metadata related to instance level network configuration. |
| class InstanceNetworkConfig { |
| /// A list of external network authorized to access this instance. |
| /// |
| /// Optional. |
| core.List<AuthorizedNetwork>? authorizedExternalNetworks; |
| |
| /// Enabling an outbound public IP address to support a database server |
| /// sending requests out into the internet. |
| /// |
| /// Optional. |
| core.bool? enableOutboundPublicIp; |
| |
| /// Enabling public ip for the instance. |
| /// |
| /// Optional. |
| core.bool? enablePublicIp; |
| |
| InstanceNetworkConfig({ |
| this.authorizedExternalNetworks, |
| this.enableOutboundPublicIp, |
| this.enablePublicIp, |
| }); |
| |
| InstanceNetworkConfig.fromJson(core.Map json_) |
| : this( |
| authorizedExternalNetworks: |
| (json_['authorizedExternalNetworks'] as core.List?) |
| ?.map( |
| (value) => AuthorizedNetwork.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| enableOutboundPublicIp: json_['enableOutboundPublicIp'] as core.bool?, |
| enablePublicIp: json_['enablePublicIp'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final authorizedExternalNetworks = this.authorizedExternalNetworks; |
| final enableOutboundPublicIp = this.enableOutboundPublicIp; |
| final enablePublicIp = this.enablePublicIp; |
| return { |
| 'authorizedExternalNetworks': ?authorizedExternalNetworks, |
| 'enableOutboundPublicIp': ?enableOutboundPublicIp, |
| 'enablePublicIp': ?enablePublicIp, |
| }; |
| } |
| } |
| |
| /// Filter based on relation between source value and compare value of type |
| /// integer in ConditionalColumnSetValue |
| class IntComparisonFilter { |
| /// Integer compare value to be used |
| /// |
| /// Required. |
| core.String? value; |
| |
| /// Relation between source value and compare value |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "VALUE_COMPARISON_UNSPECIFIED" : Value comparison unspecified. |
| /// - "VALUE_COMPARISON_IF_VALUE_SMALLER_THAN" : Value is smaller than the |
| /// Compare value. |
| /// - "VALUE_COMPARISON_IF_VALUE_SMALLER_EQUAL_THAN" : Value is smaller or |
| /// equal than the Compare value. |
| /// - "VALUE_COMPARISON_IF_VALUE_LARGER_THAN" : Value is larger than the |
| /// Compare value. |
| /// - "VALUE_COMPARISON_IF_VALUE_LARGER_EQUAL_THAN" : Value is larger or equal |
| /// than the Compare value. |
| core.String? valueComparison; |
| |
| IntComparisonFilter({this.value, this.valueComparison}); |
| |
| IntComparisonFilter.fromJson(core.Map json_) |
| : this( |
| value: json_['value'] as core.String?, |
| valueComparison: json_['valueComparison'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final value = this.value; |
| final valueComparison = this.valueComparison; |
| return {'value': ?value, 'valueComparison': ?valueComparison}; |
| } |
| } |
| |
| /// Response message for 'ListConnectionProfiles' request. |
| class ListConnectionProfilesResponse { |
| /// The response list of connection profiles. |
| core.List<ConnectionProfile>? connectionProfiles; |
| |
| /// A token which can be sent as `page_token` to retrieve the next page. |
| /// |
| /// If this field is omitted, there are no subsequent pages. |
| core.String? nextPageToken; |
| |
| /// Locations that could not be reached. |
| core.List<core.String>? unreachable; |
| |
| ListConnectionProfilesResponse({ |
| this.connectionProfiles, |
| this.nextPageToken, |
| this.unreachable, |
| }); |
| |
| ListConnectionProfilesResponse.fromJson(core.Map json_) |
| : this( |
| connectionProfiles: (json_['connectionProfiles'] as core.List?) |
| ?.map( |
| (value) => ConnectionProfile.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| unreachable: (json_['unreachable'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final connectionProfiles = this.connectionProfiles; |
| final nextPageToken = this.nextPageToken; |
| final unreachable = this.unreachable; |
| return { |
| 'connectionProfiles': ?connectionProfiles, |
| 'nextPageToken': ?nextPageToken, |
| 'unreachable': ?unreachable, |
| }; |
| } |
| } |
| |
| /// Response message for 'ListConversionWorkspaces' request. |
| class ListConversionWorkspacesResponse { |
| /// The list of conversion workspace objects. |
| core.List<ConversionWorkspace>? conversionWorkspaces; |
| |
| /// A token which can be sent as `page_token` to retrieve the next page. |
| /// |
| /// If this field is omitted, there are no subsequent pages. |
| core.String? nextPageToken; |
| |
| /// Locations that could not be reached. |
| core.List<core.String>? unreachable; |
| |
| ListConversionWorkspacesResponse({ |
| this.conversionWorkspaces, |
| this.nextPageToken, |
| this.unreachable, |
| }); |
| |
| ListConversionWorkspacesResponse.fromJson(core.Map json_) |
| : this( |
| conversionWorkspaces: (json_['conversionWorkspaces'] as core.List?) |
| ?.map( |
| (value) => ConversionWorkspace.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| unreachable: (json_['unreachable'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final conversionWorkspaces = this.conversionWorkspaces; |
| final nextPageToken = this.nextPageToken; |
| final unreachable = this.unreachable; |
| return { |
| 'conversionWorkspaces': ?conversionWorkspaces, |
| 'nextPageToken': ?nextPageToken, |
| 'unreachable': ?unreachable, |
| }; |
| } |
| } |
| |
| /// The response message for Locations.ListLocations. |
| class ListLocationsResponse { |
| /// A list of locations that matches the specified filter in the request. |
| core.List<Location>? locations; |
| |
| /// The standard List next-page token. |
| core.String? nextPageToken; |
| |
| ListLocationsResponse({this.locations, this.nextPageToken}); |
| |
| ListLocationsResponse.fromJson(core.Map json_) |
| : this( |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => Location.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final locations = this.locations; |
| final nextPageToken = this.nextPageToken; |
| return {'locations': ?locations, 'nextPageToken': ?nextPageToken}; |
| } |
| } |
| |
| /// Response message for 'ListMappingRulesRequest' request. |
| class ListMappingRulesResponse { |
| /// The list of conversion workspace mapping rules. |
| core.List<MappingRule>? mappingRules; |
| |
| /// A token which can be sent as `page_token` to retrieve the next page. |
| /// |
| /// If this field is omitted, there are no subsequent pages. |
| core.String? nextPageToken; |
| |
| ListMappingRulesResponse({this.mappingRules, this.nextPageToken}); |
| |
| ListMappingRulesResponse.fromJson(core.Map json_) |
| : this( |
| mappingRules: (json_['mappingRules'] as core.List?) |
| ?.map( |
| (value) => MappingRule.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final mappingRules = this.mappingRules; |
| final nextPageToken = this.nextPageToken; |
| return {'mappingRules': ?mappingRules, 'nextPageToken': ?nextPageToken}; |
| } |
| } |
| |
| /// Response containing the objects for a migration job. |
| class ListMigrationJobObjectsResponse { |
| /// List of migration job objects. |
| core.List<MigrationJobObject>? migrationJobObjects; |
| |
| /// A token, which can be sent as `page_token` to retrieve the next page. |
| core.String? nextPageToken; |
| |
| ListMigrationJobObjectsResponse({ |
| this.migrationJobObjects, |
| this.nextPageToken, |
| }); |
| |
| ListMigrationJobObjectsResponse.fromJson(core.Map json_) |
| : this( |
| migrationJobObjects: (json_['migrationJobObjects'] as core.List?) |
| ?.map( |
| (value) => MigrationJobObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final migrationJobObjects = this.migrationJobObjects; |
| final nextPageToken = this.nextPageToken; |
| return { |
| 'migrationJobObjects': ?migrationJobObjects, |
| 'nextPageToken': ?nextPageToken, |
| }; |
| } |
| } |
| |
| /// Response message for 'ListMigrationJobs' request. |
| class ListMigrationJobsResponse { |
| /// The list of migration jobs objects. |
| core.List<MigrationJob>? migrationJobs; |
| |
| /// A token which can be sent as `page_token` to retrieve the next page. |
| /// |
| /// If this field is omitted, there are no subsequent pages. |
| core.String? nextPageToken; |
| |
| /// Locations that could not be reached. |
| core.List<core.String>? unreachable; |
| |
| ListMigrationJobsResponse({ |
| this.migrationJobs, |
| this.nextPageToken, |
| this.unreachable, |
| }); |
| |
| ListMigrationJobsResponse.fromJson(core.Map json_) |
| : this( |
| migrationJobs: (json_['migrationJobs'] as core.List?) |
| ?.map( |
| (value) => MigrationJob.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| unreachable: (json_['unreachable'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final migrationJobs = this.migrationJobs; |
| final nextPageToken = this.nextPageToken; |
| final unreachable = this.unreachable; |
| return { |
| 'migrationJobs': ?migrationJobs, |
| 'nextPageToken': ?nextPageToken, |
| 'unreachable': ?unreachable, |
| }; |
| } |
| } |
| |
| /// The response message for Operations.ListOperations. |
| class ListOperationsResponse { |
| /// The standard List next-page token. |
| core.String? nextPageToken; |
| |
| /// A list of operations that matches the specified filter in the request. |
| core.List<Operation>? operations; |
| |
| /// Unordered list. |
| /// |
| /// Unreachable resources. Populated when the request sets |
| /// `ListOperationsRequest.return_partial_success` and reads across |
| /// collections. For example, when attempting to list all resources across all |
| /// supported locations. |
| core.List<core.String>? unreachable; |
| |
| ListOperationsResponse({ |
| this.nextPageToken, |
| this.operations, |
| this.unreachable, |
| }); |
| |
| ListOperationsResponse.fromJson(core.Map json_) |
| : this( |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| operations: (json_['operations'] as core.List?) |
| ?.map( |
| (value) => Operation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| unreachable: (json_['unreachable'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final nextPageToken = this.nextPageToken; |
| final operations = this.operations; |
| final unreachable = this.unreachable; |
| return { |
| 'nextPageToken': ?nextPageToken, |
| 'operations': ?operations, |
| 'unreachable': ?unreachable, |
| }; |
| } |
| } |
| |
| /// Response message for 'ListPrivateConnections' request. |
| class ListPrivateConnectionsResponse { |
| /// A token which can be sent as `page_token` to retrieve the next page. |
| /// |
| /// If this field is omitted, there are no subsequent pages. |
| core.String? nextPageToken; |
| |
| /// List of private connections. |
| core.List<PrivateConnection>? privateConnections; |
| |
| /// Locations that could not be reached. |
| core.List<core.String>? unreachable; |
| |
| ListPrivateConnectionsResponse({ |
| this.nextPageToken, |
| this.privateConnections, |
| this.unreachable, |
| }); |
| |
| ListPrivateConnectionsResponse.fromJson(core.Map json_) |
| : this( |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| privateConnections: (json_['privateConnections'] as core.List?) |
| ?.map( |
| (value) => PrivateConnection.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| unreachable: (json_['unreachable'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final nextPageToken = this.nextPageToken; |
| final privateConnections = this.privateConnections; |
| final unreachable = this.unreachable; |
| return { |
| 'nextPageToken': ?nextPageToken, |
| 'privateConnections': ?privateConnections, |
| 'unreachable': ?unreachable, |
| }; |
| } |
| } |
| |
| /// A resource that represents a Google Cloud location. |
| typedef Location = $Location00; |
| |
| /// Configuration to specify the Oracle directories to access the log files. |
| typedef LogFileDirectories = $LogFileDirectories; |
| |
| /// Configuration to use LogMiner CDC method. |
| typedef LogMiner = $Empty; |
| |
| /// Request for looking up a specific migration job object by its source object |
| /// identifier. |
| class LookupMigrationJobObjectRequest { |
| /// The source object identifier which maps to the migration job object. |
| /// |
| /// Required. |
| SourceObjectIdentifier? sourceObjectIdentifier; |
| |
| LookupMigrationJobObjectRequest({this.sourceObjectIdentifier}); |
| |
| LookupMigrationJobObjectRequest.fromJson(core.Map json_) |
| : this( |
| sourceObjectIdentifier: json_.containsKey('sourceObjectIdentifier') |
| ? SourceObjectIdentifier.fromJson( |
| json_['sourceObjectIdentifier'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final sourceObjectIdentifier = this.sourceObjectIdentifier; |
| return {'sourceObjectIdentifier': ?sourceObjectIdentifier}; |
| } |
| } |
| |
| /// MachineConfig describes the configuration of a machine. |
| class MachineConfig { |
| /// The number of CPU's in the VM instance. |
| core.int? cpuCount; |
| |
| /// Machine type of the VM instance. |
| /// |
| /// E.g. "n2-highmem-4", "n2-highmem-8", "c4a-highmem-4-lssd". cpu_count must |
| /// match the number of vCPUs in the machine type. |
| /// |
| /// Optional. |
| core.String? machineType; |
| |
| MachineConfig({this.cpuCount, this.machineType}); |
| |
| MachineConfig.fromJson(core.Map json_) |
| : this( |
| cpuCount: json_['cpuCount'] as core.int?, |
| machineType: json_['machineType'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final cpuCount = this.cpuCount; |
| final machineType = this.machineType; |
| return {'cpuCount': ?cpuCount, 'machineType': ?machineType}; |
| } |
| } |
| |
| /// 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. |
| class MappingRule { |
| /// 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. |
| /// |
| /// Optional. |
| ConditionalColumnSetValue? conditionalColumnSetValue; |
| |
| /// Rule to specify how multiple tables should be converted with an additional |
| /// rowid column. |
| /// |
| /// Optional. |
| ConvertRowIdToColumn? convertRowidColumn; |
| |
| /// A human readable name |
| /// |
| /// Optional. |
| core.String? displayName; |
| |
| /// Rule to specify how multiple entities should be relocated into a different |
| /// schema. |
| /// |
| /// Optional. |
| EntityMove? entityMove; |
| |
| /// The rule filter |
| /// |
| /// Required. |
| MappingRuleFilter? filter; |
| |
| /// Rule to specify the list of columns to include or exclude from a table. |
| /// |
| /// Optional. |
| FilterTableColumns? filterTableColumns; |
| |
| /// Rule to specify how multiple columns should be converted to a different |
| /// data type. |
| /// |
| /// Optional. |
| MultiColumnDatatypeChange? multiColumnDataTypeChange; |
| |
| /// Rule to specify how multiple entities should be renamed. |
| /// |
| /// Optional. |
| MultiEntityRename? multiEntityRename; |
| |
| /// Full name of the mapping rule resource, in the form of: |
| /// projects/{project}/locations/{location}/conversionWorkspaces/{set}/mappingRule/{rule}. |
| core.String? name; |
| |
| /// The timestamp that the revision was created. |
| /// |
| /// Output only. |
| core.String? revisionCreateTime; |
| |
| /// 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. |
| /// |
| /// Output only. |
| core.String? revisionId; |
| |
| /// The order in which the rule is applied. |
| /// |
| /// Lower order rules are applied before higher value rules so they may end up |
| /// being overridden. |
| /// |
| /// Required. |
| core.String? ruleOrder; |
| |
| /// The rule scope |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "DATABASE_ENTITY_TYPE_UNSPECIFIED" : Unspecified database entity type. |
| /// - "DATABASE_ENTITY_TYPE_SCHEMA" : Schema. |
| /// - "DATABASE_ENTITY_TYPE_TABLE" : Table. |
| /// - "DATABASE_ENTITY_TYPE_COLUMN" : Column. |
| /// - "DATABASE_ENTITY_TYPE_CONSTRAINT" : Constraint. |
| /// - "DATABASE_ENTITY_TYPE_INDEX" : Index. |
| /// - "DATABASE_ENTITY_TYPE_TRIGGER" : Trigger. |
| /// - "DATABASE_ENTITY_TYPE_VIEW" : View. |
| /// - "DATABASE_ENTITY_TYPE_SEQUENCE" : Sequence. |
| /// - "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" : Stored Procedure. |
| /// - "DATABASE_ENTITY_TYPE_FUNCTION" : Function. |
| /// - "DATABASE_ENTITY_TYPE_SYNONYM" : Synonym. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" : Package. |
| /// - "DATABASE_ENTITY_TYPE_UDT" : UDT. |
| /// - "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" : Materialized View. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE" : Database. |
| core.String? ruleScope; |
| |
| /// Rule to specify the primary key for a table |
| /// |
| /// Optional. |
| SetTablePrimaryKey? setTablePrimaryKey; |
| |
| /// Rule to specify how a single column is converted. |
| /// |
| /// Optional. |
| SingleColumnChange? singleColumnChange; |
| |
| /// Rule to specify how a single entity should be renamed. |
| /// |
| /// Optional. |
| SingleEntityRename? singleEntityRename; |
| |
| /// Rule to specify how a single package is converted. |
| /// |
| /// Optional. |
| SinglePackageChange? singlePackageChange; |
| |
| /// Rule to change the sql code for an entity, for example, function, |
| /// procedure. |
| /// |
| /// Optional. |
| SourceSqlChange? sourceSqlChange; |
| |
| /// The mapping rule state |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : The state of the mapping rule is unknown. |
| /// - "ENABLED" : The rule is enabled. |
| /// - "DISABLED" : The rule is disabled. |
| /// - "DELETED" : The rule is logically deleted. |
| core.String? state; |
| |
| MappingRule({ |
| this.conditionalColumnSetValue, |
| this.convertRowidColumn, |
| this.displayName, |
| this.entityMove, |
| this.filter, |
| this.filterTableColumns, |
| this.multiColumnDataTypeChange, |
| this.multiEntityRename, |
| this.name, |
| this.revisionCreateTime, |
| this.revisionId, |
| this.ruleOrder, |
| this.ruleScope, |
| this.setTablePrimaryKey, |
| this.singleColumnChange, |
| this.singleEntityRename, |
| this.singlePackageChange, |
| this.sourceSqlChange, |
| this.state, |
| }); |
| |
| MappingRule.fromJson(core.Map json_) |
| : this( |
| conditionalColumnSetValue: |
| json_.containsKey('conditionalColumnSetValue') |
| ? ConditionalColumnSetValue.fromJson( |
| json_['conditionalColumnSetValue'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| convertRowidColumn: json_.containsKey('convertRowidColumn') |
| ? ConvertRowIdToColumn.fromJson( |
| json_['convertRowidColumn'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| displayName: json_['displayName'] as core.String?, |
| entityMove: json_.containsKey('entityMove') |
| ? EntityMove.fromJson( |
| json_['entityMove'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| filter: json_.containsKey('filter') |
| ? MappingRuleFilter.fromJson( |
| json_['filter'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| filterTableColumns: json_.containsKey('filterTableColumns') |
| ? FilterTableColumns.fromJson( |
| json_['filterTableColumns'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| multiColumnDataTypeChange: |
| json_.containsKey('multiColumnDataTypeChange') |
| ? MultiColumnDatatypeChange.fromJson( |
| json_['multiColumnDataTypeChange'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| multiEntityRename: json_.containsKey('multiEntityRename') |
| ? MultiEntityRename.fromJson( |
| json_['multiEntityRename'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| name: json_['name'] as core.String?, |
| revisionCreateTime: json_['revisionCreateTime'] as core.String?, |
| revisionId: json_['revisionId'] as core.String?, |
| ruleOrder: json_['ruleOrder'] as core.String?, |
| ruleScope: json_['ruleScope'] as core.String?, |
| setTablePrimaryKey: json_.containsKey('setTablePrimaryKey') |
| ? SetTablePrimaryKey.fromJson( |
| json_['setTablePrimaryKey'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| singleColumnChange: json_.containsKey('singleColumnChange') |
| ? SingleColumnChange.fromJson( |
| json_['singleColumnChange'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| singleEntityRename: json_.containsKey('singleEntityRename') |
| ? SingleEntityRename.fromJson( |
| json_['singleEntityRename'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| singlePackageChange: json_.containsKey('singlePackageChange') |
| ? SinglePackageChange.fromJson( |
| json_['singlePackageChange'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| sourceSqlChange: json_.containsKey('sourceSqlChange') |
| ? SourceSqlChange.fromJson( |
| json_['sourceSqlChange'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| state: json_['state'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final conditionalColumnSetValue = this.conditionalColumnSetValue; |
| final convertRowidColumn = this.convertRowidColumn; |
| final displayName = this.displayName; |
| final entityMove = this.entityMove; |
| final filter = this.filter; |
| final filterTableColumns = this.filterTableColumns; |
| final multiColumnDataTypeChange = this.multiColumnDataTypeChange; |
| final multiEntityRename = this.multiEntityRename; |
| final name = this.name; |
| final revisionCreateTime = this.revisionCreateTime; |
| final revisionId = this.revisionId; |
| final ruleOrder = this.ruleOrder; |
| final ruleScope = this.ruleScope; |
| final setTablePrimaryKey = this.setTablePrimaryKey; |
| final singleColumnChange = this.singleColumnChange; |
| final singleEntityRename = this.singleEntityRename; |
| final singlePackageChange = this.singlePackageChange; |
| final sourceSqlChange = this.sourceSqlChange; |
| final state = this.state; |
| return { |
| 'conditionalColumnSetValue': ?conditionalColumnSetValue, |
| 'convertRowidColumn': ?convertRowidColumn, |
| 'displayName': ?displayName, |
| 'entityMove': ?entityMove, |
| 'filter': ?filter, |
| 'filterTableColumns': ?filterTableColumns, |
| 'multiColumnDataTypeChange': ?multiColumnDataTypeChange, |
| 'multiEntityRename': ?multiEntityRename, |
| 'name': ?name, |
| 'revisionCreateTime': ?revisionCreateTime, |
| 'revisionId': ?revisionId, |
| 'ruleOrder': ?ruleOrder, |
| 'ruleScope': ?ruleScope, |
| 'setTablePrimaryKey': ?setTablePrimaryKey, |
| 'singleColumnChange': ?singleColumnChange, |
| 'singleEntityRename': ?singleEntityRename, |
| 'singlePackageChange': ?singlePackageChange, |
| 'sourceSqlChange': ?sourceSqlChange, |
| 'state': ?state, |
| }; |
| } |
| } |
| |
| /// 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. |
| class MappingRuleFilter { |
| /// The rule should be applied to specific entities defined by their fully |
| /// qualified names. |
| /// |
| /// Optional. |
| core.List<core.String>? entities; |
| |
| /// The rule should be applied to entities whose non-qualified name contains |
| /// the given string. |
| /// |
| /// Optional. |
| core.String? entityNameContains; |
| |
| /// The rule should be applied to entities whose non-qualified name starts |
| /// with the given prefix. |
| /// |
| /// Optional. |
| core.String? entityNamePrefix; |
| |
| /// The rule should be applied to entities whose non-qualified name ends with |
| /// the given suffix. |
| /// |
| /// Optional. |
| core.String? entityNameSuffix; |
| |
| /// 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) |
| /// |
| /// Optional. |
| core.String? parentEntity; |
| |
| MappingRuleFilter({ |
| this.entities, |
| this.entityNameContains, |
| this.entityNamePrefix, |
| this.entityNameSuffix, |
| this.parentEntity, |
| }); |
| |
| MappingRuleFilter.fromJson(core.Map json_) |
| : this( |
| entities: (json_['entities'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| entityNameContains: json_['entityNameContains'] as core.String?, |
| entityNamePrefix: json_['entityNamePrefix'] as core.String?, |
| entityNameSuffix: json_['entityNameSuffix'] as core.String?, |
| parentEntity: json_['parentEntity'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final entities = this.entities; |
| final entityNameContains = this.entityNameContains; |
| final entityNamePrefix = this.entityNamePrefix; |
| final entityNameSuffix = this.entityNameSuffix; |
| final parentEntity = this.parentEntity; |
| return { |
| 'entities': ?entities, |
| 'entityNameContains': ?entityNameContains, |
| 'entityNamePrefix': ?entityNamePrefix, |
| 'entityNameSuffix': ?entityNameSuffix, |
| 'parentEntity': ?parentEntity, |
| }; |
| } |
| } |
| |
| /// MaterializedView's parent is a schema. |
| class MaterializedViewEntity { |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// View indices. |
| core.List<IndexEntity>? indices; |
| |
| /// The SQL code which creates the view. |
| core.String? sqlCode; |
| |
| MaterializedViewEntity({this.customFeatures, this.indices, this.sqlCode}); |
| |
| MaterializedViewEntity.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| indices: (json_['indices'] as core.List?) |
| ?.map( |
| (value) => IndexEntity.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| sqlCode: json_['sqlCode'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final indices = this.indices; |
| final sqlCode = this.sqlCode; |
| return { |
| 'customFeatures': ?customFeatures, |
| 'indices': ?indices, |
| 'sqlCode': ?sqlCode, |
| }; |
| } |
| } |
| |
| /// Represents a Database Migration Service migration job object. |
| class MigrationJob { |
| /// 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\] |
| core.String? cmekKeyName; |
| |
| /// The conversion workspace used by the migration. |
| ConversionWorkspaceInfo? conversionWorkspace; |
| |
| /// 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". |
| /// |
| /// Output only. |
| core.String? createTime; |
| |
| /// The resource name (URI) of the destination connection profile. |
| /// |
| /// Required. |
| core.String? destination; |
| |
| /// The database engine type and provider of the destination. |
| DatabaseType? destinationDatabase; |
| |
| /// The migration job display name. |
| core.String? displayName; |
| |
| /// The initial dump flags. |
| /// |
| /// This field and the "dump_path" field are mutually exclusive. |
| DumpFlags? dumpFlags; |
| |
| /// The path to the dump file in Google Cloud Storage, in the format: |
| /// (gs://\[BUCKET_NAME\]/\[OBJECT_NAME\]). |
| /// |
| /// This field and the "dump_flags" field are mutually exclusive. |
| core.String? dumpPath; |
| |
| /// The type of the data dump. |
| /// |
| /// Supported for MySQL to CloudSQL for MySQL migrations only. |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "DUMP_TYPE_UNSPECIFIED" : If not specified, defaults to LOGICAL |
| /// - "LOGICAL" : Logical dump. |
| /// - "PHYSICAL" : Physical file-based dump. Supported for MySQL to CloudSQL |
| /// for MySQL migrations only. |
| core.String? dumpType; |
| |
| /// The duration of the migration job (in seconds). |
| /// |
| /// A duration in seconds with up to nine fractional digits, terminated by |
| /// 's'. Example: "3.5s". |
| /// |
| /// Output only. |
| core.String? duration; |
| |
| /// If the migration job is completed, the time when it was completed. |
| /// |
| /// Output only. |
| core.String? endTime; |
| |
| /// The error details in case of state FAILED. |
| /// |
| /// Output only. |
| Status? error; |
| |
| /// 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. |
| core.String? filter; |
| |
| /// 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" }`. |
| core.Map<core.String, core.String>? labels; |
| |
| /// The name (URI) of this migration job resource, in the form of: |
| /// projects/{project}/locations/{location}/migrationJobs/{migrationJob}. |
| core.String? name; |
| |
| /// The objects that need to be migrated. |
| /// |
| /// Optional. |
| MigrationJobObjectsConfig? objectsConfig; |
| |
| /// Configuration for heterogeneous **Oracle to Cloud SQL for PostgreSQL** and |
| /// **Oracle to AlloyDB for PostgreSQL** migrations. |
| OracleToPostgresConfig? oracleToPostgresConfig; |
| |
| /// A failback replication pointer to the resource name (URI) of the original |
| /// migration job. |
| /// |
| /// Optional. |
| core.String? originalMigrationName; |
| |
| /// Data dump parallelism settings used by the migration. |
| /// |
| /// Optional. |
| PerformanceConfig? performanceConfig; |
| |
| /// The current migration job phase. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "PHASE_UNSPECIFIED" : The phase of the migration job is unknown. |
| /// - "FULL_DUMP" : The migration job is in the full dump phase. |
| /// - "CDC" : The migration job is CDC phase. |
| /// - "PROMOTE_IN_PROGRESS" : The migration job is running the promote phase. |
| /// - "WAITING_FOR_SOURCE_WRITES_TO_STOP" : Only RDS flow - waiting for source |
| /// writes to stop |
| /// - "PREPARING_THE_DUMP" : Only RDS flow - the sources writes stopped, |
| /// waiting for dump to begin |
| /// - "READY_FOR_PROMOTE" : The migration job is ready to be promoted. |
| core.String? phase; |
| |
| /// Configuration for heterogeneous failback migrations from **PostgreSQL to |
| /// SQL Server**. |
| PostgresToSqlServerConfig? postgresToSqlserverConfig; |
| |
| /// Migration job mode. |
| /// |
| /// Migration jobs can be standard forward jobs or failback migration jobs. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "PURPOSE_UNSPECIFIED" : Unknown purpose. Will be defaulted to MIGRATE. |
| /// - "MIGRATE" : Standard migration job. |
| /// - "FAILBACK" : Failback replication job. |
| core.String? purpose; |
| |
| /// The details needed to communicate to the source over Reverse SSH tunnel |
| /// connectivity. |
| ReverseSshConnectivity? reverseSshConnectivity; |
| |
| /// Reserved for future use. |
| /// |
| /// Output only. |
| core.bool? satisfiesPzi; |
| |
| /// Reserved for future use. |
| /// |
| /// Output only. |
| core.bool? satisfiesPzs; |
| |
| /// The resource name (URI) of the source connection profile. |
| /// |
| /// Required. |
| core.String? source; |
| |
| /// The database engine type and provider of the source. |
| DatabaseType? sourceDatabase; |
| |
| /// Configuration for SQL Server homogeneous migration. |
| /// |
| /// Optional. |
| SqlServerHomogeneousMigrationJobConfig? |
| sqlserverHomogeneousMigrationJobConfig; |
| |
| /// Configuration for heterogeneous **SQL Server to Cloud SQL for PostgreSQL** |
| /// migrations. |
| SqlServerToPostgresConfig? sqlserverToPostgresConfig; |
| |
| /// The current migration job state. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : The state of the migration job is unknown. |
| /// - "MAINTENANCE" : The migration job is down for maintenance. |
| /// - "DRAFT" : The migration job is in draft mode and no resources are |
| /// created. |
| /// - "CREATING" : The migration job is being created. |
| /// - "NOT_STARTED" : The migration job is created and not started. |
| /// - "RUNNING" : The migration job is running. |
| /// - "FAILED" : The migration job failed. |
| /// - "COMPLETED" : The migration job has been completed. |
| /// - "DELETING" : The migration job is being deleted. |
| /// - "STOPPING" : The migration job is being stopped. |
| /// - "STOPPED" : The migration job is currently stopped. |
| /// - "DELETED" : The migration job has been deleted. |
| /// - "UPDATING" : The migration job is being updated. |
| /// - "STARTING" : The migration job is starting. |
| /// - "RESTARTING" : The migration job is restarting. |
| /// - "RESUMING" : The migration job is resuming. |
| core.String? state; |
| |
| /// static ip connectivity data (default, no additional details needed). |
| StaticIpConnectivity? staticIpConnectivity; |
| |
| /// The migration job type. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "TYPE_UNSPECIFIED" : The type of the migration job is unknown. |
| /// - "ONE_TIME" : The migration job is a one time migration. |
| /// - "CONTINUOUS" : The migration job is a continuous migration. |
| core.String? type; |
| |
| /// The timestamp when the migration job resource was last updated. |
| /// |
| /// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. |
| /// Example: "2014-10-02T15:01:23.045123456Z". |
| /// |
| /// Output only. |
| core.String? updateTime; |
| |
| /// The details of the VPC network that the source database is located in. |
| VpcPeeringConnectivity? vpcPeeringConnectivity; |
| |
| MigrationJob({ |
| this.cmekKeyName, |
| this.conversionWorkspace, |
| this.createTime, |
| this.destination, |
| this.destinationDatabase, |
| this.displayName, |
| this.dumpFlags, |
| this.dumpPath, |
| this.dumpType, |
| this.duration, |
| this.endTime, |
| this.error, |
| this.filter, |
| this.labels, |
| this.name, |
| this.objectsConfig, |
| this.oracleToPostgresConfig, |
| this.originalMigrationName, |
| this.performanceConfig, |
| this.phase, |
| this.postgresToSqlserverConfig, |
| this.purpose, |
| this.reverseSshConnectivity, |
| this.satisfiesPzi, |
| this.satisfiesPzs, |
| this.source, |
| this.sourceDatabase, |
| this.sqlserverHomogeneousMigrationJobConfig, |
| this.sqlserverToPostgresConfig, |
| this.state, |
| this.staticIpConnectivity, |
| this.type, |
| this.updateTime, |
| this.vpcPeeringConnectivity, |
| }); |
| |
| MigrationJob.fromJson(core.Map json_) |
| : this( |
| cmekKeyName: json_['cmekKeyName'] as core.String?, |
| conversionWorkspace: json_.containsKey('conversionWorkspace') |
| ? ConversionWorkspaceInfo.fromJson( |
| json_['conversionWorkspace'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| createTime: json_['createTime'] as core.String?, |
| destination: json_['destination'] as core.String?, |
| destinationDatabase: json_.containsKey('destinationDatabase') |
| ? DatabaseType.fromJson( |
| json_['destinationDatabase'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| displayName: json_['displayName'] as core.String?, |
| dumpFlags: json_.containsKey('dumpFlags') |
| ? DumpFlags.fromJson( |
| json_['dumpFlags'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| dumpPath: json_['dumpPath'] as core.String?, |
| dumpType: json_['dumpType'] as core.String?, |
| duration: json_['duration'] as core.String?, |
| endTime: json_['endTime'] as core.String?, |
| error: json_.containsKey('error') |
| ? Status.fromJson( |
| json_['error'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| filter: json_['filter'] as core.String?, |
| labels: (json_['labels'] as core.Map<core.String, core.dynamic>?)?.map( |
| (key, value) => core.MapEntry(key, value as core.String), |
| ), |
| name: json_['name'] as core.String?, |
| objectsConfig: json_.containsKey('objectsConfig') |
| ? MigrationJobObjectsConfig.fromJson( |
| json_['objectsConfig'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| oracleToPostgresConfig: json_.containsKey('oracleToPostgresConfig') |
| ? OracleToPostgresConfig.fromJson( |
| json_['oracleToPostgresConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| originalMigrationName: json_['originalMigrationName'] as core.String?, |
| performanceConfig: json_.containsKey('performanceConfig') |
| ? PerformanceConfig.fromJson( |
| json_['performanceConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| phase: json_['phase'] as core.String?, |
| postgresToSqlserverConfig: |
| json_.containsKey('postgresToSqlserverConfig') |
| ? PostgresToSqlServerConfig.fromJson( |
| json_['postgresToSqlserverConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| purpose: json_['purpose'] as core.String?, |
| reverseSshConnectivity: json_.containsKey('reverseSshConnectivity') |
| ? ReverseSshConnectivity.fromJson( |
| json_['reverseSshConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| satisfiesPzi: json_['satisfiesPzi'] as core.bool?, |
| satisfiesPzs: json_['satisfiesPzs'] as core.bool?, |
| source: json_['source'] as core.String?, |
| sourceDatabase: json_.containsKey('sourceDatabase') |
| ? DatabaseType.fromJson( |
| json_['sourceDatabase'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| sqlserverHomogeneousMigrationJobConfig: |
| json_.containsKey('sqlserverHomogeneousMigrationJobConfig') |
| ? SqlServerHomogeneousMigrationJobConfig.fromJson( |
| json_['sqlserverHomogeneousMigrationJobConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| sqlserverToPostgresConfig: |
| json_.containsKey('sqlserverToPostgresConfig') |
| ? SqlServerToPostgresConfig.fromJson( |
| json_['sqlserverToPostgresConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| state: json_['state'] as core.String?, |
| staticIpConnectivity: json_.containsKey('staticIpConnectivity') |
| ? StaticIpConnectivity.fromJson( |
| json_['staticIpConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| type: json_['type'] as core.String?, |
| updateTime: json_['updateTime'] as core.String?, |
| vpcPeeringConnectivity: json_.containsKey('vpcPeeringConnectivity') |
| ? VpcPeeringConnectivity.fromJson( |
| json_['vpcPeeringConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final cmekKeyName = this.cmekKeyName; |
| final conversionWorkspace = this.conversionWorkspace; |
| final createTime = this.createTime; |
| final destination = this.destination; |
| final destinationDatabase = this.destinationDatabase; |
| final displayName = this.displayName; |
| final dumpFlags = this.dumpFlags; |
| final dumpPath = this.dumpPath; |
| final dumpType = this.dumpType; |
| final duration = this.duration; |
| final endTime = this.endTime; |
| final error = this.error; |
| final filter = this.filter; |
| final labels = this.labels; |
| final name = this.name; |
| final objectsConfig = this.objectsConfig; |
| final oracleToPostgresConfig = this.oracleToPostgresConfig; |
| final originalMigrationName = this.originalMigrationName; |
| final performanceConfig = this.performanceConfig; |
| final phase = this.phase; |
| final postgresToSqlserverConfig = this.postgresToSqlserverConfig; |
| final purpose = this.purpose; |
| final reverseSshConnectivity = this.reverseSshConnectivity; |
| final satisfiesPzi = this.satisfiesPzi; |
| final satisfiesPzs = this.satisfiesPzs; |
| final source = this.source; |
| final sourceDatabase = this.sourceDatabase; |
| final sqlserverHomogeneousMigrationJobConfig = |
| this.sqlserverHomogeneousMigrationJobConfig; |
| final sqlserverToPostgresConfig = this.sqlserverToPostgresConfig; |
| final state = this.state; |
| final staticIpConnectivity = this.staticIpConnectivity; |
| final type = this.type; |
| final updateTime = this.updateTime; |
| final vpcPeeringConnectivity = this.vpcPeeringConnectivity; |
| return { |
| 'cmekKeyName': ?cmekKeyName, |
| 'conversionWorkspace': ?conversionWorkspace, |
| 'createTime': ?createTime, |
| 'destination': ?destination, |
| 'destinationDatabase': ?destinationDatabase, |
| 'displayName': ?displayName, |
| 'dumpFlags': ?dumpFlags, |
| 'dumpPath': ?dumpPath, |
| 'dumpType': ?dumpType, |
| 'duration': ?duration, |
| 'endTime': ?endTime, |
| 'error': ?error, |
| 'filter': ?filter, |
| 'labels': ?labels, |
| 'name': ?name, |
| 'objectsConfig': ?objectsConfig, |
| 'oracleToPostgresConfig': ?oracleToPostgresConfig, |
| 'originalMigrationName': ?originalMigrationName, |
| 'performanceConfig': ?performanceConfig, |
| 'phase': ?phase, |
| 'postgresToSqlserverConfig': ?postgresToSqlserverConfig, |
| 'purpose': ?purpose, |
| 'reverseSshConnectivity': ?reverseSshConnectivity, |
| 'satisfiesPzi': ?satisfiesPzi, |
| 'satisfiesPzs': ?satisfiesPzs, |
| 'source': ?source, |
| 'sourceDatabase': ?sourceDatabase, |
| 'sqlserverHomogeneousMigrationJobConfig': |
| ?sqlserverHomogeneousMigrationJobConfig, |
| 'sqlserverToPostgresConfig': ?sqlserverToPostgresConfig, |
| 'state': ?state, |
| 'staticIpConnectivity': ?staticIpConnectivity, |
| 'type': ?type, |
| 'updateTime': ?updateTime, |
| 'vpcPeeringConnectivity': ?vpcPeeringConnectivity, |
| }; |
| } |
| } |
| |
| /// A specific Migration Job Object (e.g. a specifc DB Table) |
| class MigrationJobObject { |
| /// The creation time of the migration job object. |
| /// |
| /// Output only. |
| core.String? createTime; |
| |
| /// The error details in case of failure. |
| /// |
| /// Output only. |
| Status? error; |
| |
| /// Metadata for heterogeneous migration jobs objects. |
| /// |
| /// Output only. |
| HeterogeneousMetadata? heterogeneousMetadata; |
| |
| /// The object's name. |
| core.String? name; |
| |
| /// The phase of the migration job object. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "PHASE_UNSPECIFIED" : The phase of the migration job is unknown. |
| /// - "FULL_DUMP" : The migration job object is in the full dump phase. |
| /// - "CDC" : The migration job object is in CDC phase. |
| /// - "READY_FOR_PROMOTE" : The migration job object is ready to be promoted. |
| /// - "PROMOTE_IN_PROGRESS" : The migration job object is in running the |
| /// promote phase. |
| /// - "PROMOTED" : The migration job is promoted. |
| /// - "DIFF_BACKUP" : The migration job object is in the differential backup |
| /// phase. |
| core.String? phase; |
| |
| /// The object identifier in the data source. |
| SourceObjectIdentifier? sourceObject; |
| |
| /// The state of the migration job object. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : The state of the migration job object is unknown. |
| /// - "NOT_STARTED" : The migration job object is not started. |
| /// - "RUNNING" : The migration job object is running. |
| /// - "STOPPING" : The migration job object is being stopped. |
| /// - "STOPPED" : The migration job object is currently stopped. |
| /// - "RESTARTING" : The migration job object is restarting. |
| /// - "FAILED" : The migration job object failed. |
| /// - "REMOVING" : The migration job object is deleting. |
| /// - "NOT_SELECTED" : The migration job object is not selected for migration. |
| /// - "COMPLETED" : The migration job object is completed. |
| core.String? state; |
| |
| /// The last update time of the migration job object. |
| /// |
| /// Output only. |
| core.String? updateTime; |
| |
| MigrationJobObject({ |
| this.createTime, |
| this.error, |
| this.heterogeneousMetadata, |
| this.name, |
| this.phase, |
| this.sourceObject, |
| this.state, |
| this.updateTime, |
| }); |
| |
| MigrationJobObject.fromJson(core.Map json_) |
| : this( |
| createTime: json_['createTime'] as core.String?, |
| error: json_.containsKey('error') |
| ? Status.fromJson( |
| json_['error'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| heterogeneousMetadata: json_.containsKey('heterogeneousMetadata') |
| ? HeterogeneousMetadata.fromJson( |
| json_['heterogeneousMetadata'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| name: json_['name'] as core.String?, |
| phase: json_['phase'] as core.String?, |
| sourceObject: json_.containsKey('sourceObject') |
| ? SourceObjectIdentifier.fromJson( |
| json_['sourceObject'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| state: json_['state'] as core.String?, |
| updateTime: json_['updateTime'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final createTime = this.createTime; |
| final error = this.error; |
| final heterogeneousMetadata = this.heterogeneousMetadata; |
| final name = this.name; |
| final phase = this.phase; |
| final sourceObject = this.sourceObject; |
| final state = this.state; |
| final updateTime = this.updateTime; |
| return { |
| 'createTime': ?createTime, |
| 'error': ?error, |
| 'heterogeneousMetadata': ?heterogeneousMetadata, |
| 'name': ?name, |
| 'phase': ?phase, |
| 'sourceObject': ?sourceObject, |
| 'state': ?state, |
| 'updateTime': ?updateTime, |
| }; |
| } |
| } |
| |
| /// Configuration for the objects to be migrated. |
| class MigrationJobObjectsConfig { |
| /// The list of the migration job objects. |
| SourceObjectsConfig? sourceObjectsConfig; |
| |
| MigrationJobObjectsConfig({this.sourceObjectsConfig}); |
| |
| MigrationJobObjectsConfig.fromJson(core.Map json_) |
| : this( |
| sourceObjectsConfig: json_.containsKey('sourceObjectsConfig') |
| ? SourceObjectsConfig.fromJson( |
| json_['sourceObjectsConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final sourceObjectsConfig = this.sourceObjectsConfig; |
| return {'sourceObjectsConfig': ?sourceObjectsConfig}; |
| } |
| } |
| |
| /// 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). |
| class MultiColumnDatatypeChange { |
| /// Custom engine specific features. |
| /// |
| /// Optional. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// New data type. |
| /// |
| /// Required. |
| core.String? newDataType; |
| |
| /// Column fractional seconds precision - used only for timestamp based |
| /// datatypes - if not specified and relevant uses the source column |
| /// fractional seconds precision. |
| /// |
| /// Optional. |
| core.int? overrideFractionalSecondsPrecision; |
| |
| /// Column length - e.g. varchar (50) - if not specified and relevant uses the |
| /// source column length. |
| /// |
| /// Optional. |
| core.String? overrideLength; |
| |
| /// Column precision - when relevant - if not specified and relevant uses the |
| /// source column precision. |
| /// |
| /// Optional. |
| core.int? overridePrecision; |
| |
| /// Column scale - when relevant - if not specified and relevant uses the |
| /// source column scale. |
| /// |
| /// Optional. |
| core.int? overrideScale; |
| |
| /// Filter on source data type. |
| /// |
| /// Required. |
| core.String? sourceDataTypeFilter; |
| |
| /// Filter for fixed point number data types such as NUMERIC/NUMBER. |
| /// |
| /// Optional. |
| SourceNumericFilter? sourceNumericFilter; |
| |
| /// Filter for text-based data types like varchar. |
| /// |
| /// Optional. |
| SourceTextFilter? sourceTextFilter; |
| |
| MultiColumnDatatypeChange({ |
| this.customFeatures, |
| this.newDataType, |
| this.overrideFractionalSecondsPrecision, |
| this.overrideLength, |
| this.overridePrecision, |
| this.overrideScale, |
| this.sourceDataTypeFilter, |
| this.sourceNumericFilter, |
| this.sourceTextFilter, |
| }); |
| |
| MultiColumnDatatypeChange.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| newDataType: json_['newDataType'] as core.String?, |
| overrideFractionalSecondsPrecision: |
| json_['overrideFractionalSecondsPrecision'] as core.int?, |
| overrideLength: json_['overrideLength'] as core.String?, |
| overridePrecision: json_['overridePrecision'] as core.int?, |
| overrideScale: json_['overrideScale'] as core.int?, |
| sourceDataTypeFilter: json_['sourceDataTypeFilter'] as core.String?, |
| sourceNumericFilter: json_.containsKey('sourceNumericFilter') |
| ? SourceNumericFilter.fromJson( |
| json_['sourceNumericFilter'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| sourceTextFilter: json_.containsKey('sourceTextFilter') |
| ? SourceTextFilter.fromJson( |
| json_['sourceTextFilter'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final newDataType = this.newDataType; |
| final overrideFractionalSecondsPrecision = |
| this.overrideFractionalSecondsPrecision; |
| final overrideLength = this.overrideLength; |
| final overridePrecision = this.overridePrecision; |
| final overrideScale = this.overrideScale; |
| final sourceDataTypeFilter = this.sourceDataTypeFilter; |
| final sourceNumericFilter = this.sourceNumericFilter; |
| final sourceTextFilter = this.sourceTextFilter; |
| return { |
| 'customFeatures': ?customFeatures, |
| 'newDataType': ?newDataType, |
| 'overrideFractionalSecondsPrecision': ?overrideFractionalSecondsPrecision, |
| 'overrideLength': ?overrideLength, |
| 'overridePrecision': ?overridePrecision, |
| 'overrideScale': ?overrideScale, |
| 'sourceDataTypeFilter': ?sourceDataTypeFilter, |
| 'sourceNumericFilter': ?sourceNumericFilter, |
| 'sourceTextFilter': ?sourceTextFilter, |
| }; |
| } |
| } |
| |
| /// 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 |
| class MultiEntityRename { |
| /// 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}' |
| /// |
| /// Optional. |
| core.String? newNamePattern; |
| |
| /// 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 |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "ENTITY_NAME_TRANSFORMATION_UNSPECIFIED" : Entity name transformation |
| /// unspecified. |
| /// - "ENTITY_NAME_TRANSFORMATION_NO_TRANSFORMATION" : No transformation. |
| /// - "ENTITY_NAME_TRANSFORMATION_LOWER_CASE" : Transform to lower case. |
| /// - "ENTITY_NAME_TRANSFORMATION_UPPER_CASE" : Transform to upper case. |
| /// - "ENTITY_NAME_TRANSFORMATION_CAPITALIZED_CASE" : Transform to capitalized |
| /// case. |
| core.String? sourceNameTransformation; |
| |
| MultiEntityRename({this.newNamePattern, this.sourceNameTransformation}); |
| |
| MultiEntityRename.fromJson(core.Map json_) |
| : this( |
| newNamePattern: json_['newNamePattern'] as core.String?, |
| sourceNameTransformation: |
| json_['sourceNameTransformation'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final newNamePattern = this.newNamePattern; |
| final sourceNameTransformation = this.sourceNameTransformation; |
| return { |
| 'newNamePattern': ?newNamePattern, |
| 'sourceNameTransformation': ?sourceNameTransformation, |
| }; |
| } |
| } |
| |
| /// Specifies connection parameters required specifically for MySQL databases. |
| class MySqlConnectionProfile { |
| /// If the source is a Cloud SQL database, use this field to provide the Cloud |
| /// SQL instance ID of the source. |
| core.String? cloudSqlId; |
| |
| /// The IP or hostname of the source MySQL database. |
| /// |
| /// Required. |
| core.String? host; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? password; |
| |
| /// Indicates If this connection profile password is stored. |
| /// |
| /// Output only. |
| core.bool? passwordSet; |
| |
| /// The network port of the source MySQL database. |
| /// |
| /// Required. |
| core.int? port; |
| |
| /// SSL configuration for the destination to connect to the source database. |
| SslConfig? ssl; |
| |
| /// The username that Database Migration Service will use to connect to the |
| /// database. |
| /// |
| /// The value is encrypted when stored in Database Migration Service. |
| /// |
| /// Required. |
| core.String? username; |
| |
| MySqlConnectionProfile({ |
| this.cloudSqlId, |
| this.host, |
| this.password, |
| this.passwordSet, |
| this.port, |
| this.ssl, |
| this.username, |
| }); |
| |
| MySqlConnectionProfile.fromJson(core.Map json_) |
| : this( |
| cloudSqlId: json_['cloudSqlId'] as core.String?, |
| host: json_['host'] as core.String?, |
| password: json_['password'] as core.String?, |
| passwordSet: json_['passwordSet'] as core.bool?, |
| port: json_['port'] as core.int?, |
| ssl: json_.containsKey('ssl') |
| ? SslConfig.fromJson( |
| json_['ssl'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| username: json_['username'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final cloudSqlId = this.cloudSqlId; |
| final host = this.host; |
| final password = this.password; |
| final passwordSet = this.passwordSet; |
| final port = this.port; |
| final ssl = this.ssl; |
| final username = this.username; |
| return { |
| 'cloudSqlId': ?cloudSqlId, |
| 'host': ?host, |
| 'password': ?password, |
| 'passwordSet': ?passwordSet, |
| 'port': ?port, |
| 'ssl': ?ssl, |
| 'username': ?username, |
| }; |
| } |
| } |
| |
| /// This resource represents a long-running operation that is the result of a |
| /// network API call. |
| class Operation { |
| /// If the value is `false`, it means the operation is still in progress. |
| /// |
| /// If `true`, the operation is completed, and either `error` or `response` is |
| /// available. |
| core.bool? done; |
| |
| /// The error result of the operation in case of failure or cancellation. |
| Status? error; |
| |
| /// Service-specific metadata associated with the operation. |
| /// |
| /// It typically contains progress information and common metadata such as |
| /// create time. Some services might not provide such metadata. Any method |
| /// that returns a long-running operation should document the metadata type, |
| /// if any. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? metadata; |
| |
| /// The server-assigned name, which is only unique within the same service |
| /// that originally returns it. |
| /// |
| /// If you use the default HTTP mapping, the `name` should be a resource name |
| /// ending with `operations/{unique_id}`. |
| core.String? name; |
| |
| /// 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`. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? response; |
| |
| Operation({this.done, this.error, this.metadata, this.name, this.response}); |
| |
| Operation.fromJson(core.Map json_) |
| : this( |
| done: json_['done'] as core.bool?, |
| error: json_.containsKey('error') |
| ? Status.fromJson( |
| json_['error'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| metadata: json_.containsKey('metadata') |
| ? json_['metadata'] as core.Map<core.String, core.dynamic> |
| : null, |
| name: json_['name'] as core.String?, |
| response: json_.containsKey('response') |
| ? json_['response'] as core.Map<core.String, core.dynamic> |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final done = this.done; |
| final error = this.error; |
| final metadata = this.metadata; |
| final name = this.name; |
| final response = this.response; |
| return { |
| 'done': ?done, |
| 'error': ?error, |
| 'metadata': ?metadata, |
| 'name': ?name, |
| 'response': ?response, |
| }; |
| } |
| } |
| |
| /// Configuration for Oracle Automatic Storage Management (ASM) connection. |
| class OracleAsmConfig { |
| /// ASM service name for the Oracle ASM connection. |
| /// |
| /// Required. |
| core.String? asmService; |
| |
| /// Hostname for the Oracle ASM connection. |
| /// |
| /// Required. |
| core.String? hostname; |
| |
| /// Input only. |
| /// |
| /// Password for the Oracle ASM connection. |
| /// |
| /// Required. |
| core.String? password; |
| |
| /// Indicates whether a new password is included in the request. |
| /// |
| /// Output only. |
| core.bool? passwordSet; |
| |
| /// Port for the Oracle ASM connection. |
| /// |
| /// Required. |
| core.int? port; |
| |
| /// SSL configuration for the Oracle connection. |
| /// |
| /// Optional. |
| SslConfig? ssl; |
| |
| /// Username for the Oracle ASM connection. |
| /// |
| /// Required. |
| core.String? username; |
| |
| OracleAsmConfig({ |
| this.asmService, |
| this.hostname, |
| this.password, |
| this.passwordSet, |
| this.port, |
| this.ssl, |
| this.username, |
| }); |
| |
| OracleAsmConfig.fromJson(core.Map json_) |
| : this( |
| asmService: json_['asmService'] as core.String?, |
| hostname: json_['hostname'] as core.String?, |
| password: json_['password'] as core.String?, |
| passwordSet: json_['passwordSet'] as core.bool?, |
| port: json_['port'] as core.int?, |
| ssl: json_.containsKey('ssl') |
| ? SslConfig.fromJson( |
| json_['ssl'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| username: json_['username'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final asmService = this.asmService; |
| final hostname = this.hostname; |
| final password = this.password; |
| final passwordSet = this.passwordSet; |
| final port = this.port; |
| final ssl = this.ssl; |
| final username = this.username; |
| return { |
| 'asmService': ?asmService, |
| 'hostname': ?hostname, |
| 'password': ?password, |
| 'passwordSet': ?passwordSet, |
| 'port': ?port, |
| 'ssl': ?ssl, |
| 'username': ?username, |
| }; |
| } |
| } |
| |
| /// Configuration to use Oracle ASM to access the log files. |
| typedef OracleAsmLogFileAccess = $Empty; |
| |
| /// Specifies connection parameters required specifically for Oracle databases. |
| class OracleConnectionProfile { |
| /// Database service for the Oracle connection. |
| /// |
| /// Required. |
| core.String? databaseService; |
| |
| /// Forward SSH tunnel connectivity. |
| ForwardSshTunnelConnectivity? forwardSshConnectivity; |
| |
| /// The IP or hostname of the source Oracle database. |
| /// |
| /// Required. |
| core.String? host; |
| |
| /// Configuration for Oracle ASM connection. |
| /// |
| /// Optional. |
| OracleAsmConfig? oracleAsmConfig; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? password; |
| |
| /// Indicates whether a new password is included in the request. |
| /// |
| /// Output only. |
| core.bool? passwordSet; |
| |
| /// The network port of the source Oracle database. |
| /// |
| /// Required. |
| core.int? port; |
| |
| /// Private connectivity. |
| PrivateConnectivity? privateConnectivity; |
| |
| /// 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. |
| SslConfig? ssl; |
| |
| /// Static Service IP connectivity. |
| StaticServiceIpConnectivity? staticServiceIpConnectivity; |
| |
| /// The username that Database Migration Service will use to connect to the |
| /// database. |
| /// |
| /// The value is encrypted when stored in Database Migration Service. |
| /// |
| /// Required. |
| core.String? username; |
| |
| OracleConnectionProfile({ |
| this.databaseService, |
| this.forwardSshConnectivity, |
| this.host, |
| this.oracleAsmConfig, |
| this.password, |
| this.passwordSet, |
| this.port, |
| this.privateConnectivity, |
| this.ssl, |
| this.staticServiceIpConnectivity, |
| this.username, |
| }); |
| |
| OracleConnectionProfile.fromJson(core.Map json_) |
| : this( |
| databaseService: json_['databaseService'] as core.String?, |
| forwardSshConnectivity: json_.containsKey('forwardSshConnectivity') |
| ? ForwardSshTunnelConnectivity.fromJson( |
| json_['forwardSshConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| host: json_['host'] as core.String?, |
| oracleAsmConfig: json_.containsKey('oracleAsmConfig') |
| ? OracleAsmConfig.fromJson( |
| json_['oracleAsmConfig'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| password: json_['password'] as core.String?, |
| passwordSet: json_['passwordSet'] as core.bool?, |
| port: json_['port'] as core.int?, |
| privateConnectivity: json_.containsKey('privateConnectivity') |
| ? PrivateConnectivity.fromJson( |
| json_['privateConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ssl: json_.containsKey('ssl') |
| ? SslConfig.fromJson( |
| json_['ssl'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| staticServiceIpConnectivity: |
| json_.containsKey('staticServiceIpConnectivity') |
| ? StaticServiceIpConnectivity.fromJson( |
| json_['staticServiceIpConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| username: json_['username'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final databaseService = this.databaseService; |
| final forwardSshConnectivity = this.forwardSshConnectivity; |
| final host = this.host; |
| final oracleAsmConfig = this.oracleAsmConfig; |
| final password = this.password; |
| final passwordSet = this.passwordSet; |
| final port = this.port; |
| final privateConnectivity = this.privateConnectivity; |
| final ssl = this.ssl; |
| final staticServiceIpConnectivity = this.staticServiceIpConnectivity; |
| final username = this.username; |
| return { |
| 'databaseService': ?databaseService, |
| 'forwardSshConnectivity': ?forwardSshConnectivity, |
| 'host': ?host, |
| 'oracleAsmConfig': ?oracleAsmConfig, |
| 'password': ?password, |
| 'passwordSet': ?passwordSet, |
| 'port': ?port, |
| 'privateConnectivity': ?privateConnectivity, |
| 'ssl': ?ssl, |
| 'staticServiceIpConnectivity': ?staticServiceIpConnectivity, |
| 'username': ?username, |
| }; |
| } |
| } |
| |
| /// Configuration for Oracle as a source in a migration. |
| class OracleSourceConfig { |
| /// Use Binary Log Parser. |
| BinaryLogParser? binaryLogParser; |
| |
| /// The schema change number (SCN) to start CDC data migration from. |
| /// |
| /// Optional. |
| core.String? cdcStartPosition; |
| |
| /// Use LogMiner. |
| LogMiner? logMiner; |
| |
| /// Maximum number of connections Database Migration Service will open to the |
| /// source for CDC phase. |
| /// |
| /// Optional. |
| core.int? maxConcurrentCdcConnections; |
| |
| /// Maximum number of connections Database Migration Service will open to the |
| /// source for full dump phase. |
| /// |
| /// Optional. |
| core.int? maxConcurrentFullDumpConnections; |
| |
| /// Whether to skip full dump or not. |
| /// |
| /// Optional. |
| core.bool? skipFullDump; |
| |
| OracleSourceConfig({ |
| this.binaryLogParser, |
| this.cdcStartPosition, |
| this.logMiner, |
| this.maxConcurrentCdcConnections, |
| this.maxConcurrentFullDumpConnections, |
| this.skipFullDump, |
| }); |
| |
| OracleSourceConfig.fromJson(core.Map json_) |
| : this( |
| binaryLogParser: json_.containsKey('binaryLogParser') |
| ? BinaryLogParser.fromJson( |
| json_['binaryLogParser'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| cdcStartPosition: json_['cdcStartPosition'] as core.String?, |
| logMiner: json_.containsKey('logMiner') |
| ? LogMiner.fromJson( |
| json_['logMiner'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| maxConcurrentCdcConnections: |
| json_['maxConcurrentCdcConnections'] as core.int?, |
| maxConcurrentFullDumpConnections: |
| json_['maxConcurrentFullDumpConnections'] as core.int?, |
| skipFullDump: json_['skipFullDump'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final binaryLogParser = this.binaryLogParser; |
| final cdcStartPosition = this.cdcStartPosition; |
| final logMiner = this.logMiner; |
| final maxConcurrentCdcConnections = this.maxConcurrentCdcConnections; |
| final maxConcurrentFullDumpConnections = |
| this.maxConcurrentFullDumpConnections; |
| final skipFullDump = this.skipFullDump; |
| return { |
| 'binaryLogParser': ?binaryLogParser, |
| 'cdcStartPosition': ?cdcStartPosition, |
| 'logMiner': ?logMiner, |
| 'maxConcurrentCdcConnections': ?maxConcurrentCdcConnections, |
| 'maxConcurrentFullDumpConnections': ?maxConcurrentFullDumpConnections, |
| 'skipFullDump': ?skipFullDump, |
| }; |
| } |
| } |
| |
| /// Configuration for heterogeneous **Oracle to Cloud SQL for PostgreSQL** and |
| /// **Oracle to AlloyDB for PostgreSQL** migrations. |
| class OracleToPostgresConfig { |
| /// Configuration for Oracle source. |
| /// |
| /// Optional. |
| OracleSourceConfig? oracleSourceConfig; |
| |
| /// Configuration for Postgres destination. |
| /// |
| /// Optional. |
| PostgresDestinationConfig? postgresDestinationConfig; |
| |
| OracleToPostgresConfig({ |
| this.oracleSourceConfig, |
| this.postgresDestinationConfig, |
| }); |
| |
| OracleToPostgresConfig.fromJson(core.Map json_) |
| : this( |
| oracleSourceConfig: json_.containsKey('oracleSourceConfig') |
| ? OracleSourceConfig.fromJson( |
| json_['oracleSourceConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| postgresDestinationConfig: |
| json_.containsKey('postgresDestinationConfig') |
| ? PostgresDestinationConfig.fromJson( |
| json_['postgresDestinationConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final oracleSourceConfig = this.oracleSourceConfig; |
| final postgresDestinationConfig = this.postgresDestinationConfig; |
| return { |
| 'oracleSourceConfig': ?oracleSourceConfig, |
| 'postgresDestinationConfig': ?postgresDestinationConfig, |
| }; |
| } |
| } |
| |
| /// Package's parent is a schema. |
| class PackageEntity { |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// The SQL code which creates the package body. |
| /// |
| /// If the package specification has cursors or subprograms, then the package |
| /// body is mandatory. |
| core.String? packageBody; |
| |
| /// The SQL code which creates the package. |
| core.String? packageSqlCode; |
| |
| PackageEntity({this.customFeatures, this.packageBody, this.packageSqlCode}); |
| |
| PackageEntity.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| packageBody: json_['packageBody'] as core.String?, |
| packageSqlCode: json_['packageSqlCode'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final packageBody = this.packageBody; |
| final packageSqlCode = this.packageSqlCode; |
| return { |
| 'customFeatures': ?customFeatures, |
| 'packageBody': ?packageBody, |
| 'packageSqlCode': ?packageSqlCode, |
| }; |
| } |
| } |
| |
| /// Performance configuration definition. |
| class PerformanceConfig { |
| /// Initial dump parallelism level. |
| /// Possible string values are: |
| /// - "DUMP_PARALLEL_LEVEL_UNSPECIFIED" : Unknown dump parallel level. Will be |
| /// defaulted to OPTIMAL. |
| /// - "MIN" : Minimal parallel level. |
| /// - "OPTIMAL" : Optimal parallel level. |
| /// - "MAX" : Maximum parallel level. |
| core.String? dumpParallelLevel; |
| |
| PerformanceConfig({this.dumpParallelLevel}); |
| |
| PerformanceConfig.fromJson(core.Map json_) |
| : this(dumpParallelLevel: json_['dumpParallelLevel'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final dumpParallelLevel = this.dumpParallelLevel; |
| return {'dumpParallelLevel': ?dumpParallelLevel}; |
| } |
| } |
| |
| /// 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/). |
| class Policy { |
| /// Specifies cloud audit logging configuration for this policy. |
| core.List<AuditConfig>? auditConfigs; |
| |
| /// Associates a list of `members`, or principals, with a `role`. |
| /// |
| /// Optionally, may specify a `condition` that determines how and when the |
| /// `bindings` are applied. Each of the `bindings` must contain at least one |
| /// principal. The `bindings` in a `Policy` can refer to up to 1,500 |
| /// principals; up to 250 of these principals can be Google groups. Each |
| /// occurrence of a principal counts towards these limits. For example, if the |
| /// `bindings` grant 50 different roles to `user:alice@example.com`, and not |
| /// to any other principal, then you can add another 1,450 principals to the |
| /// `bindings` in the `Policy`. |
| core.List<Binding>? bindings; |
| |
| /// `etag` is used for optimistic concurrency control as a way to help prevent |
| /// simultaneous updates of a policy from overwriting each other. |
| /// |
| /// It is strongly suggested that systems make use of the `etag` in the |
| /// read-modify-write cycle to perform policy updates in order to avoid race |
| /// conditions: An `etag` is returned in the response to `getIamPolicy`, and |
| /// systems are expected to put that etag in the request to `setIamPolicy` to |
| /// ensure that their change will be applied to the same version of the |
| /// policy. **Important:** If you use IAM Conditions, you must include the |
| /// `etag` field whenever you call `setIamPolicy`. If you omit this field, |
| /// then IAM allows you to overwrite a version `3` policy with a version `1` |
| /// policy, and all of the conditions in the version `3` policy are lost. |
| core.String? etag; |
| core.List<core.int> get etagAsBytes => convert_1.base64.decode(etag!); |
| |
| set etagAsBytes(core.List<core.int> bytes_) { |
| etag = convert_1.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Specifies the format of the policy. |
| /// |
| /// Valid values are `0`, `1`, and `3`. Requests that specify an invalid value |
| /// are rejected. Any operation that affects conditional role bindings must |
| /// specify version `3`. This requirement applies to the following operations: |
| /// * Getting a policy that includes a conditional role binding * Adding a |
| /// conditional role binding to a policy * Changing a conditional role binding |
| /// in a policy * Removing any role binding, with or without a condition, from |
| /// a policy that includes conditions **Important:** If you use IAM |
| /// Conditions, you must include the `etag` field whenever you call |
| /// `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a |
| /// version `3` policy with a version `1` policy, and all of the conditions in |
| /// the version `3` policy are lost. If a policy does not include any |
| /// conditions, operations on that policy may specify any valid version or |
| /// leave the field unset. To learn which resources support conditions in |
| /// their IAM policies, see the |
| /// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). |
| core.int? version; |
| |
| Policy({this.auditConfigs, this.bindings, this.etag, this.version}); |
| |
| Policy.fromJson(core.Map json_) |
| : this( |
| auditConfigs: (json_['auditConfigs'] as core.List?) |
| ?.map( |
| (value) => AuditConfig.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| bindings: (json_['bindings'] as core.List?) |
| ?.map( |
| (value) => Binding.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| etag: json_['etag'] as core.String?, |
| version: json_['version'] as core.int?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final auditConfigs = this.auditConfigs; |
| final bindings = this.bindings; |
| final etag = this.etag; |
| final version = this.version; |
| return { |
| 'auditConfigs': ?auditConfigs, |
| 'bindings': ?bindings, |
| 'etag': ?etag, |
| 'version': ?version, |
| }; |
| } |
| } |
| |
| /// Issue position. |
| class Position { |
| /// Issue column number |
| core.int? column; |
| |
| /// Issue length |
| core.int? length; |
| |
| /// Issue line number |
| core.int? line; |
| |
| /// Issue offset |
| core.int? offset; |
| |
| Position({this.column, this.length, this.line, this.offset}); |
| |
| Position.fromJson(core.Map json_) |
| : this( |
| column: json_['column'] as core.int?, |
| length: json_['length'] as core.int?, |
| line: json_['line'] as core.int?, |
| offset: json_['offset'] as core.int?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final column = this.column; |
| final length = this.length; |
| final line = this.line; |
| final offset = this.offset; |
| return { |
| 'column': ?column, |
| 'length': ?length, |
| 'line': ?line, |
| 'offset': ?offset, |
| }; |
| } |
| } |
| |
| /// Specifies connection parameters required specifically for PostgreSQL |
| /// databases. |
| class PostgreSqlConnectionProfile { |
| /// If the destination is an AlloyDB database, use this field to provide the |
| /// AlloyDB cluster ID. |
| /// |
| /// Optional. |
| core.String? alloydbClusterId; |
| |
| /// If the source is a Cloud SQL database, use this field to provide the Cloud |
| /// SQL instance ID of the source. |
| core.String? cloudSqlId; |
| |
| /// The name of the specific database within the host. |
| /// |
| /// Optional. |
| core.String? database; |
| |
| /// If true, Database Migration Service will use IAM database authentication |
| /// to connect to the database. |
| /// |
| /// Optional. |
| core.bool? enableIamAuthentication; |
| |
| /// Forward SSH tunnel connectivity. |
| ForwardSshTunnelConnectivity? forwardSshConnectivity; |
| |
| /// The IP or hostname of the source PostgreSQL database. |
| /// |
| /// Required. |
| core.String? host; |
| |
| /// If the source is a Cloud SQL database, this field indicates the network |
| /// architecture it's associated with. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "NETWORK_ARCHITECTURE_UNSPECIFIED" |
| /// - "NETWORK_ARCHITECTURE_OLD_CSQL_PRODUCER" : Instance is in Cloud SQL's |
| /// old producer network architecture. |
| /// - "NETWORK_ARCHITECTURE_NEW_CSQL_PRODUCER" : Instance is in Cloud SQL's |
| /// new producer network architecture. |
| core.String? networkArchitecture; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? password; |
| |
| /// Indicates If this connection profile password is stored. |
| /// |
| /// Output only. |
| core.bool? passwordSet; |
| |
| /// The network port of the source PostgreSQL database. |
| /// |
| /// Required. |
| core.int? port; |
| |
| /// Private connectivity. |
| PrivateConnectivity? privateConnectivity; |
| |
| /// Private service connect connectivity. |
| PrivateServiceConnectConnectivity? privateServiceConnectConnectivity; |
| |
| /// SSL configuration for the destination to connect to the source database. |
| SslConfig? ssl; |
| |
| /// Static ip connectivity data (default, no additional details needed). |
| StaticIpConnectivity? staticIpConnectivity; |
| |
| /// The username that Database Migration Service will use to connect to the |
| /// database. |
| /// |
| /// The value is encrypted when stored in Database Migration Service. |
| /// |
| /// Required. |
| core.String? username; |
| |
| PostgreSqlConnectionProfile({ |
| this.alloydbClusterId, |
| this.cloudSqlId, |
| this.database, |
| this.enableIamAuthentication, |
| this.forwardSshConnectivity, |
| this.host, |
| this.networkArchitecture, |
| this.password, |
| this.passwordSet, |
| this.port, |
| this.privateConnectivity, |
| this.privateServiceConnectConnectivity, |
| this.ssl, |
| this.staticIpConnectivity, |
| this.username, |
| }); |
| |
| PostgreSqlConnectionProfile.fromJson(core.Map json_) |
| : this( |
| alloydbClusterId: json_['alloydbClusterId'] as core.String?, |
| cloudSqlId: json_['cloudSqlId'] as core.String?, |
| database: json_['database'] as core.String?, |
| enableIamAuthentication: json_['enableIamAuthentication'] as core.bool?, |
| forwardSshConnectivity: json_.containsKey('forwardSshConnectivity') |
| ? ForwardSshTunnelConnectivity.fromJson( |
| json_['forwardSshConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| host: json_['host'] as core.String?, |
| networkArchitecture: json_['networkArchitecture'] as core.String?, |
| password: json_['password'] as core.String?, |
| passwordSet: json_['passwordSet'] as core.bool?, |
| port: json_['port'] as core.int?, |
| privateConnectivity: json_.containsKey('privateConnectivity') |
| ? PrivateConnectivity.fromJson( |
| json_['privateConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| privateServiceConnectConnectivity: |
| json_.containsKey('privateServiceConnectConnectivity') |
| ? PrivateServiceConnectConnectivity.fromJson( |
| json_['privateServiceConnectConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ssl: json_.containsKey('ssl') |
| ? SslConfig.fromJson( |
| json_['ssl'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| staticIpConnectivity: json_.containsKey('staticIpConnectivity') |
| ? StaticIpConnectivity.fromJson( |
| json_['staticIpConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| username: json_['username'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final alloydbClusterId = this.alloydbClusterId; |
| final cloudSqlId = this.cloudSqlId; |
| final database = this.database; |
| final enableIamAuthentication = this.enableIamAuthentication; |
| final forwardSshConnectivity = this.forwardSshConnectivity; |
| final host = this.host; |
| final networkArchitecture = this.networkArchitecture; |
| final password = this.password; |
| final passwordSet = this.passwordSet; |
| final port = this.port; |
| final privateConnectivity = this.privateConnectivity; |
| final privateServiceConnectConnectivity = |
| this.privateServiceConnectConnectivity; |
| final ssl = this.ssl; |
| final staticIpConnectivity = this.staticIpConnectivity; |
| final username = this.username; |
| return { |
| 'alloydbClusterId': ?alloydbClusterId, |
| 'cloudSqlId': ?cloudSqlId, |
| 'database': ?database, |
| 'enableIamAuthentication': ?enableIamAuthentication, |
| 'forwardSshConnectivity': ?forwardSshConnectivity, |
| 'host': ?host, |
| 'networkArchitecture': ?networkArchitecture, |
| 'password': ?password, |
| 'passwordSet': ?passwordSet, |
| 'port': ?port, |
| 'privateConnectivity': ?privateConnectivity, |
| 'privateServiceConnectConnectivity': ?privateServiceConnectConnectivity, |
| 'ssl': ?ssl, |
| 'staticIpConnectivity': ?staticIpConnectivity, |
| 'username': ?username, |
| }; |
| } |
| } |
| |
| /// Configuration for Postgres as a destination in a migration. |
| typedef PostgresDestinationConfig = $DestinationConfig; |
| |
| /// Configuration for Postgres as a source in a migration. |
| class PostgresSourceConfig { |
| /// Whether to skip full dump or not. |
| /// |
| /// Optional. |
| core.bool? skipFullDump; |
| |
| PostgresSourceConfig({this.skipFullDump}); |
| |
| PostgresSourceConfig.fromJson(core.Map json_) |
| : this(skipFullDump: json_['skipFullDump'] as core.bool?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final skipFullDump = this.skipFullDump; |
| return {'skipFullDump': ?skipFullDump}; |
| } |
| } |
| |
| /// Configuration for heterogeneous failback migrations from **PostgreSQL to SQL |
| /// Server**. |
| class PostgresToSqlServerConfig { |
| /// Configuration for PostgreSQL source. |
| /// |
| /// Optional. |
| PostgresSourceConfig? postgresSourceConfig; |
| |
| /// Configuration for SQL Server destination. |
| /// |
| /// Optional. |
| SqlServerDestinationConfig? sqlserverDestinationConfig; |
| |
| PostgresToSqlServerConfig({ |
| this.postgresSourceConfig, |
| this.sqlserverDestinationConfig, |
| }); |
| |
| PostgresToSqlServerConfig.fromJson(core.Map json_) |
| : this( |
| postgresSourceConfig: json_.containsKey('postgresSourceConfig') |
| ? PostgresSourceConfig.fromJson( |
| json_['postgresSourceConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| sqlserverDestinationConfig: |
| json_.containsKey('sqlserverDestinationConfig') |
| ? SqlServerDestinationConfig.fromJson( |
| json_['sqlserverDestinationConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final postgresSourceConfig = this.postgresSourceConfig; |
| final sqlserverDestinationConfig = this.sqlserverDestinationConfig; |
| return { |
| 'postgresSourceConfig': ?postgresSourceConfig, |
| 'sqlserverDestinationConfig': ?sqlserverDestinationConfig, |
| }; |
| } |
| } |
| |
| /// Settings for the cluster's primary instance |
| class PrimaryInstanceSettings { |
| /// Database flags to pass to AlloyDB when DMS is creating the AlloyDB cluster |
| /// and instances. |
| /// |
| /// See the AlloyDB documentation for how these can be used. |
| core.Map<core.String, core.String>? databaseFlags; |
| |
| /// The ID of the AlloyDB primary instance. |
| /// |
| /// The ID must satisfy the regex expression "\[a-z0-9-\]+". |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Metadata related to instance level network configuration. |
| /// |
| /// Optional. |
| InstanceNetworkConfig? instanceNetworkConfig; |
| |
| /// Labels for the AlloyDB primary instance created by DMS. |
| /// |
| /// An object containing a list of 'key', 'value' pairs. |
| core.Map<core.String, core.String>? labels; |
| |
| /// Configuration for the machines that host the underlying database engine. |
| MachineConfig? machineConfig; |
| |
| /// All outbound public IP addresses configured for the instance. |
| /// |
| /// Output only. |
| core.List<core.String>? outboundPublicIpAddresses; |
| |
| /// The private IP address for the Instance. |
| /// |
| /// This is the connection endpoint for an end-user application. |
| /// |
| /// Output only. |
| core.String? privateIp; |
| |
| PrimaryInstanceSettings({ |
| this.databaseFlags, |
| this.id, |
| this.instanceNetworkConfig, |
| this.labels, |
| this.machineConfig, |
| this.outboundPublicIpAddresses, |
| this.privateIp, |
| }); |
| |
| PrimaryInstanceSettings.fromJson(core.Map json_) |
| : this( |
| databaseFlags: |
| (json_['databaseFlags'] as core.Map<core.String, core.dynamic>?) |
| ?.map((key, value) => core.MapEntry(key, value as core.String)), |
| id: json_['id'] as core.String?, |
| instanceNetworkConfig: json_.containsKey('instanceNetworkConfig') |
| ? InstanceNetworkConfig.fromJson( |
| json_['instanceNetworkConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| labels: (json_['labels'] as core.Map<core.String, core.dynamic>?)?.map( |
| (key, value) => core.MapEntry(key, value as core.String), |
| ), |
| machineConfig: json_.containsKey('machineConfig') |
| ? MachineConfig.fromJson( |
| json_['machineConfig'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| outboundPublicIpAddresses: |
| (json_['outboundPublicIpAddresses'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| privateIp: json_['privateIp'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final databaseFlags = this.databaseFlags; |
| final id = this.id; |
| final instanceNetworkConfig = this.instanceNetworkConfig; |
| final labels = this.labels; |
| final machineConfig = this.machineConfig; |
| final outboundPublicIpAddresses = this.outboundPublicIpAddresses; |
| final privateIp = this.privateIp; |
| return { |
| 'databaseFlags': ?databaseFlags, |
| 'id': ?id, |
| 'instanceNetworkConfig': ?instanceNetworkConfig, |
| 'labels': ?labels, |
| 'machineConfig': ?machineConfig, |
| 'outboundPublicIpAddresses': ?outboundPublicIpAddresses, |
| 'privateIp': ?privateIp, |
| }; |
| } |
| } |
| |
| /// The PrivateConnection resource is used to establish private connectivity |
| /// with the customer's network. |
| class PrivateConnection { |
| /// The create time of the resource. |
| /// |
| /// Output only. |
| core.String? createTime; |
| |
| /// The private connection display name. |
| core.String? displayName; |
| |
| /// The error details in case of state FAILED. |
| /// |
| /// Output only. |
| Status? error; |
| |
| /// 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" }`. |
| core.Map<core.String, core.String>? labels; |
| |
| /// The name of the resource. |
| core.String? name; |
| |
| /// PSC Interface configuration. |
| PscInterfaceConfig? pscInterfaceConfig; |
| |
| /// Reserved for future use. |
| /// |
| /// Output only. |
| core.bool? satisfiesPzi; |
| |
| /// Reserved for future use. |
| /// |
| /// Output only. |
| core.bool? satisfiesPzs; |
| |
| /// The state of the private connection. |
| /// |
| /// Output only. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" |
| /// - "CREATING" : The private connection is in creation state - creating |
| /// resources. |
| /// - "CREATED" : The private connection has been created with all of its |
| /// resources. |
| /// - "FAILED" : The private connection creation has failed. |
| /// - "DELETING" : The private connection is being deleted. |
| /// - "FAILED_TO_DELETE" : Delete request has failed, resource is in invalid |
| /// state. |
| /// - "DELETED" : The private connection has been deleted. |
| core.String? state; |
| |
| /// The last update time of the resource. |
| /// |
| /// Output only. |
| core.String? updateTime; |
| |
| /// VPC peering configuration. |
| VpcPeeringConfig? vpcPeeringConfig; |
| |
| PrivateConnection({ |
| this.createTime, |
| this.displayName, |
| this.error, |
| this.labels, |
| this.name, |
| this.pscInterfaceConfig, |
| this.satisfiesPzi, |
| this.satisfiesPzs, |
| this.state, |
| this.updateTime, |
| this.vpcPeeringConfig, |
| }); |
| |
| PrivateConnection.fromJson(core.Map json_) |
| : this( |
| createTime: json_['createTime'] as core.String?, |
| displayName: json_['displayName'] as core.String?, |
| error: json_.containsKey('error') |
| ? Status.fromJson( |
| json_['error'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| labels: (json_['labels'] as core.Map<core.String, core.dynamic>?)?.map( |
| (key, value) => core.MapEntry(key, value as core.String), |
| ), |
| name: json_['name'] as core.String?, |
| pscInterfaceConfig: json_.containsKey('pscInterfaceConfig') |
| ? PscInterfaceConfig.fromJson( |
| json_['pscInterfaceConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| satisfiesPzi: json_['satisfiesPzi'] as core.bool?, |
| satisfiesPzs: json_['satisfiesPzs'] as core.bool?, |
| state: json_['state'] as core.String?, |
| updateTime: json_['updateTime'] as core.String?, |
| vpcPeeringConfig: json_.containsKey('vpcPeeringConfig') |
| ? VpcPeeringConfig.fromJson( |
| json_['vpcPeeringConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final createTime = this.createTime; |
| final displayName = this.displayName; |
| final error = this.error; |
| final labels = this.labels; |
| final name = this.name; |
| final pscInterfaceConfig = this.pscInterfaceConfig; |
| final satisfiesPzi = this.satisfiesPzi; |
| final satisfiesPzs = this.satisfiesPzs; |
| final state = this.state; |
| final updateTime = this.updateTime; |
| final vpcPeeringConfig = this.vpcPeeringConfig; |
| return { |
| 'createTime': ?createTime, |
| 'displayName': ?displayName, |
| 'error': ?error, |
| 'labels': ?labels, |
| 'name': ?name, |
| 'pscInterfaceConfig': ?pscInterfaceConfig, |
| 'satisfiesPzi': ?satisfiesPzi, |
| 'satisfiesPzs': ?satisfiesPzs, |
| 'state': ?state, |
| 'updateTime': ?updateTime, |
| 'vpcPeeringConfig': ?vpcPeeringConfig, |
| }; |
| } |
| } |
| |
| /// Private Connectivity. |
| class PrivateConnectivity { |
| /// The resource name (URI) of the private connection. |
| /// |
| /// Required. |
| core.String? privateConnection; |
| |
| PrivateConnectivity({this.privateConnection}); |
| |
| PrivateConnectivity.fromJson(core.Map json_) |
| : this(privateConnection: json_['privateConnection'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final privateConnection = this.privateConnection; |
| return {'privateConnection': ?privateConnection}; |
| } |
| } |
| |
| /// [Private Service Connect connectivity](https://cloud.google.com/vpc/docs/private-service-connect#service-attachments) |
| class PrivateServiceConnectConnectivity { |
| /// A service attachment that exposes a database, and has the following |
| /// format: |
| /// projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name} |
| /// |
| /// Required. |
| core.String? serviceAttachment; |
| |
| PrivateServiceConnectConnectivity({this.serviceAttachment}); |
| |
| PrivateServiceConnectConnectivity.fromJson(core.Map json_) |
| : this(serviceAttachment: json_['serviceAttachment'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final serviceAttachment = this.serviceAttachment; |
| return {'serviceAttachment': ?serviceAttachment}; |
| } |
| } |
| |
| /// Request message for 'PromoteMigrationJob' request. |
| class PromoteMigrationJobRequest { |
| /// The object filter to apply to the migration job. |
| /// |
| /// Optional. |
| MigrationJobObjectsConfig? objectsFilter; |
| |
| PromoteMigrationJobRequest({this.objectsFilter}); |
| |
| PromoteMigrationJobRequest.fromJson(core.Map json_) |
| : this( |
| objectsFilter: json_.containsKey('objectsFilter') |
| ? MigrationJobObjectsConfig.fromJson( |
| json_['objectsFilter'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final objectsFilter = this.objectsFilter; |
| return {'objectsFilter': ?objectsFilter}; |
| } |
| } |
| |
| /// The PSC Interface configuration is used to create PSC Interface between |
| /// DMS's internal VPC and the consumer's PSC. |
| class PscInterfaceConfig { |
| /// Fully qualified name of the Network Attachment that DMS will connect to. |
| /// |
| /// Format: |
| /// `projects/{{project}}/regions/{{region}}/networkAttachments/{{name}}` |
| /// |
| /// Required. |
| core.String? networkAttachment; |
| |
| PscInterfaceConfig({this.networkAttachment}); |
| |
| PscInterfaceConfig.fromJson(core.Map json_) |
| : this(networkAttachment: json_['networkAttachment'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final networkAttachment = this.networkAttachment; |
| return {'networkAttachment': ?networkAttachment}; |
| } |
| } |
| |
| /// Request message for 'RestartMigrationJob' request. |
| class RestartMigrationJobRequest { |
| /// The object filter to apply to the migration job. |
| /// |
| /// Optional. |
| MigrationJobObjectsConfig? objectsFilter; |
| |
| /// If true, only failed objects will be restarted. |
| /// |
| /// Optional. |
| core.bool? restartFailedObjects; |
| |
| /// Restart the migration job without running prior configuration |
| /// verification. |
| /// |
| /// Defaults to `false`. |
| /// |
| /// Optional. |
| core.bool? skipValidation; |
| |
| RestartMigrationJobRequest({ |
| this.objectsFilter, |
| this.restartFailedObjects, |
| this.skipValidation, |
| }); |
| |
| RestartMigrationJobRequest.fromJson(core.Map json_) |
| : this( |
| objectsFilter: json_.containsKey('objectsFilter') |
| ? MigrationJobObjectsConfig.fromJson( |
| json_['objectsFilter'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| restartFailedObjects: json_['restartFailedObjects'] as core.bool?, |
| skipValidation: json_['skipValidation'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final objectsFilter = this.objectsFilter; |
| final restartFailedObjects = this.restartFailedObjects; |
| final skipValidation = this.skipValidation; |
| return { |
| 'objectsFilter': ?objectsFilter, |
| 'restartFailedObjects': ?restartFailedObjects, |
| 'skipValidation': ?skipValidation, |
| }; |
| } |
| } |
| |
| /// Request message for 'ResumeMigrationJob' request. |
| class ResumeMigrationJobRequest { |
| /// Resume the migration job without running prior configuration verification. |
| /// |
| /// Defaults to `false`. |
| /// |
| /// Optional. |
| core.bool? skipValidation; |
| |
| ResumeMigrationJobRequest({this.skipValidation}); |
| |
| ResumeMigrationJobRequest.fromJson(core.Map json_) |
| : this(skipValidation: json_['skipValidation'] as core.bool?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final skipValidation = this.skipValidation; |
| return {'skipValidation': ?skipValidation}; |
| } |
| } |
| |
| /// The details needed to configure a reverse SSH tunnel between the source and |
| /// destination databases. |
| /// |
| /// These details will be used when calling the generateSshScript method (see |
| /// https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.migrationJobs/generateSshScript) |
| /// to produce the script that will help set up the reverse SSH tunnel, and to |
| /// set up the VPC peering between the Cloud SQL private network and the VPC. |
| class ReverseSshConnectivity { |
| /// The name of the virtual machine (Compute Engine) used as the bastion |
| /// server for the SSH tunnel. |
| core.String? vm; |
| |
| /// The IP of the virtual machine (Compute Engine) used as the bastion server |
| /// for the SSH tunnel. |
| /// |
| /// Required. |
| core.String? vmIp; |
| |
| /// The forwarding port of the virtual machine (Compute Engine) used as the |
| /// bastion server for the SSH tunnel. |
| /// |
| /// Required. |
| core.int? vmPort; |
| |
| /// The name of the VPC to peer with the Cloud SQL private network. |
| core.String? vpc; |
| |
| ReverseSshConnectivity({this.vm, this.vmIp, this.vmPort, this.vpc}); |
| |
| ReverseSshConnectivity.fromJson(core.Map json_) |
| : this( |
| vm: json_['vm'] as core.String?, |
| vmIp: json_['vmIp'] as core.String?, |
| vmPort: json_['vmPort'] as core.int?, |
| vpc: json_['vpc'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final vm = this.vm; |
| final vmIp = this.vmIp; |
| final vmPort = this.vmPort; |
| final vpc = this.vpc; |
| return {'vm': ?vm, 'vmIp': ?vmIp, 'vmPort': ?vmPort, 'vpc': ?vpc}; |
| } |
| } |
| |
| /// Request message for 'RollbackConversionWorkspace' request. |
| typedef RollbackConversionWorkspaceRequest = $Empty; |
| |
| /// 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. |
| class RoundToScale { |
| /// Scale value to be used |
| /// |
| /// Required. |
| core.int? scale; |
| |
| RoundToScale({this.scale}); |
| |
| RoundToScale.fromJson(core.Map json_) |
| : this(scale: json_['scale'] as core.int?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final scale = this.scale; |
| return {'scale': ?scale}; |
| } |
| } |
| |
| /// Details of a single rules file. |
| class RulesFile { |
| /// The text content of the rules that needs to be converted. |
| /// |
| /// Required. |
| core.String? rulesContent; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? rulesSourceFilename; |
| |
| RulesFile({this.rulesContent, this.rulesSourceFilename}); |
| |
| RulesFile.fromJson(core.Map json_) |
| : this( |
| rulesContent: json_['rulesContent'] as core.String?, |
| rulesSourceFilename: json_['rulesSourceFilename'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final rulesContent = this.rulesContent; |
| final rulesSourceFilename = this.rulesSourceFilename; |
| return { |
| 'rulesContent': ?rulesContent, |
| 'rulesSourceFilename': ?rulesSourceFilename, |
| }; |
| } |
| } |
| |
| /// 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. |
| typedef SchemaEntity = $Entity; |
| |
| /// Response message for 'SearchBackgroundJobs' request. |
| class SearchBackgroundJobsResponse { |
| /// The list of conversion workspace mapping rules. |
| core.List<BackgroundJobLogEntry>? jobs; |
| |
| SearchBackgroundJobsResponse({this.jobs}); |
| |
| SearchBackgroundJobsResponse.fromJson(core.Map json_) |
| : this( |
| jobs: (json_['jobs'] as core.List?) |
| ?.map( |
| (value) => BackgroundJobLogEntry.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final jobs = this.jobs; |
| return {'jobs': ?jobs}; |
| } |
| } |
| |
| /// Request message for 'SeedConversionWorkspace' request. |
| class SeedConversionWorkspaceRequest { |
| /// Should the conversion workspace be committed automatically after the seed |
| /// operation. |
| core.bool? autoCommit; |
| |
| /// Fully qualified (Uri) name of the destination connection profile. |
| /// |
| /// Optional. |
| core.String? destinationConnectionProfile; |
| |
| /// Fully qualified (Uri) name of the source connection profile. |
| /// |
| /// Optional. |
| core.String? sourceConnectionProfile; |
| |
| SeedConversionWorkspaceRequest({ |
| this.autoCommit, |
| this.destinationConnectionProfile, |
| this.sourceConnectionProfile, |
| }); |
| |
| SeedConversionWorkspaceRequest.fromJson(core.Map json_) |
| : this( |
| autoCommit: json_['autoCommit'] as core.bool?, |
| destinationConnectionProfile: |
| json_['destinationConnectionProfile'] as core.String?, |
| sourceConnectionProfile: |
| json_['sourceConnectionProfile'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final autoCommit = this.autoCommit; |
| final destinationConnectionProfile = this.destinationConnectionProfile; |
| final sourceConnectionProfile = this.sourceConnectionProfile; |
| return { |
| 'autoCommit': ?autoCommit, |
| 'destinationConnectionProfile': ?destinationConnectionProfile, |
| 'sourceConnectionProfile': ?sourceConnectionProfile, |
| }; |
| } |
| } |
| |
| /// Details regarding a Seed background job. |
| class SeedJobDetails { |
| /// The connection profile which was used for the seed job. |
| /// |
| /// Output only. |
| core.String? connectionProfile; |
| |
| SeedJobDetails({this.connectionProfile}); |
| |
| SeedJobDetails.fromJson(core.Map json_) |
| : this(connectionProfile: json_['connectionProfile'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final connectionProfile = this.connectionProfile; |
| return {'connectionProfile': ?connectionProfile}; |
| } |
| } |
| |
| /// Sequence's parent is a schema. |
| class SequenceEntity { |
| /// Indicates number of entries to cache / precreate. |
| core.String? cache; |
| |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// Indicates whether the sequence value should cycle through. |
| core.bool? cycle; |
| |
| /// Increment value for the sequence. |
| core.String? increment; |
| |
| /// Maximum number for the sequence represented as bytes to accommodate large. |
| /// |
| /// numbers |
| core.String? maxValue; |
| core.List<core.int> get maxValueAsBytes => convert_1.base64.decode(maxValue!); |
| |
| set maxValueAsBytes(core.List<core.int> bytes_) { |
| maxValue = convert_1.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Minimum number for the sequence represented as bytes to accommodate large. |
| /// |
| /// numbers |
| core.String? minValue; |
| core.List<core.int> get minValueAsBytes => convert_1.base64.decode(minValue!); |
| |
| set minValueAsBytes(core.List<core.int> bytes_) { |
| minValue = convert_1.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Start number for the sequence represented as bytes to accommodate large. |
| /// |
| /// numbers |
| core.String? startValue; |
| core.List<core.int> get startValueAsBytes => |
| convert_1.base64.decode(startValue!); |
| |
| set startValueAsBytes(core.List<core.int> bytes_) { |
| startValue = convert_1.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| SequenceEntity({ |
| this.cache, |
| this.customFeatures, |
| this.cycle, |
| this.increment, |
| this.maxValue, |
| this.minValue, |
| this.startValue, |
| }); |
| |
| SequenceEntity.fromJson(core.Map json_) |
| : this( |
| cache: json_['cache'] as core.String?, |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| cycle: json_['cycle'] as core.bool?, |
| increment: json_['increment'] as core.String?, |
| maxValue: json_['maxValue'] as core.String?, |
| minValue: json_['minValue'] as core.String?, |
| startValue: json_['startValue'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final cache = this.cache; |
| final customFeatures = this.customFeatures; |
| final cycle = this.cycle; |
| final increment = this.increment; |
| final maxValue = this.maxValue; |
| final minValue = this.minValue; |
| final startValue = this.startValue; |
| return { |
| 'cache': ?cache, |
| 'customFeatures': ?customFeatures, |
| 'cycle': ?cycle, |
| 'increment': ?increment, |
| 'maxValue': ?maxValue, |
| 'minValue': ?minValue, |
| 'startValue': ?startValue, |
| }; |
| } |
| } |
| |
| /// Request message for `SetIamPolicy` method. |
| class SetIamPolicyRequest { |
| /// REQUIRED: The complete policy to be applied to the `resource`. |
| /// |
| /// The size of the policy is limited to a few 10s of KB. An empty policy is a |
| /// valid policy but certain Google Cloud services (such as Projects) might |
| /// reject them. |
| Policy? policy; |
| |
| /// OPTIONAL: A FieldMask specifying which fields of the policy to modify. |
| /// |
| /// Only the fields in the mask will be modified. If no mask is provided, the |
| /// following default mask is used: `paths: "bindings, etag"` |
| core.String? updateMask; |
| |
| SetIamPolicyRequest({this.policy, this.updateMask}); |
| |
| SetIamPolicyRequest.fromJson(core.Map json_) |
| : this( |
| policy: json_.containsKey('policy') |
| ? Policy.fromJson( |
| json_['policy'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| updateMask: json_['updateMask'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final policy = this.policy; |
| final updateMask = this.updateMask; |
| return {'policy': ?policy, 'updateMask': ?updateMask}; |
| } |
| } |
| |
| /// 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. |
| class SetTablePrimaryKey { |
| /// Name for the primary key |
| /// |
| /// Optional. |
| core.String? primaryKey; |
| |
| /// List of column names for the primary key |
| /// |
| /// Required. |
| core.List<core.String>? primaryKeyColumns; |
| |
| SetTablePrimaryKey({this.primaryKey, this.primaryKeyColumns}); |
| |
| SetTablePrimaryKey.fromJson(core.Map json_) |
| : this( |
| primaryKey: json_['primaryKey'] as core.String?, |
| primaryKeyColumns: (json_['primaryKeyColumns'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final primaryKey = this.primaryKey; |
| final primaryKeyColumns = this.primaryKeyColumns; |
| return {'primaryKey': ?primaryKey, 'primaryKeyColumns': ?primaryKeyColumns}; |
| } |
| } |
| |
| /// 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.. |
| class SingleColumnChange { |
| /// Is the column of array type. |
| /// |
| /// Optional. |
| core.bool? array; |
| |
| /// The length of the array, only relevant if the column type is an array. |
| /// |
| /// Optional. |
| core.int? arrayLength; |
| |
| /// Is the column auto-generated/identity. |
| /// |
| /// Optional. |
| core.bool? autoGenerated; |
| |
| /// Charset override - instead of table level charset. |
| /// |
| /// Optional. |
| core.String? charset; |
| |
| /// Collation override - instead of table level collation. |
| /// |
| /// Optional. |
| core.String? collation; |
| |
| /// Comment associated with the column. |
| /// |
| /// Optional. |
| core.String? comment; |
| |
| /// Custom engine specific features. |
| /// |
| /// Optional. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// Column data type name. |
| /// |
| /// Optional. |
| core.String? dataType; |
| |
| /// Column fractional seconds precision - e.g. 2 as in timestamp (2) - when |
| /// relevant. |
| /// |
| /// Optional. |
| core.int? fractionalSecondsPrecision; |
| |
| /// Column length - e.g. 50 as in varchar (50) - when relevant. |
| /// |
| /// Optional. |
| core.String? length; |
| |
| /// Is the column nullable. |
| /// |
| /// Optional. |
| core.bool? nullable; |
| |
| /// Column precision - e.g. 8 as in double (8,2) - when relevant. |
| /// |
| /// Optional. |
| core.int? precision; |
| |
| /// Column scale - e.g. 2 as in double (8,2) - when relevant. |
| /// |
| /// Optional. |
| core.int? scale; |
| |
| /// Specifies the list of values allowed in the column. |
| /// |
| /// Optional. |
| core.List<core.String>? setValues; |
| |
| /// Is the column a UDT (User-defined Type). |
| /// |
| /// Optional. |
| core.bool? udt; |
| |
| SingleColumnChange({ |
| this.array, |
| this.arrayLength, |
| this.autoGenerated, |
| this.charset, |
| this.collation, |
| this.comment, |
| this.customFeatures, |
| this.dataType, |
| this.fractionalSecondsPrecision, |
| this.length, |
| this.nullable, |
| this.precision, |
| this.scale, |
| this.setValues, |
| this.udt, |
| }); |
| |
| SingleColumnChange.fromJson(core.Map json_) |
| : this( |
| array: json_['array'] as core.bool?, |
| arrayLength: json_['arrayLength'] as core.int?, |
| autoGenerated: json_['autoGenerated'] as core.bool?, |
| charset: json_['charset'] as core.String?, |
| collation: json_['collation'] as core.String?, |
| comment: json_['comment'] as core.String?, |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| dataType: json_['dataType'] as core.String?, |
| fractionalSecondsPrecision: |
| json_['fractionalSecondsPrecision'] as core.int?, |
| length: json_['length'] as core.String?, |
| nullable: json_['nullable'] as core.bool?, |
| precision: json_['precision'] as core.int?, |
| scale: json_['scale'] as core.int?, |
| setValues: (json_['setValues'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| udt: json_['udt'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final array = this.array; |
| final arrayLength = this.arrayLength; |
| final autoGenerated = this.autoGenerated; |
| final charset = this.charset; |
| final collation = this.collation; |
| final comment = this.comment; |
| final customFeatures = this.customFeatures; |
| final dataType = this.dataType; |
| final fractionalSecondsPrecision = this.fractionalSecondsPrecision; |
| final length = this.length; |
| final nullable = this.nullable; |
| final precision = this.precision; |
| final scale = this.scale; |
| final setValues = this.setValues; |
| final udt = this.udt; |
| return { |
| 'array': ?array, |
| 'arrayLength': ?arrayLength, |
| 'autoGenerated': ?autoGenerated, |
| 'charset': ?charset, |
| 'collation': ?collation, |
| 'comment': ?comment, |
| 'customFeatures': ?customFeatures, |
| 'dataType': ?dataType, |
| 'fractionalSecondsPrecision': ?fractionalSecondsPrecision, |
| 'length': ?length, |
| 'nullable': ?nullable, |
| 'precision': ?precision, |
| 'scale': ?scale, |
| 'setValues': ?setValues, |
| 'udt': ?udt, |
| }; |
| } |
| } |
| |
| /// 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 |
| class SingleEntityRename { |
| /// The new name of the destination entity |
| /// |
| /// Required. |
| core.String? newName; |
| |
| SingleEntityRename({this.newName}); |
| |
| SingleEntityRename.fromJson(core.Map json_) |
| : this(newName: json_['newName'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final newName = this.newName; |
| return {'newName': ?newName}; |
| } |
| } |
| |
| /// 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 |
| class SinglePackageChange { |
| /// Sql code for package body |
| /// |
| /// Optional. |
| core.String? packageBody; |
| |
| /// Sql code for package description |
| /// |
| /// Optional. |
| core.String? packageDescription; |
| |
| SinglePackageChange({this.packageBody, this.packageDescription}); |
| |
| SinglePackageChange.fromJson(core.Map json_) |
| : this( |
| packageBody: json_['packageBody'] as core.String?, |
| packageDescription: json_['packageDescription'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final packageBody = this.packageBody; |
| final packageDescription = this.packageDescription; |
| return { |
| 'packageBody': ?packageBody, |
| 'packageDescription': ?packageDescription, |
| }; |
| } |
| } |
| |
| /// Filter for fixed point number data types such as NUMERIC/NUMBER |
| class SourceNumericFilter { |
| /// Enum to set the option defining the datatypes numeric filter has to be |
| /// applied to |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "NUMERIC_FILTER_OPTION_UNSPECIFIED" : Numeric filter option unspecified |
| /// - "NUMERIC_FILTER_OPTION_ALL" : Numeric filter option that matches all |
| /// numeric columns. |
| /// - "NUMERIC_FILTER_OPTION_LIMIT" : Numeric filter option that matches |
| /// columns having numeric datatypes with specified precision and scale within |
| /// the limited range of filter. |
| /// - "NUMERIC_FILTER_OPTION_LIMITLESS" : Numeric filter option that matches |
| /// only the numeric columns with no precision and scale specified. |
| core.String? numericFilterOption; |
| |
| /// The filter will match columns with precision smaller than or equal to this |
| /// number. |
| /// |
| /// Optional. |
| core.int? sourceMaxPrecisionFilter; |
| |
| /// The filter will match columns with scale smaller than or equal to this |
| /// number. |
| /// |
| /// Optional. |
| core.int? sourceMaxScaleFilter; |
| |
| /// The filter will match columns with precision greater than or equal to this |
| /// number. |
| /// |
| /// Optional. |
| core.int? sourceMinPrecisionFilter; |
| |
| /// The filter will match columns with scale greater than or equal to this |
| /// number. |
| /// |
| /// Optional. |
| core.int? sourceMinScaleFilter; |
| |
| SourceNumericFilter({ |
| this.numericFilterOption, |
| this.sourceMaxPrecisionFilter, |
| this.sourceMaxScaleFilter, |
| this.sourceMinPrecisionFilter, |
| this.sourceMinScaleFilter, |
| }); |
| |
| SourceNumericFilter.fromJson(core.Map json_) |
| : this( |
| numericFilterOption: json_['numericFilterOption'] as core.String?, |
| sourceMaxPrecisionFilter: |
| json_['sourceMaxPrecisionFilter'] as core.int?, |
| sourceMaxScaleFilter: json_['sourceMaxScaleFilter'] as core.int?, |
| sourceMinPrecisionFilter: |
| json_['sourceMinPrecisionFilter'] as core.int?, |
| sourceMinScaleFilter: json_['sourceMinScaleFilter'] as core.int?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final numericFilterOption = this.numericFilterOption; |
| final sourceMaxPrecisionFilter = this.sourceMaxPrecisionFilter; |
| final sourceMaxScaleFilter = this.sourceMaxScaleFilter; |
| final sourceMinPrecisionFilter = this.sourceMinPrecisionFilter; |
| final sourceMinScaleFilter = this.sourceMinScaleFilter; |
| return { |
| 'numericFilterOption': ?numericFilterOption, |
| 'sourceMaxPrecisionFilter': ?sourceMaxPrecisionFilter, |
| 'sourceMaxScaleFilter': ?sourceMaxScaleFilter, |
| 'sourceMinPrecisionFilter': ?sourceMinPrecisionFilter, |
| 'sourceMinScaleFilter': ?sourceMinScaleFilter, |
| }; |
| } |
| } |
| |
| /// Config for a single migration job object. |
| class SourceObjectConfig { |
| /// The object identifier. |
| /// |
| /// Optional. |
| SourceObjectIdentifier? objectIdentifier; |
| |
| SourceObjectConfig({this.objectIdentifier}); |
| |
| SourceObjectConfig.fromJson(core.Map json_) |
| : this( |
| objectIdentifier: json_.containsKey('objectIdentifier') |
| ? SourceObjectIdentifier.fromJson( |
| json_['objectIdentifier'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final objectIdentifier = this.objectIdentifier; |
| return {'objectIdentifier': ?objectIdentifier}; |
| } |
| } |
| |
| /// An identifier for the Migration Job Object. |
| class SourceObjectIdentifier { |
| /// The database name. |
| /// |
| /// This will be required only if the object uses a database name as part of |
| /// its unique identifier. |
| /// |
| /// Optional. |
| core.String? database; |
| |
| /// The schema name. |
| /// |
| /// This will be required only if the object uses a schema name as part of its |
| /// unique identifier. |
| /// |
| /// Optional. |
| core.String? schema; |
| |
| /// The table name. |
| /// |
| /// This will be required only if the object is a level below database or |
| /// schema. |
| /// |
| /// Optional. |
| core.String? table; |
| |
| /// The type of the migration job object. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "MIGRATION_JOB_OBJECT_TYPE_UNSPECIFIED" : The type of the migration job |
| /// object is unknown. |
| /// - "DATABASE" : The migration job object is a database. |
| /// - "SCHEMA" : The migration job object is a schema. |
| /// - "TABLE" : The migration job object is a table. |
| core.String? type; |
| |
| SourceObjectIdentifier({this.database, this.schema, this.table, this.type}); |
| |
| SourceObjectIdentifier.fromJson(core.Map json_) |
| : this( |
| database: json_['database'] as core.String?, |
| schema: json_['schema'] as core.String?, |
| table: json_['table'] as core.String?, |
| type: json_['type'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final database = this.database; |
| final schema = this.schema; |
| final table = this.table; |
| final type = this.type; |
| return { |
| 'database': ?database, |
| 'schema': ?schema, |
| 'table': ?table, |
| 'type': ?type, |
| }; |
| } |
| } |
| |
| /// List of configurations for the source objects to be migrated. |
| class SourceObjectsConfig { |
| /// The list of the objects to be migrated. |
| /// |
| /// Optional. |
| core.List<SourceObjectConfig>? objectConfigs; |
| |
| /// The objects selection type of the migration job. |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "OBJECTS_SELECTION_TYPE_UNSPECIFIED" : The type of the objects selection |
| /// is unknown, indicating that the migration job is at instance level. |
| /// - "ALL_OBJECTS" : Migrate all of the objects. |
| /// - "SPECIFIED_OBJECTS" : Migrate specific objects. |
| core.String? objectsSelectionType; |
| |
| SourceObjectsConfig({this.objectConfigs, this.objectsSelectionType}); |
| |
| SourceObjectsConfig.fromJson(core.Map json_) |
| : this( |
| objectConfigs: (json_['objectConfigs'] as core.List?) |
| ?.map( |
| (value) => SourceObjectConfig.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| objectsSelectionType: json_['objectsSelectionType'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final objectConfigs = this.objectConfigs; |
| final objectsSelectionType = this.objectsSelectionType; |
| return { |
| 'objectConfigs': ?objectConfigs, |
| 'objectsSelectionType': ?objectsSelectionType, |
| }; |
| } |
| } |
| |
| /// 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 |
| class SourceSqlChange { |
| /// Sql code for source (stored procedure, function, trigger or view) |
| /// |
| /// Required. |
| core.String? sqlCode; |
| |
| SourceSqlChange({this.sqlCode}); |
| |
| SourceSqlChange.fromJson(core.Map json_) |
| : this(sqlCode: json_['sqlCode'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final sqlCode = this.sqlCode; |
| return {'sqlCode': ?sqlCode}; |
| } |
| } |
| |
| /// Filter for text-based data types like varchar. |
| class SourceTextFilter { |
| /// The filter will match columns with length smaller than or equal to this |
| /// number. |
| /// |
| /// Optional. |
| core.String? sourceMaxLengthFilter; |
| |
| /// The filter will match columns with length greater than or equal to this |
| /// number. |
| /// |
| /// Optional. |
| core.String? sourceMinLengthFilter; |
| |
| SourceTextFilter({this.sourceMaxLengthFilter, this.sourceMinLengthFilter}); |
| |
| SourceTextFilter.fromJson(core.Map json_) |
| : this( |
| sourceMaxLengthFilter: json_['sourceMaxLengthFilter'] as core.String?, |
| sourceMinLengthFilter: json_['sourceMinLengthFilter'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final sourceMaxLengthFilter = this.sourceMaxLengthFilter; |
| final sourceMinLengthFilter = this.sourceMinLengthFilter; |
| return { |
| 'sourceMaxLengthFilter': ?sourceMaxLengthFilter, |
| 'sourceMinLengthFilter': ?sourceMinLengthFilter, |
| }; |
| } |
| } |
| |
| /// An entry for an Access Control list. |
| class SqlAclEntry { |
| /// The time when this access control entry expires in |
| /// [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example: |
| /// `2012-11-15T16:19:00.094Z`. |
| core.String? expireTime; |
| |
| /// A label to identify this entry. |
| core.String? label; |
| |
| /// Input only. |
| /// |
| /// The time-to-leave of this access control entry. |
| core.String? ttl; |
| |
| /// The allowlisted value for the access control list. |
| core.String? value; |
| |
| SqlAclEntry({this.expireTime, this.label, this.ttl, this.value}); |
| |
| SqlAclEntry.fromJson(core.Map json_) |
| : this( |
| expireTime: json_['expireTime'] as core.String?, |
| label: json_['label'] as core.String?, |
| ttl: json_['ttl'] as core.String?, |
| value: json_['value'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final expireTime = this.expireTime; |
| final label = this.label; |
| final ttl = this.ttl; |
| final value = this.value; |
| return { |
| 'expireTime': ?expireTime, |
| 'label': ?label, |
| 'ttl': ?ttl, |
| 'value': ?value, |
| }; |
| } |
| } |
| |
| /// IP Management configuration. |
| class SqlIpConfig { |
| /// 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. |
| /// |
| /// Optional. |
| core.String? allocatedIpRange; |
| |
| /// 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`). |
| core.List<SqlAclEntry>? authorizedNetworks; |
| |
| /// Whether the instance should be assigned an IPv4 address or not. |
| core.bool? enableIpv4; |
| |
| /// 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. |
| core.String? privateNetwork; |
| |
| /// Whether SSL connections over IP should be enforced or not. |
| core.bool? requireSsl; |
| |
| SqlIpConfig({ |
| this.allocatedIpRange, |
| this.authorizedNetworks, |
| this.enableIpv4, |
| this.privateNetwork, |
| this.requireSsl, |
| }); |
| |
| SqlIpConfig.fromJson(core.Map json_) |
| : this( |
| allocatedIpRange: json_['allocatedIpRange'] as core.String?, |
| authorizedNetworks: (json_['authorizedNetworks'] as core.List?) |
| ?.map( |
| (value) => SqlAclEntry.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| enableIpv4: json_['enableIpv4'] as core.bool?, |
| privateNetwork: json_['privateNetwork'] as core.String?, |
| requireSsl: json_['requireSsl'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final allocatedIpRange = this.allocatedIpRange; |
| final authorizedNetworks = this.authorizedNetworks; |
| final enableIpv4 = this.enableIpv4; |
| final privateNetwork = this.privateNetwork; |
| final requireSsl = this.requireSsl; |
| return { |
| 'allocatedIpRange': ?allocatedIpRange, |
| 'authorizedNetworks': ?authorizedNetworks, |
| 'enableIpv4': ?enableIpv4, |
| 'privateNetwork': ?privateNetwork, |
| 'requireSsl': ?requireSsl, |
| }; |
| } |
| } |
| |
| /// Specifies the backup details in Cloud Storage for homogeneous migration to |
| /// Cloud SQL for SQL Server. |
| class SqlServerBackups { |
| /// The Cloud Storage bucket that stores backups for all replicated databases. |
| /// |
| /// Required. |
| core.String? gcsBucket; |
| |
| /// Cloud Storage path inside the bucket that stores backups. |
| /// |
| /// Optional. |
| core.String? gcsPrefix; |
| |
| SqlServerBackups({this.gcsBucket, this.gcsPrefix}); |
| |
| SqlServerBackups.fromJson(core.Map json_) |
| : this( |
| gcsBucket: json_['gcsBucket'] as core.String?, |
| gcsPrefix: json_['gcsPrefix'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final gcsBucket = this.gcsBucket; |
| final gcsPrefix = this.gcsPrefix; |
| return {'gcsBucket': ?gcsBucket, 'gcsPrefix': ?gcsPrefix}; |
| } |
| } |
| |
| /// Specifies connection parameters required specifically for SQL Server |
| /// databases. |
| class SqlServerConnectionProfile { |
| /// The backup details in Cloud Storage for homogeneous migration to Cloud SQL |
| /// for SQL Server. |
| SqlServerBackups? backups; |
| |
| /// If the source is a Cloud SQL database, use this field to provide the Cloud |
| /// SQL instance ID of the source. |
| core.String? cloudSqlId; |
| |
| /// The project id of the Cloud SQL instance. |
| /// |
| /// If not provided, the project id of the connection profile will be used. |
| /// |
| /// Optional. |
| core.String? cloudSqlProjectId; |
| |
| /// The name of the specific database within the host. |
| /// |
| /// Required. |
| core.String? database; |
| |
| /// The Database Mirroring (DBM) port of the source SQL Server instance. |
| /// |
| /// Optional. |
| core.int? dbmPort; |
| |
| /// Forward SSH tunnel connectivity. |
| ForwardSshTunnelConnectivity? forwardSshConnectivity; |
| |
| /// The IP or hostname of the source SQL Server database. |
| /// |
| /// Required. |
| core.String? host; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? password; |
| |
| /// Indicates whether a new password is included in the request. |
| /// |
| /// Output only. |
| core.bool? passwordSet; |
| |
| /// The network port of the source SQL Server database. |
| /// |
| /// Required. |
| core.int? port; |
| |
| /// Private connectivity. |
| PrivateConnectivity? privateConnectivity; |
| |
| /// Private Service Connect connectivity. |
| PrivateServiceConnectConnectivity? privateServiceConnectConnectivity; |
| |
| /// SSL configuration for the destination to connect to the source database. |
| SslConfig? ssl; |
| |
| /// Static IP connectivity data (default, no additional details needed). |
| StaticIpConnectivity? staticIpConnectivity; |
| |
| /// The username that Database Migration Service will use to connect to the |
| /// database. |
| /// |
| /// The value is encrypted when stored in Database Migration Service. |
| /// |
| /// Required. |
| core.String? username; |
| |
| SqlServerConnectionProfile({ |
| this.backups, |
| this.cloudSqlId, |
| this.cloudSqlProjectId, |
| this.database, |
| this.dbmPort, |
| this.forwardSshConnectivity, |
| this.host, |
| this.password, |
| this.passwordSet, |
| this.port, |
| this.privateConnectivity, |
| this.privateServiceConnectConnectivity, |
| this.ssl, |
| this.staticIpConnectivity, |
| this.username, |
| }); |
| |
| SqlServerConnectionProfile.fromJson(core.Map json_) |
| : this( |
| backups: json_.containsKey('backups') |
| ? SqlServerBackups.fromJson( |
| json_['backups'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| cloudSqlId: json_['cloudSqlId'] as core.String?, |
| cloudSqlProjectId: json_['cloudSqlProjectId'] as core.String?, |
| database: json_['database'] as core.String?, |
| dbmPort: json_['dbmPort'] as core.int?, |
| forwardSshConnectivity: json_.containsKey('forwardSshConnectivity') |
| ? ForwardSshTunnelConnectivity.fromJson( |
| json_['forwardSshConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| host: json_['host'] as core.String?, |
| password: json_['password'] as core.String?, |
| passwordSet: json_['passwordSet'] as core.bool?, |
| port: json_['port'] as core.int?, |
| privateConnectivity: json_.containsKey('privateConnectivity') |
| ? PrivateConnectivity.fromJson( |
| json_['privateConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| privateServiceConnectConnectivity: |
| json_.containsKey('privateServiceConnectConnectivity') |
| ? PrivateServiceConnectConnectivity.fromJson( |
| json_['privateServiceConnectConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ssl: json_.containsKey('ssl') |
| ? SslConfig.fromJson( |
| json_['ssl'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| staticIpConnectivity: json_.containsKey('staticIpConnectivity') |
| ? StaticIpConnectivity.fromJson( |
| json_['staticIpConnectivity'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| username: json_['username'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final backups = this.backups; |
| final cloudSqlId = this.cloudSqlId; |
| final cloudSqlProjectId = this.cloudSqlProjectId; |
| final database = this.database; |
| final dbmPort = this.dbmPort; |
| final forwardSshConnectivity = this.forwardSshConnectivity; |
| final host = this.host; |
| final password = this.password; |
| final passwordSet = this.passwordSet; |
| final port = this.port; |
| final privateConnectivity = this.privateConnectivity; |
| final privateServiceConnectConnectivity = |
| this.privateServiceConnectConnectivity; |
| final ssl = this.ssl; |
| final staticIpConnectivity = this.staticIpConnectivity; |
| final username = this.username; |
| return { |
| 'backups': ?backups, |
| 'cloudSqlId': ?cloudSqlId, |
| 'cloudSqlProjectId': ?cloudSqlProjectId, |
| 'database': ?database, |
| 'dbmPort': ?dbmPort, |
| 'forwardSshConnectivity': ?forwardSshConnectivity, |
| 'host': ?host, |
| 'password': ?password, |
| 'passwordSet': ?passwordSet, |
| 'port': ?port, |
| 'privateConnectivity': ?privateConnectivity, |
| 'privateServiceConnectConnectivity': ?privateServiceConnectConnectivity, |
| 'ssl': ?ssl, |
| 'staticIpConnectivity': ?staticIpConnectivity, |
| 'username': ?username, |
| }; |
| } |
| } |
| |
| /// Configuration for distributed availability group (DAG) for the SQL Server |
| /// homogeneous migration. |
| class SqlServerDagConfig { |
| /// The name of the linked server that points to the source SQL Server |
| /// instance. |
| /// |
| /// Only used by DAG migrations. |
| /// |
| /// Required. |
| core.String? linkedServer; |
| |
| /// The name of the source availability group. |
| /// |
| /// Only used by DAG migrations. |
| /// |
| /// Required. |
| core.String? sourceAg; |
| |
| SqlServerDagConfig({this.linkedServer, this.sourceAg}); |
| |
| SqlServerDagConfig.fromJson(core.Map json_) |
| : this( |
| linkedServer: json_['linkedServer'] as core.String?, |
| sourceAg: json_['sourceAg'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final linkedServer = this.linkedServer; |
| final sourceAg = this.sourceAg; |
| return {'linkedServer': ?linkedServer, 'sourceAg': ?sourceAg}; |
| } |
| } |
| |
| /// Specifies the backup details for a single database in Cloud Storage for |
| /// homogeneous migration to Cloud SQL for SQL Server. |
| class SqlServerDatabaseBackup { |
| /// Name of a SQL Server database for which to define backup configuration. |
| /// |
| /// Required. |
| core.String? database; |
| |
| /// Encryption settings for the database. |
| /// |
| /// Required if provided database backups are encrypted. Encryption settings |
| /// include path to certificate, path to certificate private key, and key |
| /// password. |
| /// |
| /// Optional. |
| SqlServerEncryptionOptions? encryptionOptions; |
| |
| SqlServerDatabaseBackup({this.database, this.encryptionOptions}); |
| |
| SqlServerDatabaseBackup.fromJson(core.Map json_) |
| : this( |
| database: json_['database'] as core.String?, |
| encryptionOptions: json_.containsKey('encryptionOptions') |
| ? SqlServerEncryptionOptions.fromJson( |
| json_['encryptionOptions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final database = this.database; |
| final encryptionOptions = this.encryptionOptions; |
| return {'database': ?database, 'encryptionOptions': ?encryptionOptions}; |
| } |
| } |
| |
| /// Configuration for SQL Server as a destination in a migration. |
| typedef SqlServerDestinationConfig = $DestinationConfig; |
| |
| /// Encryption settings for the SQL Server database. |
| class SqlServerEncryptionOptions { |
| /// Path to the Certificate (.cer) in Cloud Storage, in the form |
| /// `gs://bucketName/fileName`. |
| /// |
| /// The instance must have write permissions to the bucket and read access to |
| /// the file. |
| /// |
| /// Required. |
| core.String? certPath; |
| |
| /// Input only. |
| /// |
| /// Password that encrypts the private key. |
| /// |
| /// Required. |
| core.String? pvkPassword; |
| |
| /// Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form |
| /// `gs://bucketName/fileName`. |
| /// |
| /// The instance must have write permissions to the bucket and read access to |
| /// the file. |
| /// |
| /// Required. |
| core.String? pvkPath; |
| |
| SqlServerEncryptionOptions({this.certPath, this.pvkPassword, this.pvkPath}); |
| |
| SqlServerEncryptionOptions.fromJson(core.Map json_) |
| : this( |
| certPath: json_['certPath'] as core.String?, |
| pvkPassword: json_['pvkPassword'] as core.String?, |
| pvkPath: json_['pvkPath'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final certPath = this.certPath; |
| final pvkPassword = this.pvkPassword; |
| final pvkPath = this.pvkPath; |
| return { |
| 'certPath': ?certPath, |
| 'pvkPassword': ?pvkPassword, |
| 'pvkPath': ?pvkPath, |
| }; |
| } |
| } |
| |
| /// Configuration for homogeneous migration to Cloud SQL for SQL Server. |
| class SqlServerHomogeneousMigrationJobConfig { |
| /// Pattern that describes the default backup naming strategy. |
| /// |
| /// The specified pattern should ensure lexicographical order of backups. The |
| /// pattern must define one of the following capture group sets: Capture group |
| /// set #1 yy/yyyy - year, 2 or 4 digits mm - month number, 1-12 dd - day of |
| /// month, 1-31 hh - hour of day, 00-23 mi - minutes, 00-59 ss - seconds, |
| /// 00-59 Example: For backup file TestDB_20230802_155400.trn, use pattern: |
| /// (?.*)_backup_(?\d{4})(?\d{2})(?\d{2})_(?\d{2})(?\d{2})(?\d{2}).trn Capture |
| /// group set #2 timestamp - unix timestamp Example: For backup file |
| /// TestDB.1691448254.trn, use pattern: (?.*)\.(?\d*).trn or (?.*)\.(?\d*).trn |
| /// |
| /// Required. |
| core.String? backupFilePattern; |
| |
| /// Configuration for distributed availability group (DAG) for the SQL Server |
| /// homogeneous migration. |
| /// |
| /// Optional. |
| SqlServerDagConfig? dagConfig; |
| |
| /// Backup details per database in Cloud Storage. |
| /// |
| /// Required. |
| core.List<SqlServerDatabaseBackup>? databaseBackups; |
| |
| /// Promote databases when ready. |
| /// |
| /// Optional. |
| core.bool? promoteWhenReady; |
| |
| /// Enable differential backups. |
| /// |
| /// Optional. |
| core.bool? useDiffBackup; |
| |
| SqlServerHomogeneousMigrationJobConfig({ |
| this.backupFilePattern, |
| this.dagConfig, |
| this.databaseBackups, |
| this.promoteWhenReady, |
| this.useDiffBackup, |
| }); |
| |
| SqlServerHomogeneousMigrationJobConfig.fromJson(core.Map json_) |
| : this( |
| backupFilePattern: json_['backupFilePattern'] as core.String?, |
| dagConfig: json_.containsKey('dagConfig') |
| ? SqlServerDagConfig.fromJson( |
| json_['dagConfig'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| databaseBackups: (json_['databaseBackups'] as core.List?) |
| ?.map( |
| (value) => SqlServerDatabaseBackup.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| promoteWhenReady: json_['promoteWhenReady'] as core.bool?, |
| useDiffBackup: json_['useDiffBackup'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final backupFilePattern = this.backupFilePattern; |
| final dagConfig = this.dagConfig; |
| final databaseBackups = this.databaseBackups; |
| final promoteWhenReady = this.promoteWhenReady; |
| final useDiffBackup = this.useDiffBackup; |
| return { |
| 'backupFilePattern': ?backupFilePattern, |
| 'dagConfig': ?dagConfig, |
| 'databaseBackups': ?databaseBackups, |
| 'promoteWhenReady': ?promoteWhenReady, |
| 'useDiffBackup': ?useDiffBackup, |
| }; |
| } |
| } |
| |
| /// Configuration for SQL Server as a source in a migration. |
| class SqlServerSourceConfig { |
| /// The log sequence number (LSN) to start CDC data migration from. |
| /// |
| /// Optional. |
| core.String? cdcStartPosition; |
| |
| /// Maximum number of connections Database Migration Service will open to the |
| /// source for CDC phase. |
| /// |
| /// Optional. |
| core.int? maxConcurrentCdcConnections; |
| |
| /// Maximum number of connections Database Migration Service will open to the |
| /// source for full dump phase. |
| /// |
| /// Optional. |
| core.int? maxConcurrentFullDumpConnections; |
| |
| /// Whether to skip full dump or not. |
| /// |
| /// Optional. |
| core.bool? skipFullDump; |
| |
| SqlServerSourceConfig({ |
| this.cdcStartPosition, |
| this.maxConcurrentCdcConnections, |
| this.maxConcurrentFullDumpConnections, |
| this.skipFullDump, |
| }); |
| |
| SqlServerSourceConfig.fromJson(core.Map json_) |
| : this( |
| cdcStartPosition: json_['cdcStartPosition'] as core.String?, |
| maxConcurrentCdcConnections: |
| json_['maxConcurrentCdcConnections'] as core.int?, |
| maxConcurrentFullDumpConnections: |
| json_['maxConcurrentFullDumpConnections'] as core.int?, |
| skipFullDump: json_['skipFullDump'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final cdcStartPosition = this.cdcStartPosition; |
| final maxConcurrentCdcConnections = this.maxConcurrentCdcConnections; |
| final maxConcurrentFullDumpConnections = |
| this.maxConcurrentFullDumpConnections; |
| final skipFullDump = this.skipFullDump; |
| return { |
| 'cdcStartPosition': ?cdcStartPosition, |
| 'maxConcurrentCdcConnections': ?maxConcurrentCdcConnections, |
| 'maxConcurrentFullDumpConnections': ?maxConcurrentFullDumpConnections, |
| 'skipFullDump': ?skipFullDump, |
| }; |
| } |
| } |
| |
| /// Configuration for heterogeneous **SQL Server to Cloud SQL for PostgreSQL** |
| /// migrations. |
| class SqlServerToPostgresConfig { |
| /// Configuration for Postgres destination. |
| /// |
| /// Optional. |
| PostgresDestinationConfig? postgresDestinationConfig; |
| |
| /// Configuration for SQL Server source. |
| /// |
| /// Optional. |
| SqlServerSourceConfig? sqlserverSourceConfig; |
| |
| SqlServerToPostgresConfig({ |
| this.postgresDestinationConfig, |
| this.sqlserverSourceConfig, |
| }); |
| |
| SqlServerToPostgresConfig.fromJson(core.Map json_) |
| : this( |
| postgresDestinationConfig: |
| json_.containsKey('postgresDestinationConfig') |
| ? PostgresDestinationConfig.fromJson( |
| json_['postgresDestinationConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| sqlserverSourceConfig: json_.containsKey('sqlserverSourceConfig') |
| ? SqlServerSourceConfig.fromJson( |
| json_['sqlserverSourceConfig'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final postgresDestinationConfig = this.postgresDestinationConfig; |
| final sqlserverSourceConfig = this.sqlserverSourceConfig; |
| return { |
| 'postgresDestinationConfig': ?postgresDestinationConfig, |
| 'sqlserverSourceConfig': ?sqlserverSourceConfig, |
| }; |
| } |
| } |
| |
| /// Response message for 'GenerateSshScript' request. |
| class SshScript { |
| /// The ssh configuration script. |
| core.String? script; |
| |
| SshScript({this.script}); |
| |
| SshScript.fromJson(core.Map json_) |
| : this(script: json_['script'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final script = this.script; |
| return {'script': ?script}; |
| } |
| } |
| |
| /// SSL configuration information. |
| class SslConfig { |
| /// Input only. |
| /// |
| /// The x509 PEM-encoded certificate of the CA that signed the source database |
| /// server's certificate. The replica will use this certificate to verify it's |
| /// connecting to the right host. |
| /// |
| /// Required. |
| core.String? caCertificate; |
| |
| /// Input only. |
| /// |
| /// The x509 PEM-encoded certificate that will be used by the replica to |
| /// authenticate against the source database server.If this field is used then |
| /// the 'client_key' field is mandatory. |
| core.String? clientCertificate; |
| |
| /// Input only. |
| /// |
| /// The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with |
| /// the Client Certificate. If this field is used then the |
| /// 'client_certificate' field is mandatory. |
| core.String? clientKey; |
| |
| /// SSL flags used for establishing SSL connection to the source database. |
| /// |
| /// Only source specific flags are supported. An object containing a list of |
| /// "key": "value" pairs. Example: { "server_certificate_hostname": |
| /// "server.com"}. |
| /// |
| /// Optional. |
| core.Map<core.String, core.String>? sslFlags; |
| |
| /// The ssl config type according to 'client_key', 'client_certificate' and |
| /// 'ca_certificate'. |
| /// |
| /// Optional. |
| /// Possible string values are: |
| /// - "SSL_TYPE_UNSPECIFIED" : Unspecified. |
| /// - "SERVER_ONLY" : Only 'ca_certificate' specified. |
| /// - "SERVER_CLIENT" : Both server ('ca_certificate'), and client |
| /// ('client_key', 'client_certificate') specified. |
| /// - "REQUIRED" : Mandates SSL encryption for all connections. This does not |
| /// require certificate verification. |
| /// - "NONE" : Connection is not encrypted. |
| core.String? type; |
| |
| SslConfig({ |
| this.caCertificate, |
| this.clientCertificate, |
| this.clientKey, |
| this.sslFlags, |
| this.type, |
| }); |
| |
| SslConfig.fromJson(core.Map json_) |
| : this( |
| caCertificate: json_['caCertificate'] as core.String?, |
| clientCertificate: json_['clientCertificate'] as core.String?, |
| clientKey: json_['clientKey'] as core.String?, |
| sslFlags: (json_['sslFlags'] as core.Map<core.String, core.dynamic>?) |
| ?.map((key, value) => core.MapEntry(key, value as core.String)), |
| type: json_['type'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final caCertificate = this.caCertificate; |
| final clientCertificate = this.clientCertificate; |
| final clientKey = this.clientKey; |
| final sslFlags = this.sslFlags; |
| final type = this.type; |
| return { |
| 'caCertificate': ?caCertificate, |
| 'clientCertificate': ?clientCertificate, |
| 'clientKey': ?clientKey, |
| 'sslFlags': ?sslFlags, |
| 'type': ?type, |
| }; |
| } |
| } |
| |
| /// Request message for 'StartMigrationJob' request. |
| class StartMigrationJobRequest { |
| /// Start the migration job without running prior configuration verification. |
| /// |
| /// Defaults to `false`. |
| /// |
| /// Optional. |
| core.bool? skipValidation; |
| |
| StartMigrationJobRequest({this.skipValidation}); |
| |
| StartMigrationJobRequest.fromJson(core.Map json_) |
| : this(skipValidation: json_['skipValidation'] as core.bool?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final skipValidation = this.skipValidation; |
| return {'skipValidation': ?skipValidation}; |
| } |
| } |
| |
| /// 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. |
| typedef StaticIpConnectivity = $Empty; |
| |
| /// Static IP address connectivity configured on service project. |
| typedef StaticServiceIpConnectivity = $Empty; |
| |
| /// The `Status` type defines a logical error model that is suitable for |
| /// different programming environments, including REST APIs and RPC APIs. |
| /// |
| /// It is used by [gRPC](https://github.com/grpc). Each `Status` message |
| /// contains three pieces of data: error code, error message, and error details. |
| /// You can find out more about this error model and how to work with it in the |
| /// [API Design Guide](https://cloud.google.com/apis/design/errors). |
| typedef Status = $Status00; |
| |
| /// Request message for 'StopMigrationJob' request. |
| typedef StopMigrationJobRequest = $Empty; |
| |
| /// Stored procedure's parent is a schema. |
| class StoredProcedureEntity { |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// The SQL code which creates the stored procedure. |
| core.String? sqlCode; |
| |
| StoredProcedureEntity({this.customFeatures, this.sqlCode}); |
| |
| StoredProcedureEntity.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| sqlCode: json_['sqlCode'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final sqlCode = this.sqlCode; |
| return {'customFeatures': ?customFeatures, 'sqlCode': ?sqlCode}; |
| } |
| } |
| |
| /// Synonym's parent is a schema. |
| class SynonymEntity { |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// The name of the entity for which the synonym is being created (the |
| /// source). |
| core.String? sourceEntity; |
| |
| /// The type of the entity for which the synonym is being created (usually a |
| /// table or a sequence). |
| /// Possible string values are: |
| /// - "DATABASE_ENTITY_TYPE_UNSPECIFIED" : Unspecified database entity type. |
| /// - "DATABASE_ENTITY_TYPE_SCHEMA" : Schema. |
| /// - "DATABASE_ENTITY_TYPE_TABLE" : Table. |
| /// - "DATABASE_ENTITY_TYPE_COLUMN" : Column. |
| /// - "DATABASE_ENTITY_TYPE_CONSTRAINT" : Constraint. |
| /// - "DATABASE_ENTITY_TYPE_INDEX" : Index. |
| /// - "DATABASE_ENTITY_TYPE_TRIGGER" : Trigger. |
| /// - "DATABASE_ENTITY_TYPE_VIEW" : View. |
| /// - "DATABASE_ENTITY_TYPE_SEQUENCE" : Sequence. |
| /// - "DATABASE_ENTITY_TYPE_STORED_PROCEDURE" : Stored Procedure. |
| /// - "DATABASE_ENTITY_TYPE_FUNCTION" : Function. |
| /// - "DATABASE_ENTITY_TYPE_SYNONYM" : Synonym. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE_PACKAGE" : Package. |
| /// - "DATABASE_ENTITY_TYPE_UDT" : UDT. |
| /// - "DATABASE_ENTITY_TYPE_MATERIALIZED_VIEW" : Materialized View. |
| /// - "DATABASE_ENTITY_TYPE_DATABASE" : Database. |
| core.String? sourceType; |
| |
| SynonymEntity({this.customFeatures, this.sourceEntity, this.sourceType}); |
| |
| SynonymEntity.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| sourceEntity: json_['sourceEntity'] as core.String?, |
| sourceType: json_['sourceType'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final sourceEntity = this.sourceEntity; |
| final sourceType = this.sourceType; |
| return { |
| 'customFeatures': ?customFeatures, |
| 'sourceEntity': ?sourceEntity, |
| 'sourceType': ?sourceType, |
| }; |
| } |
| } |
| |
| /// Table's parent is a schema. |
| class TableEntity { |
| /// Table columns. |
| core.List<ColumnEntity>? columns; |
| |
| /// Comment associated with the table. |
| core.String? comment; |
| |
| /// Table constraints. |
| core.List<ConstraintEntity>? constraints; |
| |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// Table indices. |
| core.List<IndexEntity>? indices; |
| |
| /// Table triggers. |
| core.List<TriggerEntity>? triggers; |
| |
| TableEntity({ |
| this.columns, |
| this.comment, |
| this.constraints, |
| this.customFeatures, |
| this.indices, |
| this.triggers, |
| }); |
| |
| TableEntity.fromJson(core.Map json_) |
| : this( |
| columns: (json_['columns'] as core.List?) |
| ?.map( |
| (value) => ColumnEntity.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| comment: json_['comment'] as core.String?, |
| constraints: (json_['constraints'] as core.List?) |
| ?.map( |
| (value) => ConstraintEntity.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| indices: (json_['indices'] as core.List?) |
| ?.map( |
| (value) => IndexEntity.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| triggers: (json_['triggers'] as core.List?) |
| ?.map( |
| (value) => TriggerEntity.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final columns = this.columns; |
| final comment = this.comment; |
| final constraints = this.constraints; |
| final customFeatures = this.customFeatures; |
| final indices = this.indices; |
| final triggers = this.triggers; |
| return { |
| 'columns': ?columns, |
| 'comment': ?comment, |
| 'constraints': ?constraints, |
| 'customFeatures': ?customFeatures, |
| 'indices': ?indices, |
| 'triggers': ?triggers, |
| }; |
| } |
| } |
| |
| /// Response message for 'GenerateTcpProxyScript' request. |
| class TcpProxyScript { |
| /// The TCP Proxy configuration script. |
| core.String? script; |
| |
| TcpProxyScript({this.script}); |
| |
| TcpProxyScript.fromJson(core.Map json_) |
| : this(script: json_['script'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final script = this.script; |
| return {'script': ?script}; |
| } |
| } |
| |
| /// Request message for `TestIamPermissions` method. |
| typedef TestIamPermissionsRequest = $TestIamPermissionsRequest00; |
| |
| /// Response message for `TestIamPermissions` method. |
| typedef TestIamPermissionsResponse = $PermissionsResponse; |
| |
| /// Trigger is not used as an independent entity, it is retrieved as part of a |
| /// Table entity. |
| class TriggerEntity { |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// The name of the trigger. |
| core.String? name; |
| |
| /// The SQL code which creates the trigger. |
| core.String? sqlCode; |
| |
| /// Indicates when the trigger fires, for example BEFORE STATEMENT, AFTER EACH |
| /// ROW. |
| core.String? triggerType; |
| |
| /// The DML, DDL, or database events that fire the trigger, for example |
| /// INSERT, UPDATE. |
| core.List<core.String>? triggeringEvents; |
| |
| TriggerEntity({ |
| this.customFeatures, |
| this.name, |
| this.sqlCode, |
| this.triggerType, |
| this.triggeringEvents, |
| }); |
| |
| TriggerEntity.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| name: json_['name'] as core.String?, |
| sqlCode: json_['sqlCode'] as core.String?, |
| triggerType: json_['triggerType'] as core.String?, |
| triggeringEvents: (json_['triggeringEvents'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final name = this.name; |
| final sqlCode = this.sqlCode; |
| final triggerType = this.triggerType; |
| final triggeringEvents = this.triggeringEvents; |
| return { |
| 'customFeatures': ?customFeatures, |
| 'name': ?name, |
| 'sqlCode': ?sqlCode, |
| 'triggerType': ?triggerType, |
| 'triggeringEvents': ?triggeringEvents, |
| }; |
| } |
| } |
| |
| /// UDT's parent is a schema. |
| class UDTEntity { |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// The SQL code which creates the udt body. |
| core.String? udtBody; |
| |
| /// The SQL code which creates the udt. |
| core.String? udtSqlCode; |
| |
| UDTEntity({this.customFeatures, this.udtBody, this.udtSqlCode}); |
| |
| UDTEntity.fromJson(core.Map json_) |
| : this( |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| udtBody: json_['udtBody'] as core.String?, |
| udtSqlCode: json_['udtSqlCode'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customFeatures = this.customFeatures; |
| final udtBody = this.udtBody; |
| final udtSqlCode = this.udtSqlCode; |
| return { |
| 'customFeatures': ?customFeatures, |
| 'udtBody': ?udtBody, |
| 'udtSqlCode': ?udtSqlCode, |
| }; |
| } |
| } |
| |
| /// The username/password for a database user. |
| /// |
| /// Used for specifying initial users at cluster creation time. |
| class UserPassword { |
| /// The initial password for the user. |
| core.String? password; |
| |
| /// Indicates if the initial_user.password field has been set. |
| /// |
| /// Output only. |
| core.bool? passwordSet; |
| |
| /// The database username. |
| core.String? user; |
| |
| UserPassword({this.password, this.passwordSet, this.user}); |
| |
| UserPassword.fromJson(core.Map json_) |
| : this( |
| password: json_['password'] as core.String?, |
| passwordSet: json_['passwordSet'] as core.bool?, |
| user: json_['user'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final password = this.password; |
| final passwordSet = this.passwordSet; |
| final user = this.user; |
| return {'password': ?password, 'passwordSet': ?passwordSet, 'user': ?user}; |
| } |
| } |
| |
| /// A list of values to filter by in ConditionalColumnSetValue |
| class ValueListFilter { |
| /// Whether to ignore case when filtering by values. |
| /// |
| /// Defaults to false |
| /// |
| /// Required. |
| core.bool? ignoreCase; |
| |
| /// Indicates whether the filter matches rows with values that are present in |
| /// the list or those with values not present in it. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "VALUE_PRESENT_IN_LIST_UNSPECIFIED" : Value present in list unspecified |
| /// - "VALUE_PRESENT_IN_LIST_IF_VALUE_LIST" : If the source value is in the |
| /// supplied list at value_list |
| /// - "VALUE_PRESENT_IN_LIST_IF_VALUE_NOT_LIST" : If the source value is not |
| /// in the supplied list at value_list |
| core.String? valuePresentList; |
| |
| /// The list to be used to filter by |
| /// |
| /// Required. |
| core.List<core.String>? values; |
| |
| ValueListFilter({this.ignoreCase, this.valuePresentList, this.values}); |
| |
| ValueListFilter.fromJson(core.Map json_) |
| : this( |
| ignoreCase: json_['ignoreCase'] as core.bool?, |
| valuePresentList: json_['valuePresentList'] as core.String?, |
| values: (json_['values'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final ignoreCase = this.ignoreCase; |
| final valuePresentList = this.valuePresentList; |
| final values = this.values; |
| return { |
| 'ignoreCase': ?ignoreCase, |
| 'valuePresentList': ?valuePresentList, |
| 'values': ?values, |
| }; |
| } |
| } |
| |
| /// Description of data transformation during migration as part of the |
| /// ConditionalColumnSetValue. |
| class ValueTransformation { |
| /// Applies a hash function on the data |
| /// |
| /// Optional. |
| ApplyHash? applyHash; |
| |
| /// Set to max_value - if integer or numeric, will use int.maxvalue, etc |
| /// |
| /// Optional. |
| Empty? assignMaxValue; |
| |
| /// Set to min_value - if integer or numeric, will use int.minvalue, etc |
| /// |
| /// Optional. |
| Empty? assignMinValue; |
| |
| /// Set to null |
| /// |
| /// Optional. |
| Empty? assignNull; |
| |
| /// Set to a specific value (value is converted to fit the target data type) |
| /// |
| /// Optional. |
| AssignSpecificValue? assignSpecificValue; |
| |
| /// Filter on relation between source value and compare value of type double. |
| /// |
| /// Optional. |
| DoubleComparisonFilter? doubleComparison; |
| |
| /// Filter on relation between source value and compare value of type integer. |
| /// |
| /// Optional. |
| IntComparisonFilter? intComparison; |
| |
| /// Value is null |
| /// |
| /// Optional. |
| Empty? isNull; |
| |
| /// Allows the data to change scale |
| /// |
| /// Optional. |
| RoundToScale? roundScale; |
| |
| /// Value is found in the specified list. |
| /// |
| /// Optional. |
| ValueListFilter? valueList; |
| |
| ValueTransformation({ |
| this.applyHash, |
| this.assignMaxValue, |
| this.assignMinValue, |
| this.assignNull, |
| this.assignSpecificValue, |
| this.doubleComparison, |
| this.intComparison, |
| this.isNull, |
| this.roundScale, |
| this.valueList, |
| }); |
| |
| ValueTransformation.fromJson(core.Map json_) |
| : this( |
| applyHash: json_.containsKey('applyHash') |
| ? ApplyHash.fromJson( |
| json_['applyHash'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| assignMaxValue: json_.containsKey('assignMaxValue') |
| ? Empty.fromJson( |
| json_['assignMaxValue'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| assignMinValue: json_.containsKey('assignMinValue') |
| ? Empty.fromJson( |
| json_['assignMinValue'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| assignNull: json_.containsKey('assignNull') |
| ? Empty.fromJson( |
| json_['assignNull'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| assignSpecificValue: json_.containsKey('assignSpecificValue') |
| ? AssignSpecificValue.fromJson( |
| json_['assignSpecificValue'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| doubleComparison: json_.containsKey('doubleComparison') |
| ? DoubleComparisonFilter.fromJson( |
| json_['doubleComparison'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| intComparison: json_.containsKey('intComparison') |
| ? IntComparisonFilter.fromJson( |
| json_['intComparison'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| isNull: json_.containsKey('isNull') |
| ? Empty.fromJson( |
| json_['isNull'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| roundScale: json_.containsKey('roundScale') |
| ? RoundToScale.fromJson( |
| json_['roundScale'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| valueList: json_.containsKey('valueList') |
| ? ValueListFilter.fromJson( |
| json_['valueList'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final applyHash = this.applyHash; |
| final assignMaxValue = this.assignMaxValue; |
| final assignMinValue = this.assignMinValue; |
| final assignNull = this.assignNull; |
| final assignSpecificValue = this.assignSpecificValue; |
| final doubleComparison = this.doubleComparison; |
| final intComparison = this.intComparison; |
| final isNull = this.isNull; |
| final roundScale = this.roundScale; |
| final valueList = this.valueList; |
| return { |
| 'applyHash': ?applyHash, |
| 'assignMaxValue': ?assignMaxValue, |
| 'assignMinValue': ?assignMinValue, |
| 'assignNull': ?assignNull, |
| 'assignSpecificValue': ?assignSpecificValue, |
| 'doubleComparison': ?doubleComparison, |
| 'intComparison': ?intComparison, |
| 'isNull': ?isNull, |
| 'roundScale': ?roundScale, |
| 'valueList': ?valueList, |
| }; |
| } |
| } |
| |
| /// Request message for 'VerifyMigrationJob' request. |
| class VerifyMigrationJobRequest { |
| /// The changed migration job parameters to verify. |
| /// |
| /// It will not update the migration job. |
| /// |
| /// Optional. |
| MigrationJob? migrationJob; |
| |
| /// Field mask is used to specify the changed fields to be verified. |
| /// |
| /// It will not update the migration job. |
| /// |
| /// Optional. |
| core.String? updateMask; |
| |
| VerifyMigrationJobRequest({this.migrationJob, this.updateMask}); |
| |
| VerifyMigrationJobRequest.fromJson(core.Map json_) |
| : this( |
| migrationJob: json_.containsKey('migrationJob') |
| ? MigrationJob.fromJson( |
| json_['migrationJob'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| updateMask: json_['updateMask'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final migrationJob = this.migrationJob; |
| final updateMask = this.updateMask; |
| return {'migrationJob': ?migrationJob, 'updateMask': ?updateMask}; |
| } |
| } |
| |
| /// View's parent is a schema. |
| class ViewEntity { |
| /// View constraints. |
| core.List<ConstraintEntity>? constraints; |
| |
| /// Custom engine specific features. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object?>? customFeatures; |
| |
| /// The SQL code which creates the view. |
| core.String? sqlCode; |
| |
| ViewEntity({this.constraints, this.customFeatures, this.sqlCode}); |
| |
| ViewEntity.fromJson(core.Map json_) |
| : this( |
| constraints: (json_['constraints'] as core.List?) |
| ?.map( |
| (value) => ConstraintEntity.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| customFeatures: json_.containsKey('customFeatures') |
| ? json_['customFeatures'] as core.Map<core.String, core.dynamic> |
| : null, |
| sqlCode: json_['sqlCode'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final constraints = this.constraints; |
| final customFeatures = this.customFeatures; |
| final sqlCode = this.sqlCode; |
| return { |
| 'constraints': ?constraints, |
| 'customFeatures': ?customFeatures, |
| 'sqlCode': ?sqlCode, |
| }; |
| } |
| } |
| |
| /// VM creation configuration message |
| class VmCreationConfig { |
| /// The subnet name the vm needs to be created in. |
| core.String? subnet; |
| |
| /// VM instance machine type to create. |
| /// |
| /// Required. |
| core.String? vmMachineType; |
| |
| /// The Google Cloud Platform zone to create the VM in. |
| core.String? vmZone; |
| |
| VmCreationConfig({this.subnet, this.vmMachineType, this.vmZone}); |
| |
| VmCreationConfig.fromJson(core.Map json_) |
| : this( |
| subnet: json_['subnet'] as core.String?, |
| vmMachineType: json_['vmMachineType'] as core.String?, |
| vmZone: json_['vmZone'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final subnet = this.subnet; |
| final vmMachineType = this.vmMachineType; |
| final vmZone = this.vmZone; |
| return { |
| 'subnet': ?subnet, |
| 'vmMachineType': ?vmMachineType, |
| 'vmZone': ?vmZone, |
| }; |
| } |
| } |
| |
| /// VM selection configuration message |
| class VmSelectionConfig { |
| /// The Google Cloud Platform zone the VM is located. |
| /// |
| /// Required. |
| core.String? vmZone; |
| |
| VmSelectionConfig({this.vmZone}); |
| |
| VmSelectionConfig.fromJson(core.Map json_) |
| : this(vmZone: json_['vmZone'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final vmZone = this.vmZone; |
| return {'vmZone': ?vmZone}; |
| } |
| } |
| |
| /// The VPC peering configuration is used to create VPC peering with the |
| /// consumer's VPC. |
| class VpcPeeringConfig { |
| /// A free subnet for peering. |
| /// |
| /// (CIDR of /29) |
| /// |
| /// Required. |
| core.String? subnet; |
| |
| /// Fully qualified name of the VPC that Database Migration Service will peer |
| /// to. |
| /// |
| /// Required. |
| core.String? vpcName; |
| |
| VpcPeeringConfig({this.subnet, this.vpcName}); |
| |
| VpcPeeringConfig.fromJson(core.Map json_) |
| : this( |
| subnet: json_['subnet'] as core.String?, |
| vpcName: json_['vpcName'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final subnet = this.subnet; |
| final vpcName = this.vpcName; |
| return {'subnet': ?subnet, 'vpcName': ?vpcName}; |
| } |
| } |
| |
| /// The details of the VPC where the source database is located in Google Cloud. |
| /// |
| /// We will use this information to set up the VPC peering connection between |
| /// Cloud SQL and this VPC. |
| class VpcPeeringConnectivity { |
| /// The name of the VPC network to peer with the Cloud SQL private network. |
| core.String? vpc; |
| |
| VpcPeeringConnectivity({this.vpc}); |
| |
| VpcPeeringConnectivity.fromJson(core.Map json_) |
| : this(vpc: json_['vpc'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final vpc = this.vpc; |
| return {'vpc': ?vpc}; |
| } |
| } |