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

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

Accepts the invitation to be a member account and be monitored by the Security Hub
administrator account that the invitation was sent from. This operation is only used by
member accounts that are not added through Organizations. When the member account accepts
the invitation, permission is granted to the administrator account to view findings
generated in the member account.

# Arguments
- `administrator_id`: The account ID of the Security Hub administrator account that sent
  the invitation.
- `invitation_id`: The identifier of the invitation sent from the Security Hub
  administrator account.

"""
accept_administrator_invitation(AdministratorId, InvitationId; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/administrator", Dict{String, Any}("AdministratorId"=>AdministratorId, "InvitationId"=>InvitationId); aws_config=aws_config)
accept_administrator_invitation(AdministratorId, InvitationId, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/administrator", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AdministratorId"=>AdministratorId, "InvitationId"=>InvitationId), params)); aws_config=aws_config)

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

This method is deprecated. Instead, use AcceptAdministratorInvitation. The Security Hub
console continues to use AcceptInvitation. It will eventually change to use
AcceptAdministratorInvitation. Any IAM policies that specifically control access to this
function must continue to use AcceptInvitation. You should also add
AcceptAdministratorInvitation to your policies to ensure that the correct permissions are
in place after the console begins to use AcceptAdministratorInvitation. Accepts the
invitation to be a member account and be monitored by the Security Hub administrator
account that the invitation was sent from. This operation is only used by member accounts
that are not added through Organizations. When the member account accepts the invitation,
permission is granted to the administrator account to view findings generated in the member
account.

# Arguments
- `invitation_id`: The identifier of the invitation sent from the Security Hub
  administrator account.
- `master_id`: The account ID of the Security Hub administrator account that sent the
  invitation.

"""
accept_invitation(InvitationId, MasterId; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/master", Dict{String, Any}("InvitationId"=>InvitationId, "MasterId"=>MasterId); aws_config=aws_config)
accept_invitation(InvitationId, MasterId, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/master", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("InvitationId"=>InvitationId, "MasterId"=>MasterId), params)); aws_config=aws_config)

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

Disables the standards specified by the provided StandardsSubscriptionArns. For more
information, see Security Standards section of the AWS Security Hub User Guide.

# Arguments
- `standards_subscription_arns`: The ARNs of the standards subscriptions to disable.

"""
batch_disable_standards(StandardsSubscriptionArns; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/standards/deregister", Dict{String, Any}("StandardsSubscriptionArns"=>StandardsSubscriptionArns); aws_config=aws_config)
batch_disable_standards(StandardsSubscriptionArns, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/standards/deregister", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("StandardsSubscriptionArns"=>StandardsSubscriptionArns), params)); aws_config=aws_config)

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

Enables the standards specified by the provided StandardsArn. To obtain the ARN for a
standard, use the  DescribeStandards  operation. For more information, see the Security
Standards section of the AWS Security Hub User Guide.

# Arguments
- `standards_subscription_requests`: The list of standards checks to enable.

"""
batch_enable_standards(StandardsSubscriptionRequests; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/standards/register", Dict{String, Any}("StandardsSubscriptionRequests"=>StandardsSubscriptionRequests); aws_config=aws_config)
batch_enable_standards(StandardsSubscriptionRequests, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/standards/register", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("StandardsSubscriptionRequests"=>StandardsSubscriptionRequests), params)); aws_config=aws_config)

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

Imports security findings generated from an integrated product into Security Hub. This
action is requested by the integrated product to import its findings into Security Hub. The
maximum allowed size for a finding is 240 Kb. An error is returned for any finding larger
than 240 Kb. After a finding is created, BatchImportFindings cannot be used to update the
following finding fields and objects, which Security Hub customers use to manage their
investigation workflow.    Note     UserDefinedFields     VerificationState     Workflow
Finding providers also should not use BatchImportFindings to update the following
attributes.    Confidence     Criticality     RelatedFindings     Severity     Types
Instead, finding providers use FindingProviderFields to provide values for these attributes.

# Arguments
- `findings`: A list of findings to import. To successfully import a finding, it must
  follow the AWS Security Finding Format. Maximum of 100 findings per request.

"""
batch_import_findings(Findings; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/findings/import", Dict{String, Any}("Findings"=>Findings); aws_config=aws_config)
batch_import_findings(Findings, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/findings/import", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Findings"=>Findings), params)); aws_config=aws_config)

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

Used by Security Hub customers to update information about their investigation into a
finding. Requested by administrator accounts or member accounts. Administrator accounts can
update findings for their account and their member accounts. Member accounts can update
findings for their account. Updates from BatchUpdateFindings do not affect the value of
UpdatedAt for a finding. Administrator and member accounts can use BatchUpdateFindings to
update the following finding fields and objects.    Confidence     Criticality     Note
RelatedFindings     Severity     Types     UserDefinedFields     VerificationState
Workflow    You can configure IAM policies to restrict access to fields and field values.
For example, you might not want member accounts to be able to suppress findings or change
the finding severity. See Configuring access to BatchUpdateFindings in the AWS Security Hub
User Guide.

# Arguments
- `finding_identifiers`: The list of findings to update. BatchUpdateFindings can be used to
  update up to 100 findings at a time. For each finding, the list provides the finding
  identifier and the ARN of the finding provider.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Confidence"`: The updated value for the finding confidence. Confidence is defined as
  the likelihood that a finding accurately identifies the behavior or issue that it was
  intended to identify. Confidence is scored on a 0-100 basis using a ratio scale, where 0
  means zero percent confidence and 100 means 100 percent confidence.
- `"Criticality"`: The updated value for the level of importance assigned to the resources
  associated with the findings. A score of 0 means that the underlying resources have no
  criticality, and a score of 100 is reserved for the most critical resources.
- `"Note"`:
- `"RelatedFindings"`: A list of findings that are related to the updated findings.
- `"Severity"`: Used to update the finding severity.
- `"Types"`: One or more finding types in the format of namespace/category/classifier that
  classify a finding. Valid namespace values are as follows.   Software and Configuration
  Checks   TTPs   Effects   Unusual Behaviors   Sensitive Data Identifications
- `"UserDefinedFields"`: A list of name/value string pairs associated with the finding.
  These are custom, user-defined fields added to a finding.
- `"VerificationState"`: Indicates the veracity of a finding. The available values for
  VerificationState are as follows.    UNKNOWN – The default disposition of a security
  finding    TRUE_POSITIVE – The security finding is confirmed    FALSE_POSITIVE – The
  security finding was determined to be a false alarm    BENIGN_POSITIVE – A special case
  of TRUE_POSITIVE where the finding doesn't pose any threat, is expected, or both
- `"Workflow"`: Used to update the workflow status of a finding. The workflow status
  indicates the progress of the investigation into the finding.
"""
batch_update_findings(FindingIdentifiers; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/findings/batchupdate", Dict{String, Any}("FindingIdentifiers"=>FindingIdentifiers); aws_config=aws_config)
batch_update_findings(FindingIdentifiers, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/findings/batchupdate", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("FindingIdentifiers"=>FindingIdentifiers), params)); aws_config=aws_config)

"""
    create_action_target(description, id, name)
    create_action_target(description, id, name, params::Dict{String,<:Any})

Creates a custom action target in Security Hub. You can use custom actions on findings and
insights in Security Hub to trigger target actions in Amazon CloudWatch Events.

# Arguments
- `description`: The description for the custom action target.
- `id`: The ID for the custom action target.
- `name`: The name of the custom action target.

"""
create_action_target(Description, Id, Name; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/actionTargets", Dict{String, Any}("Description"=>Description, "Id"=>Id, "Name"=>Name); aws_config=aws_config)
create_action_target(Description, Id, Name, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/actionTargets", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Description"=>Description, "Id"=>Id, "Name"=>Name), params)); aws_config=aws_config)

"""
    create_insight(filters, group_by_attribute, name)
    create_insight(filters, group_by_attribute, name, params::Dict{String,<:Any})

Creates a custom insight in Security Hub. An insight is a consolidation of findings that
relate to a security issue that requires attention or remediation. To group the related
findings in the insight, use the GroupByAttribute.

# Arguments
- `filters`: One or more attributes used to filter the findings included in the insight.
  The insight only includes findings that match the criteria defined in the filters.
- `group_by_attribute`: The attribute used to group the findings for the insight. The
  grouping attribute identifies the type of item that the insight applies to. For example, if
  an insight is grouped by resource identifier, then the insight produces a list of resource
  identifiers.
- `name`: The name of the custom insight to create.

"""
create_insight(Filters, GroupByAttribute, Name; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/insights", Dict{String, Any}("Filters"=>Filters, "GroupByAttribute"=>GroupByAttribute, "Name"=>Name); aws_config=aws_config)
create_insight(Filters, GroupByAttribute, Name, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/insights", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Filters"=>Filters, "GroupByAttribute"=>GroupByAttribute, "Name"=>Name), params)); aws_config=aws_config)

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

Creates a member association in Security Hub between the specified accounts and the account
used to make the request, which is the administrator account. If you are integrated with
Organizations, then the administrator account is designated by the organization management
account.  CreateMembers is always used to add accounts that are not organization members.
For accounts that are part of an organization, CreateMembers is only used in the following
cases:   Security Hub is not configured to automatically add new accounts in an
organization.   The account was disassociated or deleted in Security Hub.   This action can
only be used by an account that has Security Hub enabled. To enable Security Hub, you can
use the  EnableSecurityHub  operation. For accounts that are not organization members, you
create the account association and then send an invitation to the member account. To send
the invitation, you use the  InviteMembers  operation. If the account owner accepts the
invitation, the account becomes a member account in Security Hub. Accounts that are part of
an organization do not receive an invitation. They automatically become a member account in
Security Hub. A permissions policy is added that permits the administrator account to view
the findings generated in the member account. When Security Hub is enabled in a member
account, the member account findings are also visible to the administrator account.  To
remove the association between the administrator and member accounts, use the
DisassociateFromMasterAccount  or  DisassociateMembers  operation.

# Arguments
- `account_details`: The list of accounts to associate with the Security Hub administrator
  account. For each account, the list includes the account ID and optionally the email
  address.

"""
create_members(AccountDetails; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/members", Dict{String, Any}("AccountDetails"=>AccountDetails); aws_config=aws_config)
create_members(AccountDetails, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/members", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountDetails"=>AccountDetails), params)); aws_config=aws_config)

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

Declines invitations to become a member account. This operation is only used by accounts
that are not part of an organization. Organization accounts do not receive invitations.

# Arguments
- `account_ids`: The list of account IDs for the accounts from which to decline the
  invitations to Security Hub.

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

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

Deletes a custom action target from Security Hub. Deleting a custom action target does not
affect any findings or insights that were already sent to Amazon CloudWatch Events using
the custom action.

# Arguments
- `action_target_arn`: The ARN of the custom action target to delete.

"""
delete_action_target(ActionTargetArn; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("DELETE", "/actionTargets/$(ActionTargetArn)"; aws_config=aws_config)
delete_action_target(ActionTargetArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("DELETE", "/actionTargets/$(ActionTargetArn)", params; aws_config=aws_config)

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

Deletes the insight specified by the InsightArn.

# Arguments
- `insight_arn`: The ARN of the insight to delete.

"""
delete_insight(InsightArn; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("DELETE", "/insights/$(InsightArn)"; aws_config=aws_config)
delete_insight(InsightArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("DELETE", "/insights/$(InsightArn)", params; aws_config=aws_config)

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

Deletes invitations received by the AWS account to become a member account. This operation
is only used by accounts that are not part of an organization. Organization accounts do not
receive invitations.

# Arguments
- `account_ids`: The list of the account IDs that sent the invitations to delete.

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

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

Deletes the specified member accounts from Security Hub. Can be used to delete member
accounts that belong to an organization as well as member accounts that were invited
manually.

# Arguments
- `account_ids`: The list of account IDs for the member accounts to delete.

"""
delete_members(AccountIds; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/members/delete", Dict{String, Any}("AccountIds"=>AccountIds); aws_config=aws_config)
delete_members(AccountIds, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/members/delete", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountIds"=>AccountIds), params)); aws_config=aws_config)

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

Returns a list of the custom action targets in Security Hub in your account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ActionTargetArns"`: A list of custom action target ARNs for the custom action targets
  to retrieve.
- `"MaxResults"`: The maximum number of results to return.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  DescribeActionTargets operation, set the value of this parameter to NULL. For subsequent
  calls to the operation, to continue listing data, set the value of this parameter to the
  value returned from the previous response.
"""
describe_action_targets(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/actionTargets/get"; aws_config=aws_config)
describe_action_targets(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/actionTargets/get", params; aws_config=aws_config)

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

Returns details about the Hub resource in your account, including the HubArn and the time
when you enabled Security Hub.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"HubArn"`: The ARN of the Hub resource to retrieve.
"""
describe_hub(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/accounts"; aws_config=aws_config)
describe_hub(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/accounts", params; aws_config=aws_config)

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

Returns information about the Organizations configuration for Security Hub. Can only be
called from a Security Hub administrator account.

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

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

Returns information about product integrations in Security Hub. You can optionally provide
an integration ARN. If you provide an integration ARN, then the results only include that
integration. If you do not provide an integration ARN, then the results include all of the
available product integrations.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of results to return.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  DescribeProducts operation, set the value of this parameter to NULL. For subsequent calls
  to the operation, to continue listing data, set the value of this parameter to the value
  returned from the previous response.
- `"ProductArn"`: The ARN of the integration to return.
"""
describe_products(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/products"; aws_config=aws_config)
describe_products(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/products", params; aws_config=aws_config)

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

Returns a list of the available standards in Security Hub. For each standard, the results
include the standard ARN, the name, and a description.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of standards to return.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  DescribeStandards operation, set the value of this parameter to NULL. For subsequent calls
  to the operation, to continue listing data, set the value of this parameter to the value
  returned from the previous response.
"""
describe_standards(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/standards"; aws_config=aws_config)
describe_standards(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/standards", params; aws_config=aws_config)

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

Returns a list of security standards controls. For each control, the results include
information about whether it is currently enabled, the severity, and a link to remediation
information.

# Arguments
- `standards_subscription_arn`: The ARN of a resource that represents your subscription to
  a supported standard. To get the subscription ARNs of the standards you have enabled, use
  the  GetEnabledStandards  operation.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of security standard controls to return.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  DescribeStandardsControls operation, set the value of this parameter to NULL. For
  subsequent calls to the operation, to continue listing data, set the value of this
  parameter to the value returned from the previous response.
"""
describe_standards_controls(StandardsSubscriptionArn; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/standards/controls/$(StandardsSubscriptionArn)"; aws_config=aws_config)
describe_standards_controls(StandardsSubscriptionArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/standards/controls/$(StandardsSubscriptionArn)", params; aws_config=aws_config)

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

Disables the integration of the specified product with Security Hub. After the integration
is disabled, findings from that product are no longer sent to Security Hub.

# Arguments
- `product_subscription_arn`: The ARN of the integrated product to disable the integration
  for.

"""
disable_import_findings_for_product(ProductSubscriptionArn; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("DELETE", "/productSubscriptions/$(ProductSubscriptionArn)"; aws_config=aws_config)
disable_import_findings_for_product(ProductSubscriptionArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("DELETE", "/productSubscriptions/$(ProductSubscriptionArn)", params; aws_config=aws_config)

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

Disables a Security Hub administrator account. Can only be called by the organization
management account.

# Arguments
- `admin_account_id`: The AWS account identifier of the Security Hub administrator account.

"""
disable_organization_admin_account(AdminAccountId; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/organization/admin/disable", Dict{String, Any}("AdminAccountId"=>AdminAccountId); aws_config=aws_config)
disable_organization_admin_account(AdminAccountId, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/organization/admin/disable", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AdminAccountId"=>AdminAccountId), params)); aws_config=aws_config)

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

Disables Security Hub in your account only in the current Region. To disable Security Hub
in all Regions, you must submit one request per Region where you have enabled Security Hub.
When you disable Security Hub for an administrator account, it doesn't disable Security Hub
for any associated member accounts. When you disable Security Hub, your existing findings
and insights and any Security Hub configuration settings are deleted after 90 days and
cannot be recovered. Any standards that were enabled are disabled, and your administrator
and member account associations are removed. If you want to save your existing findings,
you must export them before you disable Security Hub.

"""
disable_security_hub(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("DELETE", "/accounts"; aws_config=aws_config)
disable_security_hub(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("DELETE", "/accounts", params; aws_config=aws_config)

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

Disassociates the current Security Hub member account from the associated administrator
account. This operation is only used by accounts that are not part of an organization. For
organization accounts, only the administrator account can disassociate a member account.

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

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

This method is deprecated. Instead, use DisassociateFromAdministratorAccount. The Security
Hub console continues to use DisassociateFromMasterAccount. It will eventually change to
use DisassociateFromAdministratorAccount. Any IAM policies that specifically control access
to this function must continue to use DisassociateFromMasterAccount. You should also add
DisassociateFromAdministratorAccount to your policies to ensure that the correct
permissions are in place after the console begins to use
DisassociateFromAdministratorAccount. Disassociates the current Security Hub member account
from the associated administrator account. This operation is only used by accounts that are
not part of an organization. For organization accounts, only the administrator account can
disassociate a member account.

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

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

Disassociates the specified member accounts from the associated administrator account. Can
be used to disassociate both accounts that are managed using Organizations and accounts
that were invited manually.

# Arguments
- `account_ids`: The account IDs of the member accounts to disassociate from the
  administrator account.

"""
disassociate_members(AccountIds; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/members/disassociate", Dict{String, Any}("AccountIds"=>AccountIds); aws_config=aws_config)
disassociate_members(AccountIds, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/members/disassociate", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountIds"=>AccountIds), params)); aws_config=aws_config)

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

Enables the integration of a partner product with Security Hub. Integrated products send
findings to Security Hub. When you enable a product integration, a permissions policy that
grants permission for the product to send findings to Security Hub is applied.

# Arguments
- `product_arn`: The ARN of the product to enable the integration for.

"""
enable_import_findings_for_product(ProductArn; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/productSubscriptions", Dict{String, Any}("ProductArn"=>ProductArn); aws_config=aws_config)
enable_import_findings_for_product(ProductArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/productSubscriptions", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("ProductArn"=>ProductArn), params)); aws_config=aws_config)

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

Designates the Security Hub administrator account for an organization. Can only be called
by the organization management account.

# Arguments
- `admin_account_id`: The AWS account identifier of the account to designate as the
  Security Hub administrator account.

"""
enable_organization_admin_account(AdminAccountId; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/organization/admin/enable", Dict{String, Any}("AdminAccountId"=>AdminAccountId); aws_config=aws_config)
enable_organization_admin_account(AdminAccountId, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/organization/admin/enable", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AdminAccountId"=>AdminAccountId), params)); aws_config=aws_config)

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

Enables Security Hub for your account in the current Region or the Region you specify in
the request. When you enable Security Hub, you grant to Security Hub the permissions
necessary to gather findings from other services that are integrated with Security Hub.
When you use the EnableSecurityHub operation to enable Security Hub, you also automatically
enable the following standards.   CIS AWS Foundations   AWS Foundational Security Best
Practices   You do not enable the Payment Card Industry Data Security Standard (PCI DSS)
standard.  To not enable the automatically enabled standards, set EnableDefaultStandards to
false. After you enable Security Hub, to enable a standard, use the  BatchEnableStandards
operation. To disable a standard, use the  BatchDisableStandards  operation. To learn more,
see Setting Up AWS Security Hub in the AWS Security Hub User Guide.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"EnableDefaultStandards"`: Whether to enable the security standards that Security Hub
  has designated as automatically enabled. If you do not provide a value for
  EnableDefaultStandards, it is set to true. To not enable the automatically enabled
  standards, set EnableDefaultStandards to false.
- `"Tags"`: The tags to add to the hub resource when you enable Security Hub.
"""
enable_security_hub(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/accounts"; aws_config=aws_config)
enable_security_hub(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/accounts", params; aws_config=aws_config)

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

Provides the details for the Security Hub administrator account for the current member
account. Can be used by both member accounts that are managed using Organizations and
accounts that were invited manually.

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

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

Returns a list of the standards that are currently enabled.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of results to return in the response.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  GetEnabledStandards operation, set the value of this parameter to NULL. For subsequent
  calls to the operation, to continue listing data, set the value of this parameter to the
  value returned from the previous response.
- `"StandardsSubscriptionArns"`: The list of the standards subscription ARNs for the
  standards to retrieve.
"""
get_enabled_standards(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/standards/get"; aws_config=aws_config)
get_enabled_standards(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/standards/get", params; aws_config=aws_config)

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

Returns a list of findings that match the specified criteria.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filters"`: The finding attributes used to define a condition to filter the returned
  findings. You can filter by up to 10 finding attributes. For each attribute, you can
  provide up to 20 filter values. Note that in the available filter fields, WorkflowState is
  deprecated. To search for a finding based on its workflow status, use WorkflowStatus.
- `"MaxResults"`: The maximum number of findings to return.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  GetFindings operation, set the value of this parameter to NULL. For subsequent calls to the
  operation, to continue listing data, set the value of this parameter to the value returned
  from the previous response.
- `"SortCriteria"`: The finding attributes used to sort the list of returned findings.
"""
get_findings(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/findings"; aws_config=aws_config)
get_findings(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/findings", params; aws_config=aws_config)

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

Lists the results of the Security Hub insight specified by the insight ARN.

# Arguments
- `insight_arn`: The ARN of the insight for which to return results.

"""
get_insight_results(InsightArn; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/insights/results/$(InsightArn)"; aws_config=aws_config)
get_insight_results(InsightArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/insights/results/$(InsightArn)", params; aws_config=aws_config)

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

Lists and describes insights for the specified insight ARNs.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"InsightArns"`: The ARNs of the insights to describe. If you do not provide any insight
  ARNs, then GetInsights returns all of your custom insights. It does not return any managed
  insights.
- `"MaxResults"`: The maximum number of items to return in the response.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  GetInsights operation, set the value of this parameter to NULL. For subsequent calls to the
  operation, to continue listing data, set the value of this parameter to the value returned
  from the previous response.
"""
get_insights(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/insights/get"; aws_config=aws_config)
get_insights(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/insights/get", params; aws_config=aws_config)

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

Returns the count of all Security Hub membership invitations that were sent to the current
member account, not including the currently accepted invitation.

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

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

This method is deprecated. Instead, use GetAdministratorAccount. The Security Hub console
continues to use GetMasterAccount. It will eventually change to use
GetAdministratorAccount. Any IAM policies that specifically control access to this function
must continue to use GetMasterAccount. You should also add GetAdministratorAccount to your
policies to ensure that the correct permissions are in place after the console begins to
use GetAdministratorAccount. Provides the details for the Security Hub administrator
account for the current member account. Can be used by both member accounts that are
managed using Organizations and accounts that were invited manually.

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

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

Returns the details for the Security Hub member accounts for the specified account IDs. An
administrator account can be either the delegated Security Hub administrator account for an
organization or an administrator account that enabled Security Hub manually. The results
include both member accounts that are managed using Organizations and accounts that were
invited manually.

# Arguments
- `account_ids`: The list of account IDs for the Security Hub member accounts to return the
  details for.

"""
get_members(AccountIds; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/members/get", Dict{String, Any}("AccountIds"=>AccountIds); aws_config=aws_config)
get_members(AccountIds, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/members/get", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountIds"=>AccountIds), params)); aws_config=aws_config)

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

Invites other AWS accounts to become member accounts for the Security Hub administrator
account that the invitation is sent from. This operation is only used to invite accounts
that do not belong to an organization. Organization accounts do not receive invitations.
Before you can use this action to invite a member, you must first use the  CreateMembers
action to create the member account in Security Hub. When the account owner enables
Security Hub and accepts the invitation to become a member account, the administrator
account can view the findings generated from the member account.

# Arguments
- `account_ids`: The list of account IDs of the AWS accounts to invite to Security Hub as
  members.

"""
invite_members(AccountIds; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/members/invite", Dict{String, Any}("AccountIds"=>AccountIds); aws_config=aws_config)
invite_members(AccountIds, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/members/invite", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AccountIds"=>AccountIds), params)); aws_config=aws_config)

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

Lists all findings-generating solutions (products) that you are subscribed to receive
findings from in Security Hub.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of items to return in the response.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  ListEnabledProductsForImport operation, set the value of this parameter to NULL. For
  subsequent calls to the operation, to continue listing data, set the value of this
  parameter to the value returned from the previous response.
"""
list_enabled_products_for_import(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/productSubscriptions"; aws_config=aws_config)
list_enabled_products_for_import(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/productSubscriptions", params; aws_config=aws_config)

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

Lists all Security Hub membership invitations that were sent to the current AWS account.
This operation is only used by accounts that are managed by invitation. Accounts that are
managed using the integration with AWS Organizations do not receive invitations.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of items to return in the response.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  ListInvitations operation, set the value of this parameter to NULL. For subsequent calls to
  the operation, to continue listing data, set the value of this parameter to the value
  returned from the previous response.
"""
list_invitations(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/invitations"; aws_config=aws_config)
list_invitations(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/invitations", params; aws_config=aws_config)

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

Lists details about all member accounts for the current Security Hub administrator account.
The results include both member accounts that belong to an organization and member accounts
that were invited manually.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of items to return in the response.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  ListMembers operation, set the value of this parameter to NULL. For subsequent calls to the
  operation, to continue listing data, set the value of this parameter to the value returned
  from the previous response.
- `"OnlyAssociated"`: Specifies which member accounts to include in the response based on
  their relationship status with the administrator account. The default value is TRUE. If
  OnlyAssociated is set to TRUE, the response includes member accounts whose relationship
  status with the administrator account is set to ENABLED. If OnlyAssociated is set to FALSE,
  the response includes all existing member accounts.
"""
list_members(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/members"; aws_config=aws_config)
list_members(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/members", params; aws_config=aws_config)

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

Lists the Security Hub administrator accounts. Can only be called by the organization
management account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"MaxResults"`: The maximum number of items to return in the response.
- `"NextToken"`: The token that is required for pagination. On your first call to the
  ListOrganizationAdminAccounts operation, set the value of this parameter to NULL. For
  subsequent calls to the operation, to continue listing data, set the value of this
  parameter to the value returned from the previous response.
"""
list_organization_admin_accounts(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/organization/admin"; aws_config=aws_config)
list_organization_admin_accounts(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("GET", "/organization/admin", params; aws_config=aws_config)

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

Returns a list of tags associated with a resource.

# Arguments
- `resource_arn`: The ARN of the resource to retrieve tags for.

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

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

Adds one or more tags to a resource.

# Arguments
- `resource_arn`: The ARN of the resource to apply the tags to.
- `tags`: The tags to add to the resource.

"""
tag_resource(ResourceArn, Tags; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("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()) = securityhub("POST", "/tags/$(ResourceArn)", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Tags"=>Tags), 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 from a resource.

# Arguments
- `resource_arn`: The ARN of the resource to remove the tags from.
- `tag_keys`: The tag keys associated with the tags to remove from the resource.

"""
untag_resource(ResourceArn, tagKeys; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("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()) = securityhub("DELETE", "/tags/$(ResourceArn)", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("tagKeys"=>tagKeys), params)); aws_config=aws_config)

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

Updates the name and description of a custom action target in Security Hub.

# Arguments
- `action_target_arn`: The ARN of the custom action target to update.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Description"`: The updated description for the custom action target.
- `"Name"`: The updated name of the custom action target.
"""
update_action_target(ActionTargetArn; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/actionTargets/$(ActionTargetArn)"; aws_config=aws_config)
update_action_target(ActionTargetArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/actionTargets/$(ActionTargetArn)", params; aws_config=aws_config)

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

 UpdateFindings is deprecated. Instead of UpdateFindings, use BatchUpdateFindings. Updates
the Note and RecordState of the Security Hub-aggregated findings that the filter attributes
specify. Any member account that can view the finding also sees the update to the finding.

# Arguments
- `filters`: A collection of attributes that specify which findings you want to update.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Note"`: The updated note for the finding.
- `"RecordState"`: The updated record state for the finding.
"""
update_findings(Filters; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/findings", Dict{String, Any}("Filters"=>Filters); aws_config=aws_config)
update_findings(Filters, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/findings", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Filters"=>Filters), params)); aws_config=aws_config)

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

Updates the Security Hub insight identified by the specified insight ARN.

# Arguments
- `insight_arn`: The ARN of the insight that you want to update.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"Filters"`: The updated filters that define this insight.
- `"GroupByAttribute"`: The updated GroupBy attribute that defines this insight.
- `"Name"`: The updated name for the insight.
"""
update_insight(InsightArn; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/insights/$(InsightArn)"; aws_config=aws_config)
update_insight(InsightArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/insights/$(InsightArn)", params; aws_config=aws_config)

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

Used to update the configuration related to Organizations. Can only be called from a
Security Hub administrator account.

# Arguments
- `auto_enable`: Whether to automatically enable Security Hub for new accounts in the
  organization. By default, this is false, and new accounts are not added automatically. To
  automatically enable Security Hub for new accounts, set this to true.

"""
update_organization_configuration(AutoEnable; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/organization/configuration", Dict{String, Any}("AutoEnable"=>AutoEnable); aws_config=aws_config)
update_organization_configuration(AutoEnable, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("POST", "/organization/configuration", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AutoEnable"=>AutoEnable), params)); aws_config=aws_config)

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

Updates configuration options for Security Hub.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"AutoEnableControls"`: Whether to automatically enable new controls when they are added
  to standards that are enabled. By default, this is set to true, and new controls are
  enabled automatically. To not automatically enable new controls, set this to false.
"""
update_security_hub_configuration(; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/accounts"; aws_config=aws_config)
update_security_hub_configuration(params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/accounts", params; aws_config=aws_config)

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

Used to control whether an individual security standard control is enabled or disabled.

# Arguments
- `standards_control_arn`: The ARN of the security standard control to enable or disable.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"ControlStatus"`: The updated status of the security standard control.
- `"DisabledReason"`: A description of the reason why you are disabling a security standard
  control. If you are disabling a control, then this is required.
"""
update_standards_control(StandardsControlArn; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/standards/control/$(StandardsControlArn)"; aws_config=aws_config)
update_standards_control(StandardsControlArn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()) = securityhub("PATCH", "/standards/control/$(StandardsControlArn)", params; aws_config=aws_config)
