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

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

Accepts an Amazon Macie membership invitation that was received from a specific account.

# Arguments
- `invitation_id`: The unique identifier for the invitation to accept.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"administratorAccountId"`: The Amazon Web Services account ID for the account that sent
  the invitation.
- `"masterAccount"`: (Deprecated) The Amazon Web Services account ID for the account that
  sent the invitation. This property has been replaced by the administratorAccountId property
  and is retained only for backward compatibility.
"""
accept_invitation(invitationId; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/invitations/accept", Dict{String, Any}("invitationId"=>invitationId); aws_config=aws_config)
accept_invitation(invitationId, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/invitations/accept", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("invitationId"=>invitationId), params)); aws_config=aws_config)

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

Retrieves information about one or more custom data identifiers.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ids"`: An array of strings that lists the unique identifiers for the custom data
  identifiers to retrieve information about.
"""
batch_get_custom_data_identifiers(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/custom-data-identifiers/get"; aws_config=aws_config)
batch_get_custom_data_identifiers(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/custom-data-identifiers/get", params; aws_config=aws_config)

"""
    create_classification_job(client_token, job_type, name, s3_job_definition)
    create_classification_job(client_token, job_type, name, s3_job_definition, params::Dict{String,<:Any})

 Creates and defines the settings for a classification job.

# Arguments
- `client_token`: A unique, case-sensitive token that you provide to ensure the idempotency
  of the request.
- `job_type`: The schedule for running the job. Valid values are: ONE_TIME - Run the job
  only once. If you specify this value, don't specify a value for the scheduleFrequency
  property. SCHEDULED - Run the job on a daily, weekly, or monthly basis. If you specify this
  value, use the scheduleFrequency property to define the recurrence pattern for the job.
- `name`: A custom name for the job. The name can contain as many as 500 characters.
- `s3_job_definition`: The S3 buckets that contain the objects to analyze, and the scope of
  that analysis.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"customDataIdentifierIds"`: The custom data identifiers to use for data analysis and
  classification.
- `"description"`: A custom description of the job. The description can contain as many as
  200 characters.
- `"initialRun"`: Specifies whether to analyze all existing, eligible objects immediately
  after the job is created.
- `"samplingPercentage"`: The sampling depth, as a percentage, to apply when processing
  objects. This value determines the percentage of eligible objects that the job analyzes. If
  this value is less than 100, Amazon Macie selects the objects to analyze at random, up to
  the specified percentage, and analyzes all the data in those objects.
- `"scheduleFrequency"`: The recurrence pattern for running the job. To run the job only
  once, don't specify a value for this property and set the value for the jobType property to
  ONE_TIME.
- `"tags"`: A map of key-value pairs that specifies the tags to associate with the job. A
  job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag
  value. The maximum length of a tag key is 128 characters. The maximum length of a tag value
  is 256 characters.
"""
create_classification_job(clientToken, jobType, name, s3JobDefinition; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/jobs", Dict{String, Any}("clientToken"=>clientToken, "jobType"=>jobType, "name"=>name, "s3JobDefinition"=>s3JobDefinition); aws_config=aws_config)
create_classification_job(clientToken, jobType, name, s3JobDefinition, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/jobs", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("clientToken"=>clientToken, "jobType"=>jobType, "name"=>name, "s3JobDefinition"=>s3JobDefinition), params)); aws_config=aws_config)

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

Creates and defines the criteria and other settings for a custom data identifier.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"clientToken"`: A unique, case-sensitive token that you provide to ensure the
  idempotency of the request.
- `"description"`: A custom description of the custom data identifier. The description can
  contain as many as 512 characters. We strongly recommend that you avoid including any
  sensitive data in the description of a custom data identifier. Other users of your account
  might be able to see the identifier's description, depending on the actions that they're
  allowed to perform in Amazon Macie.
- `"ignoreWords"`: An array that lists specific character sequences (ignore words) to
  exclude from the results. If the text matched by the regular expression is the same as any
  string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore
  words. Each ignore word can contain 4-90 characters. Ignore words are case sensitive.
- `"keywords"`: An array that lists specific character sequences (keywords), one of which
  must be within proximity (maximumMatchDistance) of the regular expression to match. The
  array can contain as many as 50 keywords. Each keyword can contain 3-90 characters.
  Keywords aren't case sensitive.
- `"maximumMatchDistance"`: The maximum number of characters that can exist between text
  that matches the regex pattern and the character sequences specified by the keywords array.
  Macie includes or excludes a result based on the proximity of a keyword to text that
  matches the regex pattern. The distance can be 1-300 characters. The default value is 50.
- `"name"`: A custom name for the custom data identifier. The name can contain as many as
  128 characters. We strongly recommend that you avoid including any sensitive data in the
  name of a custom data identifier. Other users of your account might be able to see the
  identifier's name, depending on the actions that they're allowed to perform in Amazon Macie.
- `"regex"`: The regular expression (regex) that defines the pattern to match. The
  expression can contain as many as 512 characters.
- `"tags"`: A map of key-value pairs that specifies the tags to associate with the custom
  data identifier. A custom data identifier can have a maximum of 50 tags. Each tag consists
  of a tag key and an associated tag value. The maximum length of a tag key is 128
  characters. The maximum length of a tag value is 256 characters.
"""
create_custom_data_identifier(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/custom-data-identifiers", Dict{String, Any}("clientToken"=>string(uuid4())); aws_config=aws_config)
create_custom_data_identifier(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/custom-data-identifiers", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("clientToken"=>string(uuid4())), params)); aws_config=aws_config)

"""
    create_findings_filter(action, finding_criteria, name)
    create_findings_filter(action, finding_criteria, name, params::Dict{String,<:Any})

Creates and defines the criteria and other settings for a findings filter.

# Arguments
- `action`: The action to perform on findings that meet the filter criteria
  (findingCriteria). Valid values are: ARCHIVE, suppress (automatically archive) the
  findings; and, NOOP, don't perform any action on the findings.
- `finding_criteria`: The criteria to use to filter findings.
- `name`: A custom name for the filter. The name must contain at least 3 characters and can
  contain as many as 64 characters. We strongly recommend that you avoid including any
  sensitive data in the name of a filter. Other users of your account might be able to see
  the filter's name, depending on the actions that they're allowed to perform in Amazon Macie.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"clientToken"`: A unique, case-sensitive token that you provide to ensure the
  idempotency of the request.
- `"description"`: A custom description of the filter. The description can contain as many
  as 512 characters. We strongly recommend that you avoid including any sensitive data in the
  description of a filter. Other users of your account might be able to see the filter's
  description, depending on the actions that they're allowed to perform in Amazon Macie.
- `"position"`: The position of the filter in the list of saved filters on the Amazon Macie
  console. This value also determines the order in which the filter is applied to findings,
  relative to other filters that are also applied to the findings.
- `"tags"`: A map of key-value pairs that specifies the tags to associate with the filter.
  A findings filter can have a maximum of 50 tags. Each tag consists of a tag key and an
  associated tag value. The maximum length of a tag key is 128 characters. The maximum length
  of a tag value is 256 characters.
"""
create_findings_filter(action, findingCriteria, name; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/findingsfilters", Dict{String, Any}("action"=>action, "findingCriteria"=>findingCriteria, "name"=>name, "clientToken"=>string(uuid4())); aws_config=aws_config)
create_findings_filter(action, findingCriteria, name, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/findingsfilters", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("action"=>action, "findingCriteria"=>findingCriteria, "name"=>name, "clientToken"=>string(uuid4())), params)); aws_config=aws_config)

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

Sends an Amazon Macie membership invitation to one or more accounts.

# Arguments
- `account_ids`: An array that lists Amazon Web Services account IDs, one for each account
  to send the invitation to.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"disableEmailNotification"`: Specifies whether to send an email notification to the root
  user of each account that the invitation will be sent to. This notification is in addition
  to an alert that the root user receives in Personal Health Dashboard. To send an email
  notification to the root user of each account, set this value to true.
- `"message"`: A custom message to include in the invitation. Amazon Macie adds this
  message to the standard content that it sends for an invitation.
"""
create_invitations(accountIds; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/invitations", Dict{String, Any}("accountIds"=>accountIds); aws_config=aws_config)
create_invitations(accountIds, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/invitations", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("accountIds"=>accountIds), params)); aws_config=aws_config)

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

Associates an account with an Amazon Macie administrator account.

# Arguments
- `account`: The details of the account to associate with the administrator account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"tags"`: A map of key-value pairs that specifies the tags to associate with the account
  in Amazon Macie. An account can have a maximum of 50 tags. Each tag consists of a tag key
  and an associated tag value. The maximum length of a tag key is 128 characters. The maximum
  length of a tag value is 256 characters.
"""
create_member(account; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/members", Dict{String, Any}("account"=>account); aws_config=aws_config)
create_member(account, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/members", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("account"=>account), params)); aws_config=aws_config)

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

Creates sample findings.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"findingTypes"`: An array that lists one or more types of findings to include in the set
  of sample findings. Currently, the only supported value is
  Policy:IAMUser/S3BucketEncryptionDisabled.
"""
create_sample_findings(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/findings/sample"; aws_config=aws_config)
create_sample_findings(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/findings/sample", params; aws_config=aws_config)

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

Declines Amazon Macie membership invitations that were received from specific accounts.

# Arguments
- `account_ids`: An array that lists Amazon Web Services account IDs, one for each account
  that sent an invitation to decline.

"""
decline_invitations(accountIds; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/invitations/decline", Dict{String, Any}("accountIds"=>accountIds); aws_config=aws_config)
decline_invitations(accountIds, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/invitations/decline", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("accountIds"=>accountIds), params)); aws_config=aws_config)

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

Soft deletes a custom data identifier.

# Arguments
- `id`: The unique identifier for the Amazon Macie resource or account that the request
  applies to.

"""
delete_custom_data_identifier(id; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/custom-data-identifiers/$(id)"; aws_config=aws_config)
delete_custom_data_identifier(id, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/custom-data-identifiers/$(id)", params; aws_config=aws_config)

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

Deletes a findings filter.

# Arguments
- `id`: The unique identifier for the Amazon Macie resource or account that the request
  applies to.

"""
delete_findings_filter(id; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/findingsfilters/$(id)"; aws_config=aws_config)
delete_findings_filter(id, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/findingsfilters/$(id)", params; aws_config=aws_config)

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

Deletes Amazon Macie membership invitations that were received from specific accounts.

# Arguments
- `account_ids`: An array that lists Amazon Web Services account IDs, one for each account
  that sent an invitation to delete.

"""
delete_invitations(accountIds; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/invitations/delete", Dict{String, Any}("accountIds"=>accountIds); aws_config=aws_config)
delete_invitations(accountIds, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/invitations/delete", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("accountIds"=>accountIds), params)); aws_config=aws_config)

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

Deletes the association between an Amazon Macie administrator account and an account.

# Arguments
- `id`: The unique identifier for the Amazon Macie resource or account that the request
  applies to.

"""
delete_member(id; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/members/$(id)"; aws_config=aws_config)
delete_member(id, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/members/$(id)", params; aws_config=aws_config)

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

 Retrieves (queries) statistical data and other information about one or more S3 buckets
that Amazon Macie monitors and analyzes.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"criteria"`: The criteria to use to filter the query results.
- `"maxResults"`: The maximum number of items to include in each page of the response. The
  default value is 50.
- `"nextToken"`: The nextToken string that specifies which page of results to return in a
  paginated response.
- `"sortCriteria"`: The criteria to use to sort the query results.
"""
describe_buckets(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/datasources/s3"; aws_config=aws_config)
describe_buckets(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/datasources/s3", params; aws_config=aws_config)

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

Retrieves the status and settings for a classification job.

# Arguments
- `job_id`: The unique identifier for the classification job.

"""
describe_classification_job(jobId; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/jobs/$(jobId)"; aws_config=aws_config)
describe_classification_job(jobId, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/jobs/$(jobId)", params; aws_config=aws_config)

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

Retrieves the Amazon Macie configuration settings for an Amazon Web Services organization.

"""
describe_organization_configuration(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/admin/configuration"; aws_config=aws_config)
describe_organization_configuration(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/admin/configuration", params; aws_config=aws_config)

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

Disables an Amazon Macie account and deletes Macie resources for the account.

"""
disable_macie(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/macie"; aws_config=aws_config)
disable_macie(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/macie", params; aws_config=aws_config)

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

Disables an account as the delegated Amazon Macie administrator account for an Amazon Web
Services organization.

# Arguments
- `admin_account_id`: The Amazon Web Services account ID of the delegated Amazon Macie
  administrator account.

"""
disable_organization_admin_account(adminAccountId; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/admin", Dict{String, Any}("adminAccountId"=>adminAccountId); aws_config=aws_config)
disable_organization_admin_account(adminAccountId, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/admin", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("adminAccountId"=>adminAccountId), params)); aws_config=aws_config)

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

Disassociates a member account from its Amazon Macie administrator account.

"""
disassociate_from_administrator_account(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/administrator/disassociate"; aws_config=aws_config)
disassociate_from_administrator_account(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/administrator/disassociate", params; aws_config=aws_config)

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

(Deprecated) Disassociates a member account from its Amazon Macie administrator account.
This operation has been replaced by the DisassociateFromAdministratorAccount operation.

"""
disassociate_from_master_account(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/master/disassociate"; aws_config=aws_config)
disassociate_from_master_account(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/master/disassociate", params; aws_config=aws_config)

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

Disassociates an Amazon Macie administrator account from a member account.

# Arguments
- `id`: The unique identifier for the Amazon Macie resource or account that the request
  applies to.

"""
disassociate_member(id; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/members/disassociate/$(id)"; aws_config=aws_config)
disassociate_member(id, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/members/disassociate/$(id)", params; aws_config=aws_config)

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

Enables Amazon Macie and specifies the configuration settings for a Macie account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"clientToken"`: A unique, case-sensitive token that you provide to ensure the
  idempotency of the request.
- `"findingPublishingFrequency"`: Specifies how often to publish updates to policy findings
  for the account. This includes publishing updates to Security Hub and Amazon EventBridge
  (formerly called Amazon CloudWatch Events).
- `"status"`: Specifies the new status for the account. To enable Amazon Macie and start
  all Macie activities for the account, set this value to ENABLED.
"""
enable_macie(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/macie", Dict{String, Any}("clientToken"=>string(uuid4())); aws_config=aws_config)
enable_macie(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/macie", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("clientToken"=>string(uuid4())), params)); aws_config=aws_config)

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

Designates an account as the delegated Amazon Macie administrator account for an Amazon Web
Services organization.

# Arguments
- `admin_account_id`: The Amazon Web Services account ID for the account to designate as
  the delegated Amazon Macie administrator account for the organization.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"clientToken"`: A unique, case-sensitive token that you provide to ensure the
  idempotency of the request.
"""
enable_organization_admin_account(adminAccountId; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/admin", Dict{String, Any}("adminAccountId"=>adminAccountId, "clientToken"=>string(uuid4())); aws_config=aws_config)
enable_organization_admin_account(adminAccountId, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/admin", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("adminAccountId"=>adminAccountId, "clientToken"=>string(uuid4())), params)); aws_config=aws_config)

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

Retrieves information about the Amazon Macie administrator account for an account.

"""
get_administrator_account(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/administrator"; aws_config=aws_config)
get_administrator_account(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/administrator", params; aws_config=aws_config)

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

 Retrieves (queries) aggregated statistical data for all the S3 buckets that Amazon Macie
monitors and analyzes.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"accountId"`: The unique identifier for the Amazon Web Services account.
"""
get_bucket_statistics(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/datasources/s3/statistics"; aws_config=aws_config)
get_bucket_statistics(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/datasources/s3/statistics", params; aws_config=aws_config)

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

Retrieves the configuration settings for storing data classification results.

"""
get_classification_export_configuration(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/classification-export-configuration"; aws_config=aws_config)
get_classification_export_configuration(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/classification-export-configuration", params; aws_config=aws_config)

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

Retrieves the criteria and other settings for a custom data identifier.

# Arguments
- `id`: The unique identifier for the Amazon Macie resource or account that the request
  applies to.

"""
get_custom_data_identifier(id; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/custom-data-identifiers/$(id)"; aws_config=aws_config)
get_custom_data_identifier(id, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/custom-data-identifiers/$(id)", params; aws_config=aws_config)

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

 Retrieves (queries) aggregated statistical data about findings.

# Arguments
- `group_by`: The finding property to use to group the query results. Valid values are:
  classificationDetails.jobId - The unique identifier for the classification job that
  produced the finding. resourcesAffected.s3Bucket.name - The name of the S3 bucket that the
  finding applies to. severity.description - The severity level of the finding, such as High
  or Medium. type - The type of finding, such as Policy:IAMUser/S3BucketPublic and
  SensitiveData:S3Object/Personal.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"findingCriteria"`: The criteria to use to filter the query results.
- `"size"`: The maximum number of items to include in each page of the response.
- `"sortCriteria"`: The criteria to use to sort the query results.
"""
get_finding_statistics(groupBy; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/findings/statistics", Dict{String, Any}("groupBy"=>groupBy); aws_config=aws_config)
get_finding_statistics(groupBy, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/findings/statistics", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("groupBy"=>groupBy), params)); aws_config=aws_config)

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

Retrieves the details of one or more findings.

# Arguments
- `finding_ids`: An array of strings that lists the unique identifiers for the findings to
  retrieve.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"sortCriteria"`: The criteria for sorting the results of the request.
"""
get_findings(findingIds; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/findings/describe", Dict{String, Any}("findingIds"=>findingIds); aws_config=aws_config)
get_findings(findingIds, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/findings/describe", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("findingIds"=>findingIds), params)); aws_config=aws_config)

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

Retrieves the criteria and other settings for a findings filter.

# Arguments
- `id`: The unique identifier for the Amazon Macie resource or account that the request
  applies to.

"""
get_findings_filter(id; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/findingsfilters/$(id)"; aws_config=aws_config)
get_findings_filter(id, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/findingsfilters/$(id)", params; aws_config=aws_config)

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

Retrieves the configuration settings for publishing findings to Security Hub.

"""
get_findings_publication_configuration(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/findings-publication-configuration"; aws_config=aws_config)
get_findings_publication_configuration(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/findings-publication-configuration", params; aws_config=aws_config)

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

Retrieves the count of Amazon Macie membership invitations that were received by an account.

"""
get_invitations_count(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/invitations/count"; aws_config=aws_config)
get_invitations_count(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/invitations/count", params; aws_config=aws_config)

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

Retrieves the current status and configuration settings for an Amazon Macie account.

"""
get_macie_session(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/macie"; aws_config=aws_config)
get_macie_session(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/macie", params; aws_config=aws_config)

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

(Deprecated) Retrieves information about the Amazon Macie administrator account for an
account. This operation has been replaced by the GetAdministratorAccount operation.

"""
get_master_account(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/master"; aws_config=aws_config)
get_master_account(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/master", params; aws_config=aws_config)

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

Retrieves information about an account that's associated with an Amazon Macie administrator
account.

# Arguments
- `id`: The unique identifier for the Amazon Macie resource or account that the request
  applies to.

"""
get_member(id; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/members/$(id)"; aws_config=aws_config)
get_member(id, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/members/$(id)", params; aws_config=aws_config)

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

Retrieves (queries) quotas and aggregated usage data for one or more accounts.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"filterBy"`: An array of objects, one for each condition to use to filter the query
  results. If you specify more than one condition, Amazon Macie uses an AND operator to join
  the conditions.
- `"maxResults"`: The maximum number of items to include in each page of the response.
- `"nextToken"`: The nextToken string that specifies which page of results to return in a
  paginated response.
- `"sortBy"`: The criteria to use to sort the query results.
- `"timeRange"`: The inclusive time period to query usage data for. Valid values are:
  MONTH_TO_DATE, for the current calendar month to date; and, PAST_30_DAYS, for the preceding
  30 days. If you don't specify a value, Amazon Macie provides usage data for the preceding
  30 days.
"""
get_usage_statistics(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/usage/statistics"; aws_config=aws_config)
get_usage_statistics(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/usage/statistics", params; aws_config=aws_config)

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

Retrieves (queries) aggregated usage data for an account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"timeRange"`: The inclusive time period to retrieve the data for. Valid values are:
  MONTH_TO_DATE, for the current calendar month to date; and, PAST_30_DAYS, for the preceding
  30 days. If you don't specify a value for this parameter, Amazon Macie provides aggregated
  usage data for the preceding 30 days.
"""
get_usage_totals(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/usage"; aws_config=aws_config)
get_usage_totals(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/usage", params; aws_config=aws_config)

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

Retrieves a subset of information about one or more classification jobs.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"filterCriteria"`: The criteria to use to filter the results.
- `"maxResults"`: The maximum number of items to include in each page of the response.
- `"nextToken"`: The nextToken string that specifies which page of results to return in a
  paginated response.
- `"sortCriteria"`: The criteria to use to sort the results.
"""
list_classification_jobs(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/jobs/list"; aws_config=aws_config)
list_classification_jobs(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/jobs/list", params; aws_config=aws_config)

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

Retrieves a subset of information about all the custom data identifiers for an account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"maxResults"`: The maximum number of items to include in each page of the response.
- `"nextToken"`: The nextToken string that specifies which page of results to return in a
  paginated response.
"""
list_custom_data_identifiers(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/custom-data-identifiers/list"; aws_config=aws_config)
list_custom_data_identifiers(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/custom-data-identifiers/list", params; aws_config=aws_config)

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

Retrieves a subset of information about one or more findings.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"findingCriteria"`: The criteria to use to filter the results.
- `"maxResults"`: The maximum number of items to include in each page of the response.
- `"nextToken"`: The nextToken string that specifies which page of results to return in a
  paginated response.
- `"sortCriteria"`: The criteria to use to sort the results.
"""
list_findings(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/findings"; aws_config=aws_config)
list_findings(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/findings", params; aws_config=aws_config)

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

Retrieves a subset of information about all the findings filters for an account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"maxResults"`: The maximum number of items to include in each page of a paginated
  response.
- `"nextToken"`: The nextToken string that specifies which page of results to return in a
  paginated response.
"""
list_findings_filters(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/findingsfilters"; aws_config=aws_config)
list_findings_filters(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/findingsfilters", params; aws_config=aws_config)

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

Retrieves information about all the Amazon Macie membership invitations that were received
by an account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"maxResults"`: The maximum number of items to include in each page of a paginated
  response.
- `"nextToken"`: The nextToken string that specifies which page of results to return in a
  paginated response.
"""
list_invitations(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/invitations"; aws_config=aws_config)
list_invitations(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/invitations", params; aws_config=aws_config)

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

Retrieves information about the accounts that are associated with an Amazon Macie
administrator account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"maxResults"`: The maximum number of items to include in each page of a paginated
  response.
- `"nextToken"`: The nextToken string that specifies which page of results to return in a
  paginated response.
- `"onlyAssociated"`: Specifies which accounts to include in the response, based on the
  status of an account's relationship with the administrator account. By default, the
  response includes only current member accounts. To include all accounts, set this value to
  false.
"""
list_members(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/members"; aws_config=aws_config)
list_members(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/members", params; aws_config=aws_config)

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

Retrieves information about the delegated Amazon Macie administrator account for an Amazon
Web Services organization.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"maxResults"`: The maximum number of items to include in each page of a paginated
  response.
- `"nextToken"`: The nextToken string that specifies which page of results to return in a
  paginated response.
"""
list_organization_admin_accounts(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/admin"; aws_config=aws_config)
list_organization_admin_accounts(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/admin", params; aws_config=aws_config)

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

Retrieves the tags (keys and values) that are associated with a classification job, custom
data identifier, findings filter, or member account.

# Arguments
- `resource_arn`: The Amazon Resource Name (ARN) of the classification job, custom data
  identifier, findings filter, or member account.

"""
list_tags_for_resource(resourceArn; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/tags/$(resourceArn)"; aws_config=aws_config)
list_tags_for_resource(resourceArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("GET", "/tags/$(resourceArn)", params; aws_config=aws_config)

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

Creates or updates the configuration settings for storing data classification results.

# Arguments
- `configuration`: The location to store data classification results in, and the encryption
  settings to use when storing results in that location.

"""
put_classification_export_configuration(configuration; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PUT", "/classification-export-configuration", Dict{String, Any}("configuration"=>configuration); aws_config=aws_config)
put_classification_export_configuration(configuration, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PUT", "/classification-export-configuration", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("configuration"=>configuration), params)); aws_config=aws_config)

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

Updates the configuration settings for publishing findings to Security Hub.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"clientToken"`: A unique, case-sensitive token that you provide to ensure the
  idempotency of the request.
- `"securityHubConfiguration"`: The configuration settings that determine which findings to
  publish to Security Hub.
"""
put_findings_publication_configuration(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PUT", "/findings-publication-configuration", Dict{String, Any}("clientToken"=>string(uuid4())); aws_config=aws_config)
put_findings_publication_configuration(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PUT", "/findings-publication-configuration", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("clientToken"=>string(uuid4())), params)); aws_config=aws_config)

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

Retrieves (queries) statistical data and other information about Amazon Web Services
resources that Amazon Macie monitors and analyzes.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"bucketCriteria"`: The filter conditions that determine which S3 buckets to include or
  exclude from the query results.
- `"maxResults"`: The maximum number of items to include in each page of the response. The
  default value is 50.
- `"nextToken"`: The nextToken string that specifies which page of results to return in a
  paginated response.
- `"sortCriteria"`: The criteria to use to sort the results.
"""
search_resources(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/datasources/search-resources"; aws_config=aws_config)
search_resources(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/datasources/search-resources", params; aws_config=aws_config)

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

Adds or updates one or more tags (keys and values) that are associated with a
classification job, custom data identifier, findings filter, or member account.

# Arguments
- `resource_arn`: The Amazon Resource Name (ARN) of the classification job, custom data
  identifier, findings filter, or member account.
- `tags`: A map of key-value pairs that specifies the tags to associate with the resource.
  A resource can have a maximum of 50 tags. Each tag consists of a tag key and an associated
  tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag
  value is 256 characters.

"""
tag_resource(resourceArn, tags; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/tags/$(resourceArn)", Dict{String, Any}("tags"=>tags); aws_config=aws_config)
tag_resource(resourceArn, tags, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/tags/$(resourceArn)", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("tags"=>tags), params)); aws_config=aws_config)

"""
    test_custom_data_identifier(regex, sample_text)
    test_custom_data_identifier(regex, sample_text, params::Dict{String,<:Any})

Tests a custom data identifier.

# Arguments
- `regex`: The regular expression (regex) that defines the pattern to match. The expression
  can contain as many as 512 characters.
- `sample_text`: The sample text to inspect by using the custom data identifier. The text
  can contain as many as 1,000 characters.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ignoreWords"`: An array that lists specific character sequences (ignore words) to
  exclude from the results. If the text matched by the regular expression is the same as any
  string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore
  words. Each ignore word can contain 4-90 characters. Ignore words are case sensitive.
- `"keywords"`: An array that lists specific character sequences (keywords), one of which
  must be within proximity (maximumMatchDistance) of the regular expression to match. The
  array can contain as many as 50 keywords. Each keyword can contain 3-90 characters.
  Keywords aren't case sensitive.
- `"maximumMatchDistance"`: The maximum number of characters that can exist between text
  that matches the regex pattern and the character sequences specified by the keywords array.
  Macie includes or excludes a result based on the proximity of a keyword to text that
  matches the regex pattern. The distance can be 1-300 characters. The default value is 50.
"""
test_custom_data_identifier(regex, sampleText; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/custom-data-identifiers/test", Dict{String, Any}("regex"=>regex, "sampleText"=>sampleText); aws_config=aws_config)
test_custom_data_identifier(regex, sampleText, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("POST", "/custom-data-identifiers/test", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("regex"=>regex, "sampleText"=>sampleText), params)); aws_config=aws_config)

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

Removes one or more tags (keys and values) from a classification job, custom data
identifier, findings filter, or member account.

# Arguments
- `resource_arn`: The Amazon Resource Name (ARN) of the classification job, custom data
  identifier, findings filter, or member account.
- `tag_keys`: The key of the tag to remove from the resource. To remove multiple tags,
  append the tagKeys parameter and argument for each additional tag to remove, separated by
  an ampersand (&amp;).

"""
untag_resource(resourceArn, tagKeys; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/tags/$(resourceArn)", Dict{String, Any}("tagKeys"=>tagKeys); aws_config=aws_config)
untag_resource(resourceArn, tagKeys, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("DELETE", "/tags/$(resourceArn)", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("tagKeys"=>tagKeys), params)); aws_config=aws_config)

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

Changes the status of a classification job.

# Arguments
- `job_id`: The unique identifier for the classification job.
- `job_status`: The new status for the job. Valid values are: CANCELLED - Stops the job
  permanently and cancels it. This value is valid only if the job's current status is IDLE,
  PAUSED, RUNNING, or USER_PAUSED. If you specify this value and the job's current status is
  RUNNING, Amazon Macie immediately begins to stop all processing tasks for the job. You
  can't resume or restart a job after you cancel it. RUNNING - Resumes the job. This value is
  valid only if the job's current status is USER_PAUSED. If you paused the job while it was
  actively running and you specify this value less than 30 days after you paused the job,
  Macie immediately resumes processing from the point where you paused the job. Otherwise,
  Macie resumes the job according to the schedule and other settings for the job. USER_PAUSED
  - Pauses the job temporarily. This value is valid only if the job's current status is IDLE,
  PAUSED, or RUNNING. If you specify this value and the job's current status is RUNNING,
  Macie immediately begins to pause all processing tasks for the job. If you pause a one-time
  job and you don't resume it within 30 days, the job expires and Macie cancels the job. If
  you pause a recurring job when its status is RUNNING and you don't resume it within 30
  days, the job run expires and Macie cancels the run. To check the expiration date, refer to
  the UserPausedDetails.jobExpiresAt property.

"""
update_classification_job(jobId, jobStatus; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PATCH", "/jobs/$(jobId)", Dict{String, Any}("jobStatus"=>jobStatus); aws_config=aws_config)
update_classification_job(jobId, jobStatus, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PATCH", "/jobs/$(jobId)", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("jobStatus"=>jobStatus), params)); aws_config=aws_config)

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

Updates the criteria and other settings for a findings filter.

# Arguments
- `id`: The unique identifier for the Amazon Macie resource or account that the request
  applies to.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"action"`: The action to perform on findings that meet the filter criteria
  (findingCriteria). Valid values are: ARCHIVE, suppress (automatically archive) the
  findings; and, NOOP, don't perform any action on the findings.
- `"clientToken"`: A unique, case-sensitive token that you provide to ensure the
  idempotency of the request.
- `"description"`: A custom description of the filter. The description can contain as many
  as 512 characters. We strongly recommend that you avoid including any sensitive data in the
  description of a filter. Other users might be able to see the filter's description,
  depending on the actions that they're allowed to perform in Amazon Macie.
- `"findingCriteria"`: The criteria to use to filter findings.
- `"name"`: A custom name for the filter. The name must contain at least 3 characters and
  can contain as many as 64 characters. We strongly recommend that you avoid including any
  sensitive data in the name of a filter. Other users might be able to see the filter's name,
  depending on the actions that they're allowed to perform in Amazon Macie.
- `"position"`: The position of the filter in the list of saved filters on the Amazon Macie
  console. This value also determines the order in which the filter is applied to findings,
  relative to other filters that are also applied to the findings.
"""
update_findings_filter(id; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PATCH", "/findingsfilters/$(id)", Dict{String, Any}("clientToken"=>string(uuid4())); aws_config=aws_config)
update_findings_filter(id, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PATCH", "/findingsfilters/$(id)", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("clientToken"=>string(uuid4())), params)); aws_config=aws_config)

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

Suspends or re-enables an Amazon Macie account, or updates the configuration settings for a
Macie account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"findingPublishingFrequency"`: Specifies how often to publish updates to policy findings
  for the account. This includes publishing updates to Security Hub and Amazon EventBridge
  (formerly called Amazon CloudWatch Events).
- `"status"`: Specifies a new status for the account. Valid values are: ENABLED, resume all
  Amazon Macie activities for the account; and, PAUSED, suspend all Macie activities for the
  account.
"""
update_macie_session(; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PATCH", "/macie"; aws_config=aws_config)
update_macie_session(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PATCH", "/macie", params; aws_config=aws_config)

"""
    update_member_session(id, status)
    update_member_session(id, status, params::Dict{String,<:Any})

Enables an Amazon Macie administrator to suspend or re-enable a member account.

# Arguments
- `id`: The unique identifier for the Amazon Macie resource or account that the request
  applies to.
- `status`: Specifies the new status for the account. Valid values are: ENABLED, resume all
  Amazon Macie activities for the account; and, PAUSED, suspend all Macie activities for the
  account.

"""
update_member_session(id, status; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PATCH", "/macie/members/$(id)", Dict{String, Any}("status"=>status); aws_config=aws_config)
update_member_session(id, status, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PATCH", "/macie/members/$(id)", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("status"=>status), params)); aws_config=aws_config)

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

Updates the Amazon Macie configuration settings for an Amazon Web Services organization.

# Arguments
- `auto_enable`: Specifies whether to enable Amazon Macie automatically for each account,
  when the account is added to the Amazon Web Services organization.

"""
update_organization_configuration(autoEnable; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PATCH", "/admin/configuration", Dict{String, Any}("autoEnable"=>autoEnable); aws_config=aws_config)
update_organization_configuration(autoEnable, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = macie2("PATCH", "/admin/configuration", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("autoEnable"=>autoEnable), params)); aws_config=aws_config)
