Database Migration API . projects . locations . conversionWorkspaces

Instance Methods

mappingRules()

Returns the mappingRules Resource.

apply(name, body=None, x__xgafv=None)

Apply draft tree onto a specific destination database

close()

Close httplib2 connections.

commit(name, body=None, x__xgafv=None)

Marks all the data in the conversion workspace as committed.

convert(name, body=None, x__xgafv=None)

Creates a draft tree schema for the destination database.

create(parent, body=None, conversionWorkspaceId=None, requestId=None, x__xgafv=None)

Creates a new conversion workspace in a given project and location.

delete(name, requestId=None, x__xgafv=None)

Deletes a single conversion workspace.

describeConversionWorkspaceRevisions(conversionWorkspace, commitId=None, x__xgafv=None)

Retrieves a list of committed revisions of a specific conversion workspace.

describeDatabaseEntities(conversionWorkspace, commitId=None, filter=None, pageSize=None, pageToken=None, tree=None, uncommitted=None, x__xgafv=None)

Use this method to describe the database entities tree for a specific conversion workspace and a specific tree type. The DB Entities are not a resource like conversion workspace or mapping rule, and they can not be created, updated or deleted like one. Instead they are simple data objects describing the structure of the client database.

describeDatabaseEntities_next()

Retrieves the next page of results.

get(name, x__xgafv=None)

Gets details of a single conversion workspace.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists conversion workspaces in a given project and location.

list_next()

Retrieves the next page of results.

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

Updates the parameters of a single conversion workspace.

rollback(name, body=None, x__xgafv=None)

Rollbacks a conversion workspace to the last committed spanshot.

searchBackgroundJobs(conversionWorkspace, completedUntilTime=None, maxSize=None, returnMostRecentPerJobType=None, x__xgafv=None)

Use this method to search/list the background jobs for a specific conversion workspace. The background jobs are not a resource like conversion workspace or mapping rule, and they can not be created, updated or deleted like one. Instead they are a way to expose the data plane jobs log.

seed(name, body=None, x__xgafv=None)

Imports a snapshot of the source database into the conversion workspace.

Method Details

apply(name, body=None, x__xgafv=None)
Apply draft tree onto a specific destination database

Args:
  name: string, Required. Name of the conversion workspace resource to apply draft to destination for. in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for 'ApplyConversionWorkspace' request.
  "connectionProfile": "A String", # Fully qualified (Uri) name of the destination connection profile.
  "filter": "A String", # Filter which entities to apply. Leaving this field empty will apply all of the entities. Supports Google AIP 160 based filtering.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # 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.
  "error": { # 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). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # 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.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
close()
Close httplib2 connections.
commit(name, body=None, x__xgafv=None)
Marks all the data in the conversion workspace as committed.

Args:
  name: string, Required. Name of the conversion workspace resource to commit. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for 'CommitConversionWorkspace' request.
  "commitName": "A String", # Optional. Optional name of the commit.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # 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.
  "error": { # 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). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # 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.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
convert(name, body=None, x__xgafv=None)
Creates a draft tree schema for the destination database.

Args:
  name: string, Name of the conversion workspace resource to convert in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for 'ConvertConversionWorkspace' request.
  "autoCommit": True or False, # Should the conversion workspace be committed automatically after the conversion.
  "filter": "A String", # Filter the entities to convert. Leaving this field empty will convert all of the entities. Supports Google AIP-160 style filtering.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # 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.
  "error": { # 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). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # 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.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
create(parent, body=None, conversionWorkspaceId=None, requestId=None, x__xgafv=None)
Creates a new conversion workspace in a given project and location.

Args:
  parent: string, Required. The parent, which owns this collection of conversion workspaces. (required)
  body: object, The request body.
    The object takes the form of:

{ # The main conversion workspace resource entity.
  "createTime": "A String", # Output only. The timestamp when the workspace resource was created.
  "destination": { # The type and version of a source or destination DB. # Required. The destination engine details.
    "engine": "A String", # Required. Engine Type.
    "version": "A String", # Required. Engine named version, for e.g. 12.c.1
  },
  "displayName": "A String", # The display name for the workspace
  "globalSettings": { # 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
    "a_key": "A String",
  },
  "hasUncommittedChanges": True or False, # Output only. Whether the workspace has uncommitted changes (changes which were made after the workspace was committed)
  "latestCommitId": "A String", # Output only. The latest commit id
  "latestCommitTime": "A String", # Output only. The timestamp when the workspace was committed.
  "name": "A String", # Full name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}.
  "source": { # The type and version of a source or destination DB. # Required. The source engine details.
    "engine": "A String", # Required. Engine Type.
    "version": "A String", # Required. Engine named version, for e.g. 12.c.1
  },
  "updateTime": "A String", # Output only. The timestamp when the workspace resource was last updated.
}

  conversionWorkspaceId: string, Required. The ID of the conversion workspace to create.
  requestId: string, A unique id used to identify the request. If the server receives two requests with the same id, then the second request will be ignored. It is recommended to always set this value to a UUID. The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # 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.
  "error": { # 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). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # 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.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
delete(name, requestId=None, x__xgafv=None)
Deletes a single conversion workspace.

Args:
  name: string, Required. Name of the conversion workspace resource to delete. (required)
  requestId: string, A unique id used to identify the request. If the server receives two requests with the same id, then the second request will be ignored. It is recommended to always set this value to a UUID. The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # 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.
  "error": { # 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). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # 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.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
describeConversionWorkspaceRevisions(conversionWorkspace, commitId=None, x__xgafv=None)
Retrieves a list of committed revisions of a specific conversion workspace.

Args:
  conversionWorkspace: string, Required. Name of the conversion workspace resource whose revisions are listed. in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. (required)
  commitId: string, Optional. Optional filter to request a specific commit id
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for 'DescribeConversionWorkspaceRevisions' request.
  "revisions": [ # The list of conversion workspace revisions.
    { # The main conversion workspace resource entity.
      "createTime": "A String", # Output only. The timestamp when the workspace resource was created.
      "destination": { # The type and version of a source or destination DB. # Required. The destination engine details.
        "engine": "A String", # Required. Engine Type.
        "version": "A String", # Required. Engine named version, for e.g. 12.c.1
      },
      "displayName": "A String", # The display name for the workspace
      "globalSettings": { # 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
        "a_key": "A String",
      },
      "hasUncommittedChanges": True or False, # Output only. Whether the workspace has uncommitted changes (changes which were made after the workspace was committed)
      "latestCommitId": "A String", # Output only. The latest commit id
      "latestCommitTime": "A String", # Output only. The timestamp when the workspace was committed.
      "name": "A String", # Full name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}.
      "source": { # The type and version of a source or destination DB. # Required. The source engine details.
        "engine": "A String", # Required. Engine Type.
        "version": "A String", # Required. Engine named version, for e.g. 12.c.1
      },
      "updateTime": "A String", # Output only. The timestamp when the workspace resource was last updated.
    },
  ],
}
describeDatabaseEntities(conversionWorkspace, commitId=None, filter=None, pageSize=None, pageToken=None, tree=None, uncommitted=None, x__xgafv=None)
Use this method to describe the database entities tree for a specific conversion workspace and a specific tree type. The DB Entities are not a resource like conversion workspace or mapping rule, and they can not be created, updated or deleted like one. Instead they are simple data objects describing the structure of the client database.

Args:
  conversionWorkspace: string, Required. Name of the conversion workspace resource whose DB entities are described in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. (required)
  commitId: string, Request a specific commit id. If not specified, the entities from the latest commit are returned.
  filter: string, Filter the returned entities based on AIP-160 standard
  pageSize: integer, The maximum number of entities to return. The service may return fewer than this value.
  pageToken: string, 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: string, The tree to fetch
    Allowed values
      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: boolean, 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.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for 'DescribeDatabaseEntities' request.
  "databaseEntities": [ # The list of database entities for the conversion workspace.
    { # The base entity type for all the database related entities The message contains the entity name, the name of its parent, its type and the specific details per its type
      "databaseFunction": { # Function's parent is a schema. # Function
        "customFeatures": { # Custom engine specific features
          "a_key": "", # Properties of the object.
        },
        "sqlCode": "A String", # The SQL code which creates the function
      },
      "databasePackage": { # Package's parent is a schema. # Package
        "customFeatures": { # Custom engine specific features
          "a_key": "", # Properties of the object.
        },
        "packageBody": "A String", # The SQL code which creates the package body. If the package specification has cursors or subprograms, then the package body is mandatory.
        "packageSqlCode": "A String", # The SQL code which creates the package
      },
      "entityType": "A String", # The type of the database entity (table, view, index, ...).
      "mappings": [ # 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.
        { # Details of the mappings of a database entity.
          "draftEntity": "A String", # Target entity full name. The draft entity can also include a column, index or constraint using the same naming notation schema.table.column
          "mappingLog": [ # 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 the with the reason preventing them to do so.
            { # A single record of a rule which was used for a mapping.
              "mappingComment": "A String", # Comment.
              "ruleId": "A String", # Which rule caused it.
              "ruleRevisionId": "A String", # Rule revision id
            },
          ],
          "sourceEntity": "A String", # Source entity full name. The source entity can also be a column, index or constraint using the same naming notation schema.table.column
        },
      ],
      "parentEntity": "A String", # The full name of the parent entity (e.g. schema name).
      "schema": { # Schema typically has no parent entity, but can have a parent entity DatabaseInstance (for database engines which supports it). For some database engines the term 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. # Schema.
        "customFeatures": { # Custom engine specific features
          "a_key": "", # Properties of the object.
        },
      },
      "sequence": { # Sequence's parent is a schema. # Sequence
        "cache": "A String", # Indicates number of entries to cache / precreate
        "customFeatures": { # Custom engine specific features
          "a_key": "", # Properties of the object.
        },
        "cycle": True or False, # Indicates whether the sequence value should cycle through
        "increment": "A String", # Increment value for the sequence
        "maxValue": "A String", # Maximum number for the sequence represented as bytes to accommodate large numbers
        "minValue": "A String", # Minimum number for the sequence represented as bytes to accommodate large numbers
        "startValue": "A String", # Start number for the sequence represented as bytes to accommodate large numbers
      },
      "shortName": "A String", # The short name (e.g. table name) of the entity.
      "storedProcedure": { # Stored procedure's parent is a schema. # Stored Procedure
        "customFeatures": { # Custom engine specific features
          "a_key": "", # Properties of the object.
        },
        "sqlCode": "A String", # The SQL code which creates the stored procedure
      },
      "synonym": { # Synonym's parent is a schema. # Synonym
        "customFeatures": { # Custom engine specific features
          "a_key": "", # Properties of the object.
        },
        "sourceEntity": "A String", # The name of the entity for which the synonym is being created (the source)
        "sourceType": "A String", # The type of the entity for which the synonym is being created (usually a table or a sequence)
      },
      "table": { # Table's parent is a schema. # Table.
        "columns": [ # Table Columns.
          { # Column is not used as an independent entity, it is retrieved as part of a Table entity.
            "array": True or False, # Is the column of array type
            "arrayLength": 42, # If the column is array, of which length
            "autoGenerated": True or False, # Is the column auto-generated/identity
            "charset": "A String", # Charset override - instead of table level charset
            "collation": "A String", # Collation override - instead of table level collation
            "comment": "A String", # Comment associated with the column
            "customFeatures": { # Custom engine specific features
              "a_key": "", # Properties of the object.
            },
            "dataType": "A String", # Column data type
            "defaultValue": "A String", # Default value of the column
            "fractionalSecondsPrecision": 42, # Column fractional second precision - used for timestamp based datatypes
            "length": "A String", # Column length - e.g. varchar (50)
            "name": "A String", # Column name
            "nullable": True or False, # Is the column nullable
            "ordinalPosition": 42, # Column order in the table
            "precision": 42, # Column precision - when relevant
            "scale": 42, # Column scale - when relevant
            "setValues": [ # Specifies the list of values allowed in the column. List is empty if set values is not required
              "A String",
            ],
            "udt": True or False, # Is the column a UDT
          },
        ],
        "comment": "A String", # Comment associated with the table
        "constraints": [ # Table Constraints.
          { # Constraint is not used as an independent entity, it is retrieved as part of another entity such as Table or View.
            "customFeatures": { # Custom engine specific features
              "a_key": "", # Properties of the object.
            },
            "name": "A String", # The name of the table constraint
            "referenceColumns": [ # Reference Columns which may be associated with the constraint. eg: if the constraint is a FOREIGN_KEY, this represents the list of full names of referenced columns by the foreign key.
              "A String",
            ],
            "referenceTable": "A String", # Reference table which may be associated with the constraint. eg: if the constraint is a FOREIGN_KEY, this represents the list of full name of the referenced table by the foreign key.
            "tableColumns": [ # Table columns used as part of the Constraint for e.g. primary key constraint should list the columns which constitutes the key
              "A String",
            ],
            "tableName": "A String", # Table which is associated with the constraint. In case the constraint is defined on a table, this field is left empty as this information is stored in parent_name. However, if constraint is defined on a view, this field stores the table name on which the view is defined.
            "type": "A String", # Type of constraint - e.g. unique, primary key, foreign key (currently only primary key is supported)
          },
        ],
        "customFeatures": { # Custom engine specific features
          "a_key": "", # Properties of the object.
        },
        "indices": [ # Table Indices.
          { # Index is not used as an independent entity, it is retrieved as part of a Table entity.
            "customFeatures": { # Custom engine specific features
              "a_key": "", # Properties of the object.
            },
            "name": "A String", # The name of the index
            "tableColumns": [ # Table columns used as part of the Index for e.g. B-TREE index should list the columns which constitutes the index.
              "A String",
            ],
            "type": "A String", # Type of index - e.g. B-TREE
            "unique": True or False, # boolean value indicating whether the index is unique
          },
        ],
        "triggers": [ # Table triggers.
          { # Trigger is not used as an independent entity, it is retrieved as part of a Table entity.
            "customFeatures": { # Custom engine specific features
              "a_key": "", # Properties of the object.
            },
            "name": "A String", # The name of the trigger
            "sqlCode": "A String", # The SQL code which creates the trigger
            "triggerType": "A String", # Indicates when the trigger fires, e.g. BEFORE STATEMENT, AFTER EACH ROW
            "triggeringEvents": [ # The DML, DDL, or database events that fires the trigger, e.g. INSERT, UPDATE
              "A String",
            ],
          },
        ],
      },
      "tree": "A String", # The type of tree the entity belongs to.
      "view": { # View's parent is a schema. # View
        "constraints": [ # View Constraints.
          { # Constraint is not used as an independent entity, it is retrieved as part of another entity such as Table or View.
            "customFeatures": { # Custom engine specific features
              "a_key": "", # Properties of the object.
            },
            "name": "A String", # The name of the table constraint
            "referenceColumns": [ # Reference Columns which may be associated with the constraint. eg: if the constraint is a FOREIGN_KEY, this represents the list of full names of referenced columns by the foreign key.
              "A String",
            ],
            "referenceTable": "A String", # Reference table which may be associated with the constraint. eg: if the constraint is a FOREIGN_KEY, this represents the list of full name of the referenced table by the foreign key.
            "tableColumns": [ # Table columns used as part of the Constraint for e.g. primary key constraint should list the columns which constitutes the key
              "A String",
            ],
            "tableName": "A String", # Table which is associated with the constraint. In case the constraint is defined on a table, this field is left empty as this information is stored in parent_name. However, if constraint is defined on a view, this field stores the table name on which the view is defined.
            "type": "A String", # Type of constraint - e.g. unique, primary key, foreign key (currently only primary key is supported)
          },
        ],
        "customFeatures": { # Custom engine specific features
          "a_key": "", # Properties of the object.
        },
        "sqlCode": "A String", # The SQL code which creates the view.
      },
    },
  ],
  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
}
describeDatabaseEntities_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
get(name, x__xgafv=None)
Gets details of a single conversion workspace.

Args:
  name: string, Required. Name of the conversion workspace resource to get. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The main conversion workspace resource entity.
  "createTime": "A String", # Output only. The timestamp when the workspace resource was created.
  "destination": { # The type and version of a source or destination DB. # Required. The destination engine details.
    "engine": "A String", # Required. Engine Type.
    "version": "A String", # Required. Engine named version, for e.g. 12.c.1
  },
  "displayName": "A String", # The display name for the workspace
  "globalSettings": { # 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
    "a_key": "A String",
  },
  "hasUncommittedChanges": True or False, # Output only. Whether the workspace has uncommitted changes (changes which were made after the workspace was committed)
  "latestCommitId": "A String", # Output only. The latest commit id
  "latestCommitTime": "A String", # Output only. The timestamp when the workspace was committed.
  "name": "A String", # Full name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}.
  "source": { # The type and version of a source or destination DB. # Required. The source engine details.
    "engine": "A String", # Required. Engine Type.
    "version": "A String", # Required. Engine named version, for e.g. 12.c.1
  },
  "updateTime": "A String", # Output only. The timestamp when the workspace resource was last updated.
}
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
Lists conversion workspaces in a given project and location.

Args:
  parent: string, Required. The parent, which owns this collection of conversion workspaces. (required)
  filter: string, 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: integer, The maximum number of conversion workspaces to return. The service may return fewer than this value. If unspecified, at most 50 sets will be returned.
  pageToken: string, 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.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for 'ListConversionWorkspaces' request.
  "conversionWorkspaces": [ # The list of conversion workspace objects.
    { # The main conversion workspace resource entity.
      "createTime": "A String", # Output only. The timestamp when the workspace resource was created.
      "destination": { # The type and version of a source or destination DB. # Required. The destination engine details.
        "engine": "A String", # Required. Engine Type.
        "version": "A String", # Required. Engine named version, for e.g. 12.c.1
      },
      "displayName": "A String", # The display name for the workspace
      "globalSettings": { # 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
        "a_key": "A String",
      },
      "hasUncommittedChanges": True or False, # Output only. Whether the workspace has uncommitted changes (changes which were made after the workspace was committed)
      "latestCommitId": "A String", # Output only. The latest commit id
      "latestCommitTime": "A String", # Output only. The timestamp when the workspace was committed.
      "name": "A String", # Full name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}.
      "source": { # The type and version of a source or destination DB. # Required. The source engine details.
        "engine": "A String", # Required. Engine Type.
        "version": "A String", # Required. Engine named version, for e.g. 12.c.1
      },
      "updateTime": "A String", # Output only. The timestamp when the workspace resource was last updated.
    },
  ],
  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
  "unreachable": [ # Locations that could not be reached.
    "A String",
  ],
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)
Updates the parameters of a single conversion workspace.

Args:
  name: string, Full name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. (required)
  body: object, The request body.
    The object takes the form of:

{ # The main conversion workspace resource entity.
  "createTime": "A String", # Output only. The timestamp when the workspace resource was created.
  "destination": { # The type and version of a source or destination DB. # Required. The destination engine details.
    "engine": "A String", # Required. Engine Type.
    "version": "A String", # Required. Engine named version, for e.g. 12.c.1
  },
  "displayName": "A String", # The display name for the workspace
  "globalSettings": { # 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
    "a_key": "A String",
  },
  "hasUncommittedChanges": True or False, # Output only. Whether the workspace has uncommitted changes (changes which were made after the workspace was committed)
  "latestCommitId": "A String", # Output only. The latest commit id
  "latestCommitTime": "A String", # Output only. The timestamp when the workspace was committed.
  "name": "A String", # Full name of the workspace resource, in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}.
  "source": { # The type and version of a source or destination DB. # Required. The source engine details.
    "engine": "A String", # Required. Engine Type.
    "version": "A String", # Required. Engine named version, for e.g. 12.c.1
  },
  "updateTime": "A String", # Output only. The timestamp when the workspace resource was last updated.
}

  requestId: string, A unique id used to identify the request. If the server receives two requests with the same id, then the second request will be ignored. It is recommended to always set this value to a UUID. The id must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.
  updateMask: string, Required. Field mask is used to specify the fields to be overwritten in the conversion workspace resource by the update.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # 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.
  "error": { # 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). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # 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.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
rollback(name, body=None, x__xgafv=None)
Rollbacks a conversion workspace to the last committed spanshot.

Args:
  name: string, Required. Name of the conversion workspace resource to rollback to. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for 'RollbackConversionWorkspace' request.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # 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.
  "error": { # 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). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # 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.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
searchBackgroundJobs(conversionWorkspace, completedUntilTime=None, maxSize=None, returnMostRecentPerJobType=None, x__xgafv=None)
Use this method to search/list the background jobs for a specific conversion workspace. The background jobs are not a resource like conversion workspace or mapping rule, and they can not be created, updated or deleted like one. Instead they are a way to expose the data plane jobs log.

Args:
  conversionWorkspace: string, Required. Name of the conversion workspace resource whos jobs are listed. in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. (required)
  completedUntilTime: string, Optional. If supplied, will only return jobs that completed until (not including) the given timestamp.
  maxSize: integer, Optional. The maximum number of jobs to return. The service may return fewer than this value. If unspecified, at most 100 jobs will be returned. The maximum value is 100; values above 100 will be coerced to 100.
  returnMostRecentPerJobType: boolean, Optional. Whether or not to return just the most recent job per job type
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for 'SearchBackgroundJobs' request.
  "jobs": [ # The list of conversion workspace mapping rules.
    { # Execution log of a background job.
      "completionComment": "A String", # Job completion comment, such as how many entities were seeded, how many warnings were found during conversion and similar information.
      "completionState": "A String", # Job completion state, i.e. the final state after the job completed.
      "finishTime": "A String", # The timestamp when the background job was finished.
      "id": "A String", # The background job log entry id
      "importRulesJobDetails": { # Details regarding an Import Rules background job # Import rules job details
        "fileFormat": "A String", # The requested file format
        "files": [ # File names used for the import rules job
          "A String",
        ],
      },
      "jobType": "A String", # The type of job that was executed.
      "requestAutocommit": True or False, # Whether the client requested the conversion workspace to be committed after a successful completion of the job.
      "seedJobDetails": { # Details regarding a Seed background job # Seed job details
        "connectionProfile": "A String", # The connection profile which was used for the seed job
      },
      "startTime": "A String", # The timestamp when the background job was started.
    },
  ],
}
seed(name, body=None, x__xgafv=None)
Imports a snapshot of the source database into the conversion workspace.

Args:
  name: string, Name of the conversion workspace resource to seed with new database structure. in the form of: projects/{project}/locations/{location}/conversionWorkspaces/{conversion_workspace}. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for 'SeedConversionWorkspace' request.
  "autoCommit": True or False, # Should the conversion workspace be committed automatically after the seed operation.
  "destinationConnectionProfile": "A String", # Fully qualified (Uri) name of the destination connection profile.
  "sourceConnectionProfile": "A String", # Fully qualified (Uri) name of the source connection profile.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # 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.
  "error": { # 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). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # 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.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}