/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace SecurityHub { namespace Model { class AcceptInvitationRequest; class BatchDisableStandardsRequest; class BatchEnableStandardsRequest; class BatchImportFindingsRequest; class BatchUpdateFindingsRequest; class CreateActionTargetRequest; class CreateInsightRequest; class CreateMembersRequest; class DeclineInvitationsRequest; class DeleteActionTargetRequest; class DeleteInsightRequest; class DeleteInvitationsRequest; class DeleteMembersRequest; class DescribeActionTargetsRequest; class DescribeHubRequest; class DescribeProductsRequest; class DescribeStandardsRequest; class DescribeStandardsControlsRequest; class DisableImportFindingsForProductRequest; class DisableSecurityHubRequest; class DisassociateFromMasterAccountRequest; class DisassociateMembersRequest; class EnableImportFindingsForProductRequest; class EnableSecurityHubRequest; class GetEnabledStandardsRequest; class GetFindingsRequest; class GetInsightResultsRequest; class GetInsightsRequest; class GetInvitationsCountRequest; class GetMasterAccountRequest; class GetMembersRequest; class InviteMembersRequest; class ListEnabledProductsForImportRequest; class ListInvitationsRequest; class ListMembersRequest; class ListTagsForResourceRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateActionTargetRequest; class UpdateFindingsRequest; class UpdateInsightRequest; class UpdateSecurityHubConfigurationRequest; class UpdateStandardsControlRequest; typedef Aws::Utils::Outcome AcceptInvitationOutcome; typedef Aws::Utils::Outcome BatchDisableStandardsOutcome; typedef Aws::Utils::Outcome BatchEnableStandardsOutcome; typedef Aws::Utils::Outcome BatchImportFindingsOutcome; typedef Aws::Utils::Outcome BatchUpdateFindingsOutcome; typedef Aws::Utils::Outcome CreateActionTargetOutcome; typedef Aws::Utils::Outcome CreateInsightOutcome; typedef Aws::Utils::Outcome CreateMembersOutcome; typedef Aws::Utils::Outcome DeclineInvitationsOutcome; typedef Aws::Utils::Outcome DeleteActionTargetOutcome; typedef Aws::Utils::Outcome DeleteInsightOutcome; typedef Aws::Utils::Outcome DeleteInvitationsOutcome; typedef Aws::Utils::Outcome DeleteMembersOutcome; typedef Aws::Utils::Outcome DescribeActionTargetsOutcome; typedef Aws::Utils::Outcome DescribeHubOutcome; typedef Aws::Utils::Outcome DescribeProductsOutcome; typedef Aws::Utils::Outcome DescribeStandardsOutcome; typedef Aws::Utils::Outcome DescribeStandardsControlsOutcome; typedef Aws::Utils::Outcome DisableImportFindingsForProductOutcome; typedef Aws::Utils::Outcome DisableSecurityHubOutcome; typedef Aws::Utils::Outcome DisassociateFromMasterAccountOutcome; typedef Aws::Utils::Outcome DisassociateMembersOutcome; typedef Aws::Utils::Outcome EnableImportFindingsForProductOutcome; typedef Aws::Utils::Outcome EnableSecurityHubOutcome; typedef Aws::Utils::Outcome GetEnabledStandardsOutcome; typedef Aws::Utils::Outcome GetFindingsOutcome; typedef Aws::Utils::Outcome GetInsightResultsOutcome; typedef Aws::Utils::Outcome GetInsightsOutcome; typedef Aws::Utils::Outcome GetInvitationsCountOutcome; typedef Aws::Utils::Outcome GetMasterAccountOutcome; typedef Aws::Utils::Outcome GetMembersOutcome; typedef Aws::Utils::Outcome InviteMembersOutcome; typedef Aws::Utils::Outcome ListEnabledProductsForImportOutcome; typedef Aws::Utils::Outcome ListInvitationsOutcome; typedef Aws::Utils::Outcome ListMembersOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateActionTargetOutcome; typedef Aws::Utils::Outcome UpdateFindingsOutcome; typedef Aws::Utils::Outcome UpdateInsightOutcome; typedef Aws::Utils::Outcome UpdateSecurityHubConfigurationOutcome; typedef Aws::Utils::Outcome UpdateStandardsControlOutcome; typedef std::future AcceptInvitationOutcomeCallable; typedef std::future BatchDisableStandardsOutcomeCallable; typedef std::future BatchEnableStandardsOutcomeCallable; typedef std::future BatchImportFindingsOutcomeCallable; typedef std::future BatchUpdateFindingsOutcomeCallable; typedef std::future CreateActionTargetOutcomeCallable; typedef std::future CreateInsightOutcomeCallable; typedef std::future CreateMembersOutcomeCallable; typedef std::future DeclineInvitationsOutcomeCallable; typedef std::future DeleteActionTargetOutcomeCallable; typedef std::future DeleteInsightOutcomeCallable; typedef std::future DeleteInvitationsOutcomeCallable; typedef std::future DeleteMembersOutcomeCallable; typedef std::future DescribeActionTargetsOutcomeCallable; typedef std::future DescribeHubOutcomeCallable; typedef std::future DescribeProductsOutcomeCallable; typedef std::future DescribeStandardsOutcomeCallable; typedef std::future DescribeStandardsControlsOutcomeCallable; typedef std::future DisableImportFindingsForProductOutcomeCallable; typedef std::future DisableSecurityHubOutcomeCallable; typedef std::future DisassociateFromMasterAccountOutcomeCallable; typedef std::future DisassociateMembersOutcomeCallable; typedef std::future EnableImportFindingsForProductOutcomeCallable; typedef std::future EnableSecurityHubOutcomeCallable; typedef std::future GetEnabledStandardsOutcomeCallable; typedef std::future GetFindingsOutcomeCallable; typedef std::future GetInsightResultsOutcomeCallable; typedef std::future GetInsightsOutcomeCallable; typedef std::future GetInvitationsCountOutcomeCallable; typedef std::future GetMasterAccountOutcomeCallable; typedef std::future GetMembersOutcomeCallable; typedef std::future InviteMembersOutcomeCallable; typedef std::future ListEnabledProductsForImportOutcomeCallable; typedef std::future ListInvitationsOutcomeCallable; typedef std::future ListMembersOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateActionTargetOutcomeCallable; typedef std::future UpdateFindingsOutcomeCallable; typedef std::future UpdateInsightOutcomeCallable; typedef std::future UpdateSecurityHubConfigurationOutcomeCallable; typedef std::future UpdateStandardsControlOutcomeCallable; } // namespace Model class SecurityHubClient; typedef std::function&) > AcceptInvitationResponseReceivedHandler; typedef std::function&) > BatchDisableStandardsResponseReceivedHandler; typedef std::function&) > BatchEnableStandardsResponseReceivedHandler; typedef std::function&) > BatchImportFindingsResponseReceivedHandler; typedef std::function&) > BatchUpdateFindingsResponseReceivedHandler; typedef std::function&) > CreateActionTargetResponseReceivedHandler; typedef std::function&) > CreateInsightResponseReceivedHandler; typedef std::function&) > CreateMembersResponseReceivedHandler; typedef std::function&) > DeclineInvitationsResponseReceivedHandler; typedef std::function&) > DeleteActionTargetResponseReceivedHandler; typedef std::function&) > DeleteInsightResponseReceivedHandler; typedef std::function&) > DeleteInvitationsResponseReceivedHandler; typedef std::function&) > DeleteMembersResponseReceivedHandler; typedef std::function&) > DescribeActionTargetsResponseReceivedHandler; typedef std::function&) > DescribeHubResponseReceivedHandler; typedef std::function&) > DescribeProductsResponseReceivedHandler; typedef std::function&) > DescribeStandardsResponseReceivedHandler; typedef std::function&) > DescribeStandardsControlsResponseReceivedHandler; typedef std::function&) > DisableImportFindingsForProductResponseReceivedHandler; typedef std::function&) > DisableSecurityHubResponseReceivedHandler; typedef std::function&) > DisassociateFromMasterAccountResponseReceivedHandler; typedef std::function&) > DisassociateMembersResponseReceivedHandler; typedef std::function&) > EnableImportFindingsForProductResponseReceivedHandler; typedef std::function&) > EnableSecurityHubResponseReceivedHandler; typedef std::function&) > GetEnabledStandardsResponseReceivedHandler; typedef std::function&) > GetFindingsResponseReceivedHandler; typedef std::function&) > GetInsightResultsResponseReceivedHandler; typedef std::function&) > GetInsightsResponseReceivedHandler; typedef std::function&) > GetInvitationsCountResponseReceivedHandler; typedef std::function&) > GetMasterAccountResponseReceivedHandler; typedef std::function&) > GetMembersResponseReceivedHandler; typedef std::function&) > InviteMembersResponseReceivedHandler; typedef std::function&) > ListEnabledProductsForImportResponseReceivedHandler; typedef std::function&) > ListInvitationsResponseReceivedHandler; typedef std::function&) > ListMembersResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateActionTargetResponseReceivedHandler; typedef std::function&) > UpdateFindingsResponseReceivedHandler; typedef std::function&) > UpdateInsightResponseReceivedHandler; typedef std::function&) > UpdateSecurityHubConfigurationResponseReceivedHandler; typedef std::function&) > UpdateStandardsControlResponseReceivedHandler; /** *

Security Hub provides you with a comprehensive view of the security state of * your AWS environment and resources. It also provides you with the readiness * status of your environment based on controls from supported security standards. * Security Hub collects security data from AWS accounts, services, and integrated * third-party products and helps you analyze security trends in your environment * to identify the highest priority security issues. For more information about * Security Hub, see the AWS * Security Hub User Guide .

When you use operations in the Security * Hub API, the requests are executed only in the AWS Region that is currently * active or in the specific AWS Region that you specify in your request. Any * configuration or settings change that results from the operation is applied only * to that Region. To make the same change in other Regions, execute the same * command for each Region to apply the change to.

For example, if your * Region is set to us-west-2, when you use * CreateMembers to add a member account to Security Hub, the * association of the member account with the master account is created only in the * us-west-2 Region. Security Hub must be enabled for the member * account in the same Region that the invitation was sent from.

The * following throttling limits apply to using Security Hub API operations.

    *
  • GetFindings - RateLimit of 3 * requests per second. BurstLimit of 6 requests per second.

  • *
  • UpdateFindings - RateLimit of 1 * request per second. BurstLimit of 5 requests per second.

  • *
  • All other operations - RateLimit of 10 requests per second. * BurstLimit of 30 requests per second.

*/ class AWS_SECURITYHUB_API SecurityHubClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ SecurityHubClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ SecurityHubClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ SecurityHubClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~SecurityHubClient(); /** *

Accepts the invitation to be a member account and be monitored by the * Security Hub master account that the invitation was sent from.

When the * member account accepts the invitation, permission is granted to the master * account to view findings generated in the member account.

See * Also:

AWS * API Reference

*/ virtual Model::AcceptInvitationOutcome AcceptInvitation(const Model::AcceptInvitationRequest& request) const; /** *

Accepts the invitation to be a member account and be monitored by the * Security Hub master account that the invitation was sent from.

When the * member account accepts the invitation, permission is granted to the master * account to view findings generated in the member account.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AcceptInvitationOutcomeCallable AcceptInvitationCallable(const Model::AcceptInvitationRequest& request) const; /** *

Accepts the invitation to be a member account and be monitored by the * Security Hub master account that the invitation was sent from.

When the * member account accepts the invitation, permission is granted to the master * account to view findings generated in the member account.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AcceptInvitationAsync(const Model::AcceptInvitationRequest& request, const AcceptInvitationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Disables the standards specified by the provided * StandardsSubscriptionArns.

For more information, see Security * Standards section of the AWS Security Hub User Guide.

See * Also:

AWS * API Reference

*/ virtual Model::BatchDisableStandardsOutcome BatchDisableStandards(const Model::BatchDisableStandardsRequest& request) const; /** *

Disables the standards specified by the provided * StandardsSubscriptionArns.

For more information, see Security * Standards section of the AWS Security Hub User Guide.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::BatchDisableStandardsOutcomeCallable BatchDisableStandardsCallable(const Model::BatchDisableStandardsRequest& request) const; /** *

Disables the standards specified by the provided * StandardsSubscriptionArns.

For more information, see Security * Standards section of the AWS Security Hub User Guide.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void BatchDisableStandardsAsync(const Model::BatchDisableStandardsRequest& request, const BatchDisableStandardsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::BatchEnableStandardsOutcome BatchEnableStandards(const Model::BatchEnableStandardsRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::BatchEnableStandardsOutcomeCallable BatchEnableStandardsCallable(const Model::BatchEnableStandardsRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void BatchEnableStandardsAsync(const Model::BatchEnableStandardsRequest& request, const BatchEnableStandardsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

    *

See Also:

AWS * API Reference

*/ virtual Model::BatchImportFindingsOutcome BatchImportFindings(const Model::BatchImportFindingsRequest& request) const; /** *

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

    *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::BatchImportFindingsOutcomeCallable BatchImportFindingsCallable(const Model::BatchImportFindingsRequest& request) const; /** *

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

    *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void BatchImportFindingsAsync(const Model::BatchImportFindingsRequest& request, const BatchImportFindingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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 accounts can use * BatchUpdateFindings to update the following finding fields and * objects.

  • Confidence

  • * Criticality

  • Note

  • *

    RelatedFindings

  • Severity

    *
  • Types

  • * UserDefinedFields

  • * VerificationState

  • Workflow

    *

Member accounts can only use BatchUpdateFindings to * update the Note object.

See Also:

AWS * API Reference

*/ virtual Model::BatchUpdateFindingsOutcome BatchUpdateFindings(const Model::BatchUpdateFindingsRequest& request) const; /** *

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 accounts can use * BatchUpdateFindings to update the following finding fields and * objects.

  • Confidence

  • * Criticality

  • Note

  • *

    RelatedFindings

  • Severity

    *
  • Types

  • * UserDefinedFields

  • * VerificationState

  • Workflow

    *

Member accounts can only use BatchUpdateFindings to * update the Note object.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::BatchUpdateFindingsOutcomeCallable BatchUpdateFindingsCallable(const Model::BatchUpdateFindingsRequest& request) const; /** *

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 accounts can use * BatchUpdateFindings to update the following finding fields and * objects.

  • Confidence

  • * Criticality

  • Note

  • *

    RelatedFindings

  • Severity

    *
  • Types

  • * UserDefinedFields

  • * VerificationState

  • Workflow

    *

Member accounts can only use BatchUpdateFindings to * update the Note object.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void BatchUpdateFindingsAsync(const Model::BatchUpdateFindingsRequest& request, const BatchUpdateFindingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::CreateActionTargetOutcome CreateActionTarget(const Model::CreateActionTargetRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateActionTargetOutcomeCallable CreateActionTargetCallable(const Model::CreateActionTargetRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateActionTargetAsync(const Model::CreateActionTargetRequest& request, const CreateActionTargetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::CreateInsightOutcome CreateInsight(const Model::CreateInsightRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateInsightOutcomeCallable CreateInsightCallable(const Model::CreateInsightRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateInsightAsync(const Model::CreateInsightRequest& request, const CreateInsightResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a member association in Security Hub between the specified accounts * and the account used to make the request, which is the master account. To * successfully create a member, you must use this action from an account that * already has Security Hub enabled. To enable Security Hub, you can use the * EnableSecurityHub operation.

After you use * CreateMembers to create member account associations in Security * Hub, you must use the InviteMembers operation to invite * the accounts to enable Security Hub and become member accounts in Security * Hub.

If the account owner accepts the invitation, the account becomes 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 the invited account, findings start to be sent to * both the member and master accounts.

To remove the association between * the master and member accounts, use the * DisassociateFromMasterAccount or * DisassociateMembers operation.

See Also:

AWS * API Reference

*/ virtual Model::CreateMembersOutcome CreateMembers(const Model::CreateMembersRequest& request) const; /** *

Creates a member association in Security Hub between the specified accounts * and the account used to make the request, which is the master account. To * successfully create a member, you must use this action from an account that * already has Security Hub enabled. To enable Security Hub, you can use the * EnableSecurityHub operation.

After you use * CreateMembers to create member account associations in Security * Hub, you must use the InviteMembers operation to invite * the accounts to enable Security Hub and become member accounts in Security * Hub.

If the account owner accepts the invitation, the account becomes 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 the invited account, findings start to be sent to * both the member and master accounts.

To remove the association between * the master and member accounts, use the * DisassociateFromMasterAccount or * DisassociateMembers operation.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateMembersOutcomeCallable CreateMembersCallable(const Model::CreateMembersRequest& request) const; /** *

Creates a member association in Security Hub between the specified accounts * and the account used to make the request, which is the master account. To * successfully create a member, you must use this action from an account that * already has Security Hub enabled. To enable Security Hub, you can use the * EnableSecurityHub operation.

After you use * CreateMembers to create member account associations in Security * Hub, you must use the InviteMembers operation to invite * the accounts to enable Security Hub and become member accounts in Security * Hub.

If the account owner accepts the invitation, the account becomes 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 the invited account, findings start to be sent to * both the member and master accounts.

To remove the association between * the master and member accounts, use the * DisassociateFromMasterAccount or * DisassociateMembers operation.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateMembersAsync(const Model::CreateMembersRequest& request, const CreateMembersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Declines invitations to become a member account.

See Also:

* AWS * API Reference

*/ virtual Model::DeclineInvitationsOutcome DeclineInvitations(const Model::DeclineInvitationsRequest& request) const; /** *

Declines invitations to become a member account.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeclineInvitationsOutcomeCallable DeclineInvitationsCallable(const Model::DeclineInvitationsRequest& request) const; /** *

Declines invitations to become a member account.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeclineInvitationsAsync(const Model::DeclineInvitationsRequest& request, const DeclineInvitationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DeleteActionTargetOutcome DeleteActionTarget(const Model::DeleteActionTargetRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteActionTargetOutcomeCallable DeleteActionTargetCallable(const Model::DeleteActionTargetRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteActionTargetAsync(const Model::DeleteActionTargetRequest& request, const DeleteActionTargetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the insight specified by the InsightArn.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteInsightOutcome DeleteInsight(const Model::DeleteInsightRequest& request) const; /** *

Deletes the insight specified by the InsightArn.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteInsightOutcomeCallable DeleteInsightCallable(const Model::DeleteInsightRequest& request) const; /** *

Deletes the insight specified by the InsightArn.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteInsightAsync(const Model::DeleteInsightRequest& request, const DeleteInsightResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes invitations received by the AWS account to become a member * account.

See Also:

AWS * API Reference

*/ virtual Model::DeleteInvitationsOutcome DeleteInvitations(const Model::DeleteInvitationsRequest& request) const; /** *

Deletes invitations received by the AWS account to become a member * account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteInvitationsOutcomeCallable DeleteInvitationsCallable(const Model::DeleteInvitationsRequest& request) const; /** *

Deletes invitations received by the AWS account to become a member * account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteInvitationsAsync(const Model::DeleteInvitationsRequest& request, const DeleteInvitationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified member accounts from Security Hub.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteMembersOutcome DeleteMembers(const Model::DeleteMembersRequest& request) const; /** *

Deletes the specified member accounts from Security Hub.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteMembersOutcomeCallable DeleteMembersCallable(const Model::DeleteMembersRequest& request) const; /** *

Deletes the specified member accounts from Security Hub.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteMembersAsync(const Model::DeleteMembersRequest& request, const DeleteMembersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::DescribeActionTargetsOutcome DescribeActionTargets(const Model::DescribeActionTargetsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeActionTargetsOutcomeCallable DescribeActionTargetsCallable(const Model::DescribeActionTargetsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeActionTargetsAsync(const Model::DescribeActionTargetsRequest& request, const DescribeActionTargetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See * Also:

AWS * API Reference

*/ virtual Model::DescribeHubOutcome DescribeHub(const Model::DescribeHubRequest& request) const; /** *

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

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeHubOutcomeCallable DescribeHubCallable(const Model::DescribeHubRequest& request) const; /** *

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

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeHubAsync(const Model::DescribeHubRequest& request, const DescribeHubResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See * Also:

AWS * API Reference

*/ virtual Model::DescribeProductsOutcome DescribeProducts(const Model::DescribeProductsRequest& request) const; /** *

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

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeProductsOutcomeCallable DescribeProductsCallable(const Model::DescribeProductsRequest& request) const; /** *

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

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeProductsAsync(const Model::DescribeProductsRequest& request, const DescribeProductsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of the available standards in Security Hub.

For each * standard, the results include the standard ARN, the name, and a description. *

See Also:

AWS * API Reference

*/ virtual Model::DescribeStandardsOutcome DescribeStandards(const Model::DescribeStandardsRequest& request) const; /** *

Returns a list of the available standards in Security Hub.

For each * standard, the results include the standard ARN, the name, and a description. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeStandardsOutcomeCallable DescribeStandardsCallable(const Model::DescribeStandardsRequest& request) const; /** *

Returns a list of the available standards in Security Hub.

For each * standard, the results include the standard ARN, the name, and a description. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeStandardsAsync(const Model::DescribeStandardsRequest& request, const DescribeStandardsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DescribeStandardsControlsOutcome DescribeStandardsControls(const Model::DescribeStandardsControlsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeStandardsControlsOutcomeCallable DescribeStandardsControlsCallable(const Model::DescribeStandardsControlsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeStandardsControlsAsync(const Model::DescribeStandardsControlsRequest& request, const DescribeStandardsControlsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DisableImportFindingsForProductOutcome DisableImportFindingsForProduct(const Model::DisableImportFindingsForProductRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisableImportFindingsForProductOutcomeCallable DisableImportFindingsForProductCallable(const Model::DisableImportFindingsForProductRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisableImportFindingsForProductAsync(const Model::DisableImportFindingsForProductRequest& request, const DisableImportFindingsForProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DisableSecurityHubOutcome DisableSecurityHub(const Model::DisableSecurityHubRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisableSecurityHubOutcomeCallable DisableSecurityHubCallable(const Model::DisableSecurityHubRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisableSecurityHubAsync(const Model::DisableSecurityHubRequest& request, const DisableSecurityHubResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Disassociates the current Security Hub member account from the associated * master account.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateFromMasterAccountOutcome DisassociateFromMasterAccount(const Model::DisassociateFromMasterAccountRequest& request) const; /** *

Disassociates the current Security Hub member account from the associated * master account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisassociateFromMasterAccountOutcomeCallable DisassociateFromMasterAccountCallable(const Model::DisassociateFromMasterAccountRequest& request) const; /** *

Disassociates the current Security Hub member account from the associated * master account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisassociateFromMasterAccountAsync(const Model::DisassociateFromMasterAccountRequest& request, const DisassociateFromMasterAccountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Disassociates the specified member accounts from the associated master * account.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateMembersOutcome DisassociateMembers(const Model::DisassociateMembersRequest& request) const; /** *

Disassociates the specified member accounts from the associated master * account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisassociateMembersOutcomeCallable DisassociateMembersCallable(const Model::DisassociateMembersRequest& request) const; /** *

Disassociates the specified member accounts from the associated master * account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisassociateMembersAsync(const Model::DisassociateMembersRequest& request, const DisassociateMembersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::EnableImportFindingsForProductOutcome EnableImportFindingsForProduct(const Model::EnableImportFindingsForProductRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::EnableImportFindingsForProductOutcomeCallable EnableImportFindingsForProductCallable(const Model::EnableImportFindingsForProductRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void EnableImportFindingsForProductAsync(const Model::EnableImportFindingsForProductRequest& request, const EnableImportFindingsForProductResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::EnableSecurityHubOutcome EnableSecurityHub(const Model::EnableSecurityHubRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::EnableSecurityHubOutcomeCallable EnableSecurityHubCallable(const Model::EnableSecurityHubRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void EnableSecurityHubAsync(const Model::EnableSecurityHubRequest& request, const EnableSecurityHubResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of the standards that are currently enabled.

See * Also:

AWS * API Reference

*/ virtual Model::GetEnabledStandardsOutcome GetEnabledStandards(const Model::GetEnabledStandardsRequest& request) const; /** *

Returns a list of the standards that are currently enabled.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetEnabledStandardsOutcomeCallable GetEnabledStandardsCallable(const Model::GetEnabledStandardsRequest& request) const; /** *

Returns a list of the standards that are currently enabled.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetEnabledStandardsAsync(const Model::GetEnabledStandardsRequest& request, const GetEnabledStandardsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of findings that match the specified criteria.

See * Also:

AWS * API Reference

*/ virtual Model::GetFindingsOutcome GetFindings(const Model::GetFindingsRequest& request) const; /** *

Returns a list of findings that match the specified criteria.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetFindingsOutcomeCallable GetFindingsCallable(const Model::GetFindingsRequest& request) const; /** *

Returns a list of findings that match the specified criteria.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetFindingsAsync(const Model::GetFindingsRequest& request, const GetFindingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::GetInsightResultsOutcome GetInsightResults(const Model::GetInsightResultsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetInsightResultsOutcomeCallable GetInsightResultsCallable(const Model::GetInsightResultsRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetInsightResultsAsync(const Model::GetInsightResultsRequest& request, const GetInsightResultsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists and describes insights for the specified insight ARNs.

See * Also:

AWS * API Reference

*/ virtual Model::GetInsightsOutcome GetInsights(const Model::GetInsightsRequest& request) const; /** *

Lists and describes insights for the specified insight ARNs.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetInsightsOutcomeCallable GetInsightsCallable(const Model::GetInsightsRequest& request) const; /** *

Lists and describes insights for the specified insight ARNs.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetInsightsAsync(const Model::GetInsightsRequest& request, const GetInsightsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::GetInvitationsCountOutcome GetInvitationsCount(const Model::GetInvitationsCountRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetInvitationsCountOutcomeCallable GetInvitationsCountCallable(const Model::GetInvitationsCountRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetInvitationsCountAsync(const Model::GetInvitationsCountRequest& request, const GetInvitationsCountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Provides the details for the Security Hub master account for the current * member account.

See Also:

AWS * API Reference

*/ virtual Model::GetMasterAccountOutcome GetMasterAccount(const Model::GetMasterAccountRequest& request) const; /** *

Provides the details for the Security Hub master account for the current * member account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetMasterAccountOutcomeCallable GetMasterAccountCallable(const Model::GetMasterAccountRequest& request) const; /** *

Provides the details for the Security Hub master account for the current * member account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetMasterAccountAsync(const Model::GetMasterAccountRequest& request, const GetMasterAccountResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns the details for the Security Hub member accounts for the specified * account IDs.

See Also:

AWS * API Reference

*/ virtual Model::GetMembersOutcome GetMembers(const Model::GetMembersRequest& request) const; /** *

Returns the details for the Security Hub member accounts for the specified * account IDs.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetMembersOutcomeCallable GetMembersCallable(const Model::GetMembersRequest& request) const; /** *

Returns the details for the Security Hub member accounts for the specified * account IDs.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetMembersAsync(const Model::GetMembersRequest& request, const GetMembersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Invites other AWS accounts to become member accounts for the Security Hub * master account that the invitation is sent from.

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 accepts the invitation to become a member account and enables * Security Hub, the master account can view the findings generated from the member * account.

See Also:

AWS * API Reference

*/ virtual Model::InviteMembersOutcome InviteMembers(const Model::InviteMembersRequest& request) const; /** *

Invites other AWS accounts to become member accounts for the Security Hub * master account that the invitation is sent from.

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 accepts the invitation to become a member account and enables * Security Hub, the master account can view the findings generated from the member * account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::InviteMembersOutcomeCallable InviteMembersCallable(const Model::InviteMembersRequest& request) const; /** *

Invites other AWS accounts to become member accounts for the Security Hub * master account that the invitation is sent from.

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 accepts the invitation to become a member account and enables * Security Hub, the master account can view the findings generated from the member * account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void InviteMembersAsync(const Model::InviteMembersRequest& request, const InviteMembersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::ListEnabledProductsForImportOutcome ListEnabledProductsForImport(const Model::ListEnabledProductsForImportRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListEnabledProductsForImportOutcomeCallable ListEnabledProductsForImportCallable(const Model::ListEnabledProductsForImportRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListEnabledProductsForImportAsync(const Model::ListEnabledProductsForImportRequest& request, const ListEnabledProductsForImportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists all Security Hub membership invitations that were sent to the current * AWS account.

See Also:

AWS * API Reference

*/ virtual Model::ListInvitationsOutcome ListInvitations(const Model::ListInvitationsRequest& request) const; /** *

Lists all Security Hub membership invitations that were sent to the current * AWS account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListInvitationsOutcomeCallable ListInvitationsCallable(const Model::ListInvitationsRequest& request) const; /** *

Lists all Security Hub membership invitations that were sent to the current * AWS account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListInvitationsAsync(const Model::ListInvitationsRequest& request, const ListInvitationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists details about all member accounts for the current Security Hub master * account.

See Also:

AWS * API Reference

*/ virtual Model::ListMembersOutcome ListMembers(const Model::ListMembersRequest& request) const; /** *

Lists details about all member accounts for the current Security Hub master * account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListMembersOutcomeCallable ListMembersCallable(const Model::ListMembersRequest& request) const; /** *

Lists details about all member accounts for the current Security Hub master * account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListMembersAsync(const Model::ListMembersRequest& request, const ListMembersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of tags associated with a resource.

See Also:

* AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Returns a list of tags associated with a resource.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

Returns a list of tags associated with a resource.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds one or more tags to a resource.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

Adds one or more tags to a resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** *

Adds one or more tags to a resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes one or more tags from a resource.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

Removes one or more tags from a resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** *

Removes one or more tags from a resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::UpdateActionTargetOutcome UpdateActionTarget(const Model::UpdateActionTargetRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateActionTargetOutcomeCallable UpdateActionTargetCallable(const Model::UpdateActionTargetRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateActionTargetAsync(const Model::UpdateActionTargetRequest& request, const UpdateActionTargetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateFindingsOutcome UpdateFindings(const Model::UpdateFindingsRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateFindingsOutcomeCallable UpdateFindingsCallable(const Model::UpdateFindingsRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateFindingsAsync(const Model::UpdateFindingsRequest& request, const UpdateFindingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::UpdateInsightOutcome UpdateInsight(const Model::UpdateInsightRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateInsightOutcomeCallable UpdateInsightCallable(const Model::UpdateInsightRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateInsightAsync(const Model::UpdateInsightRequest& request, const UpdateInsightResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates configuration options for Security Hub.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSecurityHubConfigurationOutcome UpdateSecurityHubConfiguration(const Model::UpdateSecurityHubConfigurationRequest& request) const; /** *

Updates configuration options for Security Hub.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateSecurityHubConfigurationOutcomeCallable UpdateSecurityHubConfigurationCallable(const Model::UpdateSecurityHubConfigurationRequest& request) const; /** *

Updates configuration options for Security Hub.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateSecurityHubConfigurationAsync(const Model::UpdateSecurityHubConfigurationRequest& request, const UpdateSecurityHubConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

AWS * API Reference

*/ virtual Model::UpdateStandardsControlOutcome UpdateStandardsControl(const Model::UpdateStandardsControlRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateStandardsControlOutcomeCallable UpdateStandardsControlCallable(const Model::UpdateStandardsControlRequest& request) const; /** *

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateStandardsControlAsync(const Model::UpdateStandardsControlRequest& request, const UpdateStandardsControlResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AcceptInvitationAsyncHelper(const Model::AcceptInvitationRequest& request, const AcceptInvitationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void BatchDisableStandardsAsyncHelper(const Model::BatchDisableStandardsRequest& request, const BatchDisableStandardsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void BatchEnableStandardsAsyncHelper(const Model::BatchEnableStandardsRequest& request, const BatchEnableStandardsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void BatchImportFindingsAsyncHelper(const Model::BatchImportFindingsRequest& request, const BatchImportFindingsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void BatchUpdateFindingsAsyncHelper(const Model::BatchUpdateFindingsRequest& request, const BatchUpdateFindingsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateActionTargetAsyncHelper(const Model::CreateActionTargetRequest& request, const CreateActionTargetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateInsightAsyncHelper(const Model::CreateInsightRequest& request, const CreateInsightResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateMembersAsyncHelper(const Model::CreateMembersRequest& request, const CreateMembersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeclineInvitationsAsyncHelper(const Model::DeclineInvitationsRequest& request, const DeclineInvitationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteActionTargetAsyncHelper(const Model::DeleteActionTargetRequest& request, const DeleteActionTargetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteInsightAsyncHelper(const Model::DeleteInsightRequest& request, const DeleteInsightResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteInvitationsAsyncHelper(const Model::DeleteInvitationsRequest& request, const DeleteInvitationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteMembersAsyncHelper(const Model::DeleteMembersRequest& request, const DeleteMembersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeActionTargetsAsyncHelper(const Model::DescribeActionTargetsRequest& request, const DescribeActionTargetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeHubAsyncHelper(const Model::DescribeHubRequest& request, const DescribeHubResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeProductsAsyncHelper(const Model::DescribeProductsRequest& request, const DescribeProductsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeStandardsAsyncHelper(const Model::DescribeStandardsRequest& request, const DescribeStandardsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeStandardsControlsAsyncHelper(const Model::DescribeStandardsControlsRequest& request, const DescribeStandardsControlsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisableImportFindingsForProductAsyncHelper(const Model::DisableImportFindingsForProductRequest& request, const DisableImportFindingsForProductResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisableSecurityHubAsyncHelper(const Model::DisableSecurityHubRequest& request, const DisableSecurityHubResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisassociateFromMasterAccountAsyncHelper(const Model::DisassociateFromMasterAccountRequest& request, const DisassociateFromMasterAccountResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisassociateMembersAsyncHelper(const Model::DisassociateMembersRequest& request, const DisassociateMembersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void EnableImportFindingsForProductAsyncHelper(const Model::EnableImportFindingsForProductRequest& request, const EnableImportFindingsForProductResponseReceivedHandler& handler, const std::shared_ptr& context) const; void EnableSecurityHubAsyncHelper(const Model::EnableSecurityHubRequest& request, const EnableSecurityHubResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetEnabledStandardsAsyncHelper(const Model::GetEnabledStandardsRequest& request, const GetEnabledStandardsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetFindingsAsyncHelper(const Model::GetFindingsRequest& request, const GetFindingsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetInsightResultsAsyncHelper(const Model::GetInsightResultsRequest& request, const GetInsightResultsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetInsightsAsyncHelper(const Model::GetInsightsRequest& request, const GetInsightsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetInvitationsCountAsyncHelper(const Model::GetInvitationsCountRequest& request, const GetInvitationsCountResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetMasterAccountAsyncHelper(const Model::GetMasterAccountRequest& request, const GetMasterAccountResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetMembersAsyncHelper(const Model::GetMembersRequest& request, const GetMembersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void InviteMembersAsyncHelper(const Model::InviteMembersRequest& request, const InviteMembersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListEnabledProductsForImportAsyncHelper(const Model::ListEnabledProductsForImportRequest& request, const ListEnabledProductsForImportResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListInvitationsAsyncHelper(const Model::ListInvitationsRequest& request, const ListInvitationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListMembersAsyncHelper(const Model::ListMembersRequest& request, const ListMembersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateActionTargetAsyncHelper(const Model::UpdateActionTargetRequest& request, const UpdateActionTargetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateFindingsAsyncHelper(const Model::UpdateFindingsRequest& request, const UpdateFindingsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateInsightAsyncHelper(const Model::UpdateInsightRequest& request, const UpdateInsightResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateSecurityHubConfigurationAsyncHelper(const Model::UpdateSecurityHubConfigurationRequest& request, const UpdateSecurityHubConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateStandardsControlAsyncHelper(const Model::UpdateStandardsControlRequest& request, const UpdateStandardsControlResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace SecurityHub } // namespace Aws