text:
# This file is auto-generated by AWSMetadata.jl
using AWS
using AWS.AWSServices: comprehend
using AWS.Compat
using AWS.UUIDs

"""
    batch_detect_dominant_language(text_list)
    batch_detect_dominant_language(text_list, params::Dict{String,<:Any})

Determines the dominant language of the input text for a batch of documents. For a list of
languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

# Arguments
- `text_list`: A list containing the text of the input documents. The list can contain a
  maximum of 25 documents. Each document should contain at least 20 characters and must
  contain fewer than 5,000 bytes of UTF-8 encoded characters.

"""
batch_detect_dominant_language(TextList; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("BatchDetectDominantLanguage", Dict{String, Any}("TextList"=>TextList); aws_config=aws_config)
batch_detect_dominant_language(TextList, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("BatchDetectDominantLanguage", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("TextList"=>TextList), params)); aws_config=aws_config)

"""
    batch_detect_entities(language_code, text_list)
    batch_detect_entities(language_code, text_list, params::Dict{String,<:Any})

Inspects the text of a batch of documents for named entities and returns information about
them. For more information about named entities, see how-entities

# Arguments
- `language_code`: The language of the input documents. You can specify any of the primary
  languages supported by Amazon Comprehend. All documents must be in the same language.
- `text_list`: A list containing the text of the input documents. The list can contain a
  maximum of 25 documents. Each document must contain fewer than 5,000 bytes of UTF-8 encoded
  characters.

"""
batch_detect_entities(LanguageCode, TextList; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("BatchDetectEntities", Dict{String, Any}("LanguageCode"=>LanguageCode, "TextList"=>TextList); aws_config=aws_config)
batch_detect_entities(LanguageCode, TextList, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("BatchDetectEntities", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("LanguageCode"=>LanguageCode, "TextList"=>TextList), params)); aws_config=aws_config)

"""
    batch_detect_key_phrases(language_code, text_list)
    batch_detect_key_phrases(language_code, text_list, params::Dict{String,<:Any})

Detects the key noun phrases found in a batch of documents.

# Arguments
- `language_code`: The language of the input documents. You can specify any of the primary
  languages supported by Amazon Comprehend. All documents must be in the same language.
- `text_list`: A list containing the text of the input documents. The list can contain a
  maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded
  characters.

"""
batch_detect_key_phrases(LanguageCode, TextList; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("BatchDetectKeyPhrases", Dict{String, Any}("LanguageCode"=>LanguageCode, "TextList"=>TextList); aws_config=aws_config)
batch_detect_key_phrases(LanguageCode, TextList, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("BatchDetectKeyPhrases", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("LanguageCode"=>LanguageCode, "TextList"=>TextList), params)); aws_config=aws_config)

"""
    batch_detect_sentiment(language_code, text_list)
    batch_detect_sentiment(language_code, text_list, params::Dict{String,<:Any})

Inspects a batch of documents and returns an inference of the prevailing sentiment,
POSITIVE, NEUTRAL, MIXED, or NEGATIVE, in each one.

# Arguments
- `language_code`: The language of the input documents. You can specify any of the primary
  languages supported by Amazon Comprehend. All documents must be in the same language.
- `text_list`: A list containing the text of the input documents. The list can contain a
  maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded
  characters.

"""
batch_detect_sentiment(LanguageCode, TextList; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("BatchDetectSentiment", Dict{String, Any}("LanguageCode"=>LanguageCode, "TextList"=>TextList); aws_config=aws_config)
batch_detect_sentiment(LanguageCode, TextList, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("BatchDetectSentiment", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("LanguageCode"=>LanguageCode, "TextList"=>TextList), params)); aws_config=aws_config)

"""
    batch_detect_syntax(language_code, text_list)
    batch_detect_syntax(language_code, text_list, params::Dict{String,<:Any})

Inspects the text of a batch of documents for the syntax and part of speech of the words in
the document and returns information about them. For more information, see how-syntax.

# Arguments
- `language_code`: The language of the input documents. You can specify any of the
  following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"),
  Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents
  must be in the same language.
- `text_list`: A list containing the text of the input documents. The list can contain a
  maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded
  characters.

"""
batch_detect_syntax(LanguageCode, TextList; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("BatchDetectSyntax", Dict{String, Any}("LanguageCode"=>LanguageCode, "TextList"=>TextList); aws_config=aws_config)
batch_detect_syntax(LanguageCode, TextList, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("BatchDetectSyntax", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("LanguageCode"=>LanguageCode, "TextList"=>TextList), params)); aws_config=aws_config)

"""
    classify_document(endpoint_arn, text)
    classify_document(endpoint_arn, text, params::Dict{String,<:Any})

Creates a new document classification request to analyze a single document in real-time,
using a previously created and trained custom model and an endpoint.

# Arguments
- `endpoint_arn`: The Amazon Resource Number (ARN) of the endpoint.
- `text`: The document text to be analyzed.

"""
classify_document(EndpointArn, Text; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ClassifyDocument", Dict{String, Any}("EndpointArn"=>EndpointArn, "Text"=>Text); aws_config=aws_config)
classify_document(EndpointArn, Text, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ClassifyDocument", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointArn"=>EndpointArn, "Text"=>Text), params)); aws_config=aws_config)

"""
    create_document_classifier(data_access_role_arn, document_classifier_name, input_data_config, language_code)
    create_document_classifier(data_access_role_arn, document_classifier_name, input_data_config, language_code, params::Dict{String,<:Any})

Creates a new document classifier that you can use to categorize documents. To create a
classifier, you provide a set of training documents that labeled with the categories that
you want to use. After the classifier is trained you can use it to categorize a set of
labeled documents into the categories. For more information, see
how-document-classification.

# Arguments
- `data_access_role_arn`: The Amazon Resource Name (ARN) of the AWS Identity and Management
  (IAM) role that grants Amazon Comprehend read access to your input data.
- `document_classifier_name`: The name of the document classifier.
- `input_data_config`: Specifies the format and location of the input data for the job.
- `language_code`: The language of the input documents. You can specify any of the
  following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"),
  Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents
  must be in the same language.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`: A unique identifier for the request. If you don't set the client
  request token, Amazon Comprehend generates one.
- `"Mode"`: Indicates the mode in which the classifier will be trained. The classifier can
  be trained in multi-class mode, which identifies one and only one class for each document,
  or multi-label mode, which identifies one or more labels for each document. In multi-label
  mode, multiple labels for an individual document are separated by a delimiter. The default
  delimiter between labels is a pipe (|).
- `"OutputDataConfig"`: Enables the addition of output results configuration parameters for
  custom classifier jobs.
- `"Tags"`: Tags to be associated with the document classifier being created. A tag is a
  key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For
  example, a tag with \"Sales\" as the key might be added to a resource to indicate its use
  by the sales department.
- `"VolumeKmsKeyId"`: ID for the AWS Key Management Service (KMS) key that Amazon
  Comprehend uses to encrypt data on the storage volume attached to the ML compute
  instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the
  following formats:   KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"    Amazon
  Resource Name (ARN) of a KMS Key:
  \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"
- `"VpcConfig"`: Configuration parameters for an optional private Virtual Private Cloud
  (VPC) containing the resources you are using for your custom classifier. For more
  information, see Amazon VPC.
"""
create_document_classifier(DataAccessRoleArn, DocumentClassifierName, InputDataConfig, LanguageCode; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("CreateDocumentClassifier", Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "DocumentClassifierName"=>DocumentClassifierName, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
create_document_classifier(DataAccessRoleArn, DocumentClassifierName, InputDataConfig, LanguageCode, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("CreateDocumentClassifier", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "DocumentClassifierName"=>DocumentClassifierName, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    create_endpoint(desired_inference_units, endpoint_name, model_arn)
    create_endpoint(desired_inference_units, endpoint_name, model_arn, params::Dict{String,<:Any})

Creates a model-specific endpoint for synchronous inference for a previously trained custom
model

# Arguments
- `desired_inference_units`:  The desired number of inference units to be used by the model
  using this endpoint. Each inference unit represents of a throughput of 100 characters per
  second.
- `endpoint_name`: This is the descriptive suffix that becomes part of the EndpointArn used
  for all subsequent requests to this resource.
- `model_arn`: The Amazon Resource Number (ARN) of the model to which the endpoint will be
  attached.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`: An idempotency token provided by the customer. If this token
  matches a previous endpoint creation request, Amazon Comprehend will not return a
  ResourceInUseException.
- `"Tags"`: Tags associated with the endpoint being created. A tag is a key-value pair that
  adds metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added
  to an endpoint to indicate its use by the sales department.
"""
create_endpoint(DesiredInferenceUnits, EndpointName, ModelArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("CreateEndpoint", Dict{String, Any}("DesiredInferenceUnits"=>DesiredInferenceUnits, "EndpointName"=>EndpointName, "ModelArn"=>ModelArn, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
create_endpoint(DesiredInferenceUnits, EndpointName, ModelArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("CreateEndpoint", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DesiredInferenceUnits"=>DesiredInferenceUnits, "EndpointName"=>EndpointName, "ModelArn"=>ModelArn, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    create_entity_recognizer(data_access_role_arn, input_data_config, language_code, recognizer_name)
    create_entity_recognizer(data_access_role_arn, input_data_config, language_code, recognizer_name, params::Dict{String,<:Any})

Creates an entity recognizer using submitted files. After your CreateEntityRecognizer
request is submitted, you can check job status using the API.

# Arguments
- `data_access_role_arn`: The Amazon Resource Name (ARN) of the AWS Identity and Management
  (IAM) role that grants Amazon Comprehend read access to your input data.
- `input_data_config`: Specifies the format and location of the input data. The S3 bucket
  containing the input data must be located in the same region as the entity recognizer being
  created.
- `language_code`:  You can specify any of the following languages supported by Amazon
  Comprehend: English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), German
  (\"de\"), or Portuguese (\"pt\"). All documents must be in the same language.
- `recognizer_name`: The name given to the newly created recognizer. Recognizer names can
  be a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_)
  are allowed. The name must be unique in the account/region.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`:  A unique identifier for the request. If you don't set the client
  request token, Amazon Comprehend generates one.
- `"Tags"`: Tags to be associated with the entity recognizer being created. A tag is a
  key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For
  example, a tag with \"Sales\" as the key might be added to a resource to indicate its use
  by the sales department.
- `"VolumeKmsKeyId"`: ID for the AWS Key Management Service (KMS) key that Amazon
  Comprehend uses to encrypt data on the storage volume attached to the ML compute
  instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the
  following formats:   KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"    Amazon
  Resource Name (ARN) of a KMS Key:
  \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"
- `"VpcConfig"`: Configuration parameters for an optional private Virtual Private Cloud
  (VPC) containing the resources you are using for your custom entity recognizer. For more
  information, see Amazon VPC.
"""
create_entity_recognizer(DataAccessRoleArn, InputDataConfig, LanguageCode, RecognizerName; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("CreateEntityRecognizer", Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "RecognizerName"=>RecognizerName, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
create_entity_recognizer(DataAccessRoleArn, InputDataConfig, LanguageCode, RecognizerName, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("CreateEntityRecognizer", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "RecognizerName"=>RecognizerName, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    delete_document_classifier(document_classifier_arn)
    delete_document_classifier(document_classifier_arn, params::Dict{String,<:Any})

Deletes a previously created document classifier Only those classifiers that are in
terminated states (IN_ERROR, TRAINED) will be deleted. If an active inference job is using
the model, a ResourceInUseException will be returned. This is an asynchronous action that
puts the classifier into a DELETING state, and it is then removed by a background job. Once
removed, the classifier disappears from your account and is no longer available for use.

# Arguments
- `document_classifier_arn`: The Amazon Resource Name (ARN) that identifies the document
  classifier.

"""
delete_document_classifier(DocumentClassifierArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DeleteDocumentClassifier", Dict{String, Any}("DocumentClassifierArn"=>DocumentClassifierArn); aws_config=aws_config)
delete_document_classifier(DocumentClassifierArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DeleteDocumentClassifier", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DocumentClassifierArn"=>DocumentClassifierArn), params)); aws_config=aws_config)

"""
    delete_endpoint(endpoint_arn)
    delete_endpoint(endpoint_arn, params::Dict{String,<:Any})

Deletes a model-specific endpoint for a previously-trained custom model. All endpoints must
be deleted in order for the model to be deleted.

# Arguments
- `endpoint_arn`: The Amazon Resource Number (ARN) of the endpoint being deleted.

"""
delete_endpoint(EndpointArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DeleteEndpoint", Dict{String, Any}("EndpointArn"=>EndpointArn); aws_config=aws_config)
delete_endpoint(EndpointArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DeleteEndpoint", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointArn"=>EndpointArn), params)); aws_config=aws_config)

"""
    delete_entity_recognizer(entity_recognizer_arn)
    delete_entity_recognizer(entity_recognizer_arn, params::Dict{String,<:Any})

Deletes an entity recognizer. Only those recognizers that are in terminated states
(IN_ERROR, TRAINED) will be deleted. If an active inference job is using the model, a
ResourceInUseException will be returned. This is an asynchronous action that puts the
recognizer into a DELETING state, and it is then removed by a background job. Once removed,
the recognizer disappears from your account and is no longer available for use.

# Arguments
- `entity_recognizer_arn`: The Amazon Resource Name (ARN) that identifies the entity
  recognizer.

"""
delete_entity_recognizer(EntityRecognizerArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DeleteEntityRecognizer", Dict{String, Any}("EntityRecognizerArn"=>EntityRecognizerArn); aws_config=aws_config)
delete_entity_recognizer(EntityRecognizerArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DeleteEntityRecognizer", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EntityRecognizerArn"=>EntityRecognizerArn), params)); aws_config=aws_config)

"""
    describe_document_classification_job(job_id)
    describe_document_classification_job(job_id, params::Dict{String,<:Any})

Gets the properties associated with a document classification job. Use this operation to
get the status of a classification job.

# Arguments
- `job_id`: The identifier that Amazon Comprehend generated for the job. The operation
  returns this identifier in its response.

"""
describe_document_classification_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeDocumentClassificationJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
describe_document_classification_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeDocumentClassificationJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    describe_document_classifier(document_classifier_arn)
    describe_document_classifier(document_classifier_arn, params::Dict{String,<:Any})

Gets the properties associated with a document classifier.

# Arguments
- `document_classifier_arn`: The Amazon Resource Name (ARN) that identifies the document
  classifier. The operation returns this identifier in its response.

"""
describe_document_classifier(DocumentClassifierArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeDocumentClassifier", Dict{String, Any}("DocumentClassifierArn"=>DocumentClassifierArn); aws_config=aws_config)
describe_document_classifier(DocumentClassifierArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeDocumentClassifier", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DocumentClassifierArn"=>DocumentClassifierArn), params)); aws_config=aws_config)

"""
    describe_dominant_language_detection_job(job_id)
    describe_dominant_language_detection_job(job_id, params::Dict{String,<:Any})

Gets the properties associated with a dominant language detection job. Use this operation
to get the status of a detection job.

# Arguments
- `job_id`: The identifier that Amazon Comprehend generated for the job. The operation
  returns this identifier in its response.

"""
describe_dominant_language_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeDominantLanguageDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
describe_dominant_language_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeDominantLanguageDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    describe_endpoint(endpoint_arn)
    describe_endpoint(endpoint_arn, params::Dict{String,<:Any})

Gets the properties associated with a specific endpoint. Use this operation to get the
status of an endpoint.

# Arguments
- `endpoint_arn`: The Amazon Resource Number (ARN) of the endpoint being described.

"""
describe_endpoint(EndpointArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeEndpoint", Dict{String, Any}("EndpointArn"=>EndpointArn); aws_config=aws_config)
describe_endpoint(EndpointArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeEndpoint", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EndpointArn"=>EndpointArn), params)); aws_config=aws_config)

"""
    describe_entities_detection_job(job_id)
    describe_entities_detection_job(job_id, params::Dict{String,<:Any})

Gets the properties associated with an entities detection job. Use this operation to get
the status of a detection job.

# Arguments
- `job_id`: The identifier that Amazon Comprehend generated for the job. The operation
  returns this identifier in its response.

"""
describe_entities_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeEntitiesDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
describe_entities_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeEntitiesDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    describe_entity_recognizer(entity_recognizer_arn)
    describe_entity_recognizer(entity_recognizer_arn, params::Dict{String,<:Any})

Provides details about an entity recognizer including status, S3 buckets containing
training data, recognizer metadata, metrics, and so on.

# Arguments
- `entity_recognizer_arn`: The Amazon Resource Name (ARN) that identifies the entity
  recognizer.

"""
describe_entity_recognizer(EntityRecognizerArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeEntityRecognizer", Dict{String, Any}("EntityRecognizerArn"=>EntityRecognizerArn); aws_config=aws_config)
describe_entity_recognizer(EntityRecognizerArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeEntityRecognizer", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EntityRecognizerArn"=>EntityRecognizerArn), params)); aws_config=aws_config)

"""
    describe_events_detection_job(job_id)
    describe_events_detection_job(job_id, params::Dict{String,<:Any})

Gets the status and details of an events detection job.

# Arguments
- `job_id`: The identifier of the events detection job.

"""
describe_events_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeEventsDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
describe_events_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeEventsDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    describe_key_phrases_detection_job(job_id)
    describe_key_phrases_detection_job(job_id, params::Dict{String,<:Any})

Gets the properties associated with a key phrases detection job. Use this operation to get
the status of a detection job.

# Arguments
- `job_id`: The identifier that Amazon Comprehend generated for the job. The operation
  returns this identifier in its response.

"""
describe_key_phrases_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeKeyPhrasesDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
describe_key_phrases_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeKeyPhrasesDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    describe_pii_entities_detection_job(job_id)
    describe_pii_entities_detection_job(job_id, params::Dict{String,<:Any})

Gets the properties associated with a PII entities detection job. For example, you can use
this operation to get the job status.

# Arguments
- `job_id`: The identifier that Amazon Comprehend generated for the job. The operation
  returns this identifier in its response.

"""
describe_pii_entities_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribePiiEntitiesDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
describe_pii_entities_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribePiiEntitiesDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    describe_sentiment_detection_job(job_id)
    describe_sentiment_detection_job(job_id, params::Dict{String,<:Any})

Gets the properties associated with a sentiment detection job. Use this operation to get
the status of a detection job.

# Arguments
- `job_id`: The identifier that Amazon Comprehend generated for the job. The operation
  returns this identifier in its response.

"""
describe_sentiment_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeSentimentDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
describe_sentiment_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeSentimentDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    describe_topics_detection_job(job_id)
    describe_topics_detection_job(job_id, params::Dict{String,<:Any})

Gets the properties associated with a topic detection job. Use this operation to get the
status of a detection job.

# Arguments
- `job_id`: The identifier assigned by the user to the detection job.

"""
describe_topics_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeTopicsDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
describe_topics_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DescribeTopicsDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    detect_dominant_language(text)
    detect_dominant_language(text, params::Dict{String,<:Any})

Determines the dominant language of the input text. For a list of languages that Amazon
Comprehend can detect, see Amazon Comprehend Supported Languages.

# Arguments
- `text`: A UTF-8 text string. Each string should contain at least 20 characters and must
  contain fewer that 5,000 bytes of UTF-8 encoded characters.

"""
detect_dominant_language(Text; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectDominantLanguage", Dict{String, Any}("Text"=>Text); aws_config=aws_config)
detect_dominant_language(Text, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectDominantLanguage", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Text"=>Text), params)); aws_config=aws_config)

"""
    detect_entities(text)
    detect_entities(text, params::Dict{String,<:Any})

Inspects text for named entities, and returns information about them. For more information,
about named entities, see how-entities.

# Arguments
- `text`: A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8
  encoded characters.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"EndpointArn"`: The Amazon Resource Name of an endpoint that is associated with a custom
  entity recognition model. Provide an endpoint if you want to detect entities by using your
  own custom model instead of the default model that is used by Amazon Comprehend. If you
  specify an endpoint, Amazon Comprehend uses the language of your custom model, and it
  ignores any language code that you provide in your request.
- `"LanguageCode"`: The language of the input documents. You can specify any of the primary
  languages supported by Amazon Comprehend. All documents must be in the same language. If
  your request includes the endpoint for a custom entity recognition model, Amazon Comprehend
  uses the language of your custom model, and it ignores any language code that you specify
  here.
"""
detect_entities(Text; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectEntities", Dict{String, Any}("Text"=>Text); aws_config=aws_config)
detect_entities(Text, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectEntities", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Text"=>Text), params)); aws_config=aws_config)

"""
    detect_key_phrases(language_code, text)
    detect_key_phrases(language_code, text, params::Dict{String,<:Any})

Detects the key noun phrases found in the text.

# Arguments
- `language_code`: The language of the input documents. You can specify any of the primary
  languages supported by Amazon Comprehend. All documents must be in the same language.
- `text`: A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8
  encoded characters.

"""
detect_key_phrases(LanguageCode, Text; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectKeyPhrases", Dict{String, Any}("LanguageCode"=>LanguageCode, "Text"=>Text); aws_config=aws_config)
detect_key_phrases(LanguageCode, Text, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectKeyPhrases", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("LanguageCode"=>LanguageCode, "Text"=>Text), params)); aws_config=aws_config)

"""
    detect_pii_entities(language_code, text)
    detect_pii_entities(language_code, text, params::Dict{String,<:Any})

Inspects the input text for entities that contain personally identifiable information (PII)
and returns information about them.

# Arguments
- `language_code`: The language of the input documents.
- `text`: A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8
  encoded characters.

"""
detect_pii_entities(LanguageCode, Text; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectPiiEntities", Dict{String, Any}("LanguageCode"=>LanguageCode, "Text"=>Text); aws_config=aws_config)
detect_pii_entities(LanguageCode, Text, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectPiiEntities", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("LanguageCode"=>LanguageCode, "Text"=>Text), params)); aws_config=aws_config)

"""
    detect_sentiment(language_code, text)
    detect_sentiment(language_code, text, params::Dict{String,<:Any})

Inspects text and returns an inference of the prevailing sentiment (POSITIVE, NEUTRAL,
MIXED, or NEGATIVE).

# Arguments
- `language_code`: The language of the input documents. You can specify any of the primary
  languages supported by Amazon Comprehend. All documents must be in the same language.
- `text`: A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8
  encoded characters.

"""
detect_sentiment(LanguageCode, Text; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectSentiment", Dict{String, Any}("LanguageCode"=>LanguageCode, "Text"=>Text); aws_config=aws_config)
detect_sentiment(LanguageCode, Text, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectSentiment", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("LanguageCode"=>LanguageCode, "Text"=>Text), params)); aws_config=aws_config)

"""
    detect_syntax(language_code, text)
    detect_syntax(language_code, text, params::Dict{String,<:Any})

Inspects text for syntax and the part of speech of words in the document. For more
information, how-syntax.

# Arguments
- `language_code`: The language code of the input documents. You can specify any of the
  following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"),
  Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\").
- `text`: A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded
  characters.

"""
detect_syntax(LanguageCode, Text; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectSyntax", Dict{String, Any}("LanguageCode"=>LanguageCode, "Text"=>Text); aws_config=aws_config)
detect_syntax(LanguageCode, Text, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("DetectSyntax", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("LanguageCode"=>LanguageCode, "Text"=>Text), params)); aws_config=aws_config)

"""
    list_document_classification_jobs()
    list_document_classification_jobs(params::Dict{String,<:Any})

Gets a list of the documentation classification jobs that you have submitted.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters the jobs that are returned. You can filter jobs on their names,
  status, or the date and time that they were submitted. You can only set one filter at a
  time.
- `"MaxResults"`: The maximum number of results to return in each page. The default is 100.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_document_classification_jobs(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListDocumentClassificationJobs"; aws_config=aws_config)
list_document_classification_jobs(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListDocumentClassificationJobs", params; aws_config=aws_config)

"""
    list_document_classifiers()
    list_document_classifiers(params::Dict{String,<:Any})

Gets a list of the document classifiers that you have created.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters the jobs that are returned. You can filter jobs on their name,
  status, or the date and time that they were submitted. You can only set one filter at a
  time.
- `"MaxResults"`: The maximum number of results to return in each page. The default is 100.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_document_classifiers(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListDocumentClassifiers"; aws_config=aws_config)
list_document_classifiers(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListDocumentClassifiers", params; aws_config=aws_config)

"""
    list_dominant_language_detection_jobs()
    list_dominant_language_detection_jobs(params::Dict{String,<:Any})

Gets a list of the dominant language detection jobs that you have submitted.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters that jobs that are returned. You can filter jobs on their name,
  status, or the date and time that they were submitted. You can only set one filter at a
  time.
- `"MaxResults"`: The maximum number of results to return in each page. The default is 100.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_dominant_language_detection_jobs(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListDominantLanguageDetectionJobs"; aws_config=aws_config)
list_dominant_language_detection_jobs(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListDominantLanguageDetectionJobs", params; aws_config=aws_config)

"""
    list_endpoints()
    list_endpoints(params::Dict{String,<:Any})

Gets a list of all existing endpoints that you've created.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters the endpoints that are returned. You can filter endpoints on their
  name, model, status, or the date and time that they were created. You can only set one
  filter at a time.
- `"MaxResults"`: The maximum number of results to return in each page. The default is 100.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_endpoints(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListEndpoints"; aws_config=aws_config)
list_endpoints(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListEndpoints", params; aws_config=aws_config)

"""
    list_entities_detection_jobs()
    list_entities_detection_jobs(params::Dict{String,<:Any})

Gets a list of the entity detection jobs that you have submitted.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters the jobs that are returned. You can filter jobs on their name,
  status, or the date and time that they were submitted. You can only set one filter at a
  time.
- `"MaxResults"`: The maximum number of results to return in each page. The default is 100.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_entities_detection_jobs(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListEntitiesDetectionJobs"; aws_config=aws_config)
list_entities_detection_jobs(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListEntitiesDetectionJobs", params; aws_config=aws_config)

"""
    list_entity_recognizers()
    list_entity_recognizers(params::Dict{String,<:Any})

Gets a list of the properties of all entity recognizers that you created, including
recognizers currently in training. Allows you to filter the list of recognizers based on
criteria such as status and submission time. This call returns up to 500 entity recognizers
in the list, with a default number of 100 recognizers in the list. The results of this list
are not in any particular order. Please get the list and sort locally if needed.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters the list of entities returned. You can filter on Status,
  SubmitTimeBefore, or SubmitTimeAfter. You can only set one filter at a time.
- `"MaxResults"`:  The maximum number of results to return on each page. The default is 100.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_entity_recognizers(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListEntityRecognizers"; aws_config=aws_config)
list_entity_recognizers(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListEntityRecognizers", params; aws_config=aws_config)

"""
    list_events_detection_jobs()
    list_events_detection_jobs(params::Dict{String,<:Any})

Gets a list of the events detection jobs that you have submitted.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters the jobs that are returned. You can filter jobs on their name,
  status, or the date and time that they were submitted. You can only set one filter at a
  time.
- `"MaxResults"`: The maximum number of results to return in each page.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_events_detection_jobs(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListEventsDetectionJobs"; aws_config=aws_config)
list_events_detection_jobs(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListEventsDetectionJobs", params; aws_config=aws_config)

"""
    list_key_phrases_detection_jobs()
    list_key_phrases_detection_jobs(params::Dict{String,<:Any})

Get a list of key phrase detection jobs that you have submitted.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters the jobs that are returned. You can filter jobs on their name,
  status, or the date and time that they were submitted. You can only set one filter at a
  time.
- `"MaxResults"`: The maximum number of results to return in each page. The default is 100.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_key_phrases_detection_jobs(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListKeyPhrasesDetectionJobs"; aws_config=aws_config)
list_key_phrases_detection_jobs(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListKeyPhrasesDetectionJobs", params; aws_config=aws_config)

"""
    list_pii_entities_detection_jobs()
    list_pii_entities_detection_jobs(params::Dict{String,<:Any})

Gets a list of the PII entity detection jobs that you have submitted.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters the jobs that are returned. You can filter jobs on their name,
  status, or the date and time that they were submitted. You can only set one filter at a
  time.
- `"MaxResults"`: The maximum number of results to return in each page.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_pii_entities_detection_jobs(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListPiiEntitiesDetectionJobs"; aws_config=aws_config)
list_pii_entities_detection_jobs(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListPiiEntitiesDetectionJobs", params; aws_config=aws_config)

"""
    list_sentiment_detection_jobs()
    list_sentiment_detection_jobs(params::Dict{String,<:Any})

Gets a list of sentiment detection jobs that you have submitted.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters the jobs that are returned. You can filter jobs on their name,
  status, or the date and time that they were submitted. You can only set one filter at a
  time.
- `"MaxResults"`: The maximum number of results to return in each page. The default is 100.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_sentiment_detection_jobs(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListSentimentDetectionJobs"; aws_config=aws_config)
list_sentiment_detection_jobs(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListSentimentDetectionJobs", params; aws_config=aws_config)

"""
    list_tags_for_resource(resource_arn)
    list_tags_for_resource(resource_arn, params::Dict{String,<:Any})

Lists all tags associated with a given Amazon Comprehend resource.

# Arguments
- `resource_arn`: The Amazon Resource Name (ARN) of the given Amazon Comprehend resource
  you are querying.

"""
list_tags_for_resource(ResourceArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListTagsForResource", Dict{String, Any}("ResourceArn"=>ResourceArn); aws_config=aws_config)
list_tags_for_resource(ResourceArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListTagsForResource", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ResourceArn"=>ResourceArn), params)); aws_config=aws_config)

"""
    list_topics_detection_jobs()
    list_topics_detection_jobs(params::Dict{String,<:Any})

Gets a list of the topic detection jobs that you have submitted.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filter"`: Filters the jobs that are returned. Jobs can be filtered on their name,
  status, or the date and time that they were submitted. You can set only one filter at a
  time.
- `"MaxResults"`: The maximum number of results to return in each page. The default is 100.
- `"NextToken"`: Identifies the next page of results to return.
"""
list_topics_detection_jobs(; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListTopicsDetectionJobs"; aws_config=aws_config)
list_topics_detection_jobs(params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("ListTopicsDetectionJobs", params; aws_config=aws_config)

"""
    start_document_classification_job(data_access_role_arn, document_classifier_arn, input_data_config, output_data_config)
    start_document_classification_job(data_access_role_arn, document_classifier_arn, input_data_config, output_data_config, params::Dict{String,<:Any})

Starts an asynchronous document classification job. Use the operation to track the progress
of the job.

# Arguments
- `data_access_role_arn`: The Amazon Resource Name (ARN) of the AWS Identity and Access
  Management (IAM) role that grants Amazon Comprehend read access to your input data.
- `document_classifier_arn`: The Amazon Resource Name (ARN) of the document classifier to
  use to process the job.
- `input_data_config`: Specifies the format and location of the input data for the job.
- `output_data_config`: Specifies where to send the output files.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`: A unique identifier for the request. If you do not set the client
  request token, Amazon Comprehend generates one.
- `"JobName"`: The identifier of the job.
- `"VolumeKmsKeyId"`: ID for the AWS Key Management Service (KMS) key that Amazon
  Comprehend uses to encrypt data on the storage volume attached to the ML compute
  instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the
  following formats:   KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"    Amazon
  Resource Name (ARN) of a KMS Key:
  \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"
- `"VpcConfig"`: Configuration parameters for an optional private Virtual Private Cloud
  (VPC) containing the resources you are using for your document classification job. For more
  information, see Amazon VPC.
"""
start_document_classification_job(DataAccessRoleArn, DocumentClassifierArn, InputDataConfig, OutputDataConfig; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartDocumentClassificationJob", Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "DocumentClassifierArn"=>DocumentClassifierArn, "InputDataConfig"=>InputDataConfig, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
start_document_classification_job(DataAccessRoleArn, DocumentClassifierArn, InputDataConfig, OutputDataConfig, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartDocumentClassificationJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "DocumentClassifierArn"=>DocumentClassifierArn, "InputDataConfig"=>InputDataConfig, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    start_dominant_language_detection_job(data_access_role_arn, input_data_config, output_data_config)
    start_dominant_language_detection_job(data_access_role_arn, input_data_config, output_data_config, params::Dict{String,<:Any})

Starts an asynchronous dominant language detection job for a collection of documents. Use
the operation to track the status of a job.

# Arguments
- `data_access_role_arn`: The Amazon Resource Name (ARN) of the AWS Identity and Access
  Management (IAM) role that grants Amazon Comprehend read access to your input data. For
  more information, see
  https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#au
  th-role-permissions.
- `input_data_config`: Specifies the format and location of the input data for the job.
- `output_data_config`: Specifies where to send the output files.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`: A unique identifier for the request. If you do not set the client
  request token, Amazon Comprehend generates one.
- `"JobName"`: An identifier for the job.
- `"VolumeKmsKeyId"`: ID for the AWS Key Management Service (KMS) key that Amazon
  Comprehend uses to encrypt data on the storage volume attached to the ML compute
  instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the
  following formats:   KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"    Amazon
  Resource Name (ARN) of a KMS Key:
  \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"
- `"VpcConfig"`: Configuration parameters for an optional private Virtual Private Cloud
  (VPC) containing the resources you are using for your dominant language detection job. For
  more information, see Amazon VPC.
"""
start_dominant_language_detection_job(DataAccessRoleArn, InputDataConfig, OutputDataConfig; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartDominantLanguageDetectionJob", Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
start_dominant_language_detection_job(DataAccessRoleArn, InputDataConfig, OutputDataConfig, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartDominantLanguageDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    start_entities_detection_job(data_access_role_arn, input_data_config, language_code, output_data_config)
    start_entities_detection_job(data_access_role_arn, input_data_config, language_code, output_data_config, params::Dict{String,<:Any})

Starts an asynchronous entity detection job for a collection of documents. Use the
operation to track the status of a job. This API can be used for either standard entity
detection or custom entity recognition. In order to be used for custom entity recognition,
the optional EntityRecognizerArn must be used in order to provide access to the recognizer
being used to detect the custom entity.

# Arguments
- `data_access_role_arn`: The Amazon Resource Name (ARN) of the AWS Identity and Access
  Management (IAM) role that grants Amazon Comprehend read access to your input data. For
  more information, see
  https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#au
  th-role-permissions.
- `input_data_config`: Specifies the format and location of the input data for the job.
- `language_code`: The language of the input documents. All documents must be in the same
  language. You can specify any of the languages supported by Amazon Comprehend. If custom
  entities recognition is used, this parameter is ignored and the language used for training
  the model is used instead.
- `output_data_config`: Specifies where to send the output files.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`: A unique identifier for the request. If you don't set the client
  request token, Amazon Comprehend generates one.
- `"EntityRecognizerArn"`: The Amazon Resource Name (ARN) that identifies the specific
  entity recognizer to be used by the StartEntitiesDetectionJob. This ARN is optional and is
  only used for a custom entity recognition job.
- `"JobName"`: The identifier of the job.
- `"VolumeKmsKeyId"`: ID for the AWS Key Management Service (KMS) key that Amazon
  Comprehend uses to encrypt data on the storage volume attached to the ML compute
  instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the
  following formats:   KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"    Amazon
  Resource Name (ARN) of a KMS Key:
  \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"
- `"VpcConfig"`: Configuration parameters for an optional private Virtual Private Cloud
  (VPC) containing the resources you are using for your entity detection job. For more
  information, see Amazon VPC.
"""
start_entities_detection_job(DataAccessRoleArn, InputDataConfig, LanguageCode, OutputDataConfig; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartEntitiesDetectionJob", Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
start_entities_detection_job(DataAccessRoleArn, InputDataConfig, LanguageCode, OutputDataConfig, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartEntitiesDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    start_events_detection_job(data_access_role_arn, input_data_config, language_code, output_data_config, target_event_types)
    start_events_detection_job(data_access_role_arn, input_data_config, language_code, output_data_config, target_event_types, params::Dict{String,<:Any})

Starts an asynchronous event detection job for a collection of documents.

# Arguments
- `data_access_role_arn`: The Amazon Resource Name (ARN) of the AWS Identity and Access
  Management (IAM) role that grants Amazon Comprehend read access to your input data.
- `input_data_config`: Specifies the format and location of the input data for the job.
- `language_code`: The language code of the input documents.
- `output_data_config`: Specifies where to send the output files.
- `target_event_types`: The types of events to detect in the input documents.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`: An unique identifier for the request. If you don't set the client
  request token, Amazon Comprehend generates one.
- `"JobName"`: The identifier of the events detection job.
"""
start_events_detection_job(DataAccessRoleArn, InputDataConfig, LanguageCode, OutputDataConfig, TargetEventTypes; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartEventsDetectionJob", Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "OutputDataConfig"=>OutputDataConfig, "TargetEventTypes"=>TargetEventTypes, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
start_events_detection_job(DataAccessRoleArn, InputDataConfig, LanguageCode, OutputDataConfig, TargetEventTypes, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartEventsDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "OutputDataConfig"=>OutputDataConfig, "TargetEventTypes"=>TargetEventTypes, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    start_key_phrases_detection_job(data_access_role_arn, input_data_config, language_code, output_data_config)
    start_key_phrases_detection_job(data_access_role_arn, input_data_config, language_code, output_data_config, params::Dict{String,<:Any})

Starts an asynchronous key phrase detection job for a collection of documents. Use the
operation to track the status of a job.

# Arguments
- `data_access_role_arn`: The Amazon Resource Name (ARN) of the AWS Identity and Access
  Management (IAM) role that grants Amazon Comprehend read access to your input data. For
  more information, see
  https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#au
  th-role-permissions.
- `input_data_config`: Specifies the format and location of the input data for the job.
- `language_code`: The language of the input documents. You can specify any of the primary
  languages supported by Amazon Comprehend. All documents must be in the same language.
- `output_data_config`: Specifies where to send the output files.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`: A unique identifier for the request. If you don't set the client
  request token, Amazon Comprehend generates one.
- `"JobName"`: The identifier of the job.
- `"VolumeKmsKeyId"`: ID for the AWS Key Management Service (KMS) key that Amazon
  Comprehend uses to encrypt data on the storage volume attached to the ML compute
  instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the
  following formats:   KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"    Amazon
  Resource Name (ARN) of a KMS Key:
  \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"
- `"VpcConfig"`:  Configuration parameters for an optional private Virtual Private Cloud
  (VPC) containing the resources you are using for your key phrases detection job. For more
  information, see Amazon VPC.
"""
start_key_phrases_detection_job(DataAccessRoleArn, InputDataConfig, LanguageCode, OutputDataConfig; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartKeyPhrasesDetectionJob", Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
start_key_phrases_detection_job(DataAccessRoleArn, InputDataConfig, LanguageCode, OutputDataConfig, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartKeyPhrasesDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    start_pii_entities_detection_job(data_access_role_arn, input_data_config, language_code, mode, output_data_config)
    start_pii_entities_detection_job(data_access_role_arn, input_data_config, language_code, mode, output_data_config, params::Dict{String,<:Any})

Starts an asynchronous PII entity detection job for a collection of documents.

# Arguments
- `data_access_role_arn`: The Amazon Resource Name (ARN) of the AWS Identity and Access
  Management (IAM) role that grants Amazon Comprehend read access to your input data.
- `input_data_config`: The input properties for a PII entities detection job.
- `language_code`: The language of the input documents.
- `mode`: Specifies whether the output provides the locations (offsets) of PII entities or
  a file in which PII entities are redacted.
- `output_data_config`: Provides conﬁguration parameters for the output of PII entity
  detection jobs.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`: A unique identifier for the request. If you don't set the client
  request token, Amazon Comprehend generates one.
- `"JobName"`: The identifier of the job.
- `"RedactionConfig"`: Provides configuration parameters for PII entity redaction. This
  parameter is required if you set the Mode parameter to ONLY_REDACTION. In that case, you
  must provide a RedactionConfig definition that includes the PiiEntityTypes parameter.
"""
start_pii_entities_detection_job(DataAccessRoleArn, InputDataConfig, LanguageCode, Mode, OutputDataConfig; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartPiiEntitiesDetectionJob", Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "Mode"=>Mode, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
start_pii_entities_detection_job(DataAccessRoleArn, InputDataConfig, LanguageCode, Mode, OutputDataConfig, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartPiiEntitiesDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "Mode"=>Mode, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    start_sentiment_detection_job(data_access_role_arn, input_data_config, language_code, output_data_config)
    start_sentiment_detection_job(data_access_role_arn, input_data_config, language_code, output_data_config, params::Dict{String,<:Any})

Starts an asynchronous sentiment detection job for a collection of documents. use the
operation to track the status of a job.

# Arguments
- `data_access_role_arn`: The Amazon Resource Name (ARN) of the AWS Identity and Access
  Management (IAM) role that grants Amazon Comprehend read access to your input data. For
  more information, see
  https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#au
  th-role-permissions.
- `input_data_config`: Specifies the format and location of the input data for the job.
- `language_code`: The language of the input documents. You can specify any of the primary
  languages supported by Amazon Comprehend. All documents must be in the same language.
- `output_data_config`: Specifies where to send the output files.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`: A unique identifier for the request. If you don't set the client
  request token, Amazon Comprehend generates one.
- `"JobName"`: The identifier of the job.
- `"VolumeKmsKeyId"`: ID for the AWS Key Management Service (KMS) key that Amazon
  Comprehend uses to encrypt data on the storage volume attached to the ML compute
  instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the
  following formats:   KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"    Amazon
  Resource Name (ARN) of a KMS Key:
  \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"
- `"VpcConfig"`: Configuration parameters for an optional private Virtual Private Cloud
  (VPC) containing the resources you are using for your sentiment detection job. For more
  information, see Amazon VPC.
"""
start_sentiment_detection_job(DataAccessRoleArn, InputDataConfig, LanguageCode, OutputDataConfig; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartSentimentDetectionJob", Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
start_sentiment_detection_job(DataAccessRoleArn, InputDataConfig, LanguageCode, OutputDataConfig, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartSentimentDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "LanguageCode"=>LanguageCode, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    start_topics_detection_job(data_access_role_arn, input_data_config, output_data_config)
    start_topics_detection_job(data_access_role_arn, input_data_config, output_data_config, params::Dict{String,<:Any})

Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob operation to
track the status of a job.

# Arguments
- `data_access_role_arn`: The Amazon Resource Name (ARN) of the AWS Identity and Access
  Management (IAM) role that grants Amazon Comprehend read access to your input data. For
  more information, see
  https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#au
  th-role-permissions.
- `input_data_config`: Specifies the format and location of the input data for the job.
- `output_data_config`: Specifies where to send the output files. The output is a
  compressed archive with two files, topic-terms.csv that lists the terms associated with
  each topic, and doc-topics.csv that lists the documents associated with each topic

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ClientRequestToken"`: A unique identifier for the request. If you do not set the client
  request token, Amazon Comprehend generates one.
- `"JobName"`: The identifier of the job.
- `"NumberOfTopics"`: The number of topics to detect.
- `"VolumeKmsKeyId"`: ID for the AWS Key Management Service (KMS) key that Amazon
  Comprehend uses to encrypt data on the storage volume attached to the ML compute
  instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the
  following formats:   KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"    Amazon
  Resource Name (ARN) of a KMS Key:
  \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"
- `"VpcConfig"`: Configuration parameters for an optional private Virtual Private Cloud
  (VPC) containing the resources you are using for your topic detection job. For more
  information, see Amazon VPC.
"""
start_topics_detection_job(DataAccessRoleArn, InputDataConfig, OutputDataConfig; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartTopicsDetectionJob", Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())); aws_config=aws_config)
start_topics_detection_job(DataAccessRoleArn, InputDataConfig, OutputDataConfig, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StartTopicsDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DataAccessRoleArn"=>DataAccessRoleArn, "InputDataConfig"=>InputDataConfig, "OutputDataConfig"=>OutputDataConfig, "ClientRequestToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    stop_dominant_language_detection_job(job_id)
    stop_dominant_language_detection_job(job_id, params::Dict{String,<:Any})

Stops a dominant language detection job in progress. If the job state is IN_PROGRESS the
job is marked for termination and put into the STOP_REQUESTED state. If the job completes
before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped
and put into the STOPPED state. If the job is in the COMPLETED or FAILED state when you
call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal
Request Exception.  When a job is stopped, any documents already processed are written to
the output location.

# Arguments
- `job_id`: The identifier of the dominant language detection job to stop.

"""
stop_dominant_language_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopDominantLanguageDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
stop_dominant_language_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopDominantLanguageDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    stop_entities_detection_job(job_id)
    stop_entities_detection_job(job_id, params::Dict{String,<:Any})

Stops an entities detection job in progress. If the job state is IN_PROGRESS the job is
marked for termination and put into the STOP_REQUESTED state. If the job completes before
it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put
into the STOPPED state. If the job is in the COMPLETED or FAILED state when you call the
StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request
Exception.  When a job is stopped, any documents already processed are written to the
output location.

# Arguments
- `job_id`: The identifier of the entities detection job to stop.

"""
stop_entities_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopEntitiesDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
stop_entities_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopEntitiesDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    stop_events_detection_job(job_id)
    stop_events_detection_job(job_id, params::Dict{String,<:Any})

Stops an events detection job in progress.

# Arguments
- `job_id`: The identifier of the events detection job to stop.

"""
stop_events_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopEventsDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
stop_events_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopEventsDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    stop_key_phrases_detection_job(job_id)
    stop_key_phrases_detection_job(job_id, params::Dict{String,<:Any})

Stops a key phrases detection job in progress. If the job state is IN_PROGRESS the job is
marked for termination and put into the STOP_REQUESTED state. If the job completes before
it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put
into the STOPPED state. If the job is in the COMPLETED or FAILED state when you call the
StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request
Exception.  When a job is stopped, any documents already processed are written to the
output location.

# Arguments
- `job_id`: The identifier of the key phrases detection job to stop.

"""
stop_key_phrases_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopKeyPhrasesDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
stop_key_phrases_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopKeyPhrasesDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    stop_pii_entities_detection_job(job_id)
    stop_pii_entities_detection_job(job_id, params::Dict{String,<:Any})

Stops a PII entities detection job in progress.

# Arguments
- `job_id`: The identifier of the PII entities detection job to stop.

"""
stop_pii_entities_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopPiiEntitiesDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
stop_pii_entities_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopPiiEntitiesDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    stop_sentiment_detection_job(job_id)
    stop_sentiment_detection_job(job_id, params::Dict{String,<:Any})

Stops a sentiment detection job in progress. If the job state is IN_PROGRESS the job is
marked for termination and put into the STOP_REQUESTED state. If the job completes before
it can be stopped, it is put into the COMPLETED state; otherwise the job is be stopped and
put into the STOPPED state. If the job is in the COMPLETED or FAILED state when you call
the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal
Request Exception.  When a job is stopped, any documents already processed are written to
the output location.

# Arguments
- `job_id`: The identifier of the sentiment detection job to stop.

"""
stop_sentiment_detection_job(JobId; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopSentimentDetectionJob", Dict{String, Any}("JobId"=>JobId); aws_config=aws_config)
stop_sentiment_detection_job(JobId, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopSentimentDetectionJob", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("JobId"=>JobId), params)); aws_config=aws_config)

"""
    stop_training_document_classifier(document_classifier_arn)
    stop_training_document_classifier(document_classifier_arn, params::Dict{String,<:Any})

Stops a document classifier training job while in progress. If the training job state is
TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the
training job completes before it can be stopped, it is put into the TRAINED; otherwise the
training job is stopped and put into the STOPPED state and the service sends back an HTTP
200 response with an empty HTTP body.

# Arguments
- `document_classifier_arn`: The Amazon Resource Name (ARN) that identifies the document
  classifier currently being trained.

"""
stop_training_document_classifier(DocumentClassifierArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopTrainingDocumentClassifier", Dict{String, Any}("DocumentClassifierArn"=>DocumentClassifierArn); aws_config=aws_config)
stop_training_document_classifier(DocumentClassifierArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopTrainingDocumentClassifier", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DocumentClassifierArn"=>DocumentClassifierArn), params)); aws_config=aws_config)

"""
    stop_training_entity_recognizer(entity_recognizer_arn)
    stop_training_entity_recognizer(entity_recognizer_arn, params::Dict{String,<:Any})

Stops an entity recognizer training job while in progress. If the training job state is
TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the
training job completes before it can be stopped, it is put into the TRAINED; otherwise the
training job is stopped and putted into the STOPPED state and the service sends back an
HTTP 200 response with an empty HTTP body.

# Arguments
- `entity_recognizer_arn`: The Amazon Resource Name (ARN) that identifies the entity
  recognizer currently being trained.

"""
stop_training_entity_recognizer(EntityRecognizerArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopTrainingEntityRecognizer", Dict{String, Any}("EntityRecognizerArn"=>EntityRecognizerArn); aws_config=aws_config)
stop_training_entity_recognizer(EntityRecognizerArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("StopTrainingEntityRecognizer", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("EntityRecognizerArn"=>EntityRecognizerArn), params)); aws_config=aws_config)

"""
    tag_resource(resource_arn, tags)
    tag_resource(resource_arn, tags, params::Dict{String,<:Any})

Associates a specific tag with an Amazon Comprehend resource. A tag is a key-value pair
that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with
\"Sales\" as the key might be added to a resource to indicate its use by the sales
department.

# Arguments
- `resource_arn`: The Amazon Resource Name (ARN) of the given Amazon Comprehend resource to
  which you want to associate the tags.
- `tags`: Tags being associated with a specific Amazon Comprehend resource. There can be a
  maximum of 50 tags (both existing and pending) associated with a specific resource.

"""
tag_resource(ResourceArn, Tags; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("TagResource", Dict{String, Any}("ResourceArn"=>ResourceArn, "Tags"=>Tags); aws_config=aws_config)
tag_resource(ResourceArn, Tags, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("TagResource", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ResourceArn"=>ResourceArn, "Tags"=>Tags), params)); aws_config=aws_config)

"""
    untag_resource(resource_arn, tag_keys)
    untag_resource(resource_arn, tag_keys, params::Dict{String,<:Any})

Removes a specific tag associated with an Amazon Comprehend resource.

# Arguments
- `resource_arn`:  The Amazon Resource Name (ARN) of the given Amazon Comprehend resource
  from which you want to remove the tags.
- `tag_keys`: The initial part of a key-value pair that forms a tag being removed from a
  given resource. For example, a tag with \"Sales\" as the key might be added to a resource
  to indicate its use by the sales department. Keys must be unique and cannot be duplicated
  for a particular resource.

"""
untag_resource(ResourceArn, TagKeys; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("UntagResource", Dict{String, Any}("ResourceArn"=>ResourceArn, "TagKeys"=>TagKeys); aws_config=aws_config)
untag_resource(ResourceArn, TagKeys, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("UntagResource", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ResourceArn"=>ResourceArn, "TagKeys"=>TagKeys), params)); aws_config=aws_config)

"""
    update_endpoint(desired_inference_units, endpoint_arn)
    update_endpoint(desired_inference_units, endpoint_arn, params::Dict{String,<:Any})

Updates information about the specified endpoint.

# Arguments
- `desired_inference_units`:  The desired number of inference units to be used by the model
  using this endpoint. Each inference unit represents of a throughput of 100 characters per
  second.
- `endpoint_arn`: The Amazon Resource Number (ARN) of the endpoint being updated.

"""
update_endpoint(DesiredInferenceUnits, EndpointArn; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("UpdateEndpoint", Dict{String, Any}("DesiredInferenceUnits"=>DesiredInferenceUnits, "EndpointArn"=>EndpointArn); aws_config=aws_config)
update_endpoint(DesiredInferenceUnits, EndpointArn, params::AbstractDict{String, <:Any}; aws_config::AbstractAWSConfig=global_aws_config()) = comprehend("UpdateEndpoint", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("DesiredInferenceUnits"=>DesiredInferenceUnits, "EndpointArn"=>EndpointArn), params)); aws_config=aws_config)


text:
module HopfieldNetwork

    using Statistics
    using LinearAlgebra

    export
        SimpleHN,
        predict_error

    abstract type NeuralNetwork end
    abstract type RecurrentNN <: NeuralNetwork end
    abstract type HopfieldN <: RecurrentNN end

    mutable struct SimpleHN{T} <: HopfieldN where T <: AbstractFloat
        traindata::Matrix{T}
        testdata::Matrix{T}

        n_epochs::Integer

        w::Matrix{T}

        function SimpleHN{T}(
            traindata::Matrix{T},
            testdata::Matrix{T},
            ;
            n_epochs::Integer=1000,
        ) where T <: AbstractFloat
            w = (traindata' * traindata) / 4
            w -= Diagonal(w)
            new(traindata, testdata, n_epochs, w)
        end
    end

    function predict_error(hn::HopfieldN)::AbstractFloat
        res = Vector[]
        for s ∈ eachrow(hn.testdata)
            s = hcat(s)
            in_d = collect(s')
            out_d = sign.(in_d * hn.w)
            c = 1
            while in_d != out_d && c <= hn.n_epochs
                in_d = out_d
                out_d = sign.(in_d * hn.w)
                c += 1
            end
            push!(res, vcat(out_d...))
        end
        res = collect(hcat(res...)')
        mean(abs.(hn.traindata - res))
    end
end

ext: jl


text:
# ---
# title: 449. Serialize and Deserialize BST
# id: problem449
# author: Tian Jun
# date: 2020-10-31
# difficulty: Medium
# categories: Tree
# link: <https://leetcode.com/problems/serialize-and-deserialize-bst/description/>
# hidden: true
# ---
#
# Serialization is converting a data structure or object into a sequence of bits
# so that it can be stored in a file or memory buffer, or transmitted across a
# network connection link to be reconstructed later in the same or another
# computer environment.
#
# Design an algorithm to serialize and deserialize a **binary search tree**.
# There is no restriction on how your serialization/deserialization algorithm
# should work. You need to ensure that a binary search tree can be serialized to
# a string, and this string can be deserialized to the original tree structure.
#
# **The encoded string should be as compact as possible.**
#
#
#
# **Example 1:**
#
#
#
#     Input: root = [2,1,3]
#     Output: [2,1,3]
#
#
# **Example 2:**
#
#
#
#     Input: root = []
#     Output: []
#
#
#
#
# **Constraints:**
#
#   * The number of nodes in the tree is in the range `[0, 104]`.
#   * `0 <= Node.val <= 104`
#   * The input tree is **guaranteed** to be a binary search tree.
#
#
## @lc code=start
using LeetCode

## add your code here:
## @lc code=end


text:
@doc """
    Ev = readuwevt(fpat)

Read UW-format event data with file pattern stub `fpat` into SeisEvent `Ev`. `fstub` can be a datafile name, a pickfile name, or a stub:
* A datafile name must end in 'W'
* A pickfile name must end in a lowercase letter (a-z except w) and should describe a single event.
* A filename stub must be complete except for the last letter, e.g. "99062109485".
* Wild cards for multi-file read are not supported by `readuw` because the data format is strictly event-oriented.
""" readuwevt
function readuwevt(filename::String; v::Int64=KW.v, full::Bool=false)

  df = String("")
  pf = String("")

  # Identify pickfile and datafile
  if Sys.iswindows() == false
    filename = relpath(filename)
  end
  ec = UInt8(filename[end])
  lc = vcat(collect(UInt8, 0x61:0x76), 0x78, 0x79, 0x7a) # skip 'w'
  if Base.in(ec, lc)
    pf = filename
    df = filename[1:end-1]*"W"
  else
    if ec == 0x57
      df = filename
      pfstub = filename[1:end-1]
    else
      df = filename*"W"
      safe_isfile(df) || error("Invalid filename stub (no corresponding data file)!")
      pfstub = filename
    end
    pf = pfstub * "\0"
    for i in lc
      pf = string(pfstub, Char(i))
      if safe_isfile(pf)
        break
      end
    end
  end

  # Datafile + pickfile read wrappers
  if safe_isfile(df)

    # Datafile read wrapper
    v>0 && println(stdout, "Reading datafile ", df)

    W = SeisEvent()
    setfield!(W, :data, unsafe_convert(EventTraceData, uwdf(df, v=v, full=true)))

    v>0 && println(stdout, "Done reading data file.")

    # Pickfile read wrapper
    if safe_isfile(pf)
      v>0 && println(stdout, "Reading pickfile ", pf)

      uwpf!(W, pf, v=v)

      v>0 && println(stdout, "Done reading pick file.")

      # Move event keys to event header dict
      hdr = getfield(W, :hdr)
      data = getfield(W, :data)

      klist = ("extra", "flags", "mast_event_no", "mast_fs", "mast_lmin", "mast_lsec", "mast_nx", "mast_tape_no")
      D_data = getindex(getfield(data, :misc), 1)
      D_hdr = getfield(hdr, :misc)
      for k in klist
        D_hdr[k] = D_data[k]
        delete!(D_data, k)
      end
      D_hdr["comment_df"] = D_data["comment"]
      delete!(D_data, "comment")

      # Convert all phase arrival times to travel times
      δt = 1.0e-6*(rem(hdr.ot.instant.periods.value*1000 - dtconst, 60000000))
      for i = 1:data.n
        D = getindex(getfield(data, :pha), i)
        for p in keys(D)
          pha = get(D, p, SeisPha())
          tt = getfield(pha, :tt) - δt
          if tt < 0.0
            tt = mod(tt, 60)
          end
          setfield!(pha, :tt, tt)
        end
      end
      #= Note: use of "mod" above corrects for the (annoyingly frequent) case
      where file begin time and origin time have a different minute value.
      =#

    else
      v>0 && println(stdout, "Skipping pickfile (not found or not given)")
    end

  # Pickfile only
  else
    (hdr, source) = uwpf(pf, v=v)
    W = SeisEvent(hdr = hdr, source = source)
  end

  # Set event name if unset
  if isempty(W.hdr.id)
    evid = String((split(safe_isfile(pf) ? pf : df, r"[/\\]")[end])[1:end-1])
    W.hdr.id = evid
    W.source.eid = evid
  end

  return W
end


text:
# Automated generation by c header files using Clang.jl
# See
# http://nbviewer.jupyter.org/github/ihnorton/Clang.jl/blob/master/examples/parsing_c_with_clangjl/notebook.ipynb
#
using Clang.wrap_c

# add libclang to DL_LOAD_PATH
try
    ENV["LLVM_CONFIG"] = readchomp(`which llvm-config-3.6`)
catch
    try
        ENV["LLVM_CONFIG"] = readchomp(`which llvm-config`)
    catch
        error("llvm-config not found")
    end
end
push!(Libdl.DL_LOAD_PATH, readchomp(`$(ENV["LLVM_CONFIG"]) --libdir`))

include(joinpath(dirname(@__FILE__), "constants.jl"))
cd(Pkg.dir("CSDP", "deps", "src", csdpversion))

wrap_c.cl_to_jl[Clang.cindex.Pointer] = :Ptr
header_naming = n -> Pkg.dir("CSDP", "src", "$(basename(n)).jl")
context = wrap_c.init(header_outputfile = header_naming,
                      header_library = "CSDP.csdp",
                      clang_diagnostics=true,
                      common_file = Pkg.dir("CSDP", "src", "blockmat.h.jl"),
                      clang_args = ["-DNOSHORTS"])
                      # rewriter = s -> (println(s); s))
context.options.wrap_structs = true
wrap_c.wrap_c_headers(context, ["include/blockmat.h", "include/declarations.h"])

function readchangewrite(f, fname)
    content = readstring(fname)
    open(fname, "w") do file
        write(file, f(content))
    end
end

readchangewrite(header_naming("blockmat.h")) do b
    for (pat, subs) in [(r"^( begin enum)"m, s"#\1")
                       ,(r"^(nst NOSHORTS = 1)$"m, s"co\1")
                      #,(r"::Ptr", s"::Ref")
                       ,(r"\ntype "m, "\nimmutable ")
                       ]
        b = replace(b, pat, subs)
    end
    b
end

readchangewrite(header_naming("declarations.h")) do d
    replace(d, r"\nfunction \w+_\(\)\n(.+?)\nend\n"sm, "")
end


text:
function initialize!(p::GridVisualizer,::Type{MeshCatType})
    MeshCat=p.context[:Plotter]
    layout=p.context[:layout]
    @assert(layout==(1,1))
    vis=MeshCat.Visualizer()
    MeshCat.send(vis.core, MeshCat.SetProperty(MeshCat.Path(["Grid"]), "visible", false))
    MeshCat.send(vis.core, MeshCat.SetProperty(MeshCat.Path(["Background"]), "visible", false))
    p.context[:scene]=vis
    for I in CartesianIndices(layout)
        ctx=p.subplots[I]
        ctx[:figure]=p.context[:scene]
    end
end

function reveal(p::GridVisualizer,::Type{MeshCatType})
    MeshCat=p.context[:Plotter]
    MeshCat.IJuliaCell(p.context[:scene])
end

function reveal(ctx::SubVisualizer,TP::Type{MeshCatType})
    if ctx[:show]||ctx[:reveal]
        reveal(ctx[:GridVisualizer],TP)
    end
end

gridplot!(ctx, TP::Type{MeshCatType}, ::Type{Val{1}}, grid)=nothing
scalarplot!(ctx, TP::Type{MeshCatType}, ::Type{Val{1}}, grid,func)=nothing

# 2D grid
function gridplot!(ctx, TP::Type{MeshCatType}, ::Type{Val{2}},grid)
    MeshCat=ctx[:Plotter]
    vis=ctx[:figure]

    nregions=num_cellregions(grid)
    nbregions=num_bfaceregions(grid)

    cmap=region_cmap(nregions)
    bcmap=bregion_cmap(nbregions)
    for i=1:nregions

        mesh=regionmesh(grid,i)
        MeshCat.setobject!(vis["interior"]["r$(i)"],
                           mesh,
                           MeshCat.MeshLambertMaterial(color=RGBA{Float32}(cmap[i],1.0)))
        MeshCat.setobject!(vis["interior"]["r$(i)_edges"], mesh,MeshCat.MeshPhongMaterial(color=RGBA{Float32}(0.0, 0.0,0.0,1.0),wireframe=true))
    end

    for i=1:nbregions
        points=bfacesegments3(grid,i)
        mat=MeshCat.MeshLambertMaterial(color=RGBA{Float32}(bcmap[i],1.0))
        ls=MeshCat.LineSegments(points,mat)
        MeshCat.setobject!(vis["boundary"]["b$(i)"],  ls)
    end
    MeshCat.send(vis.core, MeshCat.SetProperty(MeshCat.Path(["Axes"]), "visible", false))

    reveal(ctx,TP)

end

function gridplot!(ctx, TP::Type{MeshCatType}, ::Type{Val{3}},grid)

    MeshCat=ctx[:Plotter]
    vis=ctx[:figure]

    nregions=num_cellregions(grid)
    nbregions=num_bfaceregions(grid)
    cmap=region_cmap(nregions)
    bcmap=bregion_cmap(nbregions)

    xyzmin=zeros(3)
    xyzmax=ones(3)
    coord=grid[Coordinates]
    @views for idim=1:3
        xyzmin[idim]=minimum(coord[idim,:])
        xyzmax[idim]=maximum(coord[idim,:])
    end

    ctx[:xplane]=max(xyzmin[1],min(xyzmax[1],ctx[:xplane]) )
    ctx[:yplane]=max(xyzmin[2],min(xyzmax[2],ctx[:yplane]) )
    ctx[:zplane]=max(xyzmin[3],min(xyzmax[3],ctx[:zplane]) )

    xyzcut=[ctx[:xplane],ctx[:yplane],ctx[:zplane]]

    if ctx[:interior]
        pts,fcs=extract_visible_cells3D(grid,
                                        xyzcut,
                                        primepoints=hcat(xyzmin,xyzmax),
                                        Tp=Point3f,
                                        Tf=GLTriangleFace)

        for i=1:nregions
            mesh=Mesh(pts[i],fcs[i])
            MeshCat.setobject!(vis["r$(i)"],
                               mesh,
                               MeshCat.MeshLambertMaterial(color=RGBA{Float32}(cmap[i],1.0)))
            MeshCat.setobject!(vis["r$(i)_edges"], mesh,MeshCat.MeshPhongMaterial(color=RGBA{Float32}(0.0, 0.0,0.0,1.0),wireframe=true))
        end
    end

    pts,fcs=extract_visible_bfaces3D(grid,
                                     xyzcut,
                                     primepoints=hcat(xyzmin,xyzmax),
                                     Tp=Point3f,
                                     Tf=GLTriangleFace)

    for i=1:nbregions
        mesh=Mesh(pts[i],fcs[i])
        MeshCat.setobject!(vis["b$(i)"],
                           mesh,
                           MeshCat.MeshLambertMaterial(color=RGBA{Float32}(bcmap[i],1.0)))
        MeshCat.setobject!(vis["b$(i)_edges"], mesh,MeshCat.MeshPhongMaterial(color=RGBA{Float32}(0.0, 0.0,0.0,1.0),wireframe=true))
    end

    reveal(ctx,TP)
end

function scalarplot!(ctx, TP::Type{MeshCatType}, ::Type{Val{3}},grid,func)

    MeshCat=ctx[:Plotter]
    vis=ctx[:figure]

    nregions=num_cellregions(grid)
    nbregions=num_bfaceregions(grid)
    bcmap=bregion_cmap(nbregions)
    xyzmin=zeros(3)
    xyzmax=ones(3)
    coord=grid[Coordinates]
    @views for idim=1:3
        xyzmin[idim]=minimum(coord[idim,:])
        xyzmax[idim]=maximum(coord[idim,:])
    end
    xyzcut=[ctx[:xplane],ctx[:yplane],ctx[:zplane]]
    fminmax=extrema(func)

    ctx[:xplane]=max(xyzmin[1],min(xyzmax[1],ctx[:xplane]) )
    ctx[:yplane]=max(xyzmin[2],min(xyzmax[2],ctx[:yplane]) )
    ctx[:zplane]=max(xyzmin[3],min(xyzmax[3],ctx[:zplane]) )
    ctx[:flevel]=max(fminmax[1],min(fminmax[2],ctx[:flevel]))

    makeplanes(x,y,z)=[[1,0,0,-x],
                       [0,1,0,-y],
                       [0,0,1,-z]]

    ccoord,faces,values=marching_tetrahedra(grid,
                                            func,
                                            makeplanes(ctx[:xplane],ctx[:yplane],ctx[:zplane]),
                                            [ctx[:flevel]],
                                            primepoints=hcat(xyzmin,xyzmax),
                                            primevalues=fminmax,
                                            Tp=Point3f,
                                            Tf=GLTriangleFace,
                                            Tv=Float32
                                            )
    mesh=Mesh(ccoord,faces)

    to01(v)=(v-fminmax[1])/(fminmax[2]-fminmax[1])
    rgb(v)=RGB(v,0.0,1.0-v)

    vcmap=colorschemes[ctx[:colormap]]
    mesh_meta=meta(mesh, vertexColors=[get(vcmap,values[i]) for i=1:length(values) ])
    material = MeshCat.MeshLambertMaterial(vertexColors=true)

    MeshCat.setobject!(vis[:marching_tets], mesh_meta, material)

    if ctx[:outline]

        pts,fcs=extract_visible_bfaces3D(grid,
                                         xyzmax,
                                         primepoints=hcat(xyzmin,xyzmax),
                                         Tp=Point3f,
                                         Tf=GLTriangleFace)
        for i=1:nbregions
            mesh=Mesh(pts[i],fcs[i])
            MeshCat.setobject!(vis["b$(i)"],
                               mesh,
                               MeshCat.MeshLambertMaterial(color=color=RGBA{Float32}(bcmap[i],0.35)))
        end

    end
    reveal(ctx,TP)
end