Google Cloud Data Catalog API . projects . locations . entryGroups . entries

Instance Methods

tags()

Returns the tags Resource.

create(parent, body=None, entryId=None, x__xgafv=None)

Creates an entry. Only entries of 'FILESET' type or user-specified type can

delete(name, x__xgafv=None)

Deletes an existing entry. Only entries created through

get(name, x__xgafv=None)

Gets an entry.

getIamPolicy(resource, body=None, x__xgafv=None)

Gets the access control policy for a resource. A `NOT_FOUND` error

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

Lists entries.

list_next(previous_request, previous_response)

Retrieves the next page of results.

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

Updates an existing entry.

testIamPermissions(resource, body=None, x__xgafv=None)

Returns the caller's permissions on a resource.

Method Details

create(parent, body=None, entryId=None, x__xgafv=None)
Creates an entry. Only entries of 'FILESET' type or user-specified type can
be created.

Users should enable the Data Catalog API in the project identified by
the `parent` parameter (see [Data Catalog Resource Project]
(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for
more information).

A maximum of 100,000 entries may be created per entry group.

Args:
  parent: string, Required. The name of the entry group this entry is in. Example:

* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}

Note that this Entry and its child resources may not actually be stored in
the location in this name. (required)
  body: object, The request body.
    The object takes the form of:

{ # Entry Metadata.
    # A Data Catalog Entry resource represents another resource in Google
    # Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or
    # outside of Google Cloud Platform. Clients can use the `linked_resource` field
    # in the Entry resource to refer to the original resource ID of the source
    # system.
    # 
    # An Entry resource contains resource details, such as its schema. An Entry can
    # also be used to attach flexible metadata, such as a
    # Tag.
  "name": "A String", # The Data Catalog resource name of the entry in URL format. Example:
      # 
      # * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}
      # 
      # Note that this Entry and its child resources may not actually be stored in
      # the location in this name.
  "gcsFilesetSpec": { # Describes a Cloud Storage fileset entry. # Specification that applies to a Cloud Storage fileset. This is only valid
      # on entries of type FILESET.
    "sampleGcsFileSpecs": [ # Output only. Sample files contained in this fileset, not all files contained in this
        # fileset are represented here.
      { # Specifications of a single file in Cloud Storage.
        "gcsTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the Cloud Storage file.
          "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
              # Currently only apllicable to BigQuery resources.
          "updateTime": "A String", # The last-modified time of the resource within the given system.
          "createTime": "A String", # The creation time of the resource within the given system.
        },
        "filePath": "A String", # Required. The full file path. Example: `gs://bucket_name/a/b.txt`.
        "sizeBytes": "A String", # Output only. The size of the file, in bytes.
      },
    ],
    "filePatterns": [ # Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud
        # Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for
        # more information. Note that bucket wildcards are currently not supported.
        #
        # Examples of valid file_patterns:
        #
        #  * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
        #                              directory.
        #  * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
        #                               spanning all subdirectories.
        #  * `gs://bucket_name/file*`: matches files prefixed by `file` in
        #                              `bucket_name`
        #  * `gs://bucket_name/??.txt`: matches files with two characters followed by
        #                               `.txt` in `bucket_name`
        #  * `gs://bucket_name/[aeiou].txt`: matches files that contain a single
        #                                    vowel character followed by `.txt` in
        #                                    `bucket_name`
        #  * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ...
        #                                  or `m` followed by `.txt` in `bucket_name`
        #  * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match
        #                              `a/*/b` pattern, such as `a/c/b`, `a/d/b`
        #  * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
        #
        # You can combine wildcards to provide more powerful matches, for example:
        #
        #  * `gs://bucket_name/[a-m]??.j*g`
      "A String",
    ],
  },
  "schema": { # Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema). # Schema of the entry. An entry might not have any schema attached to it.
    "columns": [ # Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be
        # specified.
      { # Representation of a column within a schema. Columns could be nested inside
          # other columns.
        "description": "A String", # Optional. Description of the column. Default value is an empty string.
        "subcolumns": [ # Optional. Schema of sub-columns. A column can have zero or more sub-columns.
          # Object with schema name: GoogleCloudDatacatalogV1beta1ColumnSchema
        ],
        "type": "A String", # Required. Type of the column.
        "column": "A String", # Required. Name of the column.
        "mode": "A String", # Optional. A column's mode indicates whether the values in this column are required,
            # nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
            # Default mode is `NULLABLE`.
      },
    ],
  },
  "userSpecifiedType": "A String", # Entry type if it does not fit any of the input-allowed values listed in
      # `EntryType` enum above. When creating an entry, users should check the
      # enum values first, if nothing matches the entry to be created, then
      # provide a custom value, for example "my_special_type".
      # `user_specified_type` strings must begin with a letter or underscore and
      # can only contain letters, numbers, and underscores; are case insensitive;
      # must be at least 1 character and at most 64 characters long.
      # 
      # Currently, only FILESET enum value is allowed. All other entries created
      # through Data Catalog must use `user_specified_type`.
  "displayName": "A String", # Display information such as title and description. A short name to identify
      # the entry, for example, "Analytics Data - Jan 2011". Default value is an
      # empty string.
  "bigqueryDateShardedSpec": { # Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. # Specification for a group of BigQuery tables with name pattern
      # `[prefix]YYYYMMDD`. Context:
      # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.
      # Context:
      # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
    "tablePrefix": "A String", # Output only. The table name prefix of the shards. The name of any given shard is
        # `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the
        # `table_prefix` is `MyTable`.
    "shardCount": "A String", # Output only. Total number of shards.
    "dataset": "A String", # Output only. The Data Catalog resource name of the dataset entry the current table
        # belongs to, for example,
        # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
  },
  "bigqueryTableSpec": { # Describes a BigQuery table. # Specification that applies to a BigQuery table. This is only valid on
      # entries of type `TABLE`.
    "tableSpec": { # Normal BigQuery table spec. # Spec of a BigQuery table. This field should only be populated if
        # `table_source_type` is `BIGQUERY_TABLE`.
      "groupedEntry": "A String", # Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`,
          # `grouped_entry` is the Data Catalog resource name of the date sharded
          # grouped entry, for example,
          # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
          # Otherwise, `grouped_entry` is empty.
    },
    "tableSourceType": "A String", # Output only. The table source type.
    "viewSpec": { # Table view specification. # Table view specification. This field should only be populated if
        # `table_source_type` is `BIGQUERY_VIEW`.
      "viewQuery": "A String", # Output only. The query that defines the table view.
    },
  },
  "type": "A String", # The type of the entry.
      # Only used for Entries with types in the EntryType enum.
  "description": "A String", # Entry description, which can consist of several sentences or paragraphs
      # that describe entry contents. Default value is an empty string.
  "sourceSystemTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the underlying resource, not about this Data Catalog
      # entry. Output only when Entry is of type in the EntryType enum. For entries
      # with user_specified_type, this field is optional and defaults to an empty
      # timestamp.
    "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
        # Currently only apllicable to BigQuery resources.
    "updateTime": "A String", # The last-modified time of the resource within the given system.
    "createTime": "A String", # The creation time of the resource within the given system.
  },
  "userSpecifiedSystem": "A String", # This field indicates the entry's source system that Data Catalog does not
      # integrate with. `user_specified_system` strings must begin with a letter
      # or underscore and can only contain letters, numbers, and underscores; are
      # case insensitive; must be at least 1 character and at most 64 characters
      # long.
  "integratedSystem": "A String", # Output only. This field indicates the entry's source system that Data Catalog
      # integrates with, such as BigQuery or Pub/Sub.
  "linkedResource": "A String", # The resource this metadata entry refers to.
      # 
      # For Google Cloud Platform resources, `linked_resource` is the [full name of
      # the
      # resource](https://cloud.google.com/apis/design/resource_names#full_resource_name).
      # For example, the `linked_resource` for a table resource from BigQuery is:
      # 
      # * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId
      # 
      # Output only when Entry is of type in the EntryType enum. For entries with
      # user_specified_type, this field is optional and defaults to an empty
      # string.
}

  entryId: string, Required. The id of the entry to create.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Entry Metadata.
      # A Data Catalog Entry resource represents another resource in Google
      # Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or
      # outside of Google Cloud Platform. Clients can use the `linked_resource` field
      # in the Entry resource to refer to the original resource ID of the source
      # system.
      #
      # An Entry resource contains resource details, such as its schema. An Entry can
      # also be used to attach flexible metadata, such as a
      # Tag.
    "name": "A String", # The Data Catalog resource name of the entry in URL format. Example:
        #
        # * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}
        #
        # Note that this Entry and its child resources may not actually be stored in
        # the location in this name.
    "gcsFilesetSpec": { # Describes a Cloud Storage fileset entry. # Specification that applies to a Cloud Storage fileset. This is only valid
        # on entries of type FILESET.
      "sampleGcsFileSpecs": [ # Output only. Sample files contained in this fileset, not all files contained in this
          # fileset are represented here.
        { # Specifications of a single file in Cloud Storage.
          "gcsTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the Cloud Storage file.
            "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
                # Currently only apllicable to BigQuery resources.
            "updateTime": "A String", # The last-modified time of the resource within the given system.
            "createTime": "A String", # The creation time of the resource within the given system.
          },
          "filePath": "A String", # Required. The full file path. Example: `gs://bucket_name/a/b.txt`.
          "sizeBytes": "A String", # Output only. The size of the file, in bytes.
        },
      ],
      "filePatterns": [ # Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud
          # Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for
          # more information. Note that bucket wildcards are currently not supported.
          #
          # Examples of valid file_patterns:
          #
          #  * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
          #                              directory.
          #  * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
          #                               spanning all subdirectories.
          #  * `gs://bucket_name/file*`: matches files prefixed by `file` in
          #                              `bucket_name`
          #  * `gs://bucket_name/??.txt`: matches files with two characters followed by
          #                               `.txt` in `bucket_name`
          #  * `gs://bucket_name/[aeiou].txt`: matches files that contain a single
          #                                    vowel character followed by `.txt` in
          #                                    `bucket_name`
          #  * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ...
          #                                  or `m` followed by `.txt` in `bucket_name`
          #  * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match
          #                              `a/*/b` pattern, such as `a/c/b`, `a/d/b`
          #  * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
          #
          # You can combine wildcards to provide more powerful matches, for example:
          #
          #  * `gs://bucket_name/[a-m]??.j*g`
        "A String",
      ],
    },
    "schema": { # Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema). # Schema of the entry. An entry might not have any schema attached to it.
      "columns": [ # Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be
          # specified.
        { # Representation of a column within a schema. Columns could be nested inside
            # other columns.
          "description": "A String", # Optional. Description of the column. Default value is an empty string.
          "subcolumns": [ # Optional. Schema of sub-columns. A column can have zero or more sub-columns.
            # Object with schema name: GoogleCloudDatacatalogV1beta1ColumnSchema
          ],
          "type": "A String", # Required. Type of the column.
          "column": "A String", # Required. Name of the column.
          "mode": "A String", # Optional. A column's mode indicates whether the values in this column are required,
              # nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
              # Default mode is `NULLABLE`.
        },
      ],
    },
    "userSpecifiedType": "A String", # Entry type if it does not fit any of the input-allowed values listed in
        # `EntryType` enum above. When creating an entry, users should check the
        # enum values first, if nothing matches the entry to be created, then
        # provide a custom value, for example "my_special_type".
        # `user_specified_type` strings must begin with a letter or underscore and
        # can only contain letters, numbers, and underscores; are case insensitive;
        # must be at least 1 character and at most 64 characters long.
        #
        # Currently, only FILESET enum value is allowed. All other entries created
        # through Data Catalog must use `user_specified_type`.
    "displayName": "A String", # Display information such as title and description. A short name to identify
        # the entry, for example, "Analytics Data - Jan 2011". Default value is an
        # empty string.
    "bigqueryDateShardedSpec": { # Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. # Specification for a group of BigQuery tables with name pattern
        # `[prefix]YYYYMMDD`. Context:
        # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.
        # Context:
        # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
      "tablePrefix": "A String", # Output only. The table name prefix of the shards. The name of any given shard is
          # `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the
          # `table_prefix` is `MyTable`.
      "shardCount": "A String", # Output only. Total number of shards.
      "dataset": "A String", # Output only. The Data Catalog resource name of the dataset entry the current table
          # belongs to, for example,
          # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
    },
    "bigqueryTableSpec": { # Describes a BigQuery table. # Specification that applies to a BigQuery table. This is only valid on
        # entries of type `TABLE`.
      "tableSpec": { # Normal BigQuery table spec. # Spec of a BigQuery table. This field should only be populated if
          # `table_source_type` is `BIGQUERY_TABLE`.
        "groupedEntry": "A String", # Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`,
            # `grouped_entry` is the Data Catalog resource name of the date sharded
            # grouped entry, for example,
            # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
            # Otherwise, `grouped_entry` is empty.
      },
      "tableSourceType": "A String", # Output only. The table source type.
      "viewSpec": { # Table view specification. # Table view specification. This field should only be populated if
          # `table_source_type` is `BIGQUERY_VIEW`.
        "viewQuery": "A String", # Output only. The query that defines the table view.
      },
    },
    "type": "A String", # The type of the entry.
        # Only used for Entries with types in the EntryType enum.
    "description": "A String", # Entry description, which can consist of several sentences or paragraphs
        # that describe entry contents. Default value is an empty string.
    "sourceSystemTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the underlying resource, not about this Data Catalog
        # entry. Output only when Entry is of type in the EntryType enum. For entries
        # with user_specified_type, this field is optional and defaults to an empty
        # timestamp.
      "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
          # Currently only apllicable to BigQuery resources.
      "updateTime": "A String", # The last-modified time of the resource within the given system.
      "createTime": "A String", # The creation time of the resource within the given system.
    },
    "userSpecifiedSystem": "A String", # This field indicates the entry's source system that Data Catalog does not
        # integrate with. `user_specified_system` strings must begin with a letter
        # or underscore and can only contain letters, numbers, and underscores; are
        # case insensitive; must be at least 1 character and at most 64 characters
        # long.
    "integratedSystem": "A String", # Output only. This field indicates the entry's source system that Data Catalog
        # integrates with, such as BigQuery or Pub/Sub.
    "linkedResource": "A String", # The resource this metadata entry refers to.
        #
        # For Google Cloud Platform resources, `linked_resource` is the [full name of
        # the
        # resource](https://cloud.google.com/apis/design/resource_names#full_resource_name).
        # For example, the `linked_resource` for a table resource from BigQuery is:
        #
        # * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId
        #
        # Output only when Entry is of type in the EntryType enum. For entries with
        # user_specified_type, this field is optional and defaults to an empty
        # string.
  }
delete(name, x__xgafv=None)
Deletes an existing entry. Only entries created through
CreateEntry
method can be deleted.
Users should enable the Data Catalog API in the project identified by
the `name` parameter (see [Data Catalog Resource Project]
(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for
more information).

Args:
  name: string, Required. The name of the entry. Example:

* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }
get(name, x__xgafv=None)
Gets an entry.

Args:
  name: string, Required. The name of the entry. Example:

* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Entry Metadata.
      # A Data Catalog Entry resource represents another resource in Google
      # Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or
      # outside of Google Cloud Platform. Clients can use the `linked_resource` field
      # in the Entry resource to refer to the original resource ID of the source
      # system.
      #
      # An Entry resource contains resource details, such as its schema. An Entry can
      # also be used to attach flexible metadata, such as a
      # Tag.
    "name": "A String", # The Data Catalog resource name of the entry in URL format. Example:
        #
        # * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}
        #
        # Note that this Entry and its child resources may not actually be stored in
        # the location in this name.
    "gcsFilesetSpec": { # Describes a Cloud Storage fileset entry. # Specification that applies to a Cloud Storage fileset. This is only valid
        # on entries of type FILESET.
      "sampleGcsFileSpecs": [ # Output only. Sample files contained in this fileset, not all files contained in this
          # fileset are represented here.
        { # Specifications of a single file in Cloud Storage.
          "gcsTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the Cloud Storage file.
            "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
                # Currently only apllicable to BigQuery resources.
            "updateTime": "A String", # The last-modified time of the resource within the given system.
            "createTime": "A String", # The creation time of the resource within the given system.
          },
          "filePath": "A String", # Required. The full file path. Example: `gs://bucket_name/a/b.txt`.
          "sizeBytes": "A String", # Output only. The size of the file, in bytes.
        },
      ],
      "filePatterns": [ # Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud
          # Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for
          # more information. Note that bucket wildcards are currently not supported.
          #
          # Examples of valid file_patterns:
          #
          #  * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
          #                              directory.
          #  * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
          #                               spanning all subdirectories.
          #  * `gs://bucket_name/file*`: matches files prefixed by `file` in
          #                              `bucket_name`
          #  * `gs://bucket_name/??.txt`: matches files with two characters followed by
          #                               `.txt` in `bucket_name`
          #  * `gs://bucket_name/[aeiou].txt`: matches files that contain a single
          #                                    vowel character followed by `.txt` in
          #                                    `bucket_name`
          #  * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ...
          #                                  or `m` followed by `.txt` in `bucket_name`
          #  * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match
          #                              `a/*/b` pattern, such as `a/c/b`, `a/d/b`
          #  * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
          #
          # You can combine wildcards to provide more powerful matches, for example:
          #
          #  * `gs://bucket_name/[a-m]??.j*g`
        "A String",
      ],
    },
    "schema": { # Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema). # Schema of the entry. An entry might not have any schema attached to it.
      "columns": [ # Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be
          # specified.
        { # Representation of a column within a schema. Columns could be nested inside
            # other columns.
          "description": "A String", # Optional. Description of the column. Default value is an empty string.
          "subcolumns": [ # Optional. Schema of sub-columns. A column can have zero or more sub-columns.
            # Object with schema name: GoogleCloudDatacatalogV1beta1ColumnSchema
          ],
          "type": "A String", # Required. Type of the column.
          "column": "A String", # Required. Name of the column.
          "mode": "A String", # Optional. A column's mode indicates whether the values in this column are required,
              # nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
              # Default mode is `NULLABLE`.
        },
      ],
    },
    "userSpecifiedType": "A String", # Entry type if it does not fit any of the input-allowed values listed in
        # `EntryType` enum above. When creating an entry, users should check the
        # enum values first, if nothing matches the entry to be created, then
        # provide a custom value, for example "my_special_type".
        # `user_specified_type` strings must begin with a letter or underscore and
        # can only contain letters, numbers, and underscores; are case insensitive;
        # must be at least 1 character and at most 64 characters long.
        #
        # Currently, only FILESET enum value is allowed. All other entries created
        # through Data Catalog must use `user_specified_type`.
    "displayName": "A String", # Display information such as title and description. A short name to identify
        # the entry, for example, "Analytics Data - Jan 2011". Default value is an
        # empty string.
    "bigqueryDateShardedSpec": { # Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. # Specification for a group of BigQuery tables with name pattern
        # `[prefix]YYYYMMDD`. Context:
        # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.
        # Context:
        # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
      "tablePrefix": "A String", # Output only. The table name prefix of the shards. The name of any given shard is
          # `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the
          # `table_prefix` is `MyTable`.
      "shardCount": "A String", # Output only. Total number of shards.
      "dataset": "A String", # Output only. The Data Catalog resource name of the dataset entry the current table
          # belongs to, for example,
          # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
    },
    "bigqueryTableSpec": { # Describes a BigQuery table. # Specification that applies to a BigQuery table. This is only valid on
        # entries of type `TABLE`.
      "tableSpec": { # Normal BigQuery table spec. # Spec of a BigQuery table. This field should only be populated if
          # `table_source_type` is `BIGQUERY_TABLE`.
        "groupedEntry": "A String", # Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`,
            # `grouped_entry` is the Data Catalog resource name of the date sharded
            # grouped entry, for example,
            # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
            # Otherwise, `grouped_entry` is empty.
      },
      "tableSourceType": "A String", # Output only. The table source type.
      "viewSpec": { # Table view specification. # Table view specification. This field should only be populated if
          # `table_source_type` is `BIGQUERY_VIEW`.
        "viewQuery": "A String", # Output only. The query that defines the table view.
      },
    },
    "type": "A String", # The type of the entry.
        # Only used for Entries with types in the EntryType enum.
    "description": "A String", # Entry description, which can consist of several sentences or paragraphs
        # that describe entry contents. Default value is an empty string.
    "sourceSystemTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the underlying resource, not about this Data Catalog
        # entry. Output only when Entry is of type in the EntryType enum. For entries
        # with user_specified_type, this field is optional and defaults to an empty
        # timestamp.
      "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
          # Currently only apllicable to BigQuery resources.
      "updateTime": "A String", # The last-modified time of the resource within the given system.
      "createTime": "A String", # The creation time of the resource within the given system.
    },
    "userSpecifiedSystem": "A String", # This field indicates the entry's source system that Data Catalog does not
        # integrate with. `user_specified_system` strings must begin with a letter
        # or underscore and can only contain letters, numbers, and underscores; are
        # case insensitive; must be at least 1 character and at most 64 characters
        # long.
    "integratedSystem": "A String", # Output only. This field indicates the entry's source system that Data Catalog
        # integrates with, such as BigQuery or Pub/Sub.
    "linkedResource": "A String", # The resource this metadata entry refers to.
        #
        # For Google Cloud Platform resources, `linked_resource` is the [full name of
        # the
        # resource](https://cloud.google.com/apis/design/resource_names#full_resource_name).
        # For example, the `linked_resource` for a table resource from BigQuery is:
        #
        # * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId
        #
        # Output only when Entry is of type in the EntryType enum. For entries with
        # user_specified_type, this field is optional and defaults to an empty
        # string.
  }
getIamPolicy(resource, body=None, x__xgafv=None)
Gets the access control policy for a resource. A `NOT_FOUND` error
is returned if the resource does not exist. An empty policy is returned
if the resource exists but does not have a policy set on it.

Supported resources are:
  - Tag templates.
  - Entries.
  - Entry groups.
Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
and any external Google Cloud Platform resources synced to Data Catalog.

Callers must have following Google IAM permission
  - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag
    templates.
  - `datacatalog.entries.getIamPolicy` to get policies on entries.
  - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.

Args:
  resource: string, REQUIRED: The resource for which the policy is being requested.
See the operation documentation for the appropriate value for this field. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for `GetIamPolicy` method.
    "options": { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to
        # `GetIamPolicy`.
      "requestedPolicyVersion": 42, # Optional. The policy format version to be returned.
          #
          # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
          # rejected.
          #
          # Requests for policies with any conditional bindings must specify version 3.
          # Policies without any conditional bindings may specify any valid value or
          # leave the field unset.
          #
          # To learn which resources support conditions in their IAM policies, see the
          # [IAM
          # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
    },
  }

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

Returns:
  An object of the form:

    { # An Identity and Access Management (IAM) policy, which specifies access
      # controls for Google Cloud resources.
      #
      #
      # A `Policy` is a collection of `bindings`. A `binding` binds one or more
      # `members` to a single `role`. Members can be user accounts, service accounts,
      # Google groups, and domains (such as G Suite). A `role` is a named list of
      # permissions; each `role` can be an IAM predefined role or a user-created
      # custom role.
      #
      # For some types of Google Cloud resources, a `binding` can also specify a
      # `condition`, which is a logical expression that allows access to a resource
      # only if the expression evaluates to `true`. A condition can add constraints
      # based on attributes of the request, the resource, or both. To learn which
      # resources support conditions in their IAM policies, see the
      # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
      #
      # **JSON example:**
      #
      #     {
      #       "bindings": [
      #         {
      #           "role": "roles/resourcemanager.organizationAdmin",
      #           "members": [
      #             "user:mike@example.com",
      #             "group:admins@example.com",
      #             "domain:google.com",
      #             "serviceAccount:my-project-id@appspot.gserviceaccount.com"
      #           ]
      #         },
      #         {
      #           "role": "roles/resourcemanager.organizationViewer",
      #           "members": [
      #             "user:eve@example.com"
      #           ],
      #           "condition": {
      #             "title": "expirable access",
      #             "description": "Does not grant access after Sep 2020",
      #             "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
      #           }
      #         }
      #       ],
      #       "etag": "BwWWja0YfJA=",
      #       "version": 3
      #     }
      #
      # **YAML example:**
      #
      #     bindings:
      #     - members:
      #       - user:mike@example.com
      #       - group:admins@example.com
      #       - domain:google.com
      #       - serviceAccount:my-project-id@appspot.gserviceaccount.com
      #       role: roles/resourcemanager.organizationAdmin
      #     - members:
      #       - user:eve@example.com
      #       role: roles/resourcemanager.organizationViewer
      #       condition:
      #         title: expirable access
      #         description: Does not grant access after Sep 2020
      #         expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
      #     - etag: BwWWja0YfJA=
      #     - version: 3
      #
      # For a description of IAM and its features, see the
      # [IAM documentation](https://cloud.google.com/iam/docs/).
    "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
        # `condition` that determines how and when the `bindings` are applied. Each
        # of the `bindings` must contain at least one member.
      { # Associates `members` with a `role`.
        "condition": { # Represents a textual expression in the Common Expression Language (CEL) # 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 members 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).
            # 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.
          "title": "A String", # Optional. Title for the expression, i.e. a short string describing
              # its purpose. This can be used e.g. in UIs which allow to enter the
              # expression.
          "location": "A String", # Optional. String indicating the location of the expression for error
              # reporting, e.g. a file name and a position in the file.
          "description": "A String", # Optional. Description of the expression. This is a longer text which
              # describes the expression, e.g. when hovered over it in a UI.
          "expression": "A String", # Textual representation of an expression in Common Expression Language
              # syntax.
        },
        "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
            # `members` can have the following values:
            #
            # * `allUsers`: A special identifier that represents anyone who is
            #    on the internet; with or without a Google account.
            #
            # * `allAuthenticatedUsers`: A special identifier that represents anyone
            #    who is authenticated with a Google account or a service account.
            #
            # * `user:{emailid}`: An email address that represents a specific Google
            #    account. For example, `alice@example.com` .
            #
            #
            # * `serviceAccount:{emailid}`: An email address that represents a service
            #    account. For example, `my-other-app@appspot.gserviceaccount.com`.
            #
            # * `group:{emailid}`: An email address that represents a Google group.
            #    For example, `admins@example.com`.
            #
            # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
            #    identifier) representing a user that has been recently deleted. For
            #    example, `alice@example.com?uid=123456789012345678901`. If the user is
            #    recovered, this value reverts to `user:{emailid}` and the recovered user
            #    retains the role in the binding.
            #
            # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
            #    unique identifier) representing a service account that has been recently
            #    deleted. For example,
            #    `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
            #    If the service account is undeleted, this value reverts to
            #    `serviceAccount:{emailid}` and the undeleted service account retains the
            #    role in the binding.
            #
            # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
            #    identifier) representing a Google group that has been recently
            #    deleted. For example, `admins@example.com?uid=123456789012345678901`. If
            #    the group is recovered, this value reverts to `group:{emailid}` and the
            #    recovered group retains the role in the binding.
            #
            #
            # * `domain:{domain}`: The G Suite domain (primary) that represents all the
            #    users of that domain. For example, `google.com` or `example.com`.
            #
          "A String",
        ],
        "role": "A String", # Role that is assigned to `members`.
            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
      },
    ],
    "etag": "A String", # `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.
    "version": 42, # 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).
  }
list(parent, pageToken=None, pageSize=None, readMask=None, x__xgafv=None)
Lists entries.

Args:
  parent: string, Required. The name of the entry group that contains the entries, which can
be provided in URL format. Example:

* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} (required)
  pageToken: string, Token that specifies which page is requested. If empty, the first page is
returned.
  pageSize: integer, The maximum number of items to return. Default is 10. Max limit is 1000.
Throws an invalid argument for `page_size > 1000`.
  readMask: string, The fields to return for each Entry. If not set or empty, all
fields are returned.
For example, setting read_mask to contain only one path "name" will cause
ListEntries to return a list of Entries with only "name" field.
  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
      # ListEntries.
    "entries": [ # Entry details.
      { # Entry Metadata.
          # A Data Catalog Entry resource represents another resource in Google
          # Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or
          # outside of Google Cloud Platform. Clients can use the `linked_resource` field
          # in the Entry resource to refer to the original resource ID of the source
          # system.
          #
          # An Entry resource contains resource details, such as its schema. An Entry can
          # also be used to attach flexible metadata, such as a
          # Tag.
        "name": "A String", # The Data Catalog resource name of the entry in URL format. Example:
            #
            # * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}
            #
            # Note that this Entry and its child resources may not actually be stored in
            # the location in this name.
        "gcsFilesetSpec": { # Describes a Cloud Storage fileset entry. # Specification that applies to a Cloud Storage fileset. This is only valid
            # on entries of type FILESET.
          "sampleGcsFileSpecs": [ # Output only. Sample files contained in this fileset, not all files contained in this
              # fileset are represented here.
            { # Specifications of a single file in Cloud Storage.
              "gcsTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the Cloud Storage file.
                "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
                    # Currently only apllicable to BigQuery resources.
                "updateTime": "A String", # The last-modified time of the resource within the given system.
                "createTime": "A String", # The creation time of the resource within the given system.
              },
              "filePath": "A String", # Required. The full file path. Example: `gs://bucket_name/a/b.txt`.
              "sizeBytes": "A String", # Output only. The size of the file, in bytes.
            },
          ],
          "filePatterns": [ # Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud
              # Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for
              # more information. Note that bucket wildcards are currently not supported.
              #
              # Examples of valid file_patterns:
              #
              #  * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
              #                              directory.
              #  * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
              #                               spanning all subdirectories.
              #  * `gs://bucket_name/file*`: matches files prefixed by `file` in
              #                              `bucket_name`
              #  * `gs://bucket_name/??.txt`: matches files with two characters followed by
              #                               `.txt` in `bucket_name`
              #  * `gs://bucket_name/[aeiou].txt`: matches files that contain a single
              #                                    vowel character followed by `.txt` in
              #                                    `bucket_name`
              #  * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ...
              #                                  or `m` followed by `.txt` in `bucket_name`
              #  * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match
              #                              `a/*/b` pattern, such as `a/c/b`, `a/d/b`
              #  * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
              #
              # You can combine wildcards to provide more powerful matches, for example:
              #
              #  * `gs://bucket_name/[a-m]??.j*g`
            "A String",
          ],
        },
        "schema": { # Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema). # Schema of the entry. An entry might not have any schema attached to it.
          "columns": [ # Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be
              # specified.
            { # Representation of a column within a schema. Columns could be nested inside
                # other columns.
              "description": "A String", # Optional. Description of the column. Default value is an empty string.
              "subcolumns": [ # Optional. Schema of sub-columns. A column can have zero or more sub-columns.
                # Object with schema name: GoogleCloudDatacatalogV1beta1ColumnSchema
              ],
              "type": "A String", # Required. Type of the column.
              "column": "A String", # Required. Name of the column.
              "mode": "A String", # Optional. A column's mode indicates whether the values in this column are required,
                  # nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
                  # Default mode is `NULLABLE`.
            },
          ],
        },
        "userSpecifiedType": "A String", # Entry type if it does not fit any of the input-allowed values listed in
            # `EntryType` enum above. When creating an entry, users should check the
            # enum values first, if nothing matches the entry to be created, then
            # provide a custom value, for example "my_special_type".
            # `user_specified_type` strings must begin with a letter or underscore and
            # can only contain letters, numbers, and underscores; are case insensitive;
            # must be at least 1 character and at most 64 characters long.
            #
            # Currently, only FILESET enum value is allowed. All other entries created
            # through Data Catalog must use `user_specified_type`.
        "displayName": "A String", # Display information such as title and description. A short name to identify
            # the entry, for example, "Analytics Data - Jan 2011". Default value is an
            # empty string.
        "bigqueryDateShardedSpec": { # Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. # Specification for a group of BigQuery tables with name pattern
            # `[prefix]YYYYMMDD`. Context:
            # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.
            # Context:
            # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
          "tablePrefix": "A String", # Output only. The table name prefix of the shards. The name of any given shard is
              # `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the
              # `table_prefix` is `MyTable`.
          "shardCount": "A String", # Output only. Total number of shards.
          "dataset": "A String", # Output only. The Data Catalog resource name of the dataset entry the current table
              # belongs to, for example,
              # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
        },
        "bigqueryTableSpec": { # Describes a BigQuery table. # Specification that applies to a BigQuery table. This is only valid on
            # entries of type `TABLE`.
          "tableSpec": { # Normal BigQuery table spec. # Spec of a BigQuery table. This field should only be populated if
              # `table_source_type` is `BIGQUERY_TABLE`.
            "groupedEntry": "A String", # Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`,
                # `grouped_entry` is the Data Catalog resource name of the date sharded
                # grouped entry, for example,
                # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
                # Otherwise, `grouped_entry` is empty.
          },
          "tableSourceType": "A String", # Output only. The table source type.
          "viewSpec": { # Table view specification. # Table view specification. This field should only be populated if
              # `table_source_type` is `BIGQUERY_VIEW`.
            "viewQuery": "A String", # Output only. The query that defines the table view.
          },
        },
        "type": "A String", # The type of the entry.
            # Only used for Entries with types in the EntryType enum.
        "description": "A String", # Entry description, which can consist of several sentences or paragraphs
            # that describe entry contents. Default value is an empty string.
        "sourceSystemTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the underlying resource, not about this Data Catalog
            # entry. Output only when Entry is of type in the EntryType enum. For entries
            # with user_specified_type, this field is optional and defaults to an empty
            # timestamp.
          "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
              # Currently only apllicable to BigQuery resources.
          "updateTime": "A String", # The last-modified time of the resource within the given system.
          "createTime": "A String", # The creation time of the resource within the given system.
        },
        "userSpecifiedSystem": "A String", # This field indicates the entry's source system that Data Catalog does not
            # integrate with. `user_specified_system` strings must begin with a letter
            # or underscore and can only contain letters, numbers, and underscores; are
            # case insensitive; must be at least 1 character and at most 64 characters
            # long.
        "integratedSystem": "A String", # Output only. This field indicates the entry's source system that Data Catalog
            # integrates with, such as BigQuery or Pub/Sub.
        "linkedResource": "A String", # The resource this metadata entry refers to.
            #
            # For Google Cloud Platform resources, `linked_resource` is the [full name of
            # the
            # resource](https://cloud.google.com/apis/design/resource_names#full_resource_name).
            # For example, the `linked_resource` for a table resource from BigQuery is:
            #
            # * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId
            #
            # Output only when Entry is of type in the EntryType enum. For entries with
            # user_specified_type, this field is optional and defaults to an empty
            # string.
      },
    ],
    "nextPageToken": "A String", # Token to retrieve the next page of results. It is set to empty if no items
        # remain in results.
  }
list_next(previous_request, previous_response)
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, updateMask=None, x__xgafv=None)
Updates an existing entry.
Users should enable the Data Catalog API in the project identified by
the `entry.name` parameter (see [Data Catalog Resource Project]
(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for
more information).

Args:
  name: string, The Data Catalog resource name of the entry in URL format. Example:

* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}

Note that this Entry and its child resources may not actually be stored in
the location in this name. (required)
  body: object, The request body.
    The object takes the form of:

{ # Entry Metadata.
    # A Data Catalog Entry resource represents another resource in Google
    # Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or
    # outside of Google Cloud Platform. Clients can use the `linked_resource` field
    # in the Entry resource to refer to the original resource ID of the source
    # system.
    # 
    # An Entry resource contains resource details, such as its schema. An Entry can
    # also be used to attach flexible metadata, such as a
    # Tag.
  "name": "A String", # The Data Catalog resource name of the entry in URL format. Example:
      # 
      # * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}
      # 
      # Note that this Entry and its child resources may not actually be stored in
      # the location in this name.
  "gcsFilesetSpec": { # Describes a Cloud Storage fileset entry. # Specification that applies to a Cloud Storage fileset. This is only valid
      # on entries of type FILESET.
    "sampleGcsFileSpecs": [ # Output only. Sample files contained in this fileset, not all files contained in this
        # fileset are represented here.
      { # Specifications of a single file in Cloud Storage.
        "gcsTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the Cloud Storage file.
          "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
              # Currently only apllicable to BigQuery resources.
          "updateTime": "A String", # The last-modified time of the resource within the given system.
          "createTime": "A String", # The creation time of the resource within the given system.
        },
        "filePath": "A String", # Required. The full file path. Example: `gs://bucket_name/a/b.txt`.
        "sizeBytes": "A String", # Output only. The size of the file, in bytes.
      },
    ],
    "filePatterns": [ # Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud
        # Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for
        # more information. Note that bucket wildcards are currently not supported.
        #
        # Examples of valid file_patterns:
        #
        #  * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
        #                              directory.
        #  * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
        #                               spanning all subdirectories.
        #  * `gs://bucket_name/file*`: matches files prefixed by `file` in
        #                              `bucket_name`
        #  * `gs://bucket_name/??.txt`: matches files with two characters followed by
        #                               `.txt` in `bucket_name`
        #  * `gs://bucket_name/[aeiou].txt`: matches files that contain a single
        #                                    vowel character followed by `.txt` in
        #                                    `bucket_name`
        #  * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ...
        #                                  or `m` followed by `.txt` in `bucket_name`
        #  * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match
        #                              `a/*/b` pattern, such as `a/c/b`, `a/d/b`
        #  * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
        #
        # You can combine wildcards to provide more powerful matches, for example:
        #
        #  * `gs://bucket_name/[a-m]??.j*g`
      "A String",
    ],
  },
  "schema": { # Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema). # Schema of the entry. An entry might not have any schema attached to it.
    "columns": [ # Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be
        # specified.
      { # Representation of a column within a schema. Columns could be nested inside
          # other columns.
        "description": "A String", # Optional. Description of the column. Default value is an empty string.
        "subcolumns": [ # Optional. Schema of sub-columns. A column can have zero or more sub-columns.
          # Object with schema name: GoogleCloudDatacatalogV1beta1ColumnSchema
        ],
        "type": "A String", # Required. Type of the column.
        "column": "A String", # Required. Name of the column.
        "mode": "A String", # Optional. A column's mode indicates whether the values in this column are required,
            # nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
            # Default mode is `NULLABLE`.
      },
    ],
  },
  "userSpecifiedType": "A String", # Entry type if it does not fit any of the input-allowed values listed in
      # `EntryType` enum above. When creating an entry, users should check the
      # enum values first, if nothing matches the entry to be created, then
      # provide a custom value, for example "my_special_type".
      # `user_specified_type` strings must begin with a letter or underscore and
      # can only contain letters, numbers, and underscores; are case insensitive;
      # must be at least 1 character and at most 64 characters long.
      # 
      # Currently, only FILESET enum value is allowed. All other entries created
      # through Data Catalog must use `user_specified_type`.
  "displayName": "A String", # Display information such as title and description. A short name to identify
      # the entry, for example, "Analytics Data - Jan 2011". Default value is an
      # empty string.
  "bigqueryDateShardedSpec": { # Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. # Specification for a group of BigQuery tables with name pattern
      # `[prefix]YYYYMMDD`. Context:
      # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.
      # Context:
      # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
    "tablePrefix": "A String", # Output only. The table name prefix of the shards. The name of any given shard is
        # `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the
        # `table_prefix` is `MyTable`.
    "shardCount": "A String", # Output only. Total number of shards.
    "dataset": "A String", # Output only. The Data Catalog resource name of the dataset entry the current table
        # belongs to, for example,
        # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
  },
  "bigqueryTableSpec": { # Describes a BigQuery table. # Specification that applies to a BigQuery table. This is only valid on
      # entries of type `TABLE`.
    "tableSpec": { # Normal BigQuery table spec. # Spec of a BigQuery table. This field should only be populated if
        # `table_source_type` is `BIGQUERY_TABLE`.
      "groupedEntry": "A String", # Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`,
          # `grouped_entry` is the Data Catalog resource name of the date sharded
          # grouped entry, for example,
          # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
          # Otherwise, `grouped_entry` is empty.
    },
    "tableSourceType": "A String", # Output only. The table source type.
    "viewSpec": { # Table view specification. # Table view specification. This field should only be populated if
        # `table_source_type` is `BIGQUERY_VIEW`.
      "viewQuery": "A String", # Output only. The query that defines the table view.
    },
  },
  "type": "A String", # The type of the entry.
      # Only used for Entries with types in the EntryType enum.
  "description": "A String", # Entry description, which can consist of several sentences or paragraphs
      # that describe entry contents. Default value is an empty string.
  "sourceSystemTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the underlying resource, not about this Data Catalog
      # entry. Output only when Entry is of type in the EntryType enum. For entries
      # with user_specified_type, this field is optional and defaults to an empty
      # timestamp.
    "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
        # Currently only apllicable to BigQuery resources.
    "updateTime": "A String", # The last-modified time of the resource within the given system.
    "createTime": "A String", # The creation time of the resource within the given system.
  },
  "userSpecifiedSystem": "A String", # This field indicates the entry's source system that Data Catalog does not
      # integrate with. `user_specified_system` strings must begin with a letter
      # or underscore and can only contain letters, numbers, and underscores; are
      # case insensitive; must be at least 1 character and at most 64 characters
      # long.
  "integratedSystem": "A String", # Output only. This field indicates the entry's source system that Data Catalog
      # integrates with, such as BigQuery or Pub/Sub.
  "linkedResource": "A String", # The resource this metadata entry refers to.
      # 
      # For Google Cloud Platform resources, `linked_resource` is the [full name of
      # the
      # resource](https://cloud.google.com/apis/design/resource_names#full_resource_name).
      # For example, the `linked_resource` for a table resource from BigQuery is:
      # 
      # * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId
      # 
      # Output only when Entry is of type in the EntryType enum. For entries with
      # user_specified_type, this field is optional and defaults to an empty
      # string.
}

  updateMask: string, The fields to update on the entry. If absent or empty, all modifiable
fields are updated.

The following fields are modifiable:
* For entries with type `DATA_STREAM`:
   * `schema`
* For entries with type `FILESET`
   * `schema`
   * `display_name`
   * `description`
   * `gcs_fileset_spec`
   * `gcs_fileset_spec.file_patterns`
* For entries with `user_specified_type`
   * `schema`
   * `display_name`
   * `description`
   * user_specified_type
   * user_specified_system
   * linked_resource
   * source_system_timestamps
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Entry Metadata.
      # A Data Catalog Entry resource represents another resource in Google
      # Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or
      # outside of Google Cloud Platform. Clients can use the `linked_resource` field
      # in the Entry resource to refer to the original resource ID of the source
      # system.
      #
      # An Entry resource contains resource details, such as its schema. An Entry can
      # also be used to attach flexible metadata, such as a
      # Tag.
    "name": "A String", # The Data Catalog resource name of the entry in URL format. Example:
        #
        # * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}
        #
        # Note that this Entry and its child resources may not actually be stored in
        # the location in this name.
    "gcsFilesetSpec": { # Describes a Cloud Storage fileset entry. # Specification that applies to a Cloud Storage fileset. This is only valid
        # on entries of type FILESET.
      "sampleGcsFileSpecs": [ # Output only. Sample files contained in this fileset, not all files contained in this
          # fileset are represented here.
        { # Specifications of a single file in Cloud Storage.
          "gcsTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the Cloud Storage file.
            "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
                # Currently only apllicable to BigQuery resources.
            "updateTime": "A String", # The last-modified time of the resource within the given system.
            "createTime": "A String", # The creation time of the resource within the given system.
          },
          "filePath": "A String", # Required. The full file path. Example: `gs://bucket_name/a/b.txt`.
          "sizeBytes": "A String", # Output only. The size of the file, in bytes.
        },
      ],
      "filePatterns": [ # Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud
          # Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for
          # more information. Note that bucket wildcards are currently not supported.
          #
          # Examples of valid file_patterns:
          #
          #  * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
          #                              directory.
          #  * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
          #                               spanning all subdirectories.
          #  * `gs://bucket_name/file*`: matches files prefixed by `file` in
          #                              `bucket_name`
          #  * `gs://bucket_name/??.txt`: matches files with two characters followed by
          #                               `.txt` in `bucket_name`
          #  * `gs://bucket_name/[aeiou].txt`: matches files that contain a single
          #                                    vowel character followed by `.txt` in
          #                                    `bucket_name`
          #  * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ...
          #                                  or `m` followed by `.txt` in `bucket_name`
          #  * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match
          #                              `a/*/b` pattern, such as `a/c/b`, `a/d/b`
          #  * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
          #
          # You can combine wildcards to provide more powerful matches, for example:
          #
          #  * `gs://bucket_name/[a-m]??.j*g`
        "A String",
      ],
    },
    "schema": { # Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema). # Schema of the entry. An entry might not have any schema attached to it.
      "columns": [ # Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be
          # specified.
        { # Representation of a column within a schema. Columns could be nested inside
            # other columns.
          "description": "A String", # Optional. Description of the column. Default value is an empty string.
          "subcolumns": [ # Optional. Schema of sub-columns. A column can have zero or more sub-columns.
            # Object with schema name: GoogleCloudDatacatalogV1beta1ColumnSchema
          ],
          "type": "A String", # Required. Type of the column.
          "column": "A String", # Required. Name of the column.
          "mode": "A String", # Optional. A column's mode indicates whether the values in this column are required,
              # nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
              # Default mode is `NULLABLE`.
        },
      ],
    },
    "userSpecifiedType": "A String", # Entry type if it does not fit any of the input-allowed values listed in
        # `EntryType` enum above. When creating an entry, users should check the
        # enum values first, if nothing matches the entry to be created, then
        # provide a custom value, for example "my_special_type".
        # `user_specified_type` strings must begin with a letter or underscore and
        # can only contain letters, numbers, and underscores; are case insensitive;
        # must be at least 1 character and at most 64 characters long.
        #
        # Currently, only FILESET enum value is allowed. All other entries created
        # through Data Catalog must use `user_specified_type`.
    "displayName": "A String", # Display information such as title and description. A short name to identify
        # the entry, for example, "Analytics Data - Jan 2011". Default value is an
        # empty string.
    "bigqueryDateShardedSpec": { # Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. # Specification for a group of BigQuery tables with name pattern
        # `[prefix]YYYYMMDD`. Context:
        # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.
        # Context:
        # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
      "tablePrefix": "A String", # Output only. The table name prefix of the shards. The name of any given shard is
          # `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the
          # `table_prefix` is `MyTable`.
      "shardCount": "A String", # Output only. Total number of shards.
      "dataset": "A String", # Output only. The Data Catalog resource name of the dataset entry the current table
          # belongs to, for example,
          # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
    },
    "bigqueryTableSpec": { # Describes a BigQuery table. # Specification that applies to a BigQuery table. This is only valid on
        # entries of type `TABLE`.
      "tableSpec": { # Normal BigQuery table spec. # Spec of a BigQuery table. This field should only be populated if
          # `table_source_type` is `BIGQUERY_TABLE`.
        "groupedEntry": "A String", # Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`,
            # `grouped_entry` is the Data Catalog resource name of the date sharded
            # grouped entry, for example,
            # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
            # Otherwise, `grouped_entry` is empty.
      },
      "tableSourceType": "A String", # Output only. The table source type.
      "viewSpec": { # Table view specification. # Table view specification. This field should only be populated if
          # `table_source_type` is `BIGQUERY_VIEW`.
        "viewQuery": "A String", # Output only. The query that defines the table view.
      },
    },
    "type": "A String", # The type of the entry.
        # Only used for Entries with types in the EntryType enum.
    "description": "A String", # Entry description, which can consist of several sentences or paragraphs
        # that describe entry contents. Default value is an empty string.
    "sourceSystemTimestamps": { # Timestamps about this resource according to a particular system. # Output only. Timestamps about the underlying resource, not about this Data Catalog
        # entry. Output only when Entry is of type in the EntryType enum. For entries
        # with user_specified_type, this field is optional and defaults to an empty
        # timestamp.
      "expireTime": "A String", # Output only. The expiration time of the resource within the given system.
          # Currently only apllicable to BigQuery resources.
      "updateTime": "A String", # The last-modified time of the resource within the given system.
      "createTime": "A String", # The creation time of the resource within the given system.
    },
    "userSpecifiedSystem": "A String", # This field indicates the entry's source system that Data Catalog does not
        # integrate with. `user_specified_system` strings must begin with a letter
        # or underscore and can only contain letters, numbers, and underscores; are
        # case insensitive; must be at least 1 character and at most 64 characters
        # long.
    "integratedSystem": "A String", # Output only. This field indicates the entry's source system that Data Catalog
        # integrates with, such as BigQuery or Pub/Sub.
    "linkedResource": "A String", # The resource this metadata entry refers to.
        #
        # For Google Cloud Platform resources, `linked_resource` is the [full name of
        # the
        # resource](https://cloud.google.com/apis/design/resource_names#full_resource_name).
        # For example, the `linked_resource` for a table resource from BigQuery is:
        #
        # * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId
        #
        # Output only when Entry is of type in the EntryType enum. For entries with
        # user_specified_type, this field is optional and defaults to an empty
        # string.
  }
testIamPermissions(resource, body=None, x__xgafv=None)
Returns the caller's permissions on a resource.
If the resource does not exist, an empty set of permissions is returned
(We don't return a `NOT_FOUND` error).

Supported resources are:
  - Tag templates.
  - Entries.
  - Entry groups.
Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
and any external Google Cloud Platform resources synced to Data Catalog.

A caller is not required to have Google IAM permission to make this
request.

Args:
  resource: string, REQUIRED: The resource for which the policy detail is being requested.
See the operation documentation for the appropriate value for this field. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for `TestIamPermissions` method.
    "permissions": [ # The set of permissions to check for the `resource`. Permissions with
        # wildcards (such as '*' or 'storage.*') are not allowed. For more
        # information see
        # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
      "A String",
    ],
  }

  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 `TestIamPermissions` method.
    "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
        # allowed.
      "A String",
    ],
  }