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

"""
    AcceptInvitation()

Accepts the invitation to be a member account and be monitored by the Security Hub master 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 master account to view findings generated in the member account.

# Required Parameters
- `InvitationId`: The ID of the invitation sent from the Security Hub master account.
- `MasterId`: The account ID of the Security Hub master account that sent the invitation.

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

"""
    BatchDisableStandards()

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

# Required Parameters
- `StandardsSubscriptionArns`: The ARNs of the standards subscriptions to disable.

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

"""
    BatchEnableStandards()

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.

# Required Parameters
- `StandardsSubscriptionRequests`: The list of standards checks to enable.

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

"""
    BatchImportFindings()

Imports security findings generated from an integrated third-party 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.    Confidence     Criticality     Note     RelatedFindings     Severity     Types     UserDefinedFields     VerificationState     Workflow   

# Required Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("POST", "/findings/import", Dict{String, Any}("Findings"=>Findings); aws_config=aws_config)
batch_import_findings(Findings, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/findings/import", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Findings"=>Findings), args)); aws_config=aws_config)

"""
    BatchUpdateFindings()

Used by Security Hub customers to update information about their investigation into a finding. Requested by master accounts or member accounts. Master 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. Master 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.

# Required Parameters
- `FindingIdentifiers`: 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
- `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::AWSConfig=global_aws_config()) = securityhub("PATCH", "/findings/batchupdate", Dict{String, Any}("FindingIdentifiers"=>FindingIdentifiers); aws_config=aws_config)
batch_update_findings(FindingIdentifiers, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("PATCH", "/findings/batchupdate", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("FindingIdentifiers"=>FindingIdentifiers), args)); aws_config=aws_config)

"""
    CreateActionTarget()

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.

# Required Parameters
- `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::AWSConfig=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, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/actionTargets", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Description"=>Description, "Id"=>Id, "Name"=>Name), args)); aws_config=aws_config)

"""
    CreateInsight()

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.

# Required Parameters
- `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.
- `GroupByAttribute`: 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::AWSConfig=global_aws_config()) = securityhub("POST", "/insights", Dict{String, Any}("Filters"=>Filters, "GroupByAttribute"=>GroupByAttribute, "Name"=>Name); aws_config=aws_config)
create_insight(Filters, GroupByAttribute, Name, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/insights", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Filters"=>Filters, "GroupByAttribute"=>GroupByAttribute, "Name"=>Name), args)); aws_config=aws_config)

"""
    CreateMembers()

Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the master account. If you are integrated with Organizations, then the master account is the Security Hub administrator account that 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 master account to view the findings generated in the member account. When Security Hub is enabled in a member account, findings are sent to both the member and master accounts.  To remove the association between the master and member accounts, use the  DisassociateFromMasterAccount  or  DisassociateMembers  operation.

# Required Parameters
- `AccountDetails`: The list of accounts to associate with the Security Hub master account. For each account, the list includes the account ID and optionally the email address.

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

"""
    DeclineInvitations()

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.

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

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

"""
    DeleteActionTarget()

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.

# Required Parameters
- `ActionTargetArn`: The ARN of the custom action target to delete.

"""
delete_action_target(ActionTargetArn; aws_config::AWSConfig=global_aws_config()) = securityhub("DELETE", "/actionTargets/$(ActionTargetArn)"; aws_config=aws_config)
delete_action_target(ActionTargetArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("DELETE", "/actionTargets/$(ActionTargetArn)", args; aws_config=aws_config)

"""
    DeleteInsight()

Deletes the insight specified by the InsightArn.

# Required Parameters
- `InsightArn`: The ARN of the insight to delete.

"""
delete_insight(InsightArn; aws_config::AWSConfig=global_aws_config()) = securityhub("DELETE", "/insights/$(InsightArn)"; aws_config=aws_config)
delete_insight(InsightArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("DELETE", "/insights/$(InsightArn)", args; aws_config=aws_config)

"""
    DeleteInvitations()

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.

# Required Parameters
- `AccountIds`: The list of the account IDs that sent the invitations to delete.

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

"""
    DeleteMembers()

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.

# Required Parameters
- `AccountIds`: The list of account IDs for the member accounts to delete.

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

"""
    DescribeActionTargets()

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

# Optional Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("POST", "/actionTargets/get"; aws_config=aws_config)
describe_action_targets(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/actionTargets/get", args; aws_config=aws_config)

"""
    DescribeHub()

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

# Optional Parameters
- `HubArn`: The ARN of the Hub resource to retrieve.
"""
describe_hub(; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/accounts"; aws_config=aws_config)
describe_hub(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/accounts", args; aws_config=aws_config)

"""
    DescribeOrganizationConfiguration()

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

"""
describe_organization_configuration(; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/organization/configuration"; aws_config=aws_config)
describe_organization_configuration(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/organization/configuration", args; aws_config=aws_config)

"""
    DescribeProducts()

Returns information about the available products that you can subscribe to and integrate with Security Hub in order to consolidate findings.

# Optional Parameters
- `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.
"""
describe_products(; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/products"; aws_config=aws_config)
describe_products(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/products", args; aws_config=aws_config)

"""
    DescribeStandards()

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
- `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::AWSConfig=global_aws_config()) = securityhub("GET", "/standards"; aws_config=aws_config)
describe_standards(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/standards", args; aws_config=aws_config)

"""
    DescribeStandardsControls()

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.

# Required Parameters
- `StandardsSubscriptionArn`: 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
- `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::AWSConfig=global_aws_config()) = securityhub("GET", "/standards/controls/$(StandardsSubscriptionArn)"; aws_config=aws_config)
describe_standards_controls(StandardsSubscriptionArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/standards/controls/$(StandardsSubscriptionArn)", args; aws_config=aws_config)

"""
    DisableImportFindingsForProduct()

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.

# Required Parameters
- `ProductSubscriptionArn`: The ARN of the integrated product to disable the integration for.

"""
disable_import_findings_for_product(ProductSubscriptionArn; aws_config::AWSConfig=global_aws_config()) = securityhub("DELETE", "/productSubscriptions/$(ProductSubscriptionArn)"; aws_config=aws_config)
disable_import_findings_for_product(ProductSubscriptionArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("DELETE", "/productSubscriptions/$(ProductSubscriptionArn)", args; aws_config=aws_config)

"""
    DisableOrganizationAdminAccount()

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

# Required Parameters
- `AdminAccountId`: The AWS account identifier of the Security Hub administrator account.

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

"""
    DisableSecurityHub()

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 a master 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 master 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::AWSConfig=global_aws_config()) = securityhub("DELETE", "/accounts"; aws_config=aws_config)
disable_security_hub(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("DELETE", "/accounts", args; aws_config=aws_config)

"""
    DisassociateFromMasterAccount()

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

"""
disassociate_from_master_account(; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/master/disassociate"; aws_config=aws_config)
disassociate_from_master_account(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/master/disassociate", args; aws_config=aws_config)

"""
    DisassociateMembers()

Disassociates the specified member accounts from the associated master account. Can be used to disassociate both accounts that are in an organization and accounts that were invited manually.

# Required Parameters
- `AccountIds`: The account IDs of the member accounts to disassociate from the master account.

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

"""
    EnableImportFindingsForProduct()

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.

# Required Parameters
- `ProductArn`: The ARN of the product to enable the integration for.

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

"""
    EnableOrganizationAdminAccount()

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

# Required Parameters
- `AdminAccountId`: The AWS account identifier of the account to designate as the Security Hub administrator account.

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

"""
    EnableSecurityHub()

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
- `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::AWSConfig=global_aws_config()) = securityhub("POST", "/accounts"; aws_config=aws_config)
enable_security_hub(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/accounts", args; aws_config=aws_config)

"""
    GetEnabledStandards()

Returns a list of the standards that are currently enabled.

# Optional Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("POST", "/standards/get"; aws_config=aws_config)
get_enabled_standards(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/standards/get", args; aws_config=aws_config)

"""
    GetFindings()

Returns a list of findings that match the specified criteria.

# Optional Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("POST", "/findings"; aws_config=aws_config)
get_findings(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/findings", args; aws_config=aws_config)

"""
    GetInsightResults()

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

# Required Parameters
- `InsightArn`: The ARN of the insight for which to return results.

"""
get_insight_results(InsightArn; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/insights/results/$(InsightArn)"; aws_config=aws_config)
get_insight_results(InsightArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/insights/results/$(InsightArn)", args; aws_config=aws_config)

"""
    GetInsights()

Lists and describes insights for the specified insight ARNs.

# Optional Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("POST", "/insights/get"; aws_config=aws_config)
get_insights(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/insights/get", args; aws_config=aws_config)

"""
    GetInvitationsCount()

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::AWSConfig=global_aws_config()) = securityhub("GET", "/invitations/count"; aws_config=aws_config)
get_invitations_count(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/invitations/count", args; aws_config=aws_config)

"""
    GetMasterAccount()

Provides the details for the Security Hub master account for the current member account. Can be used by both member accounts that are in an organization and accounts that were invited manually.

"""
get_master_account(; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/master"; aws_config=aws_config)
get_master_account(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/master", args; aws_config=aws_config)

"""
    GetMembers()

Returns the details for the Security Hub member accounts for the specified account IDs. A master account can be either a delegated Security Hub administrator account for an organization or a master account that enabled Security Hub manually. The results include both member accounts that are in an organization and accounts that were invited manually.

# Required Parameters
- `AccountIds`: The list of account IDs for the Security Hub member accounts to return the details for. 

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

"""
    InviteMembers()

Invites other AWS accounts to become member accounts for the Security Hub master 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 master account can view the findings generated from the member account.

# Required Parameters
- `AccountIds`: The list of account IDs of the AWS accounts to invite to Security Hub as members. 

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

"""
    ListEnabledProductsForImport()

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

# Optional Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("GET", "/productSubscriptions"; aws_config=aws_config)
list_enabled_products_for_import(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/productSubscriptions", args; aws_config=aws_config)

"""
    ListInvitations()

Lists all Security Hub membership invitations that were sent to the current AWS account. This operation is only used by accounts that do not belong to an organization. Organization accounts do not receive invitations.

# Optional Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("GET", "/invitations"; aws_config=aws_config)
list_invitations(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/invitations", args; aws_config=aws_config)

"""
    ListMembers()

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

# Optional Parameters
- `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 master account. The default value is TRUE. If OnlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the master is set to ENABLED. If OnlyAssociated is set to FALSE, the response includes all existing member accounts. 
"""
list_members(; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/members"; aws_config=aws_config)
list_members(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/members", args; aws_config=aws_config)

"""
    ListOrganizationAdminAccounts()

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

# Optional Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("GET", "/organization/admin"; aws_config=aws_config)
list_organization_admin_accounts(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/organization/admin", args; aws_config=aws_config)

"""
    ListTagsForResource()

Returns a list of tags associated with a resource.

# Required Parameters
- `ResourceArn`: The ARN of the resource to retrieve tags for.

"""
list_tags_for_resource(ResourceArn; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/tags/$(ResourceArn)"; aws_config=aws_config)
list_tags_for_resource(ResourceArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("GET", "/tags/$(ResourceArn)", args; aws_config=aws_config)

"""
    TagResource()

Adds one or more tags to a resource.

# Required Parameters
- `ResourceArn`: The ARN of the resource to apply the tags to.
- `Tags`: The tags to add to the resource.

"""
tag_resource(ResourceArn, Tags; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/tags/$(ResourceArn)", Dict{String, Any}("Tags"=>Tags); aws_config=aws_config)
tag_resource(ResourceArn, Tags, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/tags/$(ResourceArn)", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Tags"=>Tags), args)); aws_config=aws_config)

"""
    UntagResource()

Removes one or more tags from a resource.

# Required Parameters
- `ResourceArn`: The ARN of the resource to remove the tags from.
- `tagKeys`: The tag keys associated with the tags to remove from the resource.

"""
untag_resource(ResourceArn, tagKeys; aws_config::AWSConfig=global_aws_config()) = securityhub("DELETE", "/tags/$(ResourceArn)", Dict{String, Any}("tagKeys"=>tagKeys); aws_config=aws_config)
untag_resource(ResourceArn, tagKeys, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("DELETE", "/tags/$(ResourceArn)", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("tagKeys"=>tagKeys), args)); aws_config=aws_config)

"""
    UpdateActionTarget()

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

# Required Parameters
- `ActionTargetArn`: The ARN of the custom action target to update.

# Optional Parameters
- `Description`: The updated description for the custom action target.
- `Name`: The updated name of the custom action target.
"""
update_action_target(ActionTargetArn; aws_config::AWSConfig=global_aws_config()) = securityhub("PATCH", "/actionTargets/$(ActionTargetArn)"; aws_config=aws_config)
update_action_target(ActionTargetArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("PATCH", "/actionTargets/$(ActionTargetArn)", args; aws_config=aws_config)

"""
    UpdateFindings()

 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.

# Required Parameters
- `Filters`: A collection of attributes that specify which findings you want to update.

# Optional Parameters
- `Note`: The updated note for the finding.
- `RecordState`: The updated record state for the finding.
"""
update_findings(Filters; aws_config::AWSConfig=global_aws_config()) = securityhub("PATCH", "/findings", Dict{String, Any}("Filters"=>Filters); aws_config=aws_config)
update_findings(Filters, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("PATCH", "/findings", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("Filters"=>Filters), args)); aws_config=aws_config)

"""
    UpdateInsight()

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

# Required Parameters
- `InsightArn`: The ARN of the insight that you want to update.

# Optional Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("PATCH", "/insights/$(InsightArn)"; aws_config=aws_config)
update_insight(InsightArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("PATCH", "/insights/$(InsightArn)", args; aws_config=aws_config)

"""
    UpdateOrganizationConfiguration()

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

# Required Parameters
- `AutoEnable`: 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::AWSConfig=global_aws_config()) = securityhub("POST", "/organization/configuration", Dict{String, Any}("AutoEnable"=>AutoEnable); aws_config=aws_config)
update_organization_configuration(AutoEnable, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("POST", "/organization/configuration", Dict{String, Any}(mergewith(_merge, Dict{String, Any}("AutoEnable"=>AutoEnable), args)); aws_config=aws_config)

"""
    UpdateSecurityHubConfiguration()

Updates configuration options for Security Hub.

# Optional Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("PATCH", "/accounts"; aws_config=aws_config)
update_security_hub_configuration(args::AbstractDict{String, Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("PATCH", "/accounts", args; aws_config=aws_config)

"""
    UpdateStandardsControl()

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

# Required Parameters
- `StandardsControlArn`: The ARN of the security standard control to enable or disable.

# Optional Parameters
- `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::AWSConfig=global_aws_config()) = securityhub("PATCH", "/standards/control/$(StandardsControlArn)"; aws_config=aws_config)
update_standards_control(StandardsControlArn, args::AbstractDict{String, <:Any}; aws_config::AWSConfig=global_aws_config()) = securityhub("PATCH", "/standards/control/$(StandardsControlArn)", args; aws_config=aws_config)
