# Cloud Healthcare API . projects . locations . datasets . consentStores . attributeDefinitions

## Instance Methods

Close httplib2 connections.

Creates a new Attribute definition in the parent consent store.

Deletes the specified Attribute definition. Fails if the Attribute definition is referenced by any User data mapping, or the latest revision of any Consent.

Gets the specified Attribute definition.

Lists the Attribute definitions in the specified consent store.

Retrieves the next page of results.

Updates the specified Attribute definition.

### Method Details

`close()`

    Close httplib2 connections.

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

    Creates a new Attribute definition in the parent consent store.

    Args:
      parent: string, Required. The name of the consent store that this Attribute definition belongs to. (required)
      body: object, The request body.
        The object takes the form of:

    { # A client-defined consent attribute.
      "allowedValues": [ # Required. Possible values for the attribute. The number of allowed values must not exceed 500. An empty list is invalid. The list can only be expanded after creation.
        "A String",
      ],
      "category": "A String", # Required. The category of the attribute. The value of this field cannot be changed after creation.
      "consentDefaultValues": [ # Optional. Default values of the attribute in Consents. If no default values are specified, it defaults to an empty value.
        "A String",
      ],
      "dataMappingDefaultValue": "A String", # Optional. Default value of the attribute in User data mappings. If no default value is specified, it defaults to an empty value. This field is only applicable to attributes of the category `RESOURCE`.
      "description": "A String", # Optional. A description of the attribute.
      "name": "A String", # Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation.
    }

      attributeDefinitionId: string, Required. The ID of the Attribute definition to create. The string must match the following regex: `_a-zA-Z{0,255}` and must not be a reserved keyword within the Common Expression Language as listed on https://github.com/google/cel-spec/blob/master/doc/langdef.md.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A client-defined consent attribute.
      "allowedValues": [ # Required. Possible values for the attribute. The number of allowed values must not exceed 500. An empty list is invalid. The list can only be expanded after creation.
        "A String",
      ],
      "category": "A String", # Required. The category of the attribute. The value of this field cannot be changed after creation.
      "consentDefaultValues": [ # Optional. Default values of the attribute in Consents. If no default values are specified, it defaults to an empty value.
        "A String",
      ],
      "dataMappingDefaultValue": "A String", # Optional. Default value of the attribute in User data mappings. If no default value is specified, it defaults to an empty value. This field is only applicable to attributes of the category `RESOURCE`.
      "description": "A String", # Optional. A description of the attribute.
      "name": "A String", # Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation.
    }

`delete(name, x__xgafv=None)`

    Deletes the specified Attribute definition. Fails if the Attribute definition is referenced by any User data mapping, or the latest revision of any Consent.

    Args:
      name: string, Required. The resource name of the Attribute definition to delete. To preserve referential integrity, Attribute definitions referenced by a User data mapping or the latest revision of a Consent cannot be deleted. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

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

`get(name, x__xgafv=None)`

    Gets the specified Attribute definition.

    Args:
      name: string, Required. The resource name of the Attribute definition 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:

        { # A client-defined consent attribute.
      "allowedValues": [ # Required. Possible values for the attribute. The number of allowed values must not exceed 500. An empty list is invalid. The list can only be expanded after creation.
        "A String",
      ],
      "category": "A String", # Required. The category of the attribute. The value of this field cannot be changed after creation.
      "consentDefaultValues": [ # Optional. Default values of the attribute in Consents. If no default values are specified, it defaults to an empty value.
        "A String",
      ],
      "dataMappingDefaultValue": "A String", # Optional. Default value of the attribute in User data mappings. If no default value is specified, it defaults to an empty value. This field is only applicable to attributes of the category `RESOURCE`.
      "description": "A String", # Optional. A description of the attribute.
      "name": "A String", # Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation.
    }

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

    Lists the Attribute definitions in the specified consent store.

    Args:
      parent: string, Required. Name of the consent store to retrieve Attribute definitions from. (required)
      filter: string, Optional. Restricts the attributes returned to those matching a filter. The following syntax is available: * A string field value can be written as text inside quotation marks, for example `"query text"`. The only valid relational operation for text fields is equality (`=`), where text is searched within the field, rather than having the field be equal to the text. For example, `"Comment = great"` returns messages with `great` in the comment field. * A number field value can be written as an integer, a decimal, or an exponential. The valid relational operators for number fields are the equality operator (`=`), along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * A date field value must be written in `yyyy-mm-dd` form. Fields with date and time use the RFC3339 time format. Leading zeros are required for one-digit months and days. The valid relational operators for date fields are the equality operator (`=`) , along with the less than/greater than operators (`<`, `<=`, `>`, `>=`). Note that there is no inequality (`!=`) operator. You can prepend the `NOT` operator to an expression to negate it. * Multiple field query expressions can be combined in one query by adding `AND` or `OR` operators between the expressions. If a boolean operator appears within a quoted string, it is not treated as special, it's just another part of the character string to be matched. You can prepend the `NOT` operator to an expression to negate it. The only field available for filtering is `category`. For example, `filter=category=\"REQUEST\"`.
      pageSize: integer, Optional. Limit on the number of Attribute definitions to return in a single response. If not specified, 100 is used. May not be larger than 1000.
      pageToken: string, Optional. Token to retrieve the next page of results or empty to get the first page.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        {
      "attributeDefinitions": [ # The returned Attribute definitions. The maximum number of attributes returned is determined by the value of page_size in the ListAttributeDefinitionsRequest.
        { # A client-defined consent attribute.
          "allowedValues": [ # Required. Possible values for the attribute. The number of allowed values must not exceed 500. An empty list is invalid. The list can only be expanded after creation.
            "A String",
          ],
          "category": "A String", # Required. The category of the attribute. The value of this field cannot be changed after creation.
          "consentDefaultValues": [ # Optional. Default values of the attribute in Consents. If no default values are specified, it defaults to an empty value.
            "A String",
          ],
          "dataMappingDefaultValue": "A String", # Optional. Default value of the attribute in User data mappings. If no default value is specified, it defaults to an empty value. This field is only applicable to attributes of the category `RESOURCE`.
          "description": "A String", # Optional. A description of the attribute.
          "name": "A String", # Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation.
        },
      ],
      "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results in the list.
    }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

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

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

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

    Updates the specified Attribute definition.

    Args:
      name: string, Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation. (required)
      body: object, The request body.
        The object takes the form of:

    { # A client-defined consent attribute.
      "allowedValues": [ # Required. Possible values for the attribute. The number of allowed values must not exceed 500. An empty list is invalid. The list can only be expanded after creation.
        "A String",
      ],
      "category": "A String", # Required. The category of the attribute. The value of this field cannot be changed after creation.
      "consentDefaultValues": [ # Optional. Default values of the attribute in Consents. If no default values are specified, it defaults to an empty value.
        "A String",
      ],
      "dataMappingDefaultValue": "A String", # Optional. Default value of the attribute in User data mappings. If no default value is specified, it defaults to an empty value. This field is only applicable to attributes of the category `RESOURCE`.
      "description": "A String", # Optional. A description of the attribute.
      "name": "A String", # Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation.
    }

      updateMask: string, Required. The update mask that applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. Only the `description`, `allowed_values`, `consent_default_values` and `data_mapping_default_value` fields can be updated. The updated `allowed_values` must contain all values from the previous `allowed_values`.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A client-defined consent attribute.
      "allowedValues": [ # Required. Possible values for the attribute. The number of allowed values must not exceed 500. An empty list is invalid. The list can only be expanded after creation.
        "A String",
      ],
      "category": "A String", # Required. The category of the attribute. The value of this field cannot be changed after creation.
      "consentDefaultValues": [ # Optional. Default values of the attribute in Consents. If no default values are specified, it defaults to an empty value.
        "A String",
      ],
      "dataMappingDefaultValue": "A String", # Optional. Default value of the attribute in User data mappings. If no default value is specified, it defaults to an empty value. This field is only applicable to attributes of the category `RESOURCE`.
      "description": "A String", # Optional. A description of the attribute.
      "name": "A String", # Resource name of the Attribute definition, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/attributeDefinitions/{attribute_definition_id}`. Cannot be changed after creation.
    }