Create entity value.

        Create a new value for an entity.
        This operation is limited to 1000 requests per 30 minutes. For more information,
        see **Rate limiting**.

        :param str workspace_id: Unique identifier of the workspace.
        :param str entity: The name of the entity.
        :param str value: The text of the entity value. This string must conform to the
        following restrictions:
        - It cannot contain carriage return, newline, or tab characters.
        - It cannot consist of only whitespace characters.
        - It must be no longer than 64 characters.
        :param dict metadata: Any metadata related to the entity value.
        :param str value_type: Specifies the type of entity value.
        :param list[str] synonyms: An array of synonyms for the entity value. A value can
        specify either synonyms or patterns (depending on the value type), but not both. A
        synonym must conform to the following resrictions:
        - It cannot contain carriage return, newline, or tab characters.
        - It cannot consist of only whitespace characters.
        - It must be no longer than 64 characters.
        :param list[str] patterns: An array of patterns for the entity value. A value can
        specify either synonyms or patterns (depending on the value type), but not both. A
        pattern is a regular expression no longer than 512 characters. For more
        information about how to specify a pattern, see the
        [documentation](https://cloud.ibm.com/docs/services/assistant/entities.html#entities-create-dictionary-based).
        :param dict headers: A `dict` containing the request headers
        :return: A `DetailedResponse` containing the result, headers and HTTP status code.
        :rtype: DetailedResponse

def create_value(self,
                     workspace_id,
                     entity,
                     value,
                     metadata=None,
                     value_type=None,
                     synonyms=None,
                     patterns=None,
                     **kwargs):
        """
        Create entity value.

        Create a new value for an entity.
        This operation is limited to 1000 requests per 30 minutes. For more information,
        see **Rate limiting**.

        :param str workspace_id: Unique identifier of the workspace.
        :param str entity: The name of the entity.
        :param str value: The text of the entity value. This string must conform to the
        following restrictions:
        - It cannot contain carriage return, newline, or tab characters.
        - It cannot consist of only whitespace characters.
        - It must be no longer than 64 characters.
        :param dict metadata: Any metadata related to the entity value.
        :param str value_type: Specifies the type of entity value.
        :param list[str] synonyms: An array of synonyms for the entity value. A value can
        specify either synonyms or patterns (depending on the value type), but not both. A
        synonym must conform to the following resrictions:
        - It cannot contain carriage return, newline, or tab characters.
        - It cannot consist of only whitespace characters.
        - It must be no longer than 64 characters.
        :param list[str] patterns: An array of patterns for the entity value. A value can
        specify either synonyms or patterns (depending on the value type), but not both. A
        pattern is a regular expression no longer than 512 characters. For more
        information about how to specify a pattern, see the
        [documentation](https://cloud.ibm.com/docs/services/assistant/entities.html#entities-create-dictionary-based).
        :param dict headers: A `dict` containing the request headers
        :return: A `DetailedResponse` containing the result, headers and HTTP status code.
        :rtype: DetailedResponse
        """

        if workspace_id is None:
            raise ValueError('workspace_id must be provided')
        if entity is None:
            raise ValueError('entity must be provided')
        if value is None:
            raise ValueError('value must be provided')

        headers = {}
        if 'headers' in kwargs:
            headers.update(kwargs.get('headers'))
        sdk_headers = get_sdk_headers('conversation', 'V1', 'create_value')
        headers.update(sdk_headers)

        params = {'version': self.version}

        data = {
            'value': value,
            'metadata': metadata,
            'type': value_type,
            'synonyms': synonyms,
            'patterns': patterns
        }

        url = '/v1/workspaces/{0}/entities/{1}/values'.format(
            *self._encode_path_vars(workspace_id, entity))
        response = self.request(
            method='POST',
            url=url,
            headers=headers,
            params=params,
            json=data,
            accept_json=True)
        return response