# Cloud Healthcare API . projects . locations . datasets . fhirStores

## Instance Methods

Returns the fhir Resource.

Returns the securityLabels Resource.

Gets the FHIR [capability

Creates a new FHIR store within the parent dataset.

Deletes the specified FHIR store and removes all resources within it.

Export resources from the FHIR store to the specified destination.

Gets the configuration of the specified FHIR store.

Gets the access control policy for a FHIR store or security label within a

Import resources to the FHIR store by loading data from the specified

Lists the FHIR stores in the given dataset.

Retrieves the next page of results.

Updates the configuration of the specified FHIR store.

Sets the access control policy for a FHIR store or security label within a

Returns permissions that a caller has on the specified resource. If the

### Method Details

`capabilities(name, x__xgafv=None)`

    Gets the FHIR [capability
    statement](http://hl7.org/implement/standards/fhir/STU3/capabilitystatement.html)
    for the store, which contains a description of functionality supported by
    the server.

    Implements the FHIR standard [capabilities
    interaction](http://hl7.org/implement/standards/fhir/STU3/http.html#capabilities).

    On success, the response body will contain a JSON-encoded representation
    of a `CapabilityStatement` resource.

    Args:
      name: string, Name of the FHIR store to retrieve the capabilities for. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Message that represents an arbitrary HTTP body. It should only be used for
          # payload formats that can't be represented as JSON, such as raw binary or
          # an HTML page.
          #
          #
          # This message can be used both in streaming and non-streaming API methods in
          # the request as well as the response.
          #
          # It can be used as a top-level request field, which is convenient if one
          # wants to extract parameters from either the URL or HTTP template into the
          # request fields and also want access to the raw HTTP body.
          #
          # Example:
          #
          #     message GetResourceRequest {
          #       // A unique request id.
          #       string request_id = 1;
          #
          #       // The raw HTTP body is bound to this field.
          #       google.api.HttpBody http_body = 2;
          #     }
          #
          #     service ResourceService {
          #       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
          #       rpc UpdateResource(google.api.HttpBody) returns
          #       (google.protobuf.Empty);
          #     }
          #
          # Example with streaming methods:
          #
          #     service CaldavService {
          #       rpc GetCalendar(stream google.api.HttpBody)
          #         returns (stream google.api.HttpBody);
          #       rpc UpdateCalendar(stream google.api.HttpBody)
          #         returns (stream google.api.HttpBody);
          #     }
          #
          # Use of this type only changes how the request and response bodies are
          # handled, all other features will continue to work unchanged.
        "contentType": "A String", # The HTTP Content-Type header value specifying the content type of the body.
        "data": "A String", # The HTTP request/response body as raw binary.
        "extensions": [ # Application specific response metadata. Must be set in the first response
            # for streaming APIs.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
      }

`create(parent, body, fhirStoreId=None, x__xgafv=None)`

    Creates a new FHIR store within the parent dataset.

    Args:
      parent: string, The name of the dataset this FHIR store belongs to. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a FHIR store.
      "enableHistoryImport": True or False, # Whether to allow the bulk import API to accept history bundles and directly
          # insert historical resource versions into the FHIR store. Importing resource
          # histories creates resource interactions that appear to have occurred in the
          # past, which clients may not want to allow. If set to false, history bundles
          # within an import will fail with an error.
      "name": "A String", # Output only. Resource name of the FHIR store, of the form
          # `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.
      "labels": { # User-supplied key-value pairs used to organize FHIR stores.
          #
          # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
          # of maximum 128 bytes, and must conform to the
          # following PCRE regular expression:
          # \p{Ll}\p{Lo}{0,62}
          #
          # Label values are optional, must be between 1 and 63 characters long, have
          # a UTF-8 encoding of maximum 128 bytes, and must conform to the
          # following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
          #
          # No more than 64 labels can be associated with a given store.
        "a_key": "A String",
      },
      "enableUpdateCreate": True or False, # Whether this FHIR store has the [updateCreate
          # capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate).
          # This determines if the client can use an Update operation to create a new
          # resource with a client-specified ID. If false, all IDs are server-assigned
          # through the Create operation and attempts to Update a non-existent resource
          # will return errors. Please treat the audit logs with appropriate levels of
          # care if client-specified resource IDs contain sensitive data such as
          # patient identifiers, those IDs will be part of the FHIR resource path
          # recorded in Cloud audit logs and Cloud Pub/Sub notifications.
      "notificationConfig": { # Specifies where notifications should be sent upon changes to a data store. # If non-empty, publish all resource modifications of this FHIR store to
          # this destination. The Cloud Pub/Sub message attributes will contain a map
          # with a string describing the action that has triggered the notification,
          # e.g. "action":"CreateResource".
        "pubsubTopic": "A String", # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
            # notifications of changes are published on. Supplied by the client.
            # PubsubMessage.Data will contain the resource name.
            # PubsubMessage.MessageId is the ID of this message. It is guaranteed to be
            # unique within the topic.
            # PubsubMessage.PublishTime is the time at which the message was published.
            # Notifications are only sent if the topic is
            # non-empty. [Topic
            # names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped
            # to a project. cloud-healthcare@system.gserviceaccount.com must have
            # publisher permissions on the given Cloud Pub/Sub topic. Not having adequate
            # permissions will cause the calls that send notifications to fail.
      },
      "streamConfigs": [ # A list of streaming configs that configure the destinations of streaming
          # export for every resource mutation in this FHIR store. Each store is
          # allowed to have up to 10 streaming configs.
          # After a new config is added, the next resource mutation will be streamed to
          # the new location in addition to the existing ones.
          # When a location is removed from the list, the server will simply stop
          # streaming to that location. Before adding a new config, you must add the
          # required
          # [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor)
          # role to your project's **Cloud Healthcare Service Agent**
          # [service account](https://cloud.google.com/iam/docs/service-accounts).
          # Some lag (typically on the order of dozens of seconds) is expected before
          # the results show up in the streaming destination.
        { # This structure contains configuration for streaming FHIR export.
          "bigqueryDestination": { # The configuration for exporting to BigQuery. # The destination BigQuery structure that contains both the dataset
              # location and corresponding schema config.
              # The output will be organized in one table per resource type.
              # The server will inspect and potentially create new tables (if they
              # don't exist) in the given BigQuery dataset.
              # Results will be appended to the corresponding BigQuery tables.
              # The views of the latest snapshot will also be automatically created in
              # the dataset.
            "datasetUri": "A String", # BigQuery URI to a dataset, up to 2000 characters long, in the format
                # `bq://projectId.bqDatasetId`
            "schemaConfig": { # Configuration for the FHIR BigQuery and Cloud Storage schema. Determines # The configuration for the exported BigQuery schema.
                # how the server generates the schema.
              "schemaType": "A String", # Specifies the output schema type. If unspecified, the default is
                  # `LOSSLESS`.
              "recursiveStructureDepth": "A String", # The depth for all recursive structures in the output analytics
                  # schema. For example, `concept` in the CodeSystem resource is a recursive
                  # structure; when the depth is 2, the CodeSystem table will have a column
                  # called `concept.concept` but not `concept.concept.concept`. If not
                  # specified or set to 0, the server will use the default value 2.
            },
          },
          "resourceTypes": [ # Supply a FHIR resource type (such as "Patient" or "Observation").
              # See https://www.hl7.org/fhir/valueset-resource-types.html for a list of
              # all FHIR resource types.
              # The server will treat an empty list as an intent to stream all the
              # supported resource types in this FHIR store.
            "A String",
          ],
        },
      ],
      "disableReferentialIntegrity": True or False, # Whether to disable referential integrity in this FHIR store. This field is
          # immutable after FHIR store creation.
          # The default value is false, meaning that the API will enforce referential
          # integrity and fail the requests that will result in inconsistent state in
          # the FHIR store.
          # When this field is set to true, the API will skip referential integrity
          # check. Consequently, operations that rely on references, such as
          # GetPatientEverything, will not return all the results if broken references
          # exist.
      "disableResourceVersioning": True or False, # Whether to disable resource versioning for this FHIR store. This field can
          # not be changed after the creation of FHIR store.
          # If set to false, which is the default behavior, all write operations will
          # cause historical versions to be recorded automatically. The historical
          # versions can be fetched through the history APIs, but cannot be updated.
          # If set to true, no historical versions will be kept. The server will send
          # back errors for attempts to read the historical versions.
    }

      fhirStoreId: string, The ID of the FHIR store that is being created.
    The string must match the following regex: `[\p{L}\p{N}_\-\.]{1,256}`.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents a FHIR store.
        "enableHistoryImport": True or False, # Whether to allow the bulk import API to accept history bundles and directly
            # insert historical resource versions into the FHIR store. Importing resource
            # histories creates resource interactions that appear to have occurred in the
            # past, which clients may not want to allow. If set to false, history bundles
            # within an import will fail with an error.
        "name": "A String", # Output only. Resource name of the FHIR store, of the form
            # `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.
        "labels": { # User-supplied key-value pairs used to organize FHIR stores.
            #
            # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
            # of maximum 128 bytes, and must conform to the
            # following PCRE regular expression:
            # \p{Ll}\p{Lo}{0,62}
            #
            # Label values are optional, must be between 1 and 63 characters long, have
            # a UTF-8 encoding of maximum 128 bytes, and must conform to the
            # following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
            #
            # No more than 64 labels can be associated with a given store.
          "a_key": "A String",
        },
        "enableUpdateCreate": True or False, # Whether this FHIR store has the [updateCreate
            # capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate).
            # This determines if the client can use an Update operation to create a new
            # resource with a client-specified ID. If false, all IDs are server-assigned
            # through the Create operation and attempts to Update a non-existent resource
            # will return errors. Please treat the audit logs with appropriate levels of
            # care if client-specified resource IDs contain sensitive data such as
            # patient identifiers, those IDs will be part of the FHIR resource path
            # recorded in Cloud audit logs and Cloud Pub/Sub notifications.
        "notificationConfig": { # Specifies where notifications should be sent upon changes to a data store. # If non-empty, publish all resource modifications of this FHIR store to
            # this destination. The Cloud Pub/Sub message attributes will contain a map
            # with a string describing the action that has triggered the notification,
            # e.g. "action":"CreateResource".
          "pubsubTopic": "A String", # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
              # notifications of changes are published on. Supplied by the client.
              # PubsubMessage.Data will contain the resource name.
              # PubsubMessage.MessageId is the ID of this message. It is guaranteed to be
              # unique within the topic.
              # PubsubMessage.PublishTime is the time at which the message was published.
              # Notifications are only sent if the topic is
              # non-empty. [Topic
              # names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped
              # to a project. cloud-healthcare@system.gserviceaccount.com must have
              # publisher permissions on the given Cloud Pub/Sub topic. Not having adequate
              # permissions will cause the calls that send notifications to fail.
        },
        "streamConfigs": [ # A list of streaming configs that configure the destinations of streaming
            # export for every resource mutation in this FHIR store. Each store is
            # allowed to have up to 10 streaming configs.
            # After a new config is added, the next resource mutation will be streamed to
            # the new location in addition to the existing ones.
            # When a location is removed from the list, the server will simply stop
            # streaming to that location. Before adding a new config, you must add the
            # required
            # [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor)
            # role to your project's **Cloud Healthcare Service Agent**
            # [service account](https://cloud.google.com/iam/docs/service-accounts).
            # Some lag (typically on the order of dozens of seconds) is expected before
            # the results show up in the streaming destination.
          { # This structure contains configuration for streaming FHIR export.
            "bigqueryDestination": { # The configuration for exporting to BigQuery. # The destination BigQuery structure that contains both the dataset
                # location and corresponding schema config.
                # The output will be organized in one table per resource type.
                # The server will inspect and potentially create new tables (if they
                # don't exist) in the given BigQuery dataset.
                # Results will be appended to the corresponding BigQuery tables.
                # The views of the latest snapshot will also be automatically created in
                # the dataset.
              "datasetUri": "A String", # BigQuery URI to a dataset, up to 2000 characters long, in the format
                  # `bq://projectId.bqDatasetId`
              "schemaConfig": { # Configuration for the FHIR BigQuery and Cloud Storage schema. Determines # The configuration for the exported BigQuery schema.
                  # how the server generates the schema.
                "schemaType": "A String", # Specifies the output schema type. If unspecified, the default is
                    # `LOSSLESS`.
                "recursiveStructureDepth": "A String", # The depth for all recursive structures in the output analytics
                    # schema. For example, `concept` in the CodeSystem resource is a recursive
                    # structure; when the depth is 2, the CodeSystem table will have a column
                    # called `concept.concept` but not `concept.concept.concept`. If not
                    # specified or set to 0, the server will use the default value 2.
              },
            },
            "resourceTypes": [ # Supply a FHIR resource type (such as "Patient" or "Observation").
                # See https://www.hl7.org/fhir/valueset-resource-types.html for a list of
                # all FHIR resource types.
                # The server will treat an empty list as an intent to stream all the
                # supported resource types in this FHIR store.
              "A String",
            ],
          },
        ],
        "disableReferentialIntegrity": True or False, # Whether to disable referential integrity in this FHIR store. This field is
            # immutable after FHIR store creation.
            # The default value is false, meaning that the API will enforce referential
            # integrity and fail the requests that will result in inconsistent state in
            # the FHIR store.
            # When this field is set to true, the API will skip referential integrity
            # check. Consequently, operations that rely on references, such as
            # GetPatientEverything, will not return all the results if broken references
            # exist.
        "disableResourceVersioning": True or False, # Whether to disable resource versioning for this FHIR store. This field can
            # not be changed after the creation of FHIR store.
            # If set to false, which is the default behavior, all write operations will
            # cause historical versions to be recorded automatically. The historical
            # versions can be fetched through the history APIs, but cannot be updated.
            # If set to true, no historical versions will be kept. The server will send
            # back errors for attempts to read the historical versions.
      }

`delete(name, x__xgafv=None)`

    Deletes the specified FHIR store and removes all resources within it.

    Args:
      name: string, The resource name of the FHIR store to delete. (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 `{}`.
      }

`export(name, body, x__xgafv=None)`

    Export resources from the FHIR store to the specified destination.

    This method returns an Operation that can
    be used to track the status of the export by calling
    GetOperation.

    Immediate fatal errors appear in the
    error field.
    Otherwise, when the operation finishes, a detailed response of type
    ExportResourcesResponse is returned in the
    response field.
    The metadata field type for this
    operation is OperationMetadata.

    Args:
      name: string, The name of the FHIR store to export resource from. The name should be in
    the format of
    `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Request to export resources.
        "bigqueryDestination": { # The configuration for exporting to BigQuery. # The BigQuery output destination.
            #
            # The BigQuery location requires two IAM roles:
            # `roles/bigquery.dataEditor` and `roles/bigquery.jobUser`.
            #
            # The output will be one BigQuery table per resource type.
          "datasetUri": "A String", # BigQuery URI to a dataset, up to 2000 characters long, in the format
              # `bq://projectId.bqDatasetId`
          "schemaConfig": { # Configuration for the FHIR BigQuery and Cloud Storage schema. Determines # The configuration for the exported BigQuery schema.
              # how the server generates the schema.
            "schemaType": "A String", # Specifies the output schema type. If unspecified, the default is
                # `LOSSLESS`.
            "recursiveStructureDepth": "A String", # The depth for all recursive structures in the output analytics
                # schema. For example, `concept` in the CodeSystem resource is a recursive
                # structure; when the depth is 2, the CodeSystem table will have a column
                # called `concept.concept` but not `concept.concept.concept`. If not
                # specified or set to 0, the server will use the default value 2.
          },
        },
        "gcsDestination": { # The configuration for exporting to Cloud Storage. # The Cloud Storage output destination.
            #
            # The Cloud Storage location requires the `roles/storage.objectAdmin` Cloud
            # IAM role.
            #
            # The exported outputs are
            # organized by FHIR resource types. The server will create one object per
            # resource type. Each object contains newline delimited JSON, and each line
            # is a FHIR resource.
          "uriPrefix": "A String", # URI for a Cloud Storage directory where result files should be written (in
              # the format `gs://{bucket-id}/{path/to/destination/dir}`). If there is no
              # trailing slash, the service will append one when composing the object path.
              # The user is responsible for creating the Cloud Storage bucket referenced in
              # `uri_prefix`.
        },
      }

      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.
        "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.
        },
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # 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).
          "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.
          "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.
            },
          ],
        },
        "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.
        "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.
        },
        "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}`.
      }

`get(name, x__xgafv=None)`

    Gets the configuration of the specified FHIR store.

    Args:
      name: string, The resource name of the FHIR store 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:

        { # Represents a FHIR store.
        "enableHistoryImport": True or False, # Whether to allow the bulk import API to accept history bundles and directly
            # insert historical resource versions into the FHIR store. Importing resource
            # histories creates resource interactions that appear to have occurred in the
            # past, which clients may not want to allow. If set to false, history bundles
            # within an import will fail with an error.
        "name": "A String", # Output only. Resource name of the FHIR store, of the form
            # `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.
        "labels": { # User-supplied key-value pairs used to organize FHIR stores.
            #
            # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
            # of maximum 128 bytes, and must conform to the
            # following PCRE regular expression:
            # \p{Ll}\p{Lo}{0,62}
            #
            # Label values are optional, must be between 1 and 63 characters long, have
            # a UTF-8 encoding of maximum 128 bytes, and must conform to the
            # following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
            #
            # No more than 64 labels can be associated with a given store.
          "a_key": "A String",
        },
        "enableUpdateCreate": True or False, # Whether this FHIR store has the [updateCreate
            # capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate).
            # This determines if the client can use an Update operation to create a new
            # resource with a client-specified ID. If false, all IDs are server-assigned
            # through the Create operation and attempts to Update a non-existent resource
            # will return errors. Please treat the audit logs with appropriate levels of
            # care if client-specified resource IDs contain sensitive data such as
            # patient identifiers, those IDs will be part of the FHIR resource path
            # recorded in Cloud audit logs and Cloud Pub/Sub notifications.
        "notificationConfig": { # Specifies where notifications should be sent upon changes to a data store. # If non-empty, publish all resource modifications of this FHIR store to
            # this destination. The Cloud Pub/Sub message attributes will contain a map
            # with a string describing the action that has triggered the notification,
            # e.g. "action":"CreateResource".
          "pubsubTopic": "A String", # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
              # notifications of changes are published on. Supplied by the client.
              # PubsubMessage.Data will contain the resource name.
              # PubsubMessage.MessageId is the ID of this message. It is guaranteed to be
              # unique within the topic.
              # PubsubMessage.PublishTime is the time at which the message was published.
              # Notifications are only sent if the topic is
              # non-empty. [Topic
              # names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped
              # to a project. cloud-healthcare@system.gserviceaccount.com must have
              # publisher permissions on the given Cloud Pub/Sub topic. Not having adequate
              # permissions will cause the calls that send notifications to fail.
        },
        "streamConfigs": [ # A list of streaming configs that configure the destinations of streaming
            # export for every resource mutation in this FHIR store. Each store is
            # allowed to have up to 10 streaming configs.
            # After a new config is added, the next resource mutation will be streamed to
            # the new location in addition to the existing ones.
            # When a location is removed from the list, the server will simply stop
            # streaming to that location. Before adding a new config, you must add the
            # required
            # [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor)
            # role to your project's **Cloud Healthcare Service Agent**
            # [service account](https://cloud.google.com/iam/docs/service-accounts).
            # Some lag (typically on the order of dozens of seconds) is expected before
            # the results show up in the streaming destination.
          { # This structure contains configuration for streaming FHIR export.
            "bigqueryDestination": { # The configuration for exporting to BigQuery. # The destination BigQuery structure that contains both the dataset
                # location and corresponding schema config.
                # The output will be organized in one table per resource type.
                # The server will inspect and potentially create new tables (if they
                # don't exist) in the given BigQuery dataset.
                # Results will be appended to the corresponding BigQuery tables.
                # The views of the latest snapshot will also be automatically created in
                # the dataset.
              "datasetUri": "A String", # BigQuery URI to a dataset, up to 2000 characters long, in the format
                  # `bq://projectId.bqDatasetId`
              "schemaConfig": { # Configuration for the FHIR BigQuery and Cloud Storage schema. Determines # The configuration for the exported BigQuery schema.
                  # how the server generates the schema.
                "schemaType": "A String", # Specifies the output schema type. If unspecified, the default is
                    # `LOSSLESS`.
                "recursiveStructureDepth": "A String", # The depth for all recursive structures in the output analytics
                    # schema. For example, `concept` in the CodeSystem resource is a recursive
                    # structure; when the depth is 2, the CodeSystem table will have a column
                    # called `concept.concept` but not `concept.concept.concept`. If not
                    # specified or set to 0, the server will use the default value 2.
              },
            },
            "resourceTypes": [ # Supply a FHIR resource type (such as "Patient" or "Observation").
                # See https://www.hl7.org/fhir/valueset-resource-types.html for a list of
                # all FHIR resource types.
                # The server will treat an empty list as an intent to stream all the
                # supported resource types in this FHIR store.
              "A String",
            ],
          },
        ],
        "disableReferentialIntegrity": True or False, # Whether to disable referential integrity in this FHIR store. This field is
            # immutable after FHIR store creation.
            # The default value is false, meaning that the API will enforce referential
            # integrity and fail the requests that will result in inconsistent state in
            # the FHIR store.
            # When this field is set to true, the API will skip referential integrity
            # check. Consequently, operations that rely on references, such as
            # GetPatientEverything, will not return all the results if broken references
            # exist.
        "disableResourceVersioning": True or False, # Whether to disable resource versioning for this FHIR store. This field can
            # not be changed after the creation of FHIR store.
            # If set to false, which is the default behavior, all write operations will
            # cause historical versions to be recorded automatically. The historical
            # versions can be fetched through the history APIs, but cannot be updated.
            # If set to true, no historical versions will be kept. The server will send
            # back errors for attempts to read the historical versions.
      }

`getIamPolicy(resource, x__xgafv=None)`

    Gets the access control policy for a FHIR store or security label within a
    FHIR store. Returns NOT_FOUND error if the resource does not exist. Returns
    an empty policy if the resource exists but does not have a policy set.

    Authorization requires the Google IAM permission
    'healthcare.fhirStores.getIamPolicy' for a FHIR store or
    'healthcare.securityLabels.getIamPolicy' for a security label

    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)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Defines an Identity and Access Management (IAM) policy. It is used to
          # specify access control policies for Cloud Platform resources.
          #
          #
          # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
          # `members` to a `role`, where the members can be user accounts, Google groups,
          # Google domains, and service accounts. A `role` is a named list of permissions
          # defined by IAM.
          #
          # **JSON Example**
          #
          #     {
          #       "bindings": [
          #         {
          #           "role": "roles/owner",
          #           "members": [
          #             "user:mike@example.com",
          #             "group:admins@example.com",
          #             "domain:google.com",
          #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
          #           ]
          #         },
          #         {
          #           "role": "roles/viewer",
          #           "members": ["user:sean@example.com"]
          #         }
          #       ]
          #     }
          #
          # **YAML Example**
          #
          #     bindings:
          #     - members:
          #       - user:mike@example.com
          #       - group:admins@example.com
          #       - domain:google.com
          #       - serviceAccount:my-other-app@appspot.gserviceaccount.com
          #       role: roles/owner
          #     - members:
          #       - user:sean@example.com
          #       role: roles/viewer
          #
          #
          # For a description of IAM and its features, see the
          # [IAM developer's guide](https://cloud.google.com/iam/docs).
        "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
          { # Specifies the audit configuration for a service.
              # The configuration determines which permission types are logged, and what
              # identities, if any, are exempted from logging.
              # An AuditConfig must have one or more AuditLogConfigs.
              #
              # If there are AuditConfigs for both `allServices` and a specific service,
              # the union of the two AuditConfigs is used for that service: the log_types
              # specified in each AuditConfig are enabled, and the exempted_members in each
              # AuditLogConfig are exempted.
              #
              # Example Policy with multiple AuditConfigs:
              #
              #     {
              #       "audit_configs": [
              #         {
              #           "service": "allServices"
              #           "audit_log_configs": [
              #             {
              #               "log_type": "DATA_READ",
              #               "exempted_members": [
              #                 "user:foo@gmail.com"
              #               ]
              #             },
              #             {
              #               "log_type": "DATA_WRITE",
              #             },
              #             {
              #               "log_type": "ADMIN_READ",
              #             }
              #           ]
              #         },
              #         {
              #           "service": "fooservice.googleapis.com"
              #           "audit_log_configs": [
              #             {
              #               "log_type": "DATA_READ",
              #             },
              #             {
              #               "log_type": "DATA_WRITE",
              #               "exempted_members": [
              #                 "user:bar@gmail.com"
              #               ]
              #             }
              #           ]
              #         }
              #       ]
              #     }
              #
              # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
              # logging. It also exempts foo@gmail.com from DATA_READ logging, and
              # bar@gmail.com from DATA_WRITE logging.
            "auditLogConfigs": [ # The configuration for logging of each type of permission.
              { # Provides the configuration for logging a type of permissions.
                  # Example:
                  #
                  #     {
                  #       "audit_log_configs": [
                  #         {
                  #           "log_type": "DATA_READ",
                  #           "exempted_members": [
                  #             "user:foo@gmail.com"
                  #           ]
                  #         },
                  #         {
                  #           "log_type": "DATA_WRITE",
                  #         }
                  #       ]
                  #     }
                  #
                  # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
                  # foo@gmail.com from DATA_READ logging.
                "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
                    # permission.
                    # Follows the same format of Binding.members.
                  "A String",
                ],
                "logType": "A String", # The log type that this config enables.
              },
            ],
            "service": "A String", # Specifies a service that will be enabled for audit logging.
                # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
                # `allServices` is a special value that covers all services.
          },
        ],
        "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.
            #
            # If no `etag` is provided in the call to `setIamPolicy`, then the existing
            # policy is overwritten blindly.
        "bindings": [ # Associates a list of `members` to a `role`.
            # `bindings` with no members will result in an error.
          { # Associates `members` with a `role`.
            "role": "A String", # Role that is assigned to `members`.
                # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
            "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
                # NOTE: An unsatisfied condition will not allow user access via current
                # binding. Different bindings, including their conditions, are examined
                # independently.
                #
                #     title: "User account presence"
                #     description: "Determines whether the request has a user account"
                #     expression: "size(request.user) > 0"
              "description": "A String", # An 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.
                  #
                  # The application context of the containing message determines which
                  # well-known feature set of CEL is supported.
              "location": "A String", # An optional string indicating the location of the expression for error
                  # reporting, e.g. a file name and a position in the file.
              "title": "A String", # An 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.
            },
            "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@gmail.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`.
                #
                #
                # * `domain:{domain}`: The G Suite domain (primary) that represents all the
                #    users of that domain. For example, `google.com` or `example.com`.
                #
              "A String",
            ],
          },
        ],
        "version": 42, # Deprecated.
      }

`import_(name, body, x__xgafv=None)`

    Import resources to the FHIR store by loading data from the specified
    sources. Each resource must have a client-supplied ID, which is retained
    by the server.

    The import operation is idempotent. Upon retry, the most recent data
    (matching the client-supplied ID) is overwritten, without creating a new
    resource version. If partial failures occur during the import, successful
    changes are not rolled back.

    If history imports are enabled
    (enable_history_import is set in the
    FHIR store's configuration), you can import historical versions of a
    resource by supplying a bundle of type `history`. The historical versions
    in the bundle must have `lastUpdated` timestamps. If a current or
    historical version with the supplied resource ID already exists, the
    bundle is rejected.

    This method returns an Operation that can
    be used to track the status of the import by calling
    GetOperation.

    Immediate fatal errors appear in the
    error field.
    Otherwise, when the operation finishes, a detailed response of type
    ImportResourcesResponse is returned in the
    response field.
    The metadata field type for this
    operation is OperationMetadata.

    Args:
      name: string, The name of the FHIR store to import FHIR resources to. The name should be
    in the format of
    `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Request to import resources.
        "gcsErrorDestination": { # Specifies the Cloud Storage destination where errors will be recorded. # The Cloud Storage destination to write the error report to.
            #
            # The Cloud Storage location requires the `roles/storage.objectAdmin` Cloud
            # IAM role.
            #
            # Note that writing a file to the same destination multiple times will
            # result in the previous version of the file being overwritten.
          "uriPrefix": "A String", # URI for a Cloud Storage directory to which error report files should be
              # written (in the format `gs://{bucket-id}/{path/to/destination/dir}`). If
              # there is no trailing slash, the service will append one when composing the
              # object path. The user is responsible for creating the Cloud Storage bucket
              # referenced in `uri_prefix`.
        },
        "contentStructure": "A String", # The content structure in the source location. If not specified, the server
            # treats the input source files as BUNDLE.
        "gcsSource": { # Specifies the configuration for importing data from Cloud Storage. # Cloud Storage source data location and import configuration.
            #
            # The Cloud Storage location requires the `roles/storage.objectViewer`
            # Cloud IAM role.
            #
            # Each Cloud Storage object should be a text file that contains the format
            # specified in ContentStructu.
          "uri": "A String", # Points to a Cloud Storage URI containing file(s) to import.
              #
              # The URI must be in the following format: `gs://{bucket_id}/{object_id}`.
              # The URI can include wildcards in `object_id` and thus identify multiple
              # files. Supported wildcards:
              #
              # *  `*` to match 0 or more non-separator characters
              # *  `**` to match 0 or more characters (including separators). Must be used
              # at the end of a path and with no other wildcards in the
              # path. Can also be used with a file extension (such as .ndjson), which
              # imports all files with the extension in the specified directory and
              # its sub-directories. For example, `gs://my-bucket/my-directory/**.ndjson`
              # imports all files with `.ndjson` extensions in `my-directory/` and its
              # sub-directories.
              # *  `?` to match 1 character
              #
              # Files matching the wildcard are expected to contain content only, no
              # metadata.
        },
      }

      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.
        "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.
        },
        "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
            # 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).
          "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.
          "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.
            },
          ],
        },
        "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.
        "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.
        },
        "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}`.
      }

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

    Lists the FHIR stores in the given dataset.

    Args:
      parent: string, Name of the dataset. (required)
      pageToken: string, The next_page_token value returned from the previous List request, if any.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format
      pageSize: integer, Limit on the number of FHIR stores to return in a single response.  If zero
    the default page size of 100 is used.
      filter: string, Restricts stores returned to those matching a filter. Syntax:
    https://cloud.google.com/appengine/docs/standard/python/search/query_strings
    Only filtering on labels is supported, for example `labels.key=value`.

    Returns:
      An object of the form:

        { # Lists the FHIR stores in the given dataset.
        "nextPageToken": "A String", # Token to retrieve the next page of results or empty if there are no more
            # results in the list.
        "fhirStores": [ # The returned FHIR stores. Won't be more FHIR stores than the value of
            # page_size in the request.
          { # Represents a FHIR store.
            "enableHistoryImport": True or False, # Whether to allow the bulk import API to accept history bundles and directly
                # insert historical resource versions into the FHIR store. Importing resource
                # histories creates resource interactions that appear to have occurred in the
                # past, which clients may not want to allow. If set to false, history bundles
                # within an import will fail with an error.
            "name": "A String", # Output only. Resource name of the FHIR store, of the form
                # `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.
            "labels": { # User-supplied key-value pairs used to organize FHIR stores.
                #
                # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
                # of maximum 128 bytes, and must conform to the
                # following PCRE regular expression:
                # \p{Ll}\p{Lo}{0,62}
                #
                # Label values are optional, must be between 1 and 63 characters long, have
                # a UTF-8 encoding of maximum 128 bytes, and must conform to the
                # following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
                #
                # No more than 64 labels can be associated with a given store.
              "a_key": "A String",
            },
            "enableUpdateCreate": True or False, # Whether this FHIR store has the [updateCreate
                # capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate).
                # This determines if the client can use an Update operation to create a new
                # resource with a client-specified ID. If false, all IDs are server-assigned
                # through the Create operation and attempts to Update a non-existent resource
                # will return errors. Please treat the audit logs with appropriate levels of
                # care if client-specified resource IDs contain sensitive data such as
                # patient identifiers, those IDs will be part of the FHIR resource path
                # recorded in Cloud audit logs and Cloud Pub/Sub notifications.
            "notificationConfig": { # Specifies where notifications should be sent upon changes to a data store. # If non-empty, publish all resource modifications of this FHIR store to
                # this destination. The Cloud Pub/Sub message attributes will contain a map
                # with a string describing the action that has triggered the notification,
                # e.g. "action":"CreateResource".
              "pubsubTopic": "A String", # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
                  # notifications of changes are published on. Supplied by the client.
                  # PubsubMessage.Data will contain the resource name.
                  # PubsubMessage.MessageId is the ID of this message. It is guaranteed to be
                  # unique within the topic.
                  # PubsubMessage.PublishTime is the time at which the message was published.
                  # Notifications are only sent if the topic is
                  # non-empty. [Topic
                  # names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped
                  # to a project. cloud-healthcare@system.gserviceaccount.com must have
                  # publisher permissions on the given Cloud Pub/Sub topic. Not having adequate
                  # permissions will cause the calls that send notifications to fail.
            },
            "streamConfigs": [ # A list of streaming configs that configure the destinations of streaming
                # export for every resource mutation in this FHIR store. Each store is
                # allowed to have up to 10 streaming configs.
                # After a new config is added, the next resource mutation will be streamed to
                # the new location in addition to the existing ones.
                # When a location is removed from the list, the server will simply stop
                # streaming to that location. Before adding a new config, you must add the
                # required
                # [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor)
                # role to your project's **Cloud Healthcare Service Agent**
                # [service account](https://cloud.google.com/iam/docs/service-accounts).
                # Some lag (typically on the order of dozens of seconds) is expected before
                # the results show up in the streaming destination.
              { # This structure contains configuration for streaming FHIR export.
                "bigqueryDestination": { # The configuration for exporting to BigQuery. # The destination BigQuery structure that contains both the dataset
                    # location and corresponding schema config.
                    # The output will be organized in one table per resource type.
                    # The server will inspect and potentially create new tables (if they
                    # don't exist) in the given BigQuery dataset.
                    # Results will be appended to the corresponding BigQuery tables.
                    # The views of the latest snapshot will also be automatically created in
                    # the dataset.
                  "datasetUri": "A String", # BigQuery URI to a dataset, up to 2000 characters long, in the format
                      # `bq://projectId.bqDatasetId`
                  "schemaConfig": { # Configuration for the FHIR BigQuery and Cloud Storage schema. Determines # The configuration for the exported BigQuery schema.
                      # how the server generates the schema.
                    "schemaType": "A String", # Specifies the output schema type. If unspecified, the default is
                        # `LOSSLESS`.
                    "recursiveStructureDepth": "A String", # The depth for all recursive structures in the output analytics
                        # schema. For example, `concept` in the CodeSystem resource is a recursive
                        # structure; when the depth is 2, the CodeSystem table will have a column
                        # called `concept.concept` but not `concept.concept.concept`. If not
                        # specified or set to 0, the server will use the default value 2.
                  },
                },
                "resourceTypes": [ # Supply a FHIR resource type (such as "Patient" or "Observation").
                    # See https://www.hl7.org/fhir/valueset-resource-types.html for a list of
                    # all FHIR resource types.
                    # The server will treat an empty list as an intent to stream all the
                    # supported resource types in this FHIR store.
                  "A String",
                ],
              },
            ],
            "disableReferentialIntegrity": True or False, # Whether to disable referential integrity in this FHIR store. This field is
                # immutable after FHIR store creation.
                # The default value is false, meaning that the API will enforce referential
                # integrity and fail the requests that will result in inconsistent state in
                # the FHIR store.
                # When this field is set to true, the API will skip referential integrity
                # check. Consequently, operations that rely on references, such as
                # GetPatientEverything, will not return all the results if broken references
                # exist.
            "disableResourceVersioning": True or False, # Whether to disable resource versioning for this FHIR store. This field can
                # not be changed after the creation of FHIR store.
                # If set to false, which is the default behavior, all write operations will
                # cause historical versions to be recorded automatically. The historical
                # versions can be fetched through the history APIs, but cannot be updated.
                # If set to true, no historical versions will be kept. The server will send
                # back errors for attempts to read the historical versions.
          },
        ],
      }

`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, updateMask=None, x__xgafv=None)`

    Updates the configuration of the specified FHIR store.

    Args:
      name: string, Output only. Resource name of the FHIR store, of the form
    `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a FHIR store.
      "enableHistoryImport": True or False, # Whether to allow the bulk import API to accept history bundles and directly
          # insert historical resource versions into the FHIR store. Importing resource
          # histories creates resource interactions that appear to have occurred in the
          # past, which clients may not want to allow. If set to false, history bundles
          # within an import will fail with an error.
      "name": "A String", # Output only. Resource name of the FHIR store, of the form
          # `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.
      "labels": { # User-supplied key-value pairs used to organize FHIR stores.
          #
          # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
          # of maximum 128 bytes, and must conform to the
          # following PCRE regular expression:
          # \p{Ll}\p{Lo}{0,62}
          #
          # Label values are optional, must be between 1 and 63 characters long, have
          # a UTF-8 encoding of maximum 128 bytes, and must conform to the
          # following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
          #
          # No more than 64 labels can be associated with a given store.
        "a_key": "A String",
      },
      "enableUpdateCreate": True or False, # Whether this FHIR store has the [updateCreate
          # capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate).
          # This determines if the client can use an Update operation to create a new
          # resource with a client-specified ID. If false, all IDs are server-assigned
          # through the Create operation and attempts to Update a non-existent resource
          # will return errors. Please treat the audit logs with appropriate levels of
          # care if client-specified resource IDs contain sensitive data such as
          # patient identifiers, those IDs will be part of the FHIR resource path
          # recorded in Cloud audit logs and Cloud Pub/Sub notifications.
      "notificationConfig": { # Specifies where notifications should be sent upon changes to a data store. # If non-empty, publish all resource modifications of this FHIR store to
          # this destination. The Cloud Pub/Sub message attributes will contain a map
          # with a string describing the action that has triggered the notification,
          # e.g. "action":"CreateResource".
        "pubsubTopic": "A String", # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
            # notifications of changes are published on. Supplied by the client.
            # PubsubMessage.Data will contain the resource name.
            # PubsubMessage.MessageId is the ID of this message. It is guaranteed to be
            # unique within the topic.
            # PubsubMessage.PublishTime is the time at which the message was published.
            # Notifications are only sent if the topic is
            # non-empty. [Topic
            # names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped
            # to a project. cloud-healthcare@system.gserviceaccount.com must have
            # publisher permissions on the given Cloud Pub/Sub topic. Not having adequate
            # permissions will cause the calls that send notifications to fail.
      },
      "streamConfigs": [ # A list of streaming configs that configure the destinations of streaming
          # export for every resource mutation in this FHIR store. Each store is
          # allowed to have up to 10 streaming configs.
          # After a new config is added, the next resource mutation will be streamed to
          # the new location in addition to the existing ones.
          # When a location is removed from the list, the server will simply stop
          # streaming to that location. Before adding a new config, you must add the
          # required
          # [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor)
          # role to your project's **Cloud Healthcare Service Agent**
          # [service account](https://cloud.google.com/iam/docs/service-accounts).
          # Some lag (typically on the order of dozens of seconds) is expected before
          # the results show up in the streaming destination.
        { # This structure contains configuration for streaming FHIR export.
          "bigqueryDestination": { # The configuration for exporting to BigQuery. # The destination BigQuery structure that contains both the dataset
              # location and corresponding schema config.
              # The output will be organized in one table per resource type.
              # The server will inspect and potentially create new tables (if they
              # don't exist) in the given BigQuery dataset.
              # Results will be appended to the corresponding BigQuery tables.
              # The views of the latest snapshot will also be automatically created in
              # the dataset.
            "datasetUri": "A String", # BigQuery URI to a dataset, up to 2000 characters long, in the format
                # `bq://projectId.bqDatasetId`
            "schemaConfig": { # Configuration for the FHIR BigQuery and Cloud Storage schema. Determines # The configuration for the exported BigQuery schema.
                # how the server generates the schema.
              "schemaType": "A String", # Specifies the output schema type. If unspecified, the default is
                  # `LOSSLESS`.
              "recursiveStructureDepth": "A String", # The depth for all recursive structures in the output analytics
                  # schema. For example, `concept` in the CodeSystem resource is a recursive
                  # structure; when the depth is 2, the CodeSystem table will have a column
                  # called `concept.concept` but not `concept.concept.concept`. If not
                  # specified or set to 0, the server will use the default value 2.
            },
          },
          "resourceTypes": [ # Supply a FHIR resource type (such as "Patient" or "Observation").
              # See https://www.hl7.org/fhir/valueset-resource-types.html for a list of
              # all FHIR resource types.
              # The server will treat an empty list as an intent to stream all the
              # supported resource types in this FHIR store.
            "A String",
          ],
        },
      ],
      "disableReferentialIntegrity": True or False, # Whether to disable referential integrity in this FHIR store. This field is
          # immutable after FHIR store creation.
          # The default value is false, meaning that the API will enforce referential
          # integrity and fail the requests that will result in inconsistent state in
          # the FHIR store.
          # When this field is set to true, the API will skip referential integrity
          # check. Consequently, operations that rely on references, such as
          # GetPatientEverything, will not return all the results if broken references
          # exist.
      "disableResourceVersioning": True or False, # Whether to disable resource versioning for this FHIR store. This field can
          # not be changed after the creation of FHIR store.
          # If set to false, which is the default behavior, all write operations will
          # cause historical versions to be recorded automatically. The historical
          # versions can be fetched through the history APIs, but cannot be updated.
          # If set to true, no historical versions will be kept. The server will send
          # back errors for attempts to read the historical versions.
    }

      updateMask: string, The update mask applies to the resource. For the `FieldMask` definition,
    see
    https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents a FHIR store.
        "enableHistoryImport": True or False, # Whether to allow the bulk import API to accept history bundles and directly
            # insert historical resource versions into the FHIR store. Importing resource
            # histories creates resource interactions that appear to have occurred in the
            # past, which clients may not want to allow. If set to false, history bundles
            # within an import will fail with an error.
        "name": "A String", # Output only. Resource name of the FHIR store, of the form
            # `projects/{project_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.
        "labels": { # User-supplied key-value pairs used to organize FHIR stores.
            #
            # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
            # of maximum 128 bytes, and must conform to the
            # following PCRE regular expression:
            # \p{Ll}\p{Lo}{0,62}
            #
            # Label values are optional, must be between 1 and 63 characters long, have
            # a UTF-8 encoding of maximum 128 bytes, and must conform to the
            # following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
            #
            # No more than 64 labels can be associated with a given store.
          "a_key": "A String",
        },
        "enableUpdateCreate": True or False, # Whether this FHIR store has the [updateCreate
            # capability](https://www.hl7.org/fhir/capabilitystatement-definitions.html#CapabilityStatement.rest.resource.updateCreate).
            # This determines if the client can use an Update operation to create a new
            # resource with a client-specified ID. If false, all IDs are server-assigned
            # through the Create operation and attempts to Update a non-existent resource
            # will return errors. Please treat the audit logs with appropriate levels of
            # care if client-specified resource IDs contain sensitive data such as
            # patient identifiers, those IDs will be part of the FHIR resource path
            # recorded in Cloud audit logs and Cloud Pub/Sub notifications.
        "notificationConfig": { # Specifies where notifications should be sent upon changes to a data store. # If non-empty, publish all resource modifications of this FHIR store to
            # this destination. The Cloud Pub/Sub message attributes will contain a map
            # with a string describing the action that has triggered the notification,
            # e.g. "action":"CreateResource".
          "pubsubTopic": "A String", # The [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that
              # notifications of changes are published on. Supplied by the client.
              # PubsubMessage.Data will contain the resource name.
              # PubsubMessage.MessageId is the ID of this message. It is guaranteed to be
              # unique within the topic.
              # PubsubMessage.PublishTime is the time at which the message was published.
              # Notifications are only sent if the topic is
              # non-empty. [Topic
              # names](https://cloud.google.com/pubsub/docs/overview#names) must be scoped
              # to a project. cloud-healthcare@system.gserviceaccount.com must have
              # publisher permissions on the given Cloud Pub/Sub topic. Not having adequate
              # permissions will cause the calls that send notifications to fail.
        },
        "streamConfigs": [ # A list of streaming configs that configure the destinations of streaming
            # export for every resource mutation in this FHIR store. Each store is
            # allowed to have up to 10 streaming configs.
            # After a new config is added, the next resource mutation will be streamed to
            # the new location in addition to the existing ones.
            # When a location is removed from the list, the server will simply stop
            # streaming to that location. Before adding a new config, you must add the
            # required
            # [`bigquery.dataEditor`](https://cloud.google.com/bigquery/docs/access-control#bigquery.dataEditor)
            # role to your project's **Cloud Healthcare Service Agent**
            # [service account](https://cloud.google.com/iam/docs/service-accounts).
            # Some lag (typically on the order of dozens of seconds) is expected before
            # the results show up in the streaming destination.
          { # This structure contains configuration for streaming FHIR export.
            "bigqueryDestination": { # The configuration for exporting to BigQuery. # The destination BigQuery structure that contains both the dataset
                # location and corresponding schema config.
                # The output will be organized in one table per resource type.
                # The server will inspect and potentially create new tables (if they
                # don't exist) in the given BigQuery dataset.
                # Results will be appended to the corresponding BigQuery tables.
                # The views of the latest snapshot will also be automatically created in
                # the dataset.
              "datasetUri": "A String", # BigQuery URI to a dataset, up to 2000 characters long, in the format
                  # `bq://projectId.bqDatasetId`
              "schemaConfig": { # Configuration for the FHIR BigQuery and Cloud Storage schema. Determines # The configuration for the exported BigQuery schema.
                  # how the server generates the schema.
                "schemaType": "A String", # Specifies the output schema type. If unspecified, the default is
                    # `LOSSLESS`.
                "recursiveStructureDepth": "A String", # The depth for all recursive structures in the output analytics
                    # schema. For example, `concept` in the CodeSystem resource is a recursive
                    # structure; when the depth is 2, the CodeSystem table will have a column
                    # called `concept.concept` but not `concept.concept.concept`. If not
                    # specified or set to 0, the server will use the default value 2.
              },
            },
            "resourceTypes": [ # Supply a FHIR resource type (such as "Patient" or "Observation").
                # See https://www.hl7.org/fhir/valueset-resource-types.html for a list of
                # all FHIR resource types.
                # The server will treat an empty list as an intent to stream all the
                # supported resource types in this FHIR store.
              "A String",
            ],
          },
        ],
        "disableReferentialIntegrity": True or False, # Whether to disable referential integrity in this FHIR store. This field is
            # immutable after FHIR store creation.
            # The default value is false, meaning that the API will enforce referential
            # integrity and fail the requests that will result in inconsistent state in
            # the FHIR store.
            # When this field is set to true, the API will skip referential integrity
            # check. Consequently, operations that rely on references, such as
            # GetPatientEverything, will not return all the results if broken references
            # exist.
        "disableResourceVersioning": True or False, # Whether to disable resource versioning for this FHIR store. This field can
            # not be changed after the creation of FHIR store.
            # If set to false, which is the default behavior, all write operations will
            # cause historical versions to be recorded automatically. The historical
            # versions can be fetched through the history APIs, but cannot be updated.
            # If set to true, no historical versions will be kept. The server will send
            # back errors for attempts to read the historical versions.
      }

`setIamPolicy(resource, body, x__xgafv=None)`

    Sets the access control policy for a FHIR store or security label within a
    FHIR store. Replaces any existing policy.

    Authorization requires the Google IAM permission
    'healthcare.fhirStores.setIamPolicy' for a FHIR store or
    'healthcare.securityLabels.setIamPolicy' for a security label

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

    { # Request message for `SetIamPolicy` method.
        "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of
            # the policy is limited to a few 10s of KB. An empty policy is a
            # valid policy but certain Cloud Platform services (such as Projects)
            # might reject them.
            # specify access control policies for Cloud Platform resources.
            #
            #
            # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
            # `members` to a `role`, where the members can be user accounts, Google groups,
            # Google domains, and service accounts. A `role` is a named list of permissions
            # defined by IAM.
            #
            # **JSON Example**
            #
            #     {
            #       "bindings": [
            #         {
            #           "role": "roles/owner",
            #           "members": [
            #             "user:mike@example.com",
            #             "group:admins@example.com",
            #             "domain:google.com",
            #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
            #           ]
            #         },
            #         {
            #           "role": "roles/viewer",
            #           "members": ["user:sean@example.com"]
            #         }
            #       ]
            #     }
            #
            # **YAML Example**
            #
            #     bindings:
            #     - members:
            #       - user:mike@example.com
            #       - group:admins@example.com
            #       - domain:google.com
            #       - serviceAccount:my-other-app@appspot.gserviceaccount.com
            #       role: roles/owner
            #     - members:
            #       - user:sean@example.com
            #       role: roles/viewer
            #
            #
            # For a description of IAM and its features, see the
            # [IAM developer's guide](https://cloud.google.com/iam/docs).
          "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
            { # Specifies the audit configuration for a service.
                # The configuration determines which permission types are logged, and what
                # identities, if any, are exempted from logging.
                # An AuditConfig must have one or more AuditLogConfigs.
                #
                # If there are AuditConfigs for both `allServices` and a specific service,
                # the union of the two AuditConfigs is used for that service: the log_types
                # specified in each AuditConfig are enabled, and the exempted_members in each
                # AuditLogConfig are exempted.
                #
                # Example Policy with multiple AuditConfigs:
                #
                #     {
                #       "audit_configs": [
                #         {
                #           "service": "allServices"
                #           "audit_log_configs": [
                #             {
                #               "log_type": "DATA_READ",
                #               "exempted_members": [
                #                 "user:foo@gmail.com"
                #               ]
                #             },
                #             {
                #               "log_type": "DATA_WRITE",
                #             },
                #             {
                #               "log_type": "ADMIN_READ",
                #             }
                #           ]
                #         },
                #         {
                #           "service": "fooservice.googleapis.com"
                #           "audit_log_configs": [
                #             {
                #               "log_type": "DATA_READ",
                #             },
                #             {
                #               "log_type": "DATA_WRITE",
                #               "exempted_members": [
                #                 "user:bar@gmail.com"
                #               ]
                #             }
                #           ]
                #         }
                #       ]
                #     }
                #
                # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
                # logging. It also exempts foo@gmail.com from DATA_READ logging, and
                # bar@gmail.com from DATA_WRITE logging.
              "auditLogConfigs": [ # The configuration for logging of each type of permission.
                { # Provides the configuration for logging a type of permissions.
                    # Example:
                    #
                    #     {
                    #       "audit_log_configs": [
                    #         {
                    #           "log_type": "DATA_READ",
                    #           "exempted_members": [
                    #             "user:foo@gmail.com"
                    #           ]
                    #         },
                    #         {
                    #           "log_type": "DATA_WRITE",
                    #         }
                    #       ]
                    #     }
                    #
                    # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
                    # foo@gmail.com from DATA_READ logging.
                  "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
                      # permission.
                      # Follows the same format of Binding.members.
                    "A String",
                  ],
                  "logType": "A String", # The log type that this config enables.
                },
              ],
              "service": "A String", # Specifies a service that will be enabled for audit logging.
                  # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
                  # `allServices` is a special value that covers all services.
            },
          ],
          "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.
              #
              # If no `etag` is provided in the call to `setIamPolicy`, then the existing
              # policy is overwritten blindly.
          "bindings": [ # Associates a list of `members` to a `role`.
              # `bindings` with no members will result in an error.
            { # Associates `members` with a `role`.
              "role": "A String", # Role that is assigned to `members`.
                  # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
              "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
                  # NOTE: An unsatisfied condition will not allow user access via current
                  # binding. Different bindings, including their conditions, are examined
                  # independently.
                  #
                  #     title: "User account presence"
                  #     description: "Determines whether the request has a user account"
                  #     expression: "size(request.user) > 0"
                "description": "A String", # An 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.
                    #
                    # The application context of the containing message determines which
                    # well-known feature set of CEL is supported.
                "location": "A String", # An optional string indicating the location of the expression for error
                    # reporting, e.g. a file name and a position in the file.
                "title": "A String", # An 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.
              },
              "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@gmail.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`.
                  #
                  #
                  # * `domain:{domain}`: The G Suite domain (primary) that represents all the
                  #    users of that domain. For example, `google.com` or `example.com`.
                  #
                "A String",
              ],
            },
          ],
          "version": 42, # Deprecated.
        },
        "updateMask": "A String", # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
            # the fields in the mask will be modified. If no mask is provided, the
            # following default mask is used:
            # paths: "bindings, etag"
            # This field is only used by Cloud IAM.
      }

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

    Returns:
      An object of the form:

        { # Defines an Identity and Access Management (IAM) policy. It is used to
          # specify access control policies for Cloud Platform resources.
          #
          #
          # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
          # `members` to a `role`, where the members can be user accounts, Google groups,
          # Google domains, and service accounts. A `role` is a named list of permissions
          # defined by IAM.
          #
          # **JSON Example**
          #
          #     {
          #       "bindings": [
          #         {
          #           "role": "roles/owner",
          #           "members": [
          #             "user:mike@example.com",
          #             "group:admins@example.com",
          #             "domain:google.com",
          #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
          #           ]
          #         },
          #         {
          #           "role": "roles/viewer",
          #           "members": ["user:sean@example.com"]
          #         }
          #       ]
          #     }
          #
          # **YAML Example**
          #
          #     bindings:
          #     - members:
          #       - user:mike@example.com
          #       - group:admins@example.com
          #       - domain:google.com
          #       - serviceAccount:my-other-app@appspot.gserviceaccount.com
          #       role: roles/owner
          #     - members:
          #       - user:sean@example.com
          #       role: roles/viewer
          #
          #
          # For a description of IAM and its features, see the
          # [IAM developer's guide](https://cloud.google.com/iam/docs).
        "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
          { # Specifies the audit configuration for a service.
              # The configuration determines which permission types are logged, and what
              # identities, if any, are exempted from logging.
              # An AuditConfig must have one or more AuditLogConfigs.
              #
              # If there are AuditConfigs for both `allServices` and a specific service,
              # the union of the two AuditConfigs is used for that service: the log_types
              # specified in each AuditConfig are enabled, and the exempted_members in each
              # AuditLogConfig are exempted.
              #
              # Example Policy with multiple AuditConfigs:
              #
              #     {
              #       "audit_configs": [
              #         {
              #           "service": "allServices"
              #           "audit_log_configs": [
              #             {
              #               "log_type": "DATA_READ",
              #               "exempted_members": [
              #                 "user:foo@gmail.com"
              #               ]
              #             },
              #             {
              #               "log_type": "DATA_WRITE",
              #             },
              #             {
              #               "log_type": "ADMIN_READ",
              #             }
              #           ]
              #         },
              #         {
              #           "service": "fooservice.googleapis.com"
              #           "audit_log_configs": [
              #             {
              #               "log_type": "DATA_READ",
              #             },
              #             {
              #               "log_type": "DATA_WRITE",
              #               "exempted_members": [
              #                 "user:bar@gmail.com"
              #               ]
              #             }
              #           ]
              #         }
              #       ]
              #     }
              #
              # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
              # logging. It also exempts foo@gmail.com from DATA_READ logging, and
              # bar@gmail.com from DATA_WRITE logging.
            "auditLogConfigs": [ # The configuration for logging of each type of permission.
              { # Provides the configuration for logging a type of permissions.
                  # Example:
                  #
                  #     {
                  #       "audit_log_configs": [
                  #         {
                  #           "log_type": "DATA_READ",
                  #           "exempted_members": [
                  #             "user:foo@gmail.com"
                  #           ]
                  #         },
                  #         {
                  #           "log_type": "DATA_WRITE",
                  #         }
                  #       ]
                  #     }
                  #
                  # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
                  # foo@gmail.com from DATA_READ logging.
                "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
                    # permission.
                    # Follows the same format of Binding.members.
                  "A String",
                ],
                "logType": "A String", # The log type that this config enables.
              },
            ],
            "service": "A String", # Specifies a service that will be enabled for audit logging.
                # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
                # `allServices` is a special value that covers all services.
          },
        ],
        "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.
            #
            # If no `etag` is provided in the call to `setIamPolicy`, then the existing
            # policy is overwritten blindly.
        "bindings": [ # Associates a list of `members` to a `role`.
            # `bindings` with no members will result in an error.
          { # Associates `members` with a `role`.
            "role": "A String", # Role that is assigned to `members`.
                # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
            "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
                # NOTE: An unsatisfied condition will not allow user access via current
                # binding. Different bindings, including their conditions, are examined
                # independently.
                #
                #     title: "User account presence"
                #     description: "Determines whether the request has a user account"
                #     expression: "size(request.user) > 0"
              "description": "A String", # An 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.
                  #
                  # The application context of the containing message determines which
                  # well-known feature set of CEL is supported.
              "location": "A String", # An optional string indicating the location of the expression for error
                  # reporting, e.g. a file name and a position in the file.
              "title": "A String", # An 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.
            },
            "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@gmail.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`.
                #
                #
                # * `domain:{domain}`: The G Suite domain (primary) that represents all the
                #    users of that domain. For example, `google.com` or `example.com`.
                #
              "A String",
            ],
          },
        ],
        "version": 42, # Deprecated.
      }

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

    Returns permissions that a caller has on the specified resource.  If the
    resource does not exist, this will return an empty set of permissions, not
    a NOT_FOUND error.

    There is no permission required to make this API call.

    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. (required)
        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",
        ],
      }