securityhub.d.ts
   1  import {Request} from '../lib/request';
   2  import {Response} from '../lib/response';
   3  import {AWSError} from '../lib/error';
   4  import {Service} from '../lib/service';
   5  import {ServiceConfigurationOptions} from '../lib/service';
   6  import {ConfigBase as Config} from '../lib/config-base';
   7  interface Blob {}
   8  declare class SecurityHub extends Service {
   9    /**
  10     * Constructs a service object. This object has one method for each API operation.
  11     */
  12    constructor(options?: SecurityHub.Types.ClientConfiguration)
  13    config: Config & SecurityHub.Types.ClientConfiguration;
  14    /**
  15     * Accepts the invitation to be a member account and be monitored by the Security Hub administrator account that the invitation was sent from. This operation is only used by member accounts that are not added through Organizations. When the member account accepts the invitation, permission is granted to the administrator account to view findings generated in the member account.
  16     */
  17    acceptAdministratorInvitation(params: SecurityHub.Types.AcceptAdministratorInvitationRequest, callback?: (err: AWSError, data: SecurityHub.Types.AcceptAdministratorInvitationResponse) => void): Request<SecurityHub.Types.AcceptAdministratorInvitationResponse, AWSError>;
  18    /**
  19     * Accepts the invitation to be a member account and be monitored by the Security Hub administrator account that the invitation was sent from. This operation is only used by member accounts that are not added through Organizations. When the member account accepts the invitation, permission is granted to the administrator account to view findings generated in the member account.
  20     */
  21    acceptAdministratorInvitation(callback?: (err: AWSError, data: SecurityHub.Types.AcceptAdministratorInvitationResponse) => void): Request<SecurityHub.Types.AcceptAdministratorInvitationResponse, AWSError>;
  22    /**
  23     * This method is deprecated. Instead, use AcceptAdministratorInvitation. The Security Hub console continues to use AcceptInvitation. It will eventually change to use AcceptAdministratorInvitation. Any IAM policies that specifically control access to this function must continue to use AcceptInvitation. You should also add AcceptAdministratorInvitation to your policies to ensure that the correct permissions are in place after the console begins to use AcceptAdministratorInvitation. Accepts the invitation to be a member account and be monitored by the Security Hub administrator account that the invitation was sent from. This operation is only used by member accounts that are not added through Organizations. When the member account accepts the invitation, permission is granted to the administrator account to view findings generated in the member account.
  24     */
  25    acceptInvitation(params: SecurityHub.Types.AcceptInvitationRequest, callback?: (err: AWSError, data: SecurityHub.Types.AcceptInvitationResponse) => void): Request<SecurityHub.Types.AcceptInvitationResponse, AWSError>;
  26    /**
  27     * This method is deprecated. Instead, use AcceptAdministratorInvitation. The Security Hub console continues to use AcceptInvitation. It will eventually change to use AcceptAdministratorInvitation. Any IAM policies that specifically control access to this function must continue to use AcceptInvitation. You should also add AcceptAdministratorInvitation to your policies to ensure that the correct permissions are in place after the console begins to use AcceptAdministratorInvitation. Accepts the invitation to be a member account and be monitored by the Security Hub administrator account that the invitation was sent from. This operation is only used by member accounts that are not added through Organizations. When the member account accepts the invitation, permission is granted to the administrator account to view findings generated in the member account.
  28     */
  29    acceptInvitation(callback?: (err: AWSError, data: SecurityHub.Types.AcceptInvitationResponse) => void): Request<SecurityHub.Types.AcceptInvitationResponse, AWSError>;
  30    /**
  31     * Disables the standards specified by the provided StandardsSubscriptionArns. For more information, see Security Standards section of the Security Hub User Guide.
  32     */
  33    batchDisableStandards(params: SecurityHub.Types.BatchDisableStandardsRequest, callback?: (err: AWSError, data: SecurityHub.Types.BatchDisableStandardsResponse) => void): Request<SecurityHub.Types.BatchDisableStandardsResponse, AWSError>;
  34    /**
  35     * Disables the standards specified by the provided StandardsSubscriptionArns. For more information, see Security Standards section of the Security Hub User Guide.
  36     */
  37    batchDisableStandards(callback?: (err: AWSError, data: SecurityHub.Types.BatchDisableStandardsResponse) => void): Request<SecurityHub.Types.BatchDisableStandardsResponse, AWSError>;
  38    /**
  39     * 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 Security Hub User Guide.
  40     */
  41    batchEnableStandards(params: SecurityHub.Types.BatchEnableStandardsRequest, callback?: (err: AWSError, data: SecurityHub.Types.BatchEnableStandardsResponse) => void): Request<SecurityHub.Types.BatchEnableStandardsResponse, AWSError>;
  42    /**
  43     * 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 Security Hub User Guide.
  44     */
  45    batchEnableStandards(callback?: (err: AWSError, data: SecurityHub.Types.BatchEnableStandardsResponse) => void): Request<SecurityHub.Types.BatchEnableStandardsResponse, AWSError>;
  46    /**
  47     * Imports security findings generated from an integrated product into Security Hub. This action is requested by the integrated product to import its findings into Security Hub. The maximum allowed size for a finding is 240 Kb. An error is returned for any finding larger than 240 Kb. After a finding is created, BatchImportFindings cannot be used to update the following finding fields and objects, which Security Hub customers use to manage their investigation workflow.    Note     UserDefinedFields     VerificationState     Workflow    Finding providers also should not use BatchImportFindings to update the following attributes.    Confidence     Criticality     RelatedFindings     Severity     Types    Instead, finding providers use FindingProviderFields to provide values for these attributes.
  48     */
  49    batchImportFindings(params: SecurityHub.Types.BatchImportFindingsRequest, callback?: (err: AWSError, data: SecurityHub.Types.BatchImportFindingsResponse) => void): Request<SecurityHub.Types.BatchImportFindingsResponse, AWSError>;
  50    /**
  51     * Imports security findings generated from an integrated product into Security Hub. This action is requested by the integrated product to import its findings into Security Hub. The maximum allowed size for a finding is 240 Kb. An error is returned for any finding larger than 240 Kb. After a finding is created, BatchImportFindings cannot be used to update the following finding fields and objects, which Security Hub customers use to manage their investigation workflow.    Note     UserDefinedFields     VerificationState     Workflow    Finding providers also should not use BatchImportFindings to update the following attributes.    Confidence     Criticality     RelatedFindings     Severity     Types    Instead, finding providers use FindingProviderFields to provide values for these attributes.
  52     */
  53    batchImportFindings(callback?: (err: AWSError, data: SecurityHub.Types.BatchImportFindingsResponse) => void): Request<SecurityHub.Types.BatchImportFindingsResponse, AWSError>;
  54    /**
  55     * Used by Security Hub customers to update information about their investigation into a finding. Requested by administrator accounts or member accounts. Administrator accounts can update findings for their account and their member accounts. Member accounts can update findings for their account. Updates from BatchUpdateFindings do not affect the value of UpdatedAt for a finding. Administrator and member accounts can use BatchUpdateFindings to update the following finding fields and objects.    Confidence     Criticality     Note     RelatedFindings     Severity     Types     UserDefinedFields     VerificationState     Workflow    You can configure IAM policies to restrict access to fields and field values. For example, you might not want member accounts to be able to suppress findings or change the finding severity. See Configuring access to BatchUpdateFindings in the Security Hub User Guide.
  56     */
  57    batchUpdateFindings(params: SecurityHub.Types.BatchUpdateFindingsRequest, callback?: (err: AWSError, data: SecurityHub.Types.BatchUpdateFindingsResponse) => void): Request<SecurityHub.Types.BatchUpdateFindingsResponse, AWSError>;
  58    /**
  59     * Used by Security Hub customers to update information about their investigation into a finding. Requested by administrator accounts or member accounts. Administrator accounts can update findings for their account and their member accounts. Member accounts can update findings for their account. Updates from BatchUpdateFindings do not affect the value of UpdatedAt for a finding. Administrator and member accounts can use BatchUpdateFindings to update the following finding fields and objects.    Confidence     Criticality     Note     RelatedFindings     Severity     Types     UserDefinedFields     VerificationState     Workflow    You can configure IAM policies to restrict access to fields and field values. For example, you might not want member accounts to be able to suppress findings or change the finding severity. See Configuring access to BatchUpdateFindings in the Security Hub User Guide.
  60     */
  61    batchUpdateFindings(callback?: (err: AWSError, data: SecurityHub.Types.BatchUpdateFindingsResponse) => void): Request<SecurityHub.Types.BatchUpdateFindingsResponse, AWSError>;
  62    /**
  63     * 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.
  64     */
  65    createActionTarget(params: SecurityHub.Types.CreateActionTargetRequest, callback?: (err: AWSError, data: SecurityHub.Types.CreateActionTargetResponse) => void): Request<SecurityHub.Types.CreateActionTargetResponse, AWSError>;
  66    /**
  67     * 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.
  68     */
  69    createActionTarget(callback?: (err: AWSError, data: SecurityHub.Types.CreateActionTargetResponse) => void): Request<SecurityHub.Types.CreateActionTargetResponse, AWSError>;
  70    /**
  71     * 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.
  72     */
  73    createInsight(params: SecurityHub.Types.CreateInsightRequest, callback?: (err: AWSError, data: SecurityHub.Types.CreateInsightResponse) => void): Request<SecurityHub.Types.CreateInsightResponse, AWSError>;
  74    /**
  75     * 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.
  76     */
  77    createInsight(callback?: (err: AWSError, data: SecurityHub.Types.CreateInsightResponse) => void): Request<SecurityHub.Types.CreateInsightResponse, AWSError>;
  78    /**
  79     * Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the administrator account. If you are integrated with Organizations, then the administrator account is designated by the organization management account.  CreateMembers is always used to add accounts that are not organization members. For accounts that are managed using Organizations, CreateMembers is only used in the following cases:   Security Hub is not configured to automatically add new organization accounts.   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 managed using Organizations do not receive an invitation. They automatically become a member account in Security Hub, and Security Hub is automatically enabled for those accounts. Note that Security Hub cannot be enabled automatically for the organization management account. The organization management account must enable Security Hub before the administrator account enables it as a member account. A permissions policy is added that permits the administrator account to view the findings generated in the member account. When Security Hub is enabled in a member account, the member account findings are also visible to the administrator account.  To remove the association between the administrator and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation.
  80     */
  81    createMembers(params: SecurityHub.Types.CreateMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.CreateMembersResponse) => void): Request<SecurityHub.Types.CreateMembersResponse, AWSError>;
  82    /**
  83     * Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the administrator account. If you are integrated with Organizations, then the administrator account is designated by the organization management account.  CreateMembers is always used to add accounts that are not organization members. For accounts that are managed using Organizations, CreateMembers is only used in the following cases:   Security Hub is not configured to automatically add new organization accounts.   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 managed using Organizations do not receive an invitation. They automatically become a member account in Security Hub, and Security Hub is automatically enabled for those accounts. Note that Security Hub cannot be enabled automatically for the organization management account. The organization management account must enable Security Hub before the administrator account enables it as a member account. A permissions policy is added that permits the administrator account to view the findings generated in the member account. When Security Hub is enabled in a member account, the member account findings are also visible to the administrator account.  To remove the association between the administrator and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation.
  84     */
  85    createMembers(callback?: (err: AWSError, data: SecurityHub.Types.CreateMembersResponse) => void): Request<SecurityHub.Types.CreateMembersResponse, AWSError>;
  86    /**
  87     * 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.
  88     */
  89    declineInvitations(params: SecurityHub.Types.DeclineInvitationsRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeclineInvitationsResponse) => void): Request<SecurityHub.Types.DeclineInvitationsResponse, AWSError>;
  90    /**
  91     * 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.
  92     */
  93    declineInvitations(callback?: (err: AWSError, data: SecurityHub.Types.DeclineInvitationsResponse) => void): Request<SecurityHub.Types.DeclineInvitationsResponse, AWSError>;
  94    /**
  95     * 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.
  96     */
  97    deleteActionTarget(params: SecurityHub.Types.DeleteActionTargetRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeleteActionTargetResponse) => void): Request<SecurityHub.Types.DeleteActionTargetResponse, AWSError>;
  98    /**
  99     * 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.
 100     */
 101    deleteActionTarget(callback?: (err: AWSError, data: SecurityHub.Types.DeleteActionTargetResponse) => void): Request<SecurityHub.Types.DeleteActionTargetResponse, AWSError>;
 102    /**
 103     * Deletes the insight specified by the InsightArn.
 104     */
 105    deleteInsight(params: SecurityHub.Types.DeleteInsightRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeleteInsightResponse) => void): Request<SecurityHub.Types.DeleteInsightResponse, AWSError>;
 106    /**
 107     * Deletes the insight specified by the InsightArn.
 108     */
 109    deleteInsight(callback?: (err: AWSError, data: SecurityHub.Types.DeleteInsightResponse) => void): Request<SecurityHub.Types.DeleteInsightResponse, AWSError>;
 110    /**
 111     * Deletes invitations received by the Amazon Web Services 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.
 112     */
 113    deleteInvitations(params: SecurityHub.Types.DeleteInvitationsRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeleteInvitationsResponse) => void): Request<SecurityHub.Types.DeleteInvitationsResponse, AWSError>;
 114    /**
 115     * Deletes invitations received by the Amazon Web Services 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.
 116     */
 117    deleteInvitations(callback?: (err: AWSError, data: SecurityHub.Types.DeleteInvitationsResponse) => void): Request<SecurityHub.Types.DeleteInvitationsResponse, AWSError>;
 118    /**
 119     * 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.
 120     */
 121    deleteMembers(params: SecurityHub.Types.DeleteMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.DeleteMembersResponse) => void): Request<SecurityHub.Types.DeleteMembersResponse, AWSError>;
 122    /**
 123     * 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.
 124     */
 125    deleteMembers(callback?: (err: AWSError, data: SecurityHub.Types.DeleteMembersResponse) => void): Request<SecurityHub.Types.DeleteMembersResponse, AWSError>;
 126    /**
 127     * Returns a list of the custom action targets in Security Hub in your account.
 128     */
 129    describeActionTargets(params: SecurityHub.Types.DescribeActionTargetsRequest, callback?: (err: AWSError, data: SecurityHub.Types.DescribeActionTargetsResponse) => void): Request<SecurityHub.Types.DescribeActionTargetsResponse, AWSError>;
 130    /**
 131     * Returns a list of the custom action targets in Security Hub in your account.
 132     */
 133    describeActionTargets(callback?: (err: AWSError, data: SecurityHub.Types.DescribeActionTargetsResponse) => void): Request<SecurityHub.Types.DescribeActionTargetsResponse, AWSError>;
 134    /**
 135     * Returns details about the Hub resource in your account, including the HubArn and the time when you enabled Security Hub.
 136     */
 137    describeHub(params: SecurityHub.Types.DescribeHubRequest, callback?: (err: AWSError, data: SecurityHub.Types.DescribeHubResponse) => void): Request<SecurityHub.Types.DescribeHubResponse, AWSError>;
 138    /**
 139     * Returns details about the Hub resource in your account, including the HubArn and the time when you enabled Security Hub.
 140     */
 141    describeHub(callback?: (err: AWSError, data: SecurityHub.Types.DescribeHubResponse) => void): Request<SecurityHub.Types.DescribeHubResponse, AWSError>;
 142    /**
 143     * Returns information about the Organizations configuration for Security Hub. Can only be called from a Security Hub administrator account.
 144     */
 145    describeOrganizationConfiguration(params: SecurityHub.Types.DescribeOrganizationConfigurationRequest, callback?: (err: AWSError, data: SecurityHub.Types.DescribeOrganizationConfigurationResponse) => void): Request<SecurityHub.Types.DescribeOrganizationConfigurationResponse, AWSError>;
 146    /**
 147     * Returns information about the Organizations configuration for Security Hub. Can only be called from a Security Hub administrator account.
 148     */
 149    describeOrganizationConfiguration(callback?: (err: AWSError, data: SecurityHub.Types.DescribeOrganizationConfigurationResponse) => void): Request<SecurityHub.Types.DescribeOrganizationConfigurationResponse, AWSError>;
 150    /**
 151     * Returns information about product integrations in Security Hub. You can optionally provide an integration ARN. If you provide an integration ARN, then the results only include that integration. If you do not provide an integration ARN, then the results include all of the available product integrations. 
 152     */
 153    describeProducts(params: SecurityHub.Types.DescribeProductsRequest, callback?: (err: AWSError, data: SecurityHub.Types.DescribeProductsResponse) => void): Request<SecurityHub.Types.DescribeProductsResponse, AWSError>;
 154    /**
 155     * Returns information about product integrations in Security Hub. You can optionally provide an integration ARN. If you provide an integration ARN, then the results only include that integration. If you do not provide an integration ARN, then the results include all of the available product integrations. 
 156     */
 157    describeProducts(callback?: (err: AWSError, data: SecurityHub.Types.DescribeProductsResponse) => void): Request<SecurityHub.Types.DescribeProductsResponse, AWSError>;
 158    /**
 159     * Returns a list of the available standards in Security Hub. For each standard, the results include the standard ARN, the name, and a description. 
 160     */
 161    describeStandards(params: SecurityHub.Types.DescribeStandardsRequest, callback?: (err: AWSError, data: SecurityHub.Types.DescribeStandardsResponse) => void): Request<SecurityHub.Types.DescribeStandardsResponse, AWSError>;
 162    /**
 163     * Returns a list of the available standards in Security Hub. For each standard, the results include the standard ARN, the name, and a description. 
 164     */
 165    describeStandards(callback?: (err: AWSError, data: SecurityHub.Types.DescribeStandardsResponse) => void): Request<SecurityHub.Types.DescribeStandardsResponse, AWSError>;
 166    /**
 167     * 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.
 168     */
 169    describeStandardsControls(params: SecurityHub.Types.DescribeStandardsControlsRequest, callback?: (err: AWSError, data: SecurityHub.Types.DescribeStandardsControlsResponse) => void): Request<SecurityHub.Types.DescribeStandardsControlsResponse, AWSError>;
 170    /**
 171     * 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.
 172     */
 173    describeStandardsControls(callback?: (err: AWSError, data: SecurityHub.Types.DescribeStandardsControlsResponse) => void): Request<SecurityHub.Types.DescribeStandardsControlsResponse, AWSError>;
 174    /**
 175     * 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.
 176     */
 177    disableImportFindingsForProduct(params: SecurityHub.Types.DisableImportFindingsForProductRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.DisableImportFindingsForProductResponse, AWSError>;
 178    /**
 179     * 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.
 180     */
 181    disableImportFindingsForProduct(callback?: (err: AWSError, data: SecurityHub.Types.DisableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.DisableImportFindingsForProductResponse, AWSError>;
 182    /**
 183     * Disables a Security Hub administrator account. Can only be called by the organization management account.
 184     */
 185    disableOrganizationAdminAccount(params: SecurityHub.Types.DisableOrganizationAdminAccountRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisableOrganizationAdminAccountResponse) => void): Request<SecurityHub.Types.DisableOrganizationAdminAccountResponse, AWSError>;
 186    /**
 187     * Disables a Security Hub administrator account. Can only be called by the organization management account.
 188     */
 189    disableOrganizationAdminAccount(callback?: (err: AWSError, data: SecurityHub.Types.DisableOrganizationAdminAccountResponse) => void): Request<SecurityHub.Types.DisableOrganizationAdminAccountResponse, AWSError>;
 190    /**
 191     * Disables Security Hub in your account only in the current Region. To disable Security Hub in all Regions, you must submit one request per Region where you have enabled Security Hub. When you disable Security Hub for an administrator account, it doesn't disable Security Hub for any associated member accounts. When you disable Security Hub, your existing findings and insights and any Security Hub configuration settings are deleted after 90 days and cannot be recovered. Any standards that were enabled are disabled, and your administrator and member account associations are removed. If you want to save your existing findings, you must export them before you disable Security Hub.
 192     */
 193    disableSecurityHub(params: SecurityHub.Types.DisableSecurityHubRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisableSecurityHubResponse) => void): Request<SecurityHub.Types.DisableSecurityHubResponse, AWSError>;
 194    /**
 195     * Disables Security Hub in your account only in the current Region. To disable Security Hub in all Regions, you must submit one request per Region where you have enabled Security Hub. When you disable Security Hub for an administrator account, it doesn't disable Security Hub for any associated member accounts. When you disable Security Hub, your existing findings and insights and any Security Hub configuration settings are deleted after 90 days and cannot be recovered. Any standards that were enabled are disabled, and your administrator and member account associations are removed. If you want to save your existing findings, you must export them before you disable Security Hub.
 196     */
 197    disableSecurityHub(callback?: (err: AWSError, data: SecurityHub.Types.DisableSecurityHubResponse) => void): Request<SecurityHub.Types.DisableSecurityHubResponse, AWSError>;
 198    /**
 199     * Disassociates the current Security Hub member account from the associated administrator account. This operation is only used by accounts that are not part of an organization. For organization accounts, only the administrator account can disassociate a member account.
 200     */
 201    disassociateFromAdministratorAccount(params: SecurityHub.Types.DisassociateFromAdministratorAccountRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisassociateFromAdministratorAccountResponse) => void): Request<SecurityHub.Types.DisassociateFromAdministratorAccountResponse, AWSError>;
 202    /**
 203     * Disassociates the current Security Hub member account from the associated administrator account. This operation is only used by accounts that are not part of an organization. For organization accounts, only the administrator account can disassociate a member account.
 204     */
 205    disassociateFromAdministratorAccount(callback?: (err: AWSError, data: SecurityHub.Types.DisassociateFromAdministratorAccountResponse) => void): Request<SecurityHub.Types.DisassociateFromAdministratorAccountResponse, AWSError>;
 206    /**
 207     * This method is deprecated. Instead, use DisassociateFromAdministratorAccount. The Security Hub console continues to use DisassociateFromMasterAccount. It will eventually change to use DisassociateFromAdministratorAccount. Any IAM policies that specifically control access to this function must continue to use DisassociateFromMasterAccount. You should also add DisassociateFromAdministratorAccount to your policies to ensure that the correct permissions are in place after the console begins to use DisassociateFromAdministratorAccount. Disassociates the current Security Hub member account from the associated administrator account. This operation is only used by accounts that are not part of an organization. For organization accounts, only the administrator account can disassociate a member account.
 208     */
 209    disassociateFromMasterAccount(params: SecurityHub.Types.DisassociateFromMasterAccountRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisassociateFromMasterAccountResponse) => void): Request<SecurityHub.Types.DisassociateFromMasterAccountResponse, AWSError>;
 210    /**
 211     * This method is deprecated. Instead, use DisassociateFromAdministratorAccount. The Security Hub console continues to use DisassociateFromMasterAccount. It will eventually change to use DisassociateFromAdministratorAccount. Any IAM policies that specifically control access to this function must continue to use DisassociateFromMasterAccount. You should also add DisassociateFromAdministratorAccount to your policies to ensure that the correct permissions are in place after the console begins to use DisassociateFromAdministratorAccount. Disassociates the current Security Hub member account from the associated administrator account. This operation is only used by accounts that are not part of an organization. For organization accounts, only the administrator account can disassociate a member account.
 212     */
 213    disassociateFromMasterAccount(callback?: (err: AWSError, data: SecurityHub.Types.DisassociateFromMasterAccountResponse) => void): Request<SecurityHub.Types.DisassociateFromMasterAccountResponse, AWSError>;
 214    /**
 215     * Disassociates the specified member accounts from the associated administrator account. Can be used to disassociate both accounts that are managed using Organizations and accounts that were invited manually.
 216     */
 217    disassociateMembers(params: SecurityHub.Types.DisassociateMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.DisassociateMembersResponse) => void): Request<SecurityHub.Types.DisassociateMembersResponse, AWSError>;
 218    /**
 219     * Disassociates the specified member accounts from the associated administrator account. Can be used to disassociate both accounts that are managed using Organizations and accounts that were invited manually.
 220     */
 221    disassociateMembers(callback?: (err: AWSError, data: SecurityHub.Types.DisassociateMembersResponse) => void): Request<SecurityHub.Types.DisassociateMembersResponse, AWSError>;
 222    /**
 223     * 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.
 224     */
 225    enableImportFindingsForProduct(params: SecurityHub.Types.EnableImportFindingsForProductRequest, callback?: (err: AWSError, data: SecurityHub.Types.EnableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.EnableImportFindingsForProductResponse, AWSError>;
 226    /**
 227     * 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.
 228     */
 229    enableImportFindingsForProduct(callback?: (err: AWSError, data: SecurityHub.Types.EnableImportFindingsForProductResponse) => void): Request<SecurityHub.Types.EnableImportFindingsForProductResponse, AWSError>;
 230    /**
 231     * Designates the Security Hub administrator account for an organization. Can only be called by the organization management account.
 232     */
 233    enableOrganizationAdminAccount(params: SecurityHub.Types.EnableOrganizationAdminAccountRequest, callback?: (err: AWSError, data: SecurityHub.Types.EnableOrganizationAdminAccountResponse) => void): Request<SecurityHub.Types.EnableOrganizationAdminAccountResponse, AWSError>;
 234    /**
 235     * Designates the Security Hub administrator account for an organization. Can only be called by the organization management account.
 236     */
 237    enableOrganizationAdminAccount(callback?: (err: AWSError, data: SecurityHub.Types.EnableOrganizationAdminAccountResponse) => void): Request<SecurityHub.Types.EnableOrganizationAdminAccountResponse, AWSError>;
 238    /**
 239     * 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 Amazon Web Services Foundations   Amazon Web Services 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 the setup information in the Security Hub User Guide.
 240     */
 241    enableSecurityHub(params: SecurityHub.Types.EnableSecurityHubRequest, callback?: (err: AWSError, data: SecurityHub.Types.EnableSecurityHubResponse) => void): Request<SecurityHub.Types.EnableSecurityHubResponse, AWSError>;
 242    /**
 243     * 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 Amazon Web Services Foundations   Amazon Web Services 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 the setup information in the Security Hub User Guide.
 244     */
 245    enableSecurityHub(callback?: (err: AWSError, data: SecurityHub.Types.EnableSecurityHubResponse) => void): Request<SecurityHub.Types.EnableSecurityHubResponse, AWSError>;
 246    /**
 247     * Provides the details for the Security Hub administrator account for the current member account. Can be used by both member accounts that are managed using Organizations and accounts that were invited manually.
 248     */
 249    getAdministratorAccount(params: SecurityHub.Types.GetAdministratorAccountRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetAdministratorAccountResponse) => void): Request<SecurityHub.Types.GetAdministratorAccountResponse, AWSError>;
 250    /**
 251     * Provides the details for the Security Hub administrator account for the current member account. Can be used by both member accounts that are managed using Organizations and accounts that were invited manually.
 252     */
 253    getAdministratorAccount(callback?: (err: AWSError, data: SecurityHub.Types.GetAdministratorAccountResponse) => void): Request<SecurityHub.Types.GetAdministratorAccountResponse, AWSError>;
 254    /**
 255     * Returns a list of the standards that are currently enabled.
 256     */
 257    getEnabledStandards(params: SecurityHub.Types.GetEnabledStandardsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetEnabledStandardsResponse) => void): Request<SecurityHub.Types.GetEnabledStandardsResponse, AWSError>;
 258    /**
 259     * Returns a list of the standards that are currently enabled.
 260     */
 261    getEnabledStandards(callback?: (err: AWSError, data: SecurityHub.Types.GetEnabledStandardsResponse) => void): Request<SecurityHub.Types.GetEnabledStandardsResponse, AWSError>;
 262    /**
 263     * Returns a list of findings that match the specified criteria.
 264     */
 265    getFindings(params: SecurityHub.Types.GetFindingsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetFindingsResponse) => void): Request<SecurityHub.Types.GetFindingsResponse, AWSError>;
 266    /**
 267     * Returns a list of findings that match the specified criteria.
 268     */
 269    getFindings(callback?: (err: AWSError, data: SecurityHub.Types.GetFindingsResponse) => void): Request<SecurityHub.Types.GetFindingsResponse, AWSError>;
 270    /**
 271     * Lists the results of the Security Hub insight specified by the insight ARN.
 272     */
 273    getInsightResults(params: SecurityHub.Types.GetInsightResultsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetInsightResultsResponse) => void): Request<SecurityHub.Types.GetInsightResultsResponse, AWSError>;
 274    /**
 275     * Lists the results of the Security Hub insight specified by the insight ARN.
 276     */
 277    getInsightResults(callback?: (err: AWSError, data: SecurityHub.Types.GetInsightResultsResponse) => void): Request<SecurityHub.Types.GetInsightResultsResponse, AWSError>;
 278    /**
 279     * Lists and describes insights for the specified insight ARNs.
 280     */
 281    getInsights(params: SecurityHub.Types.GetInsightsRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetInsightsResponse) => void): Request<SecurityHub.Types.GetInsightsResponse, AWSError>;
 282    /**
 283     * Lists and describes insights for the specified insight ARNs.
 284     */
 285    getInsights(callback?: (err: AWSError, data: SecurityHub.Types.GetInsightsResponse) => void): Request<SecurityHub.Types.GetInsightsResponse, AWSError>;
 286    /**
 287     * Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation. 
 288     */
 289    getInvitationsCount(params: SecurityHub.Types.GetInvitationsCountRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetInvitationsCountResponse) => void): Request<SecurityHub.Types.GetInvitationsCountResponse, AWSError>;
 290    /**
 291     * Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation. 
 292     */
 293    getInvitationsCount(callback?: (err: AWSError, data: SecurityHub.Types.GetInvitationsCountResponse) => void): Request<SecurityHub.Types.GetInvitationsCountResponse, AWSError>;
 294    /**
 295     * This method is deprecated. Instead, use GetAdministratorAccount. The Security Hub console continues to use GetMasterAccount. It will eventually change to use GetAdministratorAccount. Any IAM policies that specifically control access to this function must continue to use GetMasterAccount. You should also add GetAdministratorAccount to your policies to ensure that the correct permissions are in place after the console begins to use GetAdministratorAccount. Provides the details for the Security Hub administrator account for the current member account. Can be used by both member accounts that are managed using Organizations and accounts that were invited manually.
 296     */
 297    getMasterAccount(params: SecurityHub.Types.GetMasterAccountRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetMasterAccountResponse) => void): Request<SecurityHub.Types.GetMasterAccountResponse, AWSError>;
 298    /**
 299     * This method is deprecated. Instead, use GetAdministratorAccount. The Security Hub console continues to use GetMasterAccount. It will eventually change to use GetAdministratorAccount. Any IAM policies that specifically control access to this function must continue to use GetMasterAccount. You should also add GetAdministratorAccount to your policies to ensure that the correct permissions are in place after the console begins to use GetAdministratorAccount. Provides the details for the Security Hub administrator account for the current member account. Can be used by both member accounts that are managed using Organizations and accounts that were invited manually.
 300     */
 301    getMasterAccount(callback?: (err: AWSError, data: SecurityHub.Types.GetMasterAccountResponse) => void): Request<SecurityHub.Types.GetMasterAccountResponse, AWSError>;
 302    /**
 303     * Returns the details for the Security Hub member accounts for the specified account IDs. An administrator account can be either the delegated Security Hub administrator account for an organization or an administrator account that enabled Security Hub manually. The results include both member accounts that are managed using Organizations and accounts that were invited manually.
 304     */
 305    getMembers(params: SecurityHub.Types.GetMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.GetMembersResponse) => void): Request<SecurityHub.Types.GetMembersResponse, AWSError>;
 306    /**
 307     * Returns the details for the Security Hub member accounts for the specified account IDs. An administrator account can be either the delegated Security Hub administrator account for an organization or an administrator account that enabled Security Hub manually. The results include both member accounts that are managed using Organizations and accounts that were invited manually.
 308     */
 309    getMembers(callback?: (err: AWSError, data: SecurityHub.Types.GetMembersResponse) => void): Request<SecurityHub.Types.GetMembersResponse, AWSError>;
 310    /**
 311     * Invites other Amazon Web Services accounts to become member accounts for the Security Hub administrator account that the invitation is sent from. This operation is only used to invite accounts that do not belong to an organization. Organization accounts do not receive invitations. Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub. When the account owner enables Security Hub and accepts the invitation to become a member account, the administrator account can view the findings generated from the member account.
 312     */
 313    inviteMembers(params: SecurityHub.Types.InviteMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.InviteMembersResponse) => void): Request<SecurityHub.Types.InviteMembersResponse, AWSError>;
 314    /**
 315     * Invites other Amazon Web Services accounts to become member accounts for the Security Hub administrator account that the invitation is sent from. This operation is only used to invite accounts that do not belong to an organization. Organization accounts do not receive invitations. Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub. When the account owner enables Security Hub and accepts the invitation to become a member account, the administrator account can view the findings generated from the member account.
 316     */
 317    inviteMembers(callback?: (err: AWSError, data: SecurityHub.Types.InviteMembersResponse) => void): Request<SecurityHub.Types.InviteMembersResponse, AWSError>;
 318    /**
 319     * Lists all findings-generating solutions (products) that you are subscribed to receive findings from in Security Hub.
 320     */
 321    listEnabledProductsForImport(params: SecurityHub.Types.ListEnabledProductsForImportRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListEnabledProductsForImportResponse) => void): Request<SecurityHub.Types.ListEnabledProductsForImportResponse, AWSError>;
 322    /**
 323     * Lists all findings-generating solutions (products) that you are subscribed to receive findings from in Security Hub.
 324     */
 325    listEnabledProductsForImport(callback?: (err: AWSError, data: SecurityHub.Types.ListEnabledProductsForImportResponse) => void): Request<SecurityHub.Types.ListEnabledProductsForImportResponse, AWSError>;
 326    /**
 327     * Lists all Security Hub membership invitations that were sent to the current Amazon Web Services account. This operation is only used by accounts that are managed by invitation. Accounts that are managed using the integration with Organizations do not receive invitations.
 328     */
 329    listInvitations(params: SecurityHub.Types.ListInvitationsRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListInvitationsResponse) => void): Request<SecurityHub.Types.ListInvitationsResponse, AWSError>;
 330    /**
 331     * Lists all Security Hub membership invitations that were sent to the current Amazon Web Services account. This operation is only used by accounts that are managed by invitation. Accounts that are managed using the integration with Organizations do not receive invitations.
 332     */
 333    listInvitations(callback?: (err: AWSError, data: SecurityHub.Types.ListInvitationsResponse) => void): Request<SecurityHub.Types.ListInvitationsResponse, AWSError>;
 334    /**
 335     * Lists details about all member accounts for the current Security Hub administrator account. The results include both member accounts that belong to an organization and member accounts that were invited manually.
 336     */
 337    listMembers(params: SecurityHub.Types.ListMembersRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListMembersResponse) => void): Request<SecurityHub.Types.ListMembersResponse, AWSError>;
 338    /**
 339     * Lists details about all member accounts for the current Security Hub administrator account. The results include both member accounts that belong to an organization and member accounts that were invited manually.
 340     */
 341    listMembers(callback?: (err: AWSError, data: SecurityHub.Types.ListMembersResponse) => void): Request<SecurityHub.Types.ListMembersResponse, AWSError>;
 342    /**
 343     * Lists the Security Hub administrator accounts. Can only be called by the organization management account.
 344     */
 345    listOrganizationAdminAccounts(params: SecurityHub.Types.ListOrganizationAdminAccountsRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListOrganizationAdminAccountsResponse) => void): Request<SecurityHub.Types.ListOrganizationAdminAccountsResponse, AWSError>;
 346    /**
 347     * Lists the Security Hub administrator accounts. Can only be called by the organization management account.
 348     */
 349    listOrganizationAdminAccounts(callback?: (err: AWSError, data: SecurityHub.Types.ListOrganizationAdminAccountsResponse) => void): Request<SecurityHub.Types.ListOrganizationAdminAccountsResponse, AWSError>;
 350    /**
 351     * Returns a list of tags associated with a resource.
 352     */
 353    listTagsForResource(params: SecurityHub.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: SecurityHub.Types.ListTagsForResourceResponse) => void): Request<SecurityHub.Types.ListTagsForResourceResponse, AWSError>;
 354    /**
 355     * Returns a list of tags associated with a resource.
 356     */
 357    listTagsForResource(callback?: (err: AWSError, data: SecurityHub.Types.ListTagsForResourceResponse) => void): Request<SecurityHub.Types.ListTagsForResourceResponse, AWSError>;
 358    /**
 359     * Adds one or more tags to a resource.
 360     */
 361    tagResource(params: SecurityHub.Types.TagResourceRequest, callback?: (err: AWSError, data: SecurityHub.Types.TagResourceResponse) => void): Request<SecurityHub.Types.TagResourceResponse, AWSError>;
 362    /**
 363     * Adds one or more tags to a resource.
 364     */
 365    tagResource(callback?: (err: AWSError, data: SecurityHub.Types.TagResourceResponse) => void): Request<SecurityHub.Types.TagResourceResponse, AWSError>;
 366    /**
 367     * Removes one or more tags from a resource.
 368     */
 369    untagResource(params: SecurityHub.Types.UntagResourceRequest, callback?: (err: AWSError, data: SecurityHub.Types.UntagResourceResponse) => void): Request<SecurityHub.Types.UntagResourceResponse, AWSError>;
 370    /**
 371     * Removes one or more tags from a resource.
 372     */
 373    untagResource(callback?: (err: AWSError, data: SecurityHub.Types.UntagResourceResponse) => void): Request<SecurityHub.Types.UntagResourceResponse, AWSError>;
 374    /**
 375     * Updates the name and description of a custom action target in Security Hub.
 376     */
 377    updateActionTarget(params: SecurityHub.Types.UpdateActionTargetRequest, callback?: (err: AWSError, data: SecurityHub.Types.UpdateActionTargetResponse) => void): Request<SecurityHub.Types.UpdateActionTargetResponse, AWSError>;
 378    /**
 379     * Updates the name and description of a custom action target in Security Hub.
 380     */
 381    updateActionTarget(callback?: (err: AWSError, data: SecurityHub.Types.UpdateActionTargetResponse) => void): Request<SecurityHub.Types.UpdateActionTargetResponse, AWSError>;
 382    /**
 383     *  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.
 384     */
 385    updateFindings(params: SecurityHub.Types.UpdateFindingsRequest, callback?: (err: AWSError, data: SecurityHub.Types.UpdateFindingsResponse) => void): Request<SecurityHub.Types.UpdateFindingsResponse, AWSError>;
 386    /**
 387     *  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.
 388     */
 389    updateFindings(callback?: (err: AWSError, data: SecurityHub.Types.UpdateFindingsResponse) => void): Request<SecurityHub.Types.UpdateFindingsResponse, AWSError>;
 390    /**
 391     * Updates the Security Hub insight identified by the specified insight ARN.
 392     */
 393    updateInsight(params: SecurityHub.Types.UpdateInsightRequest, callback?: (err: AWSError, data: SecurityHub.Types.UpdateInsightResponse) => void): Request<SecurityHub.Types.UpdateInsightResponse, AWSError>;
 394    /**
 395     * Updates the Security Hub insight identified by the specified insight ARN.
 396     */
 397    updateInsight(callback?: (err: AWSError, data: SecurityHub.Types.UpdateInsightResponse) => void): Request<SecurityHub.Types.UpdateInsightResponse, AWSError>;
 398    /**
 399     * Used to update the configuration related to Organizations. Can only be called from a Security Hub administrator account.
 400     */
 401    updateOrganizationConfiguration(params: SecurityHub.Types.UpdateOrganizationConfigurationRequest, callback?: (err: AWSError, data: SecurityHub.Types.UpdateOrganizationConfigurationResponse) => void): Request<SecurityHub.Types.UpdateOrganizationConfigurationResponse, AWSError>;
 402    /**
 403     * Used to update the configuration related to Organizations. Can only be called from a Security Hub administrator account.
 404     */
 405    updateOrganizationConfiguration(callback?: (err: AWSError, data: SecurityHub.Types.UpdateOrganizationConfigurationResponse) => void): Request<SecurityHub.Types.UpdateOrganizationConfigurationResponse, AWSError>;
 406    /**
 407     * Updates configuration options for Security Hub.
 408     */
 409    updateSecurityHubConfiguration(params: SecurityHub.Types.UpdateSecurityHubConfigurationRequest, callback?: (err: AWSError, data: SecurityHub.Types.UpdateSecurityHubConfigurationResponse) => void): Request<SecurityHub.Types.UpdateSecurityHubConfigurationResponse, AWSError>;
 410    /**
 411     * Updates configuration options for Security Hub.
 412     */
 413    updateSecurityHubConfiguration(callback?: (err: AWSError, data: SecurityHub.Types.UpdateSecurityHubConfigurationResponse) => void): Request<SecurityHub.Types.UpdateSecurityHubConfigurationResponse, AWSError>;
 414    /**
 415     * Used to control whether an individual security standard control is enabled or disabled.
 416     */
 417    updateStandardsControl(params: SecurityHub.Types.UpdateStandardsControlRequest, callback?: (err: AWSError, data: SecurityHub.Types.UpdateStandardsControlResponse) => void): Request<SecurityHub.Types.UpdateStandardsControlResponse, AWSError>;
 418    /**
 419     * Used to control whether an individual security standard control is enabled or disabled.
 420     */
 421    updateStandardsControl(callback?: (err: AWSError, data: SecurityHub.Types.UpdateStandardsControlResponse) => void): Request<SecurityHub.Types.UpdateStandardsControlResponse, AWSError>;
 422  }
 423  declare namespace SecurityHub {
 424    export interface AcceptAdministratorInvitationRequest {
 425      /**
 426       * The account ID of the Security Hub administrator account that sent the invitation.
 427       */
 428      AdministratorId: NonEmptyString;
 429      /**
 430       * The identifier of the invitation sent from the Security Hub administrator account.
 431       */
 432      InvitationId: NonEmptyString;
 433    }
 434    export interface AcceptAdministratorInvitationResponse {
 435    }
 436    export interface AcceptInvitationRequest {
 437      /**
 438       * The account ID of the Security Hub administrator account that sent the invitation.
 439       */
 440      MasterId: NonEmptyString;
 441      /**
 442       * The identifier of the invitation sent from the Security Hub administrator account.
 443       */
 444      InvitationId: NonEmptyString;
 445    }
 446    export interface AcceptInvitationResponse {
 447    }
 448    export interface AccountDetails {
 449      /**
 450       * The ID of an Amazon Web Services account.
 451       */
 452      AccountId: AccountId;
 453      /**
 454       * The email of an Amazon Web Services account.
 455       */
 456      Email?: NonEmptyString;
 457    }
 458    export type AccountDetailsList = AccountDetails[];
 459    export type AccountId = string;
 460    export type AccountIdList = NonEmptyString[];
 461    export interface Action {
 462      /**
 463       * The type of action that was detected. The possible action types are:    NETWORK_CONNECTION     AWS_API_CALL     DNS_REQUEST     PORT_PROBE   
 464       */
 465      ActionType?: NonEmptyString;
 466      /**
 467       * Included if ActionType is NETWORK_CONNECTION. Provides details about the network connection that was detected.
 468       */
 469      NetworkConnectionAction?: NetworkConnectionAction;
 470      /**
 471       * Included if ActionType is AWS_API_CALL. Provides details about the API call that was detected. 
 472       */
 473      AwsApiCallAction?: AwsApiCallAction;
 474      /**
 475       * Included if ActionType is DNS_REQUEST. Provides details about the DNS request that was detected. 
 476       */
 477      DnsRequestAction?: DnsRequestAction;
 478      /**
 479       * Included if ActionType is PORT_PROBE. Provides details about the port probe that was detected. 
 480       */
 481      PortProbeAction?: PortProbeAction;
 482    }
 483    export interface ActionLocalIpDetails {
 484      /**
 485       * The IP address.
 486       */
 487      IpAddressV4?: NonEmptyString;
 488    }
 489    export interface ActionLocalPortDetails {
 490      /**
 491       * The number of the port.
 492       */
 493      Port?: Integer;
 494      /**
 495       * The port name of the local connection.
 496       */
 497      PortName?: NonEmptyString;
 498    }
 499    export interface ActionRemoteIpDetails {
 500      /**
 501       * The IP address.
 502       */
 503      IpAddressV4?: NonEmptyString;
 504      /**
 505       * The internet service provider (ISP) organization associated with the remote IP address.
 506       */
 507      Organization?: IpOrganizationDetails;
 508      /**
 509       * The country where the remote IP address is located.
 510       */
 511      Country?: Country;
 512      /**
 513       * The city where the remote IP address is located.
 514       */
 515      City?: City;
 516      /**
 517       * The coordinates of the location of the remote IP address.
 518       */
 519      GeoLocation?: GeoLocation;
 520    }
 521    export interface ActionRemotePortDetails {
 522      /**
 523       * The number of the port.
 524       */
 525      Port?: Integer;
 526      /**
 527       * The port name of the remote connection.
 528       */
 529      PortName?: NonEmptyString;
 530    }
 531    export interface ActionTarget {
 532      /**
 533       * The ARN for the target action.
 534       */
 535      ActionTargetArn: NonEmptyString;
 536      /**
 537       * The name of the action target.
 538       */
 539      Name: NonEmptyString;
 540      /**
 541       * The description of the target action.
 542       */
 543      Description: NonEmptyString;
 544    }
 545    export type ActionTargetList = ActionTarget[];
 546    export interface AdminAccount {
 547      /**
 548       * The Amazon Web Services account identifier of the Security Hub administrator account.
 549       */
 550      AccountId?: NonEmptyString;
 551      /**
 552       * The current status of the Security Hub administrator account. Indicates whether the account is currently enabled as a Security Hub administrator.
 553       */
 554      Status?: AdminStatus;
 555    }
 556    export type AdminAccounts = AdminAccount[];
 557    export type AdminStatus = "ENABLED"|"DISABLE_IN_PROGRESS"|string;
 558    export type AdminsMaxResults = number;
 559    export type ArnList = NonEmptyString[];
 560    export interface AvailabilityZone {
 561      /**
 562       * The name of the Availability Zone.
 563       */
 564      ZoneName?: NonEmptyString;
 565      /**
 566       * The ID of the subnet. You can specify one subnet per Availability Zone.
 567       */
 568      SubnetId?: NonEmptyString;
 569    }
 570    export type AvailabilityZones = AvailabilityZone[];
 571    export interface AwsApiCallAction {
 572      /**
 573       * The name of the API method that was issued.
 574       */
 575      Api?: NonEmptyString;
 576      /**
 577       * The name of the Amazon Web Services service that the API method belongs to.
 578       */
 579      ServiceName?: NonEmptyString;
 580      /**
 581       * Indicates whether the API call originated from a remote IP address (remoteip) or from a DNS domain (domain).
 582       */
 583      CallerType?: NonEmptyString;
 584      /**
 585       * Provided if CallerType is remoteIp. Provides information about the remote IP address that the API call originated from.
 586       */
 587      RemoteIpDetails?: ActionRemoteIpDetails;
 588      /**
 589       * Provided if CallerType is domain. Provides information about the DNS domain that the API call originated from.
 590       */
 591      DomainDetails?: AwsApiCallActionDomainDetails;
 592      /**
 593       * Identifies the resources that were affected by the API call.
 594       */
 595      AffectedResources?: FieldMap;
 596      /**
 597       * An ISO8601-formatted timestamp that indicates when the API call was first observed.
 598       */
 599      FirstSeen?: NonEmptyString;
 600      /**
 601       * An ISO8601-formatted timestamp that indicates when the API call was most recently observed.
 602       */
 603      LastSeen?: NonEmptyString;
 604    }
 605    export interface AwsApiCallActionDomainDetails {
 606      /**
 607       * The name of the DNS domain that issued the API call.
 608       */
 609      Domain?: NonEmptyString;
 610    }
 611    export interface AwsApiGatewayAccessLogSettings {
 612      /**
 613       * A single-line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.
 614       */
 615      Format?: NonEmptyString;
 616      /**
 617       * The ARN of the CloudWatch Logs log group that receives the access logs.
 618       */
 619      DestinationArn?: NonEmptyString;
 620    }
 621    export interface AwsApiGatewayCanarySettings {
 622      /**
 623       * The percentage of traffic that is diverted to a canary deployment.
 624       */
 625      PercentTraffic?: Double;
 626      /**
 627       * The deployment identifier for the canary deployment.
 628       */
 629      DeploymentId?: NonEmptyString;
 630      /**
 631       * Stage variables that are overridden in the canary release deployment. The variables include new stage variables that are introduced in the canary. Each variable is represented as a string-to-string map between the stage variable name and the variable value.
 632       */
 633      StageVariableOverrides?: FieldMap;
 634      /**
 635       * Indicates whether the canary deployment uses the stage cache.
 636       */
 637      UseStageCache?: Boolean;
 638    }
 639    export interface AwsApiGatewayEndpointConfiguration {
 640      /**
 641       * A list of endpoint types for the REST API. For an edge-optimized API, the endpoint type is EDGE. For a Regional API, the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.
 642       */
 643      Types?: NonEmptyStringList;
 644    }
 645    export interface AwsApiGatewayMethodSettings {
 646      /**
 647       * Indicates whether CloudWatch metrics are enabled for the method. 
 648       */
 649      MetricsEnabled?: Boolean;
 650      /**
 651       * The logging level for this method. The logging level affects the log entries that are pushed to CloudWatch Logs. If the logging level is ERROR, then the logs only include error-level entries. If the logging level is INFO, then the logs include both ERROR events and extra informational events. Valid values: OFF | ERROR | INFO 
 652       */
 653      LoggingLevel?: NonEmptyString;
 654      /**
 655       * Indicates whether data trace logging is enabled for the method. Data trace logging affects the log entries that are pushed to CloudWatch Logs.
 656       */
 657      DataTraceEnabled?: Boolean;
 658      /**
 659       * The throttling burst limit for the method.
 660       */
 661      ThrottlingBurstLimit?: Integer;
 662      /**
 663       * The throttling rate limit for the method.
 664       */
 665      ThrottlingRateLimit?: Double;
 666      /**
 667       * Indicates whether responses are cached and returned for requests. For responses to be cached, a cache cluster must be enabled on the stage.
 668       */
 669      CachingEnabled?: Boolean;
 670      /**
 671       * Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response is cached.
 672       */
 673      CacheTtlInSeconds?: Integer;
 674      /**
 675       * Indicates whether the cached responses are encrypted. 
 676       */
 677      CacheDataEncrypted?: Boolean;
 678      /**
 679       * Indicates whether authorization is required for a cache invalidation request.
 680       */
 681      RequireAuthorizationForCacheControl?: Boolean;
 682      /**
 683       * Indicates how to handle unauthorized requests for cache invalidation. Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER 
 684       */
 685      UnauthorizedCacheControlHeaderStrategy?: NonEmptyString;
 686      /**
 687       * The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to multiple methods.
 688       */
 689      HttpMethod?: NonEmptyString;
 690      /**
 691       * The resource path for this method. Forward slashes (/) are encoded as ~1 . The initial slash must include a forward slash. For example, the path value /resource/subresource must be encoded as /~1resource~1subresource. To specify the root path, use only a slash (/). You can use an asterisk (*) as a wildcard to apply method settings to multiple methods.
 692       */
 693      ResourcePath?: NonEmptyString;
 694    }
 695    export type AwsApiGatewayMethodSettingsList = AwsApiGatewayMethodSettings[];
 696    export interface AwsApiGatewayRestApiDetails {
 697      /**
 698       * The identifier of the REST API.
 699       */
 700      Id?: NonEmptyString;
 701      /**
 702       * The name of the REST API.
 703       */
 704      Name?: NonEmptyString;
 705      /**
 706       * A description of the REST API.
 707       */
 708      Description?: NonEmptyString;
 709      /**
 710       * Indicates when the API was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 711       */
 712      CreatedDate?: NonEmptyString;
 713      /**
 714       * The version identifier for the REST API.
 715       */
 716      Version?: NonEmptyString;
 717      /**
 718       * The list of binary media types supported by the REST API.
 719       */
 720      BinaryMediaTypes?: NonEmptyStringList;
 721      /**
 722       * The minimum size in bytes of a payload before compression is enabled. If null, then compression is disabled. If 0, then all payloads are compressed.
 723       */
 724      MinimumCompressionSize?: Integer;
 725      /**
 726       * The source of the API key for metering requests according to a usage plan.  HEADER indicates whether to read the API key from the X-API-Key header of a request.  AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey from a custom authorizer.
 727       */
 728      ApiKeySource?: NonEmptyString;
 729      /**
 730       * The endpoint configuration of the REST API.
 731       */
 732      EndpointConfiguration?: AwsApiGatewayEndpointConfiguration;
 733    }
 734    export interface AwsApiGatewayStageDetails {
 735      /**
 736       * The identifier of the deployment that the stage points to.
 737       */
 738      DeploymentId?: NonEmptyString;
 739      /**
 740       * The identifier of the client certificate for the stage.
 741       */
 742      ClientCertificateId?: NonEmptyString;
 743      /**
 744       * The name of the stage.
 745       */
 746      StageName?: NonEmptyString;
 747      /**
 748       * A description of the stage.
 749       */
 750      Description?: NonEmptyString;
 751      /**
 752       * Indicates whether a cache cluster is enabled for the stage.
 753       */
 754      CacheClusterEnabled?: Boolean;
 755      /**
 756       * If a cache cluster is enabled, the size of the cache cluster.
 757       */
 758      CacheClusterSize?: NonEmptyString;
 759      /**
 760       * If a cache cluster is enabled, the status of the cache cluster.
 761       */
 762      CacheClusterStatus?: NonEmptyString;
 763      /**
 764       * Defines the method settings for the stage.
 765       */
 766      MethodSettings?: AwsApiGatewayMethodSettingsList;
 767      /**
 768       * A map that defines the stage variables for the stage. Variable names can have alphanumeric and underscore characters. Variable values can contain the following characters:   Uppercase and lowercase letters   Numbers   Special characters -._~:/?#&amp;=,  
 769       */
 770      Variables?: FieldMap;
 771      /**
 772       * The version of the API documentation that is associated with the stage.
 773       */
 774      DocumentationVersion?: NonEmptyString;
 775      /**
 776       * Settings for logging access for the stage.
 777       */
 778      AccessLogSettings?: AwsApiGatewayAccessLogSettings;
 779      /**
 780       * Information about settings for canary deployment in the stage.
 781       */
 782      CanarySettings?: AwsApiGatewayCanarySettings;
 783      /**
 784       * Indicates whether active tracing with X-Ray is enabled for the stage.
 785       */
 786      TracingEnabled?: Boolean;
 787      /**
 788       * Indicates when the stage was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 789       */
 790      CreatedDate?: NonEmptyString;
 791      /**
 792       * Indicates when the stage was most recently updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 793       */
 794      LastUpdatedDate?: NonEmptyString;
 795      /**
 796       * The ARN of the web ACL associated with the stage.
 797       */
 798      WebAclArn?: NonEmptyString;
 799    }
 800    export interface AwsApiGatewayV2ApiDetails {
 801      /**
 802       * The URI of the API.  Uses the format  &lt;api-id&gt;.execute-api.&lt;region&gt;.amazonaws.com  The stage name is typically appended to the URI to form a complete path to a deployed API stage.
 803       */
 804      ApiEndpoint?: NonEmptyString;
 805      /**
 806       * The identifier of the API.
 807       */
 808      ApiId?: NonEmptyString;
 809      /**
 810       * An API key selection expression. Supported only for WebSocket APIs. 
 811       */
 812      ApiKeySelectionExpression?: NonEmptyString;
 813      /**
 814       * Indicates when the API was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 815       */
 816      CreatedDate?: NonEmptyString;
 817      /**
 818       * A description of the API.
 819       */
 820      Description?: NonEmptyString;
 821      /**
 822       * The version identifier for the API.
 823       */
 824      Version?: NonEmptyString;
 825      /**
 826       * The name of the API.
 827       */
 828      Name?: NonEmptyString;
 829      /**
 830       * The API protocol for the API. Valid values: WEBSOCKET | HTTP 
 831       */
 832      ProtocolType?: NonEmptyString;
 833      /**
 834       * The route selection expression for the API. For HTTP APIs, must be ${request.method} ${request.path}. This is the default value for HTTP APIs. For WebSocket APIs, there is no default value.
 835       */
 836      RouteSelectionExpression?: NonEmptyString;
 837      /**
 838       * A cross-origin resource sharing (CORS) configuration. Supported only for HTTP APIs.
 839       */
 840      CorsConfiguration?: AwsCorsConfiguration;
 841    }
 842    export interface AwsApiGatewayV2RouteSettings {
 843      /**
 844       * Indicates whether detailed metrics are enabled.
 845       */
 846      DetailedMetricsEnabled?: Boolean;
 847      /**
 848       * The logging level. The logging level affects the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket APIs. If the logging level is ERROR, then the logs only include error-level entries. If the logging level is INFO, then the logs include both ERROR events and extra informational events. Valid values: OFF | ERROR | INFO 
 849       */
 850      LoggingLevel?: NonEmptyString;
 851      /**
 852       * Indicates whether data trace logging is enabled. Data trace logging affects the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket APIs.
 853       */
 854      DataTraceEnabled?: Boolean;
 855      /**
 856       * The throttling burst limit.
 857       */
 858      ThrottlingBurstLimit?: Integer;
 859      /**
 860       * The throttling rate limit.
 861       */
 862      ThrottlingRateLimit?: Double;
 863    }
 864    export interface AwsApiGatewayV2StageDetails {
 865      /**
 866       * The identifier of a client certificate for a stage. Supported only for WebSocket API calls.
 867       */
 868      ClientCertificateId?: NonEmptyString;
 869      /**
 870       * Indicates when the stage was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 871       */
 872      CreatedDate?: NonEmptyString;
 873      /**
 874       * The description of the stage.
 875       */
 876      Description?: NonEmptyString;
 877      /**
 878       * Default route settings for the stage.
 879       */
 880      DefaultRouteSettings?: AwsApiGatewayV2RouteSettings;
 881      /**
 882       * The identifier of the deployment that the stage is associated with. 
 883       */
 884      DeploymentId?: NonEmptyString;
 885      /**
 886       * Indicates when the stage was most recently updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 887       */
 888      LastUpdatedDate?: NonEmptyString;
 889      /**
 890       * The route settings for the stage.
 891       */
 892      RouteSettings?: AwsApiGatewayV2RouteSettings;
 893      /**
 894       * The name of the stage.
 895       */
 896      StageName?: NonEmptyString;
 897      /**
 898       * A map that defines the stage variables for the stage. Variable names can have alphanumeric and underscore characters. Variable values can contain the following characters:   Uppercase and lowercase letters   Numbers   Special characters -._~:/?#&amp;=,  
 899       */
 900      StageVariables?: FieldMap;
 901      /**
 902       * Information about settings for logging access for the stage.
 903       */
 904      AccessLogSettings?: AwsApiGatewayAccessLogSettings;
 905      /**
 906       * Indicates whether updates to an API automatically trigger a new deployment.
 907       */
 908      AutoDeploy?: Boolean;
 909      /**
 910       * The status of the last deployment of a stage. Supported only if the stage has automatic deployment enabled.
 911       */
 912      LastDeploymentStatusMessage?: NonEmptyString;
 913      /**
 914       * Indicates whether the stage is managed by API Gateway.
 915       */
 916      ApiGatewayManaged?: Boolean;
 917    }
 918    export interface AwsAutoScalingAutoScalingGroupDetails {
 919      /**
 920       * The name of the launch configuration.
 921       */
 922      LaunchConfigurationName?: NonEmptyString;
 923      /**
 924       * The list of load balancers associated with the group.
 925       */
 926      LoadBalancerNames?: StringList;
 927      /**
 928       * The service to use for the health checks.
 929       */
 930      HealthCheckType?: NonEmptyString;
 931      /**
 932       * The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it checks the health status of an EC2 instance that has come into service.
 933       */
 934      HealthCheckGracePeriod?: Integer;
 935      /**
 936       * Indicates when the auto scaling group was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 937       */
 938      CreatedTime?: NonEmptyString;
 939    }
 940    export interface AwsCertificateManagerCertificateDetails {
 941      /**
 942       * The ARN of the private certificate authority (CA) that will be used to issue the certificate.
 943       */
 944      CertificateAuthorityArn?: NonEmptyString;
 945      /**
 946       * Indicates when the certificate was requested. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 947       */
 948      CreatedAt?: NonEmptyString;
 949      /**
 950       * The fully qualified domain name (FQDN), such as www.example.com, that is secured by the certificate.
 951       */
 952      DomainName?: NonEmptyString;
 953      /**
 954       * Contains information about the initial validation of each domain name that occurs as a result of the RequestCertificate request. Only provided if the certificate type is AMAZON_ISSUED.
 955       */
 956      DomainValidationOptions?: AwsCertificateManagerCertificateDomainValidationOptions;
 957      /**
 958       * Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).
 959       */
 960      ExtendedKeyUsages?: AwsCertificateManagerCertificateExtendedKeyUsages;
 961      /**
 962       * For a failed certificate request, the reason for the failure. Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER 
 963       */
 964      FailureReason?: NonEmptyString;
 965      /**
 966       * Indicates when the certificate was imported. Provided if the certificate type is IMPORTED. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 967       */
 968      ImportedAt?: NonEmptyString;
 969      /**
 970       * The list of ARNs for the Amazon Web Services resources that use the certificate.
 971       */
 972      InUseBy?: StringList;
 973      /**
 974       * Indicates when the certificate was issued. Provided if the certificate type is AMAZON_ISSUED. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 975       */
 976      IssuedAt?: NonEmptyString;
 977      /**
 978       * The name of the certificate authority that issued and signed the certificate.
 979       */
 980      Issuer?: NonEmptyString;
 981      /**
 982       * The algorithm that was used to generate the public-private key pair. Valid values: RSA_2048 | RSA_1024 | RSA_4096 | EC_prime256v1 | EC_secp384r1 | EC_secp521r1 
 983       */
 984      KeyAlgorithm?: NonEmptyString;
 985      /**
 986       * A list of key usage X.509 v3 extension objects.
 987       */
 988      KeyUsages?: AwsCertificateManagerCertificateKeyUsages;
 989      /**
 990       * The time after which the certificate becomes invalid. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 991       */
 992      NotAfter?: NonEmptyString;
 993      /**
 994       * The time before which the certificate is not valid. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
 995       */
 996      NotBefore?: NonEmptyString;
 997      /**
 998       * Provides a value that specifies whether to add the certificate to a transparency log.
 999       */
1000      Options?: AwsCertificateManagerCertificateOptions;
1001      /**
1002       * Whether the certificate is eligible for renewal. Valid values: ELIGIBLE | INELIGIBLE 
1003       */
1004      RenewalEligibility?: NonEmptyString;
1005      /**
1006       * Information about the status of the Certificate Manager managed renewal for the certificate. Provided only when the certificate type is AMAZON_ISSUED.
1007       */
1008      RenewalSummary?: AwsCertificateManagerCertificateRenewalSummary;
1009      /**
1010       * The serial number of the certificate.
1011       */
1012      Serial?: NonEmptyString;
1013      /**
1014       * The algorithm that was used to sign the certificate.
1015       */
1016      SignatureAlgorithm?: NonEmptyString;
1017      /**
1018       * The status of the certificate. Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT | REVOKED | FAILED 
1019       */
1020      Status?: NonEmptyString;
1021      /**
1022       * The name of the entity that is associated with the public key contained in the certificate.
1023       */
1024      Subject?: NonEmptyString;
1025      /**
1026       * One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.
1027       */
1028      SubjectAlternativeNames?: StringList;
1029      /**
1030       * The source of the certificate. For certificates that Certificate Manager provides, Type is AMAZON_ISSUED. For certificates that are imported with ImportCertificate, Type is IMPORTED. Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE 
1031       */
1032      Type?: NonEmptyString;
1033    }
1034    export interface AwsCertificateManagerCertificateDomainValidationOption {
1035      /**
1036       * A fully qualified domain name (FQDN) in the certificate.
1037       */
1038      DomainName?: NonEmptyString;
1039      /**
1040       * The CNAME record that is added to the DNS database for domain validation.
1041       */
1042      ResourceRecord?: AwsCertificateManagerCertificateResourceRecord;
1043      /**
1044       * The domain name that Certificate Manager uses to send domain validation emails.
1045       */
1046      ValidationDomain?: NonEmptyString;
1047      /**
1048       * A list of email addresses that Certificate Manager uses to send domain validation emails.
1049       */
1050      ValidationEmails?: StringList;
1051      /**
1052       * The method used to validate the domain name.
1053       */
1054      ValidationMethod?: NonEmptyString;
1055      /**
1056       * The validation status of the domain name.
1057       */
1058      ValidationStatus?: NonEmptyString;
1059    }
1060    export type AwsCertificateManagerCertificateDomainValidationOptions = AwsCertificateManagerCertificateDomainValidationOption[];
1061    export interface AwsCertificateManagerCertificateExtendedKeyUsage {
1062      /**
1063       * The name of an extension value. Indicates the purpose for which the certificate public key can be used.
1064       */
1065      Name?: NonEmptyString;
1066      /**
1067       * An object identifier (OID) for the extension value. The format is numbers separated by periods.
1068       */
1069      OId?: NonEmptyString;
1070    }
1071    export type AwsCertificateManagerCertificateExtendedKeyUsages = AwsCertificateManagerCertificateExtendedKeyUsage[];
1072    export interface AwsCertificateManagerCertificateKeyUsage {
1073      /**
1074       * The key usage extension name.
1075       */
1076      Name?: NonEmptyString;
1077    }
1078    export type AwsCertificateManagerCertificateKeyUsages = AwsCertificateManagerCertificateKeyUsage[];
1079    export interface AwsCertificateManagerCertificateOptions {
1080      /**
1081       * Whether to add the certificate to a transparency log. Valid values: DISABLED | ENABLED 
1082       */
1083      CertificateTransparencyLoggingPreference?: NonEmptyString;
1084    }
1085    export interface AwsCertificateManagerCertificateRenewalSummary {
1086      /**
1087       * Information about the validation of each domain name in the certificate, as it pertains to Certificate Manager managed renewal. Provided only when the certificate type is AMAZON_ISSUED.
1088       */
1089      DomainValidationOptions?: AwsCertificateManagerCertificateDomainValidationOptions;
1090      /**
1091       * The status of the Certificate Manager managed renewal of the certificate. Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED 
1092       */
1093      RenewalStatus?: NonEmptyString;
1094      /**
1095       * The reason that a renewal request was unsuccessful. Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER 
1096       */
1097      RenewalStatusReason?: NonEmptyString;
1098      /**
1099       * Indicates when the renewal summary was last updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
1100       */
1101      UpdatedAt?: NonEmptyString;
1102    }
1103    export interface AwsCertificateManagerCertificateResourceRecord {
1104      /**
1105       * The name of the resource.
1106       */
1107      Name?: NonEmptyString;
1108      /**
1109       * The type of resource.
1110       */
1111      Type?: NonEmptyString;
1112      /**
1113       * The value of the resource.
1114       */
1115      Value?: NonEmptyString;
1116    }
1117    export interface AwsCloudFrontDistributionCacheBehavior {
1118      /**
1119       * The protocol that viewers can use to access the files in an origin. You can specify the following options:    allow-all - Viewers can use HTTP or HTTPS.    redirect-to-https - CloudFront responds to HTTP requests with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then uses the new URL to resubmit.    https-only - CloudFront responds to HTTP request with an HTTP status code of 403 (Forbidden).  
1120       */
1121      ViewerProtocolPolicy?: NonEmptyString;
1122    }
1123    export interface AwsCloudFrontDistributionCacheBehaviors {
1124      /**
1125       * The cache behaviors for the distribution.
1126       */
1127      Items?: AwsCloudFrontDistributionCacheBehaviorsItemList;
1128    }
1129    export type AwsCloudFrontDistributionCacheBehaviorsItemList = AwsCloudFrontDistributionCacheBehavior[];
1130    export interface AwsCloudFrontDistributionDefaultCacheBehavior {
1131      /**
1132       * The protocol that viewers can use to access the files in an origin. You can specify the following options:    allow-all - Viewers can use HTTP or HTTPS.    redirect-to-https - CloudFront responds to HTTP requests with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then uses the new URL to resubmit.    https-only - CloudFront responds to HTTP request with an HTTP status code of 403 (Forbidden).  
1133       */
1134      ViewerProtocolPolicy?: NonEmptyString;
1135    }
1136    export interface AwsCloudFrontDistributionDetails {
1137      /**
1138       * Provides information about the cache configuration for the distribution.
1139       */
1140      CacheBehaviors?: AwsCloudFrontDistributionCacheBehaviors;
1141      /**
1142       * The default cache behavior for the configuration.
1143       */
1144      DefaultCacheBehavior?: AwsCloudFrontDistributionDefaultCacheBehavior;
1145      /**
1146       * The object that CloudFront sends in response to requests from the origin (for example, index.html) when a viewer requests the root URL for the distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html). 
1147       */
1148      DefaultRootObject?: NonEmptyString;
1149      /**
1150       * The domain name corresponding to the distribution.
1151       */
1152      DomainName?: NonEmptyString;
1153      /**
1154       * The entity tag is a hash of the object.
1155       */
1156      ETag?: NonEmptyString;
1157      /**
1158       * Indicates when that the distribution was last modified. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
1159       */
1160      LastModifiedTime?: NonEmptyString;
1161      /**
1162       * A complex type that controls whether access logs are written for the distribution.
1163       */
1164      Logging?: AwsCloudFrontDistributionLogging;
1165      /**
1166       * A complex type that contains information about origins for this distribution.
1167       */
1168      Origins?: AwsCloudFrontDistributionOrigins;
1169      /**
1170       * Provides information about the origin groups in the distribution.
1171       */
1172      OriginGroups?: AwsCloudFrontDistributionOriginGroups;
1173      /**
1174       * Indicates the current status of the distribution.
1175       */
1176      Status?: NonEmptyString;
1177      /**
1178       * A unique identifier that specifies the WAF web ACL, if any, to associate with this distribution.
1179       */
1180      WebAclId?: NonEmptyString;
1181    }
1182    export interface AwsCloudFrontDistributionLogging {
1183      /**
1184       * The S3 bucket to store the access logs in.
1185       */
1186      Bucket?: NonEmptyString;
1187      /**
1188       * With this field, you can enable or disable the selected distribution.
1189       */
1190      Enabled?: Boolean;
1191      /**
1192       * Specifies whether you want CloudFront to include cookies in access logs.
1193       */
1194      IncludeCookies?: Boolean;
1195      /**
1196       * An optional string that you want CloudFront to use as a prefix to the access log filenames for this distribution.
1197       */
1198      Prefix?: NonEmptyString;
1199    }
1200    export interface AwsCloudFrontDistributionOriginGroup {
1201      /**
1202       * Provides the criteria for an origin group to fail over.
1203       */
1204      FailoverCriteria?: AwsCloudFrontDistributionOriginGroupFailover;
1205    }
1206    export interface AwsCloudFrontDistributionOriginGroupFailover {
1207      /**
1208       * Information about the status codes that cause an origin group to fail over.
1209       */
1210      StatusCodes?: AwsCloudFrontDistributionOriginGroupFailoverStatusCodes;
1211    }
1212    export interface AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
1213      /**
1214       * The list of status code values that can cause a failover to the next origin.
1215       */
1216      Items?: AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList;
1217      /**
1218       * The number of status codes that can cause a failover.
1219       */
1220      Quantity?: Integer;
1221    }
1222    export type AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList = Integer[];
1223    export interface AwsCloudFrontDistributionOriginGroups {
1224      /**
1225       * The list of origin groups.
1226       */
1227      Items?: AwsCloudFrontDistributionOriginGroupsItemList;
1228    }
1229    export type AwsCloudFrontDistributionOriginGroupsItemList = AwsCloudFrontDistributionOriginGroup[];
1230    export interface AwsCloudFrontDistributionOriginItem {
1231      /**
1232       * Amazon S3 origins: The DNS name of the S3 bucket from which you want CloudFront to get objects for this origin.
1233       */
1234      DomainName?: NonEmptyString;
1235      /**
1236       * A unique identifier for the origin or origin group.
1237       */
1238      Id?: NonEmptyString;
1239      /**
1240       * An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
1241       */
1242      OriginPath?: NonEmptyString;
1243      /**
1244       * An origin that is an S3 bucket that is not configured with static website hosting.
1245       */
1246      S3OriginConfig?: AwsCloudFrontDistributionOriginS3OriginConfig;
1247    }
1248    export type AwsCloudFrontDistributionOriginItemList = AwsCloudFrontDistributionOriginItem[];
1249    export interface AwsCloudFrontDistributionOriginS3OriginConfig {
1250      /**
1251       * The CloudFront origin access identity to associate with the origin.
1252       */
1253      OriginAccessIdentity?: NonEmptyString;
1254    }
1255    export interface AwsCloudFrontDistributionOrigins {
1256      /**
1257       * A complex type that contains origins or origin groups for this distribution.
1258       */
1259      Items?: AwsCloudFrontDistributionOriginItemList;
1260    }
1261    export interface AwsCloudTrailTrailDetails {
1262      /**
1263       * The ARN of the log group that CloudTrail logs are delivered to.
1264       */
1265      CloudWatchLogsLogGroupArn?: NonEmptyString;
1266      /**
1267       * The ARN of the role that the CloudWatch Events endpoint assumes when it writes to the log group.
1268       */
1269      CloudWatchLogsRoleArn?: NonEmptyString;
1270      /**
1271       * Indicates whether the trail has custom event selectors.
1272       */
1273      HasCustomEventSelectors?: Boolean;
1274      /**
1275       * The Region where the trail was created.
1276       */
1277      HomeRegion?: NonEmptyString;
1278      /**
1279       * Indicates whether the trail publishes events from global services such as IAM to the log files.
1280       */
1281      IncludeGlobalServiceEvents?: Boolean;
1282      /**
1283       * Indicates whether the trail applies only to the current Region or to all Regions.
1284       */
1285      IsMultiRegionTrail?: Boolean;
1286      /**
1287       * Whether the trail is created for all accounts in an organization in Organizations, or only for the current Amazon Web Services account.
1288       */
1289      IsOrganizationTrail?: Boolean;
1290      /**
1291       * The KMS key ID to use to encrypt the logs.
1292       */
1293      KmsKeyId?: NonEmptyString;
1294      /**
1295       * Indicates whether CloudTrail log file validation is enabled.
1296       */
1297      LogFileValidationEnabled?: Boolean;
1298      /**
1299       * The name of the trail.
1300       */
1301      Name?: NonEmptyString;
1302      /**
1303       * The name of the S3 bucket where the log files are published.
1304       */
1305      S3BucketName?: NonEmptyString;
1306      /**
1307       * The S3 key prefix. The key prefix is added after the name of the S3 bucket where the log files are published.
1308       */
1309      S3KeyPrefix?: NonEmptyString;
1310      /**
1311       * The ARN of the SNS topic that is used for notifications of log file delivery.
1312       */
1313      SnsTopicArn?: NonEmptyString;
1314      /**
1315       * The name of the SNS topic that is used for notifications of log file delivery.
1316       */
1317      SnsTopicName?: NonEmptyString;
1318      /**
1319       * The ARN of the trail.
1320       */
1321      TrailArn?: NonEmptyString;
1322    }
1323    export interface AwsCodeBuildProjectDetails {
1324      /**
1325       * The KMS customer master key (CMK) used to encrypt the build output artifacts. You can specify either the ARN of the CMK or, if available, the CMK alias (using the format alias/alias-name). 
1326       */
1327      EncryptionKey?: NonEmptyString;
1328      /**
1329       * Information about the build environment for this build project.
1330       */
1331      Environment?: AwsCodeBuildProjectEnvironment;
1332      /**
1333       * The name of the build project.
1334       */
1335      Name?: NonEmptyString;
1336      /**
1337       * Information about the build input source code for this build project.
1338       */
1339      Source?: AwsCodeBuildProjectSource;
1340      /**
1341       * The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf of the Amazon Web Services account.
1342       */
1343      ServiceRole?: NonEmptyString;
1344      /**
1345       * Information about the VPC configuration that CodeBuild accesses.
1346       */
1347      VpcConfig?: AwsCodeBuildProjectVpcConfig;
1348    }
1349    export interface AwsCodeBuildProjectEnvironment {
1350      /**
1351       * The certificate to use with this build project.
1352       */
1353      Certificate?: NonEmptyString;
1354      /**
1355       * The type of credentials CodeBuild uses to pull images in your build. Valid values:    CODEBUILD specifies that CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust the CodeBuild service principal.    SERVICE_ROLE specifies that CodeBuild uses your build project's service role.   When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials.
1356       */
1357      ImagePullCredentialsType?: NonEmptyString;
1358      /**
1359       * The credentials for access to a private registry.
1360       */
1361      RegistryCredential?: AwsCodeBuildProjectEnvironmentRegistryCredential;
1362      /**
1363       * The type of build environment to use for related builds. The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt). The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER | ARM_CONTAINER 
1364       */
1365      Type?: NonEmptyString;
1366    }
1367    export interface AwsCodeBuildProjectEnvironmentRegistryCredential {
1368      /**
1369       * The ARN or name of credentials created using Secrets Manager.  The credential can use the name of the credentials only if they exist in your current Amazon Web Services Region.  
1370       */
1371      Credential?: NonEmptyString;
1372      /**
1373       * The service that created the credentials to access a private Docker registry. The valid value, SECRETS_MANAGER, is for Secrets Manager.
1374       */
1375      CredentialProvider?: NonEmptyString;
1376    }
1377    export interface AwsCodeBuildProjectSource {
1378      /**
1379       * The type of repository that contains the source code to be built. Valid values are:    BITBUCKET - The source code is in a Bitbucket repository.    CODECOMMIT - The source code is in an CodeCommit repository.    CODEPIPELINE - The source code settings are specified in the source action of a pipeline in CodePipeline.    GITHUB - The source code is in a GitHub repository.    GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository.    NO_SOURCE - The project does not have input source code.    S3 - The source code is in an S3 input bucket.   
1380       */
1381      Type?: NonEmptyString;
1382      /**
1383       * Information about the location of the source code to be built. Valid values include:   For source code settings that are specified in the source action of a pipeline in CodePipeline, location should not be specified. If it is specified, CodePipeline ignores it. This is because CodePipeline uses the settings in a pipeline's source action instead of this value.   For source code in an CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the build spec file (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name ).   For source code in an S3 input bucket, one of the following.   The path to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).    The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).     For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the build spec file.   For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the build spec file.   
1384       */
1385      Location?: NonEmptyString;
1386      /**
1387       * Information about the Git clone depth for the build project.
1388       */
1389      GitCloneDepth?: Integer;
1390      /**
1391       * Whether to ignore SSL warnings while connecting to the project source code.
1392       */
1393      InsecureSsl?: Boolean;
1394    }
1395    export interface AwsCodeBuildProjectVpcConfig {
1396      /**
1397       * The ID of the VPC.
1398       */
1399      VpcId?: NonEmptyString;
1400      /**
1401       * A list of one or more subnet IDs in your VPC.
1402       */
1403      Subnets?: NonEmptyStringList;
1404      /**
1405       * A list of one or more security group IDs in your VPC.
1406       */
1407      SecurityGroupIds?: NonEmptyStringList;
1408    }
1409    export interface AwsCorsConfiguration {
1410      /**
1411       * The allowed origins for CORS requests.
1412       */
1413      AllowOrigins?: NonEmptyStringList;
1414      /**
1415       * Indicates whether the CORS request includes credentials.
1416       */
1417      AllowCredentials?: Boolean;
1418      /**
1419       * The exposed headers for CORS requests.
1420       */
1421      ExposeHeaders?: NonEmptyStringList;
1422      /**
1423       * The number of seconds for which the browser caches preflight request results.
1424       */
1425      MaxAge?: Integer;
1426      /**
1427       * The allowed methods for CORS requests.
1428       */
1429      AllowMethods?: NonEmptyStringList;
1430      /**
1431       * The allowed headers for CORS requests.
1432       */
1433      AllowHeaders?: NonEmptyStringList;
1434    }
1435    export interface AwsDynamoDbTableAttributeDefinition {
1436      /**
1437       * The name of the attribute.
1438       */
1439      AttributeName?: NonEmptyString;
1440      /**
1441       * The type of the attribute.
1442       */
1443      AttributeType?: NonEmptyString;
1444    }
1445    export type AwsDynamoDbTableAttributeDefinitionList = AwsDynamoDbTableAttributeDefinition[];
1446    export interface AwsDynamoDbTableBillingModeSummary {
1447      /**
1448       * The method used to charge for read and write throughput and to manage capacity.
1449       */
1450      BillingMode?: NonEmptyString;
1451      /**
1452       * If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was set to that value. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
1453       */
1454      LastUpdateToPayPerRequestDateTime?: NonEmptyString;
1455    }
1456    export interface AwsDynamoDbTableDetails {
1457      /**
1458       * A list of attribute definitions for the table.
1459       */
1460      AttributeDefinitions?: AwsDynamoDbTableAttributeDefinitionList;
1461      /**
1462       * Information about the billing for read/write capacity on the table.
1463       */
1464      BillingModeSummary?: AwsDynamoDbTableBillingModeSummary;
1465      /**
1466       * Indicates when the table was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
1467       */
1468      CreationDateTime?: NonEmptyString;
1469      /**
1470       * List of global secondary indexes for the table.
1471       */
1472      GlobalSecondaryIndexes?: AwsDynamoDbTableGlobalSecondaryIndexList;
1473      /**
1474       * The version of global tables being used.
1475       */
1476      GlobalTableVersion?: NonEmptyString;
1477      /**
1478       * The number of items in the table.
1479       */
1480      ItemCount?: Integer;
1481      /**
1482       * The primary key structure for the table.
1483       */
1484      KeySchema?: AwsDynamoDbTableKeySchemaList;
1485      /**
1486       * The ARN of the latest stream for the table.
1487       */
1488      LatestStreamArn?: NonEmptyString;
1489      /**
1490       * The label of the latest stream. The label is not a unique identifier.
1491       */
1492      LatestStreamLabel?: NonEmptyString;
1493      /**
1494       * The list of local secondary indexes for the table.
1495       */
1496      LocalSecondaryIndexes?: AwsDynamoDbTableLocalSecondaryIndexList;
1497      /**
1498       * Information about the provisioned throughput for the table.
1499       */
1500      ProvisionedThroughput?: AwsDynamoDbTableProvisionedThroughput;
1501      /**
1502       * The list of replicas of this table.
1503       */
1504      Replicas?: AwsDynamoDbTableReplicaList;
1505      /**
1506       * Information about the restore for the table.
1507       */
1508      RestoreSummary?: AwsDynamoDbTableRestoreSummary;
1509      /**
1510       * Information about the server-side encryption for the table.
1511       */
1512      SseDescription?: AwsDynamoDbTableSseDescription;
1513      /**
1514       * The current DynamoDB Streams configuration for the table.
1515       */
1516      StreamSpecification?: AwsDynamoDbTableStreamSpecification;
1517      /**
1518       * The identifier of the table.
1519       */
1520      TableId?: NonEmptyString;
1521      /**
1522       * The name of the table.
1523       */
1524      TableName?: NonEmptyString;
1525      /**
1526       * The total size of the table in bytes.
1527       */
1528      TableSizeBytes?: SizeBytes;
1529      /**
1530       * The current status of the table.
1531       */
1532      TableStatus?: NonEmptyString;
1533    }
1534    export interface AwsDynamoDbTableGlobalSecondaryIndex {
1535      /**
1536       * Whether the index is currently backfilling.
1537       */
1538      Backfilling?: Boolean;
1539      /**
1540       * The ARN of the index.
1541       */
1542      IndexArn?: NonEmptyString;
1543      /**
1544       * The name of the index.
1545       */
1546      IndexName?: NonEmptyString;
1547      /**
1548       * The total size in bytes of the index.
1549       */
1550      IndexSizeBytes?: SizeBytes;
1551      /**
1552       * The current status of the index.
1553       */
1554      IndexStatus?: NonEmptyString;
1555      /**
1556       * The number of items in the index.
1557       */
1558      ItemCount?: Integer;
1559      /**
1560       * The key schema for the index.
1561       */
1562      KeySchema?: AwsDynamoDbTableKeySchemaList;
1563      /**
1564       * Attributes that are copied from the table into an index.
1565       */
1566      Projection?: AwsDynamoDbTableProjection;
1567      /**
1568       * Information about the provisioned throughput settings for the indexes.
1569       */
1570      ProvisionedThroughput?: AwsDynamoDbTableProvisionedThroughput;
1571    }
1572    export type AwsDynamoDbTableGlobalSecondaryIndexList = AwsDynamoDbTableGlobalSecondaryIndex[];
1573    export interface AwsDynamoDbTableKeySchema {
1574      /**
1575       * The name of the key schema attribute.
1576       */
1577      AttributeName?: NonEmptyString;
1578      /**
1579       * The type of key used for the key schema attribute.
1580       */
1581      KeyType?: NonEmptyString;
1582    }
1583    export type AwsDynamoDbTableKeySchemaList = AwsDynamoDbTableKeySchema[];
1584    export interface AwsDynamoDbTableLocalSecondaryIndex {
1585      /**
1586       * The ARN of the index.
1587       */
1588      IndexArn?: NonEmptyString;
1589      /**
1590       * The name of the index.
1591       */
1592      IndexName?: NonEmptyString;
1593      /**
1594       * The complete key schema for the index.
1595       */
1596      KeySchema?: AwsDynamoDbTableKeySchemaList;
1597      /**
1598       * Attributes that are copied from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.
1599       */
1600      Projection?: AwsDynamoDbTableProjection;
1601    }
1602    export type AwsDynamoDbTableLocalSecondaryIndexList = AwsDynamoDbTableLocalSecondaryIndex[];
1603    export interface AwsDynamoDbTableProjection {
1604      /**
1605       * The nonkey attributes that are projected into the index. For each attribute, provide the attribute name.
1606       */
1607      NonKeyAttributes?: StringList;
1608      /**
1609       * The types of attributes that are projected into the index.
1610       */
1611      ProjectionType?: NonEmptyString;
1612    }
1613    export interface AwsDynamoDbTableProvisionedThroughput {
1614      /**
1615       * Indicates when the provisioned throughput was last decreased. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
1616       */
1617      LastDecreaseDateTime?: NonEmptyString;
1618      /**
1619       * Indicates when the provisioned throughput was last increased. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
1620       */
1621      LastIncreaseDateTime?: NonEmptyString;
1622      /**
1623       * The number of times during the current UTC calendar day that the provisioned throughput was decreased.
1624       */
1625      NumberOfDecreasesToday?: Integer;
1626      /**
1627       * The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.
1628       */
1629      ReadCapacityUnits?: Integer;
1630      /**
1631       * The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.
1632       */
1633      WriteCapacityUnits?: Integer;
1634    }
1635    export interface AwsDynamoDbTableProvisionedThroughputOverride {
1636      /**
1637       * The read capacity units for the replica.
1638       */
1639      ReadCapacityUnits?: Integer;
1640    }
1641    export interface AwsDynamoDbTableReplica {
1642      /**
1643       * List of global secondary indexes for the replica.
1644       */
1645      GlobalSecondaryIndexes?: AwsDynamoDbTableReplicaGlobalSecondaryIndexList;
1646      /**
1647       * The identifier of the KMS customer master key (CMK) that will be used for KMS encryption for the replica.
1648       */
1649      KmsMasterKeyId?: NonEmptyString;
1650      /**
1651       * Replica-specific configuration for the provisioned throughput.
1652       */
1653      ProvisionedThroughputOverride?: AwsDynamoDbTableProvisionedThroughputOverride;
1654      /**
1655       * The name of the Region where the replica is located.
1656       */
1657      RegionName?: NonEmptyString;
1658      /**
1659       * The current status of the replica.
1660       */
1661      ReplicaStatus?: NonEmptyString;
1662      /**
1663       * Detailed information about the replica status.
1664       */
1665      ReplicaStatusDescription?: NonEmptyString;
1666    }
1667    export interface AwsDynamoDbTableReplicaGlobalSecondaryIndex {
1668      /**
1669       * The name of the index.
1670       */
1671      IndexName?: NonEmptyString;
1672      /**
1673       * Replica-specific configuration for the provisioned throughput for the index.
1674       */
1675      ProvisionedThroughputOverride?: AwsDynamoDbTableProvisionedThroughputOverride;
1676    }
1677    export type AwsDynamoDbTableReplicaGlobalSecondaryIndexList = AwsDynamoDbTableReplicaGlobalSecondaryIndex[];
1678    export type AwsDynamoDbTableReplicaList = AwsDynamoDbTableReplica[];
1679    export interface AwsDynamoDbTableRestoreSummary {
1680      /**
1681       * The ARN of the source backup from which the table was restored.
1682       */
1683      SourceBackupArn?: NonEmptyString;
1684      /**
1685       * The ARN of the source table for the backup.
1686       */
1687      SourceTableArn?: NonEmptyString;
1688      /**
1689       * Indicates the point in time that the table was restored to. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
1690       */
1691      RestoreDateTime?: NonEmptyString;
1692      /**
1693       * Whether a restore is currently in progress.
1694       */
1695      RestoreInProgress?: Boolean;
1696    }
1697    export interface AwsDynamoDbTableSseDescription {
1698      /**
1699       * If the key is inaccessible, the date and time when DynamoDB detected that the key was inaccessible. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
1700       */
1701      InaccessibleEncryptionDateTime?: NonEmptyString;
1702      /**
1703       * The status of the server-side encryption.
1704       */
1705      Status?: NonEmptyString;
1706      /**
1707       * The type of server-side encryption.
1708       */
1709      SseType?: NonEmptyString;
1710      /**
1711       * The ARN of the KMS customer master key (CMK) that is used for the KMS encryption.
1712       */
1713      KmsMasterKeyArn?: NonEmptyString;
1714    }
1715    export interface AwsDynamoDbTableStreamSpecification {
1716      /**
1717       * Indicates whether DynamoDB Streams is enabled on the table.
1718       */
1719      StreamEnabled?: Boolean;
1720      /**
1721       * Determines the information that is written to the table.
1722       */
1723      StreamViewType?: NonEmptyString;
1724    }
1725    export interface AwsEc2EipDetails {
1726      /**
1727       * The identifier of the EC2 instance.
1728       */
1729      InstanceId?: NonEmptyString;
1730      /**
1731       * A public IP address that is associated with the EC2 instance.
1732       */
1733      PublicIp?: NonEmptyString;
1734      /**
1735       * The identifier that Amazon Web Services assigns to represent the allocation of the Elastic IP address for use with Amazon VPC.
1736       */
1737      AllocationId?: NonEmptyString;
1738      /**
1739       * The identifier that represents the association of the Elastic IP address with an EC2 instance.
1740       */
1741      AssociationId?: NonEmptyString;
1742      /**
1743       * The domain in which to allocate the address. If the address is for use with EC2 instances in a VPC, then Domain is vpc. Otherwise, Domain is standard. 
1744       */
1745      Domain?: NonEmptyString;
1746      /**
1747       * The identifier of an IP address pool. This parameter allows Amazon EC2 to select an IP address from the address pool.
1748       */
1749      PublicIpv4Pool?: NonEmptyString;
1750      /**
1751       * The name of the location from which the Elastic IP address is advertised.
1752       */
1753      NetworkBorderGroup?: NonEmptyString;
1754      /**
1755       * The identifier of the network interface.
1756       */
1757      NetworkInterfaceId?: NonEmptyString;
1758      /**
1759       * The Amazon Web Services account ID of the owner of the network interface.
1760       */
1761      NetworkInterfaceOwnerId?: NonEmptyString;
1762      /**
1763       * The private IP address that is associated with the Elastic IP address.
1764       */
1765      PrivateIpAddress?: NonEmptyString;
1766    }
1767    export interface AwsEc2InstanceDetails {
1768      /**
1769       * The instance type of the instance. 
1770       */
1771      Type?: NonEmptyString;
1772      /**
1773       * The Amazon Machine Image (AMI) ID of the instance.
1774       */
1775      ImageId?: NonEmptyString;
1776      /**
1777       * The IPv4 addresses associated with the instance.
1778       */
1779      IpV4Addresses?: StringList;
1780      /**
1781       * The IPv6 addresses associated with the instance.
1782       */
1783      IpV6Addresses?: StringList;
1784      /**
1785       * The key name associated with the instance.
1786       */
1787      KeyName?: NonEmptyString;
1788      /**
1789       * The IAM profile ARN of the instance.
1790       */
1791      IamInstanceProfileArn?: NonEmptyString;
1792      /**
1793       * The identifier of the VPC that the instance was launched in.
1794       */
1795      VpcId?: NonEmptyString;
1796      /**
1797       * The identifier of the subnet that the instance was launched in.
1798       */
1799      SubnetId?: NonEmptyString;
1800      /**
1801       * Indicates when the instance was launched. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
1802       */
1803      LaunchedAt?: NonEmptyString;
1804      /**
1805       * The identifiers of the network interfaces for the EC2 instance. The details for each network interface are in a corresponding AwsEc2NetworkInterfacesDetails object.
1806       */
1807      NetworkInterfaces?: AwsEc2InstanceNetworkInterfacesList;
1808    }
1809    export interface AwsEc2InstanceNetworkInterfacesDetails {
1810      /**
1811       * The identifier of the network interface. The details are in a corresponding AwsEc2NetworkInterfacesDetails object.
1812       */
1813      NetworkInterfaceId?: NonEmptyString;
1814    }
1815    export type AwsEc2InstanceNetworkInterfacesList = AwsEc2InstanceNetworkInterfacesDetails[];
1816    export interface AwsEc2NetworkAclAssociation {
1817      /**
1818       * The identifier of the association between the network ACL and the subnet.
1819       */
1820      NetworkAclAssociationId?: NonEmptyString;
1821      /**
1822       * The identifier of the network ACL.
1823       */
1824      NetworkAclId?: NonEmptyString;
1825      /**
1826       * The identifier of the subnet that is associated with the network ACL.
1827       */
1828      SubnetId?: NonEmptyString;
1829    }
1830    export type AwsEc2NetworkAclAssociationList = AwsEc2NetworkAclAssociation[];
1831    export interface AwsEc2NetworkAclDetails {
1832      /**
1833       * Whether this is the default network ACL for the VPC.
1834       */
1835      IsDefault?: Boolean;
1836      /**
1837       * The identifier of the network ACL.
1838       */
1839      NetworkAclId?: NonEmptyString;
1840      /**
1841       * The identifier of the Amazon Web Services account that owns the network ACL.
1842       */
1843      OwnerId?: NonEmptyString;
1844      /**
1845       * The identifier of the VPC for the network ACL.
1846       */
1847      VpcId?: NonEmptyString;
1848      /**
1849       * Associations between the network ACL and subnets.
1850       */
1851      Associations?: AwsEc2NetworkAclAssociationList;
1852      /**
1853       * The set of rules in the network ACL.
1854       */
1855      Entries?: AwsEc2NetworkAclEntryList;
1856    }
1857    export interface AwsEc2NetworkAclEntry {
1858      /**
1859       * The IPV4 network range for which to deny or allow access.
1860       */
1861      CidrBlock?: NonEmptyString;
1862      /**
1863       * Whether the rule is an egress rule. An egress rule is a rule that applies to traffic that leaves the subnet.
1864       */
1865      Egress?: Boolean;
1866      /**
1867       * The Internet Control Message Protocol (ICMP) type and code for which to deny or allow access.
1868       */
1869      IcmpTypeCode?: IcmpTypeCode;
1870      /**
1871       * The IPV6 network range for which to deny or allow access.
1872       */
1873      Ipv6CidrBlock?: NonEmptyString;
1874      /**
1875       * For TCP or UDP protocols, the range of ports that the rule applies to.
1876       */
1877      PortRange?: PortRangeFromTo;
1878      /**
1879       * The protocol that the rule applies to. To deny or allow access to all protocols, use the value -1.
1880       */
1881      Protocol?: NonEmptyString;
1882      /**
1883       * Whether the rule is used to allow access or deny access.
1884       */
1885      RuleAction?: NonEmptyString;
1886      /**
1887       * The rule number. The rules are processed in order by their number.
1888       */
1889      RuleNumber?: Integer;
1890    }
1891    export type AwsEc2NetworkAclEntryList = AwsEc2NetworkAclEntry[];
1892    export interface AwsEc2NetworkInterfaceAttachment {
1893      /**
1894       * Indicates when the attachment initiated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
1895       */
1896      AttachTime?: NonEmptyString;
1897      /**
1898       * The identifier of the network interface attachment
1899       */
1900      AttachmentId?: NonEmptyString;
1901      /**
1902       * Indicates whether the network interface is deleted when the instance is terminated.
1903       */
1904      DeleteOnTermination?: Boolean;
1905      /**
1906       * The device index of the network interface attachment on the instance.
1907       */
1908      DeviceIndex?: Integer;
1909      /**
1910       * The ID of the instance.
1911       */
1912      InstanceId?: NonEmptyString;
1913      /**
1914       * The Amazon Web Services account ID of the owner of the instance.
1915       */
1916      InstanceOwnerId?: NonEmptyString;
1917      /**
1918       * The attachment state. Valid values: attaching | attached | detaching | detached 
1919       */
1920      Status?: NonEmptyString;
1921    }
1922    export interface AwsEc2NetworkInterfaceDetails {
1923      /**
1924       * The network interface attachment.
1925       */
1926      Attachment?: AwsEc2NetworkInterfaceAttachment;
1927      /**
1928       * The ID of the network interface.
1929       */
1930      NetworkInterfaceId?: NonEmptyString;
1931      /**
1932       * Security groups for the network interface.
1933       */
1934      SecurityGroups?: AwsEc2NetworkInterfaceSecurityGroupList;
1935      /**
1936       * Indicates whether traffic to or from the instance is validated.
1937       */
1938      SourceDestCheck?: Boolean;
1939      /**
1940       * The IPv6 addresses associated with the network interface.
1941       */
1942      IpV6Addresses?: AwsEc2NetworkInterfaceIpV6AddressList;
1943      /**
1944       * The private IPv4 addresses associated with the network interface.
1945       */
1946      PrivateIpAddresses?: AwsEc2NetworkInterfacePrivateIpAddressList;
1947      /**
1948       * The public DNS name of the network interface.
1949       */
1950      PublicDnsName?: NonEmptyString;
1951      /**
1952       * The address of the Elastic IP address bound to the network interface.
1953       */
1954      PublicIp?: NonEmptyString;
1955    }
1956    export interface AwsEc2NetworkInterfaceIpV6AddressDetail {
1957      /**
1958       * The IPV6 address.
1959       */
1960      IpV6Address?: NonEmptyString;
1961    }
1962    export type AwsEc2NetworkInterfaceIpV6AddressList = AwsEc2NetworkInterfaceIpV6AddressDetail[];
1963    export interface AwsEc2NetworkInterfacePrivateIpAddressDetail {
1964      /**
1965       * The IP address.
1966       */
1967      PrivateIpAddress?: NonEmptyString;
1968      /**
1969       * The private DNS name for the IP address.
1970       */
1971      PrivateDnsName?: NonEmptyString;
1972    }
1973    export type AwsEc2NetworkInterfacePrivateIpAddressList = AwsEc2NetworkInterfacePrivateIpAddressDetail[];
1974    export interface AwsEc2NetworkInterfaceSecurityGroup {
1975      /**
1976       * The name of the security group.
1977       */
1978      GroupName?: NonEmptyString;
1979      /**
1980       * The ID of the security group.
1981       */
1982      GroupId?: NonEmptyString;
1983    }
1984    export type AwsEc2NetworkInterfaceSecurityGroupList = AwsEc2NetworkInterfaceSecurityGroup[];
1985    export interface AwsEc2SecurityGroupDetails {
1986      /**
1987       * The name of the security group.
1988       */
1989      GroupName?: NonEmptyString;
1990      /**
1991       * The ID of the security group.
1992       */
1993      GroupId?: NonEmptyString;
1994      /**
1995       * The Amazon Web Services account ID of the owner of the security group.
1996       */
1997      OwnerId?: NonEmptyString;
1998      /**
1999       * [VPC only] The ID of the VPC for the security group.
2000       */
2001      VpcId?: NonEmptyString;
2002      /**
2003       * The inbound rules associated with the security group.
2004       */
2005      IpPermissions?: AwsEc2SecurityGroupIpPermissionList;
2006      /**
2007       * [VPC only] The outbound rules associated with the security group.
2008       */
2009      IpPermissionsEgress?: AwsEc2SecurityGroupIpPermissionList;
2010    }
2011    export interface AwsEc2SecurityGroupIpPermission {
2012      /**
2013       * The IP protocol name (tcp, udp, icmp, icmpv6) or number. [VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional. If you omit the port range, traffic for all types and codes is allowed. 
2014       */
2015      IpProtocol?: NonEmptyString;
2016      /**
2017       * The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes. 
2018       */
2019      FromPort?: Integer;
2020      /**
2021       * The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.
2022       */
2023      ToPort?: Integer;
2024      /**
2025       * The security group and Amazon Web Services account ID pairs.
2026       */
2027      UserIdGroupPairs?: AwsEc2SecurityGroupUserIdGroupPairList;
2028      /**
2029       * The IPv4 ranges.
2030       */
2031      IpRanges?: AwsEc2SecurityGroupIpRangeList;
2032      /**
2033       * The IPv6 ranges.
2034       */
2035      Ipv6Ranges?: AwsEc2SecurityGroupIpv6RangeList;
2036      /**
2037       * [VPC only] The prefix list IDs for an Amazon Web Services service. With outbound rules, this is the Amazon Web Services service to access through a VPC endpoint from instances associated with the security group.
2038       */
2039      PrefixListIds?: AwsEc2SecurityGroupPrefixListIdList;
2040    }
2041    export type AwsEc2SecurityGroupIpPermissionList = AwsEc2SecurityGroupIpPermission[];
2042    export interface AwsEc2SecurityGroupIpRange {
2043      /**
2044       * The IPv4 CIDR range. You can specify either a CIDR range or a source security group, but not both. To specify a single IPv4 address, use the /32 prefix length.
2045       */
2046      CidrIp?: NonEmptyString;
2047    }
2048    export type AwsEc2SecurityGroupIpRangeList = AwsEc2SecurityGroupIpRange[];
2049    export interface AwsEc2SecurityGroupIpv6Range {
2050      /**
2051       * The IPv6 CIDR range. You can specify either a CIDR range or a source security group, but not both. To specify a single IPv6 address, use the /128 prefix length.
2052       */
2053      CidrIpv6?: NonEmptyString;
2054    }
2055    export type AwsEc2SecurityGroupIpv6RangeList = AwsEc2SecurityGroupIpv6Range[];
2056    export interface AwsEc2SecurityGroupPrefixListId {
2057      /**
2058       * The ID of the prefix.
2059       */
2060      PrefixListId?: NonEmptyString;
2061    }
2062    export type AwsEc2SecurityGroupPrefixListIdList = AwsEc2SecurityGroupPrefixListId[];
2063    export interface AwsEc2SecurityGroupUserIdGroupPair {
2064      /**
2065       * The ID of the security group.
2066       */
2067      GroupId?: NonEmptyString;
2068      /**
2069       * The name of the security group.
2070       */
2071      GroupName?: NonEmptyString;
2072      /**
2073       * The status of a VPC peering connection, if applicable.
2074       */
2075      PeeringStatus?: NonEmptyString;
2076      /**
2077       * The ID of an Amazon Web Services account. For a referenced security group in another VPC, the account ID of the referenced security group is returned in the response. If the referenced security group is deleted, this value is not returned. [EC2-Classic] Required when adding or removing rules that reference a security group in another VPC. 
2078       */
2079      UserId?: NonEmptyString;
2080      /**
2081       * The ID of the VPC for the referenced security group, if applicable.
2082       */
2083      VpcId?: NonEmptyString;
2084      /**
2085       * The ID of the VPC peering connection, if applicable.
2086       */
2087      VpcPeeringConnectionId?: NonEmptyString;
2088    }
2089    export type AwsEc2SecurityGroupUserIdGroupPairList = AwsEc2SecurityGroupUserIdGroupPair[];
2090    export interface AwsEc2SubnetDetails {
2091      /**
2092       * Whether to assign an IPV6 address to a network interface that is created in this subnet.
2093       */
2094      AssignIpv6AddressOnCreation?: Boolean;
2095      /**
2096       * The Availability Zone for the subnet.
2097       */
2098      AvailabilityZone?: NonEmptyString;
2099      /**
2100       * The identifier of the Availability Zone for the subnet.
2101       */
2102      AvailabilityZoneId?: NonEmptyString;
2103      /**
2104       * The number of available IPV4 addresses in the subnet. Does not include addresses for stopped instances.
2105       */
2106      AvailableIpAddressCount?: Integer;
2107      /**
2108       * The IPV4 CIDR block that is assigned to the subnet.
2109       */
2110      CidrBlock?: NonEmptyString;
2111      /**
2112       * Whether this subnet is the default subnet for the Availability Zone.
2113       */
2114      DefaultForAz?: Boolean;
2115      /**
2116       * Whether instances in this subnet receive a public IP address.
2117       */
2118      MapPublicIpOnLaunch?: Boolean;
2119      /**
2120       * The identifier of the Amazon Web Services account that owns the subnet.
2121       */
2122      OwnerId?: NonEmptyString;
2123      /**
2124       * The current state of the subnet.
2125       */
2126      State?: NonEmptyString;
2127      /**
2128       * The ARN of the subnet.
2129       */
2130      SubnetArn?: NonEmptyString;
2131      /**
2132       * The identifier of the subnet.
2133       */
2134      SubnetId?: NonEmptyString;
2135      /**
2136       * The identifier of the VPC that contains the subnet.
2137       */
2138      VpcId?: NonEmptyString;
2139      /**
2140       * The IPV6 CIDR blocks that are associated with the subnet.
2141       */
2142      Ipv6CidrBlockAssociationSet?: Ipv6CidrBlockAssociationList;
2143    }
2144    export interface AwsEc2VolumeAttachment {
2145      /**
2146       * The datetime when the attachment initiated.
2147       */
2148      AttachTime?: NonEmptyString;
2149      /**
2150       * Whether the EBS volume is deleted when the EC2 instance is terminated.
2151       */
2152      DeleteOnTermination?: Boolean;
2153      /**
2154       * The identifier of the EC2 instance.
2155       */
2156      InstanceId?: NonEmptyString;
2157      /**
2158       * The attachment state of the volume.
2159       */
2160      Status?: NonEmptyString;
2161    }
2162    export type AwsEc2VolumeAttachmentList = AwsEc2VolumeAttachment[];
2163    export interface AwsEc2VolumeDetails {
2164      /**
2165       * Indicates when the volume was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
2166       */
2167      CreateTime?: NonEmptyString;
2168      /**
2169       * Whether the volume is encrypted.
2170       */
2171      Encrypted?: Boolean;
2172      /**
2173       * The size of the volume, in GiBs.
2174       */
2175      Size?: Integer;
2176      /**
2177       * The snapshot from which the volume was created.
2178       */
2179      SnapshotId?: NonEmptyString;
2180      /**
2181       * The volume state.
2182       */
2183      Status?: NonEmptyString;
2184      /**
2185       * The ARN of the KMS customer master key (CMK) that was used to protect the volume encryption key for the volume.
2186       */
2187      KmsKeyId?: NonEmptyString;
2188      /**
2189       * The volume attachments.
2190       */
2191      Attachments?: AwsEc2VolumeAttachmentList;
2192    }
2193    export interface AwsEc2VpcDetails {
2194      /**
2195       * Information about the IPv4 CIDR blocks associated with the VPC.
2196       */
2197      CidrBlockAssociationSet?: CidrBlockAssociationList;
2198      /**
2199       * Information about the IPv6 CIDR blocks associated with the VPC.
2200       */
2201      Ipv6CidrBlockAssociationSet?: Ipv6CidrBlockAssociationList;
2202      /**
2203       * The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options that are associated with the VPC. If the default options are associated with the VPC, then this is default.
2204       */
2205      DhcpOptionsId?: NonEmptyString;
2206      /**
2207       * The current state of the VPC.
2208       */
2209      State?: NonEmptyString;
2210    }
2211    export interface AwsEcsClusterClusterSettingsDetails {
2212      /**
2213       * The name of the setting.
2214       */
2215      Name?: NonEmptyString;
2216      /**
2217       * The value of the setting.
2218       */
2219      Value?: NonEmptyString;
2220    }
2221    export type AwsEcsClusterClusterSettingsList = AwsEcsClusterClusterSettingsDetails[];
2222    export interface AwsEcsClusterConfigurationDetails {
2223      /**
2224       * Contains the run command configuration for the cluster.
2225       */
2226      ExecuteCommandConfiguration?: AwsEcsClusterConfigurationExecuteCommandConfigurationDetails;
2227    }
2228    export interface AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
2229      /**
2230       * The identifier of the KMS key that is used to encrypt the data between the local client and the container.
2231       */
2232      KmsKeyId?: NonEmptyString;
2233      /**
2234       * The log configuration for the results of the run command actions. Required if Logging is NONE.
2235       */
2236      LogConfiguration?: AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails;
2237      /**
2238       * The log setting to use for redirecting logs for run command results.
2239       */
2240      Logging?: NonEmptyString;
2241    }
2242    export interface AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
2243      /**
2244       * Whether to enable encryption on the CloudWatch logs.
2245       */
2246      CloudWatchEncryptionEnabled?: Boolean;
2247      /**
2248       * The name of the CloudWatch log group to send the logs to.
2249       */
2250      CloudWatchLogGroupName?: NonEmptyString;
2251      /**
2252       * The name of the S3 bucket to send logs to.
2253       */
2254      S3BucketName?: NonEmptyString;
2255      /**
2256       * Whether to encrypt the logs that are sent to the S3 bucket.
2257       */
2258      S3EncryptionEnabled?: Boolean;
2259      /**
2260       * Identifies the folder in the S3 bucket to send the logs to.
2261       */
2262      S3KeyPrefix?: NonEmptyString;
2263    }
2264    export interface AwsEcsClusterDefaultCapacityProviderStrategyDetails {
2265      /**
2266       * The minimum number of tasks to run on the specified capacity provider.
2267       */
2268      Base?: Integer;
2269      /**
2270       * The name of the capacity provider.
2271       */
2272      CapacityProvider?: NonEmptyString;
2273      /**
2274       * The relative percentage of the total number of tasks launched that should use the capacity provider.
2275       */
2276      Weight?: Integer;
2277    }
2278    export type AwsEcsClusterDefaultCapacityProviderStrategyList = AwsEcsClusterDefaultCapacityProviderStrategyDetails[];
2279    export interface AwsEcsClusterDetails {
2280      /**
2281       * The short name of one or more capacity providers to associate with the cluster.
2282       */
2283      CapacityProviders?: NonEmptyStringList;
2284      /**
2285       * The setting to use to create the cluster. Specifically used to configure whether to enable CloudWatch Container Insights for the cluster.
2286       */
2287      ClusterSettings?: AwsEcsClusterClusterSettingsList;
2288      /**
2289       * The run command configuration for the cluster.
2290       */
2291      Configuration?: AwsEcsClusterConfigurationDetails;
2292      /**
2293       * The default capacity provider strategy for the cluster. The default capacity provider strategy is used when services or tasks are run without a specified launch type or capacity provider strategy.
2294       */
2295      DefaultCapacityProviderStrategy?: AwsEcsClusterDefaultCapacityProviderStrategyList;
2296    }
2297    export interface AwsEcsServiceCapacityProviderStrategyDetails {
2298      /**
2299       * The minimum number of tasks to run on the capacity provider. Only one strategy item can specify a value for Base. The value must be between 0 and 100000.
2300       */
2301      Base?: Integer;
2302      /**
2303       * The short name of the capacity provider.
2304       */
2305      CapacityProvider?: NonEmptyString;
2306      /**
2307       * The relative percentage of the total number of tasks that should use the capacity provider. If no weight is specified, the default value is 0. At least one capacity provider must have a weight greater than 0. The value can be between 0 and 1000.
2308       */
2309      Weight?: Integer;
2310    }
2311    export type AwsEcsServiceCapacityProviderStrategyList = AwsEcsServiceCapacityProviderStrategyDetails[];
2312    export interface AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails {
2313      /**
2314       * Whether to enable the deployment circuit breaker logic for the service.
2315       */
2316      Enable?: Boolean;
2317      /**
2318       * Whether to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
2319       */
2320      Rollback?: Boolean;
2321    }
2322    export interface AwsEcsServiceDeploymentConfigurationDetails {
2323      /**
2324       * Determines whether a service deployment fails if a service cannot reach a steady state.
2325       */
2326      DeploymentCircuitBreaker?: AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails;
2327      /**
2328       * For a service that uses the rolling update (ECS) deployment type, the maximum number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, and for tasks that use the EC2 launch type, when any container instances are in the DRAINING state. Provided as a percentage of the desired number of tasks. The default value is 200%. For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment types, and tasks that use the EC2 launch type, the maximum number of tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. For the Fargate launch type, the maximum percent value is not used.
2329       */
2330      MaximumPercent?: Integer;
2331      /**
2332       * For a service that uses the rolling update (ECS) deployment type, the minimum number of tasks in a service that must remain in the RUNNING state during a deployment, and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Expressed as a percentage of the desired number of tasks. The default value is 100%. For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and tasks that use the EC2 launch type, the minimum number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. For the Fargate launch type, the minimum healthy percent value is not used.
2333       */
2334      MinimumHealthyPercent?: Integer;
2335    }
2336    export interface AwsEcsServiceDeploymentControllerDetails {
2337      /**
2338       * The rolling update (ECS) deployment type replaces the current running version of the container with the latest version. The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment model that is powered by CodeDeploy. This deployment model a new deployment of a service can be verified before production traffic is sent to it. The external (EXTERNAL) deployment type allows the use of any third-party deployment controller for full control over the deployment process for an Amazon ECS service. Valid values: ECS | CODE_DEPLOY | EXTERNAL 
2339       */
2340      Type?: NonEmptyString;
2341    }
2342    export interface AwsEcsServiceDetails {
2343      /**
2344       * The capacity provider strategy that the service uses.
2345       */
2346      CapacityProviderStrategy?: AwsEcsServiceCapacityProviderStrategyList;
2347      /**
2348       * The ARN of the cluster that hosts the service.
2349       */
2350      Cluster?: NonEmptyString;
2351      /**
2352       * Deployment parameters for the service. Includes the number of tasks that run and the order in which to start and stop tasks.
2353       */
2354      DeploymentConfiguration?: AwsEcsServiceDeploymentConfigurationDetails;
2355      /**
2356       * Contains the deployment controller type that the service uses.
2357       */
2358      DeploymentController?: AwsEcsServiceDeploymentControllerDetails;
2359      /**
2360       * The number of instantiations of the task definition to run on the service.
2361       */
2362      DesiredCount?: Integer;
2363      /**
2364       * Whether to enable Amazon ECS managed tags for the tasks in the service.
2365       */
2366      EnableEcsManagedTags?: Boolean;
2367      /**
2368       * Whether the execute command functionality is enabled for the service.
2369       */
2370      EnableExecuteCommand?: Boolean;
2371      /**
2372       * After a task starts, the amount of time in seconds that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks.
2373       */
2374      HealthCheckGracePeriodSeconds?: Integer;
2375      /**
2376       * The launch type that the service uses. Valid values: EC2 | FARGATE | EXTERNAL 
2377       */
2378      LaunchType?: NonEmptyString;
2379      /**
2380       * Information about the load balancers that the service uses.
2381       */
2382      LoadBalancers?: AwsEcsServiceLoadBalancersList;
2383      /**
2384       * The name of the service.
2385       */
2386      Name?: NonEmptyString;
2387      /**
2388       * For tasks that use the awsvpc networking mode, the VPC subnet and security group configuration.
2389       */
2390      NetworkConfiguration?: AwsEcsServiceNetworkConfigurationDetails;
2391      /**
2392       * The placement constraints for the tasks in the service.
2393       */
2394      PlacementConstraints?: AwsEcsServicePlacementConstraintsList;
2395      /**
2396       * Information about how tasks for the service are placed.
2397       */
2398      PlacementStrategies?: AwsEcsServicePlacementStrategiesList;
2399      /**
2400       * The platform version on which to run the service. Only specified for tasks that are hosted on Fargate. If a platform version is not specified, the LATEST platform version is used by default.
2401       */
2402      PlatformVersion?: NonEmptyString;
2403      /**
2404       * Indicates whether to propagate the tags from the task definition to the task or from the service to the task. If no value is provided, then tags are not propagated. Valid values: TASK_DEFINITION | SERVICE 
2405       */
2406      PropagateTags?: NonEmptyString;
2407      /**
2408       * The ARN of the IAM role that is associated with the service. The role allows the Amazon ECS container agent to register container instances with an Elastic Load Balancing load balancer.
2409       */
2410      Role?: NonEmptyString;
2411      /**
2412       * The scheduling strategy to use for the service. The REPLICA scheduling strategy places and maintains the desired number of tasks across the cluster. By default, the service scheduler spreads tasks across Availability Zones. Task placement strategies and constraints are used to customize task placement decisions. The DAEMON scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that are specified in the cluster. The service scheduler also evaluates the task placement constraints for running tasks and stops tasks that do not meet the placement constraints. Valid values: REPLICA | DAEMON 
2413       */
2414      SchedulingStrategy?: NonEmptyString;
2415      /**
2416       * The ARN of the service.
2417       */
2418      ServiceArn?: NonEmptyString;
2419      /**
2420       * The name of the service. The name can contain up to 255 characters. It can use letters, numbers, underscores, and hyphens.
2421       */
2422      ServiceName?: NonEmptyString;
2423      /**
2424       * Information about the service discovery registries to assign to the service.
2425       */
2426      ServiceRegistries?: AwsEcsServiceServiceRegistriesList;
2427      /**
2428       * The task definition to use for tasks in the service.
2429       */
2430      TaskDefinition?: NonEmptyString;
2431    }
2432    export interface AwsEcsServiceLoadBalancersDetails {
2433      /**
2434       * The name of the container to associate with the load balancer.
2435       */
2436      ContainerName?: NonEmptyString;
2437      /**
2438       * The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.
2439       */
2440      ContainerPort?: Integer;
2441      /**
2442       * The name of the load balancer to associate with the Amazon ECS service or task set. Only specified when using a Classic Load Balancer. For an Application Load Balancer or a Network Load Balancer, the load balancer name is omitted.
2443       */
2444      LoadBalancerName?: NonEmptyString;
2445      /**
2446       * The ARN of the Elastic Load Balancing target group or groups associated with a service or task set. Only specified when using an Application Load Balancer or a Network Load Balancer. For a Classic Load Balancer, the target group ARN is omitted.
2447       */
2448      TargetGroupArn?: NonEmptyString;
2449    }
2450    export type AwsEcsServiceLoadBalancersList = AwsEcsServiceLoadBalancersDetails[];
2451    export interface AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
2452      /**
2453       * Whether the task's elastic network interface receives a public IP address. The default value is DISABLED. Valid values: ENABLED | DISABLED 
2454       */
2455      AssignPublicIp?: NonEmptyString;
2456      /**
2457       * The IDs of the security groups associated with the task or service. You can provide up to five security groups.
2458       */
2459      SecurityGroups?: NonEmptyStringList;
2460      /**
2461       * The IDs of the subnets associated with the task or service. You can provide up to 16 subnets.
2462       */
2463      Subnets?: NonEmptyStringList;
2464    }
2465    export interface AwsEcsServiceNetworkConfigurationDetails {
2466      /**
2467       * The VPC subnet and security group configuration.
2468       */
2469      AwsVpcConfiguration?: AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails;
2470    }
2471    export interface AwsEcsServicePlacementConstraintsDetails {
2472      /**
2473       * A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is distinctInstance.
2474       */
2475      Expression?: NonEmptyString;
2476      /**
2477       * The type of constraint. Use distinctInstance to run each task in a particular group on a different container instance. Use memberOf to restrict the selection to a group of valid candidates. Valid values: distinctInstance | memberOf 
2478       */
2479      Type?: NonEmptyString;
2480    }
2481    export type AwsEcsServicePlacementConstraintsList = AwsEcsServicePlacementConstraintsDetails[];
2482    export interface AwsEcsServicePlacementStrategiesDetails {
2483      /**
2484       * The field to apply the placement strategy against. For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as attribute:ecs.availability-zone. For the binpack placement strategy, valid values are cpu and memory. For the random placement strategy, this attribute is not used.
2485       */
2486      Field?: NonEmptyString;
2487      /**
2488       * The type of placement strategy. The random placement strategy randomly places tasks on available candidates. The spread placement strategy spreads placement across available candidates evenly based on the value of Field. The binpack strategy places tasks on available candidates that have the least available amount of the resource that is specified in Field. Valid values: random | spread | binpack 
2489       */
2490      Type?: NonEmptyString;
2491    }
2492    export type AwsEcsServicePlacementStrategiesList = AwsEcsServicePlacementStrategiesDetails[];
2493    export interface AwsEcsServiceServiceRegistriesDetails {
2494      /**
2495       * The container name value to use for the service discovery service. If the task definition uses the bridge or host network mode, you must specify ContainerName and ContainerPort. If the task definition uses the awsvpc network mode and a type SRV DNS record, you must specify either ContainerName and ContainerPort, or Port , but not both.
2496       */
2497      ContainerName?: NonEmptyString;
2498      /**
2499       * The port value to use for the service discovery service. If the task definition uses the bridge or host network mode, you must specify ContainerName and ContainerPort. If the task definition uses the awsvpc network mode and a type SRV DNS record, you must specify either ContainerName and ContainerPort, or Port , but not both.
2500       */
2501      ContainerPort?: Integer;
2502      /**
2503       * The port value to use for a service discovery service that specifies an SRV record. This field can be used if both the awsvpcawsvpc network mode and SRV records are used.
2504       */
2505      Port?: Integer;
2506      /**
2507       * The ARN of the service registry.
2508       */
2509      RegistryArn?: NonEmptyString;
2510    }
2511    export type AwsEcsServiceServiceRegistriesList = AwsEcsServiceServiceRegistriesDetails[];
2512    export interface AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
2513      /**
2514       * The dependency condition of the dependent container. Indicates the required status of the dependent container before the current container can start.
2515       */
2516      Condition?: NonEmptyString;
2517      /**
2518       * The name of the dependent container.
2519       */
2520      ContainerName?: NonEmptyString;
2521    }
2522    export type AwsEcsTaskDefinitionContainerDefinitionsDependsOnList = AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails[];
2523    export interface AwsEcsTaskDefinitionContainerDefinitionsDetails {
2524      /**
2525       * The command that is passed to the container.
2526       */
2527      Command?: NonEmptyStringList;
2528      /**
2529       * The number of CPU units reserved for the container.
2530       */
2531      Cpu?: Integer;
2532      /**
2533       * The dependencies that are defined for container startup and shutdown.
2534       */
2535      DependsOn?: AwsEcsTaskDefinitionContainerDefinitionsDependsOnList;
2536      /**
2537       * Whether to disable networking within the container.
2538       */
2539      DisableNetworking?: Boolean;
2540      /**
2541       * A list of DNS search domains that are presented to the container.
2542       */
2543      DnsSearchDomains?: NonEmptyStringList;
2544      /**
2545       * A list of DNS servers that are presented to the container.
2546       */
2547      DnsServers?: NonEmptyStringList;
2548      /**
2549       * A key-value map of labels to add to the container.
2550       */
2551      DockerLabels?: FieldMap;
2552      /**
2553       * A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems.
2554       */
2555      DockerSecurityOptions?: NonEmptyStringList;
2556      /**
2557       * The entry point that is passed to the container.
2558       */
2559      EntryPoint?: NonEmptyStringList;
2560      /**
2561       * The environment variables to pass to a container.
2562       */
2563      Environment?: AwsEcsTaskDefinitionContainerDefinitionsEnvironmentList;
2564      /**
2565       * A list of files containing the environment variables to pass to a container.
2566       */
2567      EnvironmentFiles?: AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesList;
2568      /**
2569       * Whether the container is essential. All tasks must have at least one essential container.
2570       */
2571      Essential?: Boolean;
2572      /**
2573       * A list of hostnames and IP address mappings to append to the /etc/hosts file on the container.
2574       */
2575      ExtraHosts?: AwsEcsTaskDefinitionContainerDefinitionsExtraHostsList;
2576      /**
2577       * The FireLens configuration for the container. Specifies and configures a log router for container logs.
2578       */
2579      FirelensConfiguration?: AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails;
2580      /**
2581       * The container health check command and associated configuration parameters for the container.
2582       */
2583      HealthCheck?: AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails;
2584      /**
2585       * The hostname to use for the container.
2586       */
2587      Hostname?: NonEmptyString;
2588      /**
2589       * The image used to start the container.
2590       */
2591      Image?: NonEmptyString;
2592      /**
2593       * If set to true, then containerized applications can be deployed that require stdin or a tty to be allocated.
2594       */
2595      Interactive?: Boolean;
2596      /**
2597       * A list of links for the container in the form  container_name:alias . Allows containers to communicate with each other without the need for port mappings.
2598       */
2599      Links?: NonEmptyStringList;
2600      /**
2601       * Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.
2602       */
2603      LinuxParameters?: AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails;
2604      /**
2605       * The log configuration specification for the container.
2606       */
2607      LogConfiguration?: AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails;
2608      /**
2609       * The amount (in MiB) of memory to present to the container. If the container attempts to exceed the memory specified here, the container is shut down. The total amount of memory reserved for all containers within a task must be lower than the task memory value, if one is specified.
2610       */
2611      Memory?: Integer;
2612      /**
2613       * The soft limit (in MiB) of memory to reserve for the container.
2614       */
2615      MemoryReservation?: Integer;
2616      /**
2617       * The mount points for the data volumes in the container.
2618       */
2619      MountPoints?: AwsEcsTaskDefinitionContainerDefinitionsMountPointsList;
2620      /**
2621       * The name of the container.
2622       */
2623      Name?: NonEmptyString;
2624      /**
2625       * The list of port mappings for the container.
2626       */
2627      PortMappings?: AwsEcsTaskDefinitionContainerDefinitionsPortMappingsList;
2628      /**
2629       * Whether the container is given elevated privileges on the host container instance. The elevated privileges are similar to the root user.
2630       */
2631      Privileged?: Boolean;
2632      /**
2633       * Whether to allocate a TTY to the container.
2634       */
2635      PseudoTerminal?: Boolean;
2636      /**
2637       * Whether the container is given read-only access to its root file system.
2638       */
2639      ReadonlyRootFilesystem?: Boolean;
2640      /**
2641       * The private repository authentication credentials to use.
2642       */
2643      RepositoryCredentials?: AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails;
2644      /**
2645       * The type and amount of a resource to assign to a container. The only supported resource is a GPU.
2646       */
2647      ResourceRequirements?: AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsList;
2648      /**
2649       * The secrets to pass to the container.
2650       */
2651      Secrets?: AwsEcsTaskDefinitionContainerDefinitionsSecretsList;
2652      /**
2653       * The number of seconds to wait before giving up on resolving dependencies for a container. 
2654       */
2655      StartTimeout?: Integer;
2656      /**
2657       * The number of seconds to wait before the container is stopped if it doesn't shut down normally on its own.
2658       */
2659      StopTimeout?: Integer;
2660      /**
2661       * A list of namespaced kernel parameters to set in the container.
2662       */
2663      SystemControls?: AwsEcsTaskDefinitionContainerDefinitionsSystemControlsList;
2664      /**
2665       * A list of ulimits to set in the container. 
2666       */
2667      Ulimits?: AwsEcsTaskDefinitionContainerDefinitionsUlimitsList;
2668      /**
2669       * The user to use inside the container. The value can use one of the following formats.     user       user : group       uid       uid : gid       user : gid       uid : group    
2670       */
2671      User?: NonEmptyString;
2672      /**
2673       * Data volumes to mount from another container.
2674       */
2675      VolumesFrom?: AwsEcsTaskDefinitionContainerDefinitionsVolumesFromList;
2676      /**
2677       * The working directory in which to run commands inside the container.
2678       */
2679      WorkingDirectory?: NonEmptyString;
2680    }
2681    export interface AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
2682      /**
2683       * The name of the environment variable.
2684       */
2685      Name?: NonEmptyString;
2686      /**
2687       * The value of the environment variable.
2688       */
2689      Value?: NonEmptyString;
2690    }
2691    export interface AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
2692      /**
2693       * The type of environment file.
2694       */
2695      Type?: NonEmptyString;
2696      /**
2697       * The ARN of the S3 object that contains the environment variable file.
2698       */
2699      Value?: NonEmptyString;
2700    }
2701    export type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesList = AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails[];
2702    export type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentList = AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails[];
2703    export interface AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
2704      /**
2705       * The hostname to use in the /etc/hosts entry.
2706       */
2707      Hostname?: NonEmptyString;
2708      /**
2709       * The IP address to use in the /etc/hosts entry.
2710       */
2711      IpAddress?: NonEmptyString;
2712    }
2713    export type AwsEcsTaskDefinitionContainerDefinitionsExtraHostsList = AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails[];
2714    export interface AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
2715      /**
2716       * The options to use to configure the log router. The valid option keys are as follows:    enable-ecs-log-metadata. The value can be true or false.    config-file-type. The value can be s3 or file.    config-file-value. The value is either an S3 ARN or a file path.  
2717       */
2718      Options?: FieldMap;
2719      /**
2720       * The log router to use. 
2721       */
2722      Type?: NonEmptyString;
2723    }
2724    export interface AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
2725      /**
2726       * The command that the container runs to determine whether it is healthy.
2727       */
2728      Command?: NonEmptyStringList;
2729      /**
2730       * The time period in seconds between each health check execution. The default value is 30 seconds.
2731       */
2732      Interval?: Integer;
2733      /**
2734       * The number of times to retry a failed health check before the container is considered unhealthy. The default value is 3.
2735       */
2736      Retries?: Integer;
2737      /**
2738       * The optional grace period in seconds that allows containers time to bootstrap before failed health checks count towards the maximum number of retries.
2739       */
2740      StartPeriod?: Integer;
2741      /**
2742       * The time period in seconds to wait for a health check to succeed before it is considered a failure. The default value is 5.
2743       */
2744      Timeout?: Integer;
2745    }
2746    export interface AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
2747      /**
2748       * The Linux capabilities for the container that are added to the default configuration provided by Docker.
2749       */
2750      Add?: NonEmptyStringList;
2751      /**
2752       * The Linux capabilities for the container that are dropped from the default configuration provided by Docker.
2753       */
2754      Drop?: NonEmptyStringList;
2755    }
2756    export interface AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
2757      /**
2758       * The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker.
2759       */
2760      Capabilities?: AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails;
2761      /**
2762       * The host devices to expose to the container.
2763       */
2764      Devices?: AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesList;
2765      /**
2766       * Whether to run an init process inside the container that forwards signals and reaps processes. 
2767       */
2768      InitProcessEnabled?: Boolean;
2769      /**
2770       * The total amount of swap memory (in MiB) that a container can use.
2771       */
2772      MaxSwap?: Integer;
2773      /**
2774       * The value for the size (in MiB) of the /dev/shm volume.
2775       */
2776      SharedMemorySize?: Integer;
2777      /**
2778       * Configures the container's memory swappiness behavior. Determines how aggressively pages are swapped. The higher the value, the more aggressive the swappiness. The default is 60.
2779       */
2780      Swappiness?: Integer;
2781      /**
2782       * The container path, mount options, and size (in MiB) of the tmpfs mount.
2783       */
2784      Tmpfs?: AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsList;
2785    }
2786    export interface AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
2787      /**
2788       * The path inside the container at which to expose the host device.
2789       */
2790      ContainerPath?: NonEmptyString;
2791      /**
2792       * The path for the device on the host container instance.
2793       */
2794      HostPath?: NonEmptyString;
2795      /**
2796       * The explicit permissions to provide to the container for the device. By default, the container has permissions for read, write, and mknod for the device.
2797       */
2798      Permissions?: NonEmptyStringList;
2799    }
2800    export type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesList = AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails[];
2801    export interface AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
2802      /**
2803       * The absolute file path where the tmpfs volume is to be mounted.
2804       */
2805      ContainerPath?: NonEmptyString;
2806      /**
2807       * The list of tmpfs volume mount options.
2808       */
2809      MountOptions?: NonEmptyStringList;
2810      /**
2811       * The maximum size (in MiB) of the tmpfs volume.
2812       */
2813      Size?: Integer;
2814    }
2815    export type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsList = AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails[];
2816    export type AwsEcsTaskDefinitionContainerDefinitionsList = AwsEcsTaskDefinitionContainerDefinitionsDetails[];
2817    export interface AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
2818      /**
2819       * The log driver to use for the container.
2820       */
2821      LogDriver?: NonEmptyString;
2822      /**
2823       * The configuration options to send to the log driver. Requires version 1.19 of the Docker Remote API or greater on your container instance.
2824       */
2825      Options?: FieldMap;
2826      /**
2827       * The secrets to pass to the log configuration.
2828       */
2829      SecretOptions?: AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsList;
2830    }
2831    export interface AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
2832      /**
2833       * The name of the secret.
2834       */
2835      Name?: NonEmptyString;
2836      /**
2837       * The secret to expose to the container. The value is either the full ARN of the Secrets Manager secret or the full ARN of the parameter in the Systems Manager Parameter Store.
2838       */
2839      ValueFrom?: NonEmptyString;
2840    }
2841    export type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsList = AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails[];
2842    export interface AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
2843      /**
2844       * The path on the container to mount the host volume at.
2845       */
2846      ContainerPath?: NonEmptyString;
2847      /**
2848       * Whether the container has read-only access to the volume.
2849       */
2850      ReadOnly?: Boolean;
2851      /**
2852       * The name of the volume to mount. Must match the name of a volume listed in VolumeDetails for the task definition.
2853       */
2854      SourceVolume?: NonEmptyString;
2855    }
2856    export type AwsEcsTaskDefinitionContainerDefinitionsMountPointsList = AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails[];
2857    export interface AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
2858      /**
2859       * The port number on the container that is bound to the user-specified or automatically assigned host port.
2860       */
2861      ContainerPort?: Integer;
2862      /**
2863       * The port number on the container instance to reserve for the container.
2864       */
2865      HostPort?: Integer;
2866      /**
2867       * The protocol used for the port mapping. The default is tcp.
2868       */
2869      Protocol?: NonEmptyString;
2870    }
2871    export type AwsEcsTaskDefinitionContainerDefinitionsPortMappingsList = AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails[];
2872    export interface AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails {
2873      /**
2874       * The ARN of the secret that contains the private repository credentials.
2875       */
2876      CredentialsParameter?: NonEmptyString;
2877    }
2878    export interface AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
2879      /**
2880       * The type of resource to assign to a container.
2881       */
2882      Type?: NonEmptyString;
2883      /**
2884       * The value for the specified resource type. For GPU, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. For InferenceAccelerator, the value should match the DeviceName attribute of an entry in InferenceAccelerators.
2885       */
2886      Value?: NonEmptyString;
2887    }
2888    export type AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsList = AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails[];
2889    export interface AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
2890      /**
2891       * The name of the secret.
2892       */
2893      Name?: NonEmptyString;
2894      /**
2895       * The secret to expose to the container. The value is either the full ARN of the Secrets Manager secret or the full ARN of the parameter in the Systems Manager Parameter Store.
2896       */
2897      ValueFrom?: NonEmptyString;
2898    }
2899    export type AwsEcsTaskDefinitionContainerDefinitionsSecretsList = AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails[];
2900    export interface AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
2901      /**
2902       * The namespaced kernel parameter for which to set a value.
2903       */
2904      Namespace?: NonEmptyString;
2905      /**
2906       * The value of the parameter.
2907       */
2908      Value?: NonEmptyString;
2909    }
2910    export type AwsEcsTaskDefinitionContainerDefinitionsSystemControlsList = AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails[];
2911    export interface AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
2912      /**
2913       * The hard limit for the ulimit type.
2914       */
2915      HardLimit?: Integer;
2916      /**
2917       * The type of the ulimit.
2918       */
2919      Name?: NonEmptyString;
2920      /**
2921       * The soft limit for the ulimit type.
2922       */
2923      SoftLimit?: Integer;
2924    }
2925    export type AwsEcsTaskDefinitionContainerDefinitionsUlimitsList = AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails[];
2926    export interface AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
2927      /**
2928       * Whether the container has read-only access to the volume.
2929       */
2930      ReadOnly?: Boolean;
2931      /**
2932       * The name of another container within the same task definition from which to mount volumes.
2933       */
2934      SourceContainer?: NonEmptyString;
2935    }
2936    export type AwsEcsTaskDefinitionContainerDefinitionsVolumesFromList = AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails[];
2937    export interface AwsEcsTaskDefinitionDetails {
2938      /**
2939       * The container definitions that describe the containers that make up the task.
2940       */
2941      ContainerDefinitions?: AwsEcsTaskDefinitionContainerDefinitionsList;
2942      /**
2943       * The number of CPU units used by the task.
2944       */
2945      Cpu?: NonEmptyString;
2946      /**
2947       * The ARN of the task execution role that grants the container agent permission to make API calls on behalf of the container user.
2948       */
2949      ExecutionRoleArn?: NonEmptyString;
2950      /**
2951       * The name of a family that this task definition is registered to.
2952       */
2953      Family?: NonEmptyString;
2954      /**
2955       * The Elastic Inference accelerators to use for the containers in the task.
2956       */
2957      InferenceAccelerators?: AwsEcsTaskDefinitionInferenceAcceleratorsList;
2958      /**
2959       * The IPC resource namespace to use for the containers in the task.
2960       */
2961      IpcMode?: NonEmptyString;
2962      /**
2963       * The amount (in MiB) of memory used by the task.
2964       */
2965      Memory?: NonEmptyString;
2966      /**
2967       * The Docker networking mode to use for the containers in the task.
2968       */
2969      NetworkMode?: NonEmptyString;
2970      /**
2971       * The process namespace to use for the containers in the task.
2972       */
2973      PidMode?: NonEmptyString;
2974      /**
2975       * The placement constraint objects to use for tasks.
2976       */
2977      PlacementConstraints?: AwsEcsTaskDefinitionPlacementConstraintsList;
2978      /**
2979       * The configuration details for the App Mesh proxy.
2980       */
2981      ProxyConfiguration?: AwsEcsTaskDefinitionProxyConfigurationDetails;
2982      /**
2983       * The task launch types that the task definition was validated against.
2984       */
2985      RequiresCompatibilities?: NonEmptyStringList;
2986      /**
2987       * The short name or ARN of the IAM role that grants containers in the task permission to call Amazon Web Services API operations on your behalf.
2988       */
2989      TaskRoleArn?: NonEmptyString;
2990      /**
2991       * The data volume definitions for the task.
2992       */
2993      Volumes?: AwsEcsTaskDefinitionVolumesList;
2994    }
2995    export interface AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
2996      /**
2997       * The Elastic Inference accelerator device name.
2998       */
2999      DeviceName?: NonEmptyString;
3000      /**
3001       * The Elastic Inference accelerator type to use.
3002       */
3003      DeviceType?: NonEmptyString;
3004    }
3005    export type AwsEcsTaskDefinitionInferenceAcceleratorsList = AwsEcsTaskDefinitionInferenceAcceleratorsDetails[];
3006    export interface AwsEcsTaskDefinitionPlacementConstraintsDetails {
3007      /**
3008       * A cluster query language expression to apply to the constraint.
3009       */
3010      Expression?: NonEmptyString;
3011      /**
3012       * The type of constraint.
3013       */
3014      Type?: NonEmptyString;
3015    }
3016    export type AwsEcsTaskDefinitionPlacementConstraintsList = AwsEcsTaskDefinitionPlacementConstraintsDetails[];
3017    export interface AwsEcsTaskDefinitionProxyConfigurationDetails {
3018      /**
3019       * The name of the container that will serve as the App Mesh proxy.
3020       */
3021      ContainerName?: NonEmptyString;
3022      /**
3023       * The set of network configuration parameters to provide to the Container Network Interface (CNI) plugin, specified as key-value pairs.
3024       */
3025      ProxyConfigurationProperties?: AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesList;
3026      /**
3027       * The proxy type.
3028       */
3029      Type?: NonEmptyString;
3030    }
3031    export interface AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
3032      /**
3033       * The name of the property.
3034       */
3035      Name?: NonEmptyString;
3036      /**
3037       * The value of the property.
3038       */
3039      Value?: NonEmptyString;
3040    }
3041    export type AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesList = AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails[];
3042    export interface AwsEcsTaskDefinitionVolumesDetails {
3043      /**
3044       * Information about a Docker volume.
3045       */
3046      DockerVolumeConfiguration?: AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails;
3047      /**
3048       * Information about the Amazon Elastic File System file system that is used for task storage.
3049       */
3050      EfsVolumeConfiguration?: AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails;
3051      /**
3052       * Information about a bind mount host volume.
3053       */
3054      Host?: AwsEcsTaskDefinitionVolumesHostDetails;
3055      /**
3056       * The name of the data volume.
3057       */
3058      Name?: NonEmptyString;
3059    }
3060    export interface AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
3061      /**
3062       * Whether to create the Docker volume automatically if it does not already exist.
3063       */
3064      Autoprovision?: Boolean;
3065      /**
3066       * The Docker volume driver to use.
3067       */
3068      Driver?: NonEmptyString;
3069      /**
3070       * A map of Docker driver-specific options that are passed through.
3071       */
3072      DriverOpts?: FieldMap;
3073      /**
3074       * Custom metadata to add to the Docker volume.
3075       */
3076      Labels?: FieldMap;
3077      /**
3078       * The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a task are provisioned automatically when the task starts and destroyed when the task stops. Docker volumes that are shared persist after the task stops.
3079       */
3080      Scope?: NonEmptyString;
3081    }
3082    export interface AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
3083      /**
3084       * The Amazon EFS access point identifier to use.
3085       */
3086      AccessPointId?: NonEmptyString;
3087      /**
3088       * Whether to use the Amazon ECS task IAM role defined in a task definition when mounting the Amazon EFS file system.
3089       */
3090      Iam?: NonEmptyString;
3091    }
3092    export interface AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
3093      /**
3094       * The authorization configuration details for the Amazon EFS file system.
3095       */
3096      AuthorizationConfig?: AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails;
3097      /**
3098       * The Amazon EFS file system identifier to use.
3099       */
3100      FilesystemId?: NonEmptyString;
3101      /**
3102       * The directory within the Amazon EFS file system to mount as the root directory inside the host.
3103       */
3104      RootDirectory?: NonEmptyString;
3105      /**
3106       * Whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. 
3107       */
3108      TransitEncryption?: NonEmptyString;
3109      /**
3110       * The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server.
3111       */
3112      TransitEncryptionPort?: Integer;
3113    }
3114    export interface AwsEcsTaskDefinitionVolumesHostDetails {
3115      /**
3116       * The path on the host container instance that is presented to the container.
3117       */
3118      SourcePath?: NonEmptyString;
3119    }
3120    export type AwsEcsTaskDefinitionVolumesList = AwsEcsTaskDefinitionVolumesDetails[];
3121    export interface AwsElasticBeanstalkEnvironmentDetails {
3122      /**
3123       * The name of the application that is associated with the environment.
3124       */
3125      ApplicationName?: NonEmptyString;
3126      /**
3127       * The URL to the CNAME for this environment.
3128       */
3129      Cname?: NonEmptyString;
3130      /**
3131       * The creation date for this environment.
3132       */
3133      DateCreated?: NonEmptyString;
3134      /**
3135       * The date when this environment was last modified.
3136       */
3137      DateUpdated?: NonEmptyString;
3138      /**
3139       * A description of the environment.
3140       */
3141      Description?: NonEmptyString;
3142      /**
3143       * For load-balanced, autoscaling environments, the URL to the load balancer. For single-instance environments, the IP address of the instance.
3144       */
3145      EndpointUrl?: NonEmptyString;
3146      /**
3147       * The ARN of the environment.
3148       */
3149      EnvironmentArn?: NonEmptyString;
3150      /**
3151       * The identifier of the environment.
3152       */
3153      EnvironmentId?: NonEmptyString;
3154      /**
3155       * Links to other environments in the same group.
3156       */
3157      EnvironmentLinks?: AwsElasticBeanstalkEnvironmentEnvironmentLinks;
3158      /**
3159       * The name of the environment.
3160       */
3161      EnvironmentName?: NonEmptyString;
3162      /**
3163       * The configuration setting for the environment.
3164       */
3165      OptionSettings?: AwsElasticBeanstalkEnvironmentOptionSettings;
3166      /**
3167       * The ARN of the platform version for the environment.
3168       */
3169      PlatformArn?: NonEmptyString;
3170      /**
3171       * The name of the solution stack that is deployed with the environment.
3172       */
3173      SolutionStackName?: NonEmptyString;
3174      /**
3175       * The current operational status of the environment.
3176       */
3177      Status?: NonEmptyString;
3178      /**
3179       * The tier of the environment.
3180       */
3181      Tier?: AwsElasticBeanstalkEnvironmentTier;
3182      /**
3183       * The application version of the environment.
3184       */
3185      VersionLabel?: NonEmptyString;
3186    }
3187    export interface AwsElasticBeanstalkEnvironmentEnvironmentLink {
3188      /**
3189       * The name of the linked environment.
3190       */
3191      EnvironmentName?: NonEmptyString;
3192      /**
3193       * The name of the environment link.
3194       */
3195      LinkName?: NonEmptyString;
3196    }
3197    export type AwsElasticBeanstalkEnvironmentEnvironmentLinks = AwsElasticBeanstalkEnvironmentEnvironmentLink[];
3198    export interface AwsElasticBeanstalkEnvironmentOptionSetting {
3199      /**
3200       * The type of resource that the configuration option is associated with.
3201       */
3202      Namespace?: NonEmptyString;
3203      /**
3204       * The name of the option.
3205       */
3206      OptionName?: NonEmptyString;
3207      /**
3208       * The name of the resource.
3209       */
3210      ResourceName?: NonEmptyString;
3211      /**
3212       * The value of the configuration setting.
3213       */
3214      Value?: NonEmptyString;
3215    }
3216    export type AwsElasticBeanstalkEnvironmentOptionSettings = AwsElasticBeanstalkEnvironmentOptionSetting[];
3217    export interface AwsElasticBeanstalkEnvironmentTier {
3218      /**
3219       * The name of the environment tier.
3220       */
3221      Name?: NonEmptyString;
3222      /**
3223       * The type of environment tier.
3224       */
3225      Type?: NonEmptyString;
3226      /**
3227       * The version of the environment tier.
3228       */
3229      Version?: NonEmptyString;
3230    }
3231    export interface AwsElasticsearchDomainDetails {
3232      /**
3233       * IAM policy document specifying the access policies for the new Elasticsearch domain.
3234       */
3235      AccessPolicies?: NonEmptyString;
3236      /**
3237       * Additional options for the domain endpoint.
3238       */
3239      DomainEndpointOptions?: AwsElasticsearchDomainDomainEndpointOptions;
3240      /**
3241       * Unique identifier for an Elasticsearch domain.
3242       */
3243      DomainId?: NonEmptyString;
3244      /**
3245       * Name of an Elasticsearch domain. Domain names are unique across all domains owned by the same account within an Amazon Web Services Region. Domain names must start with a lowercase letter and must be between 3 and 28 characters. Valid characters are a-z (lowercase only), 0-9, and – (hyphen). 
3246       */
3247      DomainName?: NonEmptyString;
3248      /**
3249       * Domain-specific endpoint used to submit index, search, and data upload requests to an Elasticsearch domain. The endpoint is a service URL. 
3250       */
3251      Endpoint?: NonEmptyString;
3252      /**
3253       * The key-value pair that exists if the Elasticsearch domain uses VPC endpoints.
3254       */
3255      Endpoints?: FieldMap;
3256      /**
3257       * Elasticsearch version.
3258       */
3259      ElasticsearchVersion?: NonEmptyString;
3260      /**
3261       * Information about an Elasticsearch cluster configuration.
3262       */
3263      ElasticsearchClusterConfig?: AwsElasticsearchDomainElasticsearchClusterConfigDetails;
3264      /**
3265       * Details about the configuration for encryption at rest.
3266       */
3267      EncryptionAtRestOptions?: AwsElasticsearchDomainEncryptionAtRestOptions;
3268      /**
3269       * Configures the CloudWatch Logs to publish for the Elasticsearch domain.
3270       */
3271      LogPublishingOptions?: AwsElasticsearchDomainLogPublishingOptions;
3272      /**
3273       * Details about the configuration for node-to-node encryption.
3274       */
3275      NodeToNodeEncryptionOptions?: AwsElasticsearchDomainNodeToNodeEncryptionOptions;
3276      /**
3277       * Information about the status of a domain relative to the latest service software.
3278       */
3279      ServiceSoftwareOptions?: AwsElasticsearchDomainServiceSoftwareOptions;
3280      /**
3281       * Information that Elasticsearch derives based on VPCOptions for the domain.
3282       */
3283      VPCOptions?: AwsElasticsearchDomainVPCOptions;
3284    }
3285    export interface AwsElasticsearchDomainDomainEndpointOptions {
3286      /**
3287       * Whether to require that all traffic to the domain arrive over HTTPS.
3288       */
3289      EnforceHTTPS?: Boolean;
3290      /**
3291       * The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch domain. Valid values:    Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher    Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2  
3292       */
3293      TLSSecurityPolicy?: NonEmptyString;
3294    }
3295    export interface AwsElasticsearchDomainElasticsearchClusterConfigDetails {
3296      /**
3297       * The number of instances to use for the master node. If this attribute is specified, then DedicatedMasterEnabled must be true.
3298       */
3299      DedicatedMasterCount?: Integer;
3300      /**
3301       * Whether to use a dedicated master node for the Elasticsearch domain. A dedicated master node performs cluster management tasks, but doesn't hold data or respond to data upload requests.
3302       */
3303      DedicatedMasterEnabled?: Boolean;
3304      /**
3305       * The hardware configuration of the computer that hosts the dedicated master node. For example, m3.medium.elasticsearch. If this attribute is specified, then DedicatedMasterEnabled must be true.
3306       */
3307      DedicatedMasterType?: NonEmptyString;
3308      /**
3309       * The number of data nodes to use in the Elasticsearch domain.
3310       */
3311      InstanceCount?: Integer;
3312      /**
3313       * The instance type for your data nodes. For example, m3.medium.elasticsearch.
3314       */
3315      InstanceType?: NonEmptyString;
3316      /**
3317       * Configuration options for zone awareness. Provided if ZoneAwarenessEnabled is true.
3318       */
3319      ZoneAwarenessConfig?: AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails;
3320      /**
3321       * Whether to enable zone awareness for the Elasticsearch domain. When zone awareness is enabled, Elasticsearch allocates the cluster's nodes and replica index shards across Availability Zones in the same Region. This prevents data loss and minimizes downtime if a node or data center fails.
3322       */
3323      ZoneAwarenessEnabled?: Boolean;
3324    }
3325    export interface AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails {
3326      /**
3327       * he number of Availability Zones that the domain uses. Valid values are 2 and 3. The default is 2.
3328       */
3329      AvailabilityZoneCount?: Integer;
3330    }
3331    export interface AwsElasticsearchDomainEncryptionAtRestOptions {
3332      /**
3333       * Whether encryption at rest is enabled.
3334       */
3335      Enabled?: Boolean;
3336      /**
3337       * The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.
3338       */
3339      KmsKeyId?: NonEmptyString;
3340    }
3341    export interface AwsElasticsearchDomainLogPublishingOptions {
3342      /**
3343       * Configures the Elasticsearch index logs publishing.
3344       */
3345      IndexSlowLogs?: AwsElasticsearchDomainLogPublishingOptionsLogConfig;
3346      /**
3347       * Configures the Elasticsearch search slow log publishing.
3348       */
3349      SearchSlowLogs?: AwsElasticsearchDomainLogPublishingOptionsLogConfig;
3350      AuditLogs?: AwsElasticsearchDomainLogPublishingOptionsLogConfig;
3351    }
3352    export interface AwsElasticsearchDomainLogPublishingOptionsLogConfig {
3353      /**
3354       * The ARN of the CloudWatch Logs group to publish the logs to.
3355       */
3356      CloudWatchLogsLogGroupArn?: NonEmptyString;
3357      /**
3358       * Whether the log publishing is enabled.
3359       */
3360      Enabled?: Boolean;
3361    }
3362    export interface AwsElasticsearchDomainNodeToNodeEncryptionOptions {
3363      /**
3364       * Whether node-to-node encryption is enabled.
3365       */
3366      Enabled?: Boolean;
3367    }
3368    export interface AwsElasticsearchDomainServiceSoftwareOptions {
3369      /**
3370       * The epoch time when the deployment window closes for required updates. After this time, Amazon Elasticsearch Service schedules the software upgrade automatically.
3371       */
3372      AutomatedUpdateDate?: NonEmptyString;
3373      /**
3374       * Whether a request to update the domain can be canceled.
3375       */
3376      Cancellable?: Boolean;
3377      /**
3378       * The version of the service software that is currently installed on the domain.
3379       */
3380      CurrentVersion?: NonEmptyString;
3381      /**
3382       * A more detailed description of the service software status.
3383       */
3384      Description?: NonEmptyString;
3385      /**
3386       * The most recent version of the service software.
3387       */
3388      NewVersion?: NonEmptyString;
3389      /**
3390       * Whether a service software update is available for the domain.
3391       */
3392      UpdateAvailable?: Boolean;
3393      /**
3394       * The status of the service software update.
3395       */
3396      UpdateStatus?: NonEmptyString;
3397    }
3398    export interface AwsElasticsearchDomainVPCOptions {
3399      /**
3400       * The list of Availability Zones associated with the VPC subnets.
3401       */
3402      AvailabilityZones?: NonEmptyStringList;
3403      /**
3404       * The list of security group IDs associated with the VPC endpoints for the domain.
3405       */
3406      SecurityGroupIds?: NonEmptyStringList;
3407      /**
3408       * A list of subnet IDs associated with the VPC endpoints for the domain.
3409       */
3410      SubnetIds?: NonEmptyStringList;
3411      /**
3412       * ID for the VPC.
3413       */
3414      VPCId?: NonEmptyString;
3415    }
3416    export type AwsElbAppCookieStickinessPolicies = AwsElbAppCookieStickinessPolicy[];
3417    export interface AwsElbAppCookieStickinessPolicy {
3418      /**
3419       * The name of the application cookie used for stickiness.
3420       */
3421      CookieName?: NonEmptyString;
3422      /**
3423       * The mnemonic name for the policy being created. The name must be unique within the set of policies for the load balancer.
3424       */
3425      PolicyName?: NonEmptyString;
3426    }
3427    export type AwsElbLbCookieStickinessPolicies = AwsElbLbCookieStickinessPolicy[];
3428    export interface AwsElbLbCookieStickinessPolicy {
3429      /**
3430       * The amount of time, in seconds, after which the cookie is considered stale. If an expiration period is not specified, the stickiness session lasts for the duration of the browser session.
3431       */
3432      CookieExpirationPeriod?: Long;
3433      /**
3434       * The name of the policy. The name must be unique within the set of policies for the load balancer.
3435       */
3436      PolicyName?: NonEmptyString;
3437    }
3438    export interface AwsElbLoadBalancerAccessLog {
3439      /**
3440       * The interval in minutes for publishing the access logs. You can publish access logs either every 5 minutes or every 60 minutes.
3441       */
3442      EmitInterval?: Integer;
3443      /**
3444       * Indicates whether access logs are enabled for the load balancer.
3445       */
3446      Enabled?: Boolean;
3447      /**
3448       * The name of the S3 bucket where the access logs are stored.
3449       */
3450      S3BucketName?: NonEmptyString;
3451      /**
3452       * The logical hierarchy that was created for the S3 bucket. If a prefix is not provided, the log is placed at the root level of the bucket.
3453       */
3454      S3BucketPrefix?: NonEmptyString;
3455    }
3456    export interface AwsElbLoadBalancerAttributes {
3457      /**
3458       * Information about the access log configuration for the load balancer. If the access log is enabled, the load balancer captures detailed information about all requests. It delivers the information to a specified S3 bucket.
3459       */
3460      AccessLog?: AwsElbLoadBalancerAccessLog;
3461      /**
3462       * Information about the connection draining configuration for the load balancer. If connection draining is enabled, the load balancer allows existing requests to complete before it shifts traffic away from a deregistered or unhealthy instance.
3463       */
3464      ConnectionDraining?: AwsElbLoadBalancerConnectionDraining;
3465      /**
3466       * Connection settings for the load balancer. If an idle timeout is configured, the load balancer allows connections to remain idle for the specified duration. When a connection is idle, no data is sent over the connection.
3467       */
3468      ConnectionSettings?: AwsElbLoadBalancerConnectionSettings;
3469      /**
3470       * Cross-zone load balancing settings for the load balancer. If cross-zone load balancing is enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.
3471       */
3472      CrossZoneLoadBalancing?: AwsElbLoadBalancerCrossZoneLoadBalancing;
3473    }
3474    export interface AwsElbLoadBalancerBackendServerDescription {
3475      /**
3476       * The port on which the EC2 instance is listening.
3477       */
3478      InstancePort?: Integer;
3479      /**
3480       * The names of the policies that are enabled for the EC2 instance.
3481       */
3482      PolicyNames?: StringList;
3483    }
3484    export type AwsElbLoadBalancerBackendServerDescriptions = AwsElbLoadBalancerBackendServerDescription[];
3485    export interface AwsElbLoadBalancerConnectionDraining {
3486      /**
3487       * Indicates whether connection draining is enabled for the load balancer.
3488       */
3489      Enabled?: Boolean;
3490      /**
3491       * The maximum time, in seconds, to keep the existing connections open before deregistering the instances.
3492       */
3493      Timeout?: Integer;
3494    }
3495    export interface AwsElbLoadBalancerConnectionSettings {
3496      /**
3497       * The time, in seconds, that the connection can be idle (no data is sent over the connection) before it is closed by the load balancer.
3498       */
3499      IdleTimeout?: Integer;
3500    }
3501    export interface AwsElbLoadBalancerCrossZoneLoadBalancing {
3502      /**
3503       * Indicates whether cross-zone load balancing is enabled for the load balancer.
3504       */
3505      Enabled?: Boolean;
3506    }
3507    export interface AwsElbLoadBalancerDetails {
3508      /**
3509       * The list of Availability Zones for the load balancer.
3510       */
3511      AvailabilityZones?: StringList;
3512      /**
3513       * Information about the configuration of the EC2 instances.
3514       */
3515      BackendServerDescriptions?: AwsElbLoadBalancerBackendServerDescriptions;
3516      /**
3517       * The name of the Amazon Route 53 hosted zone for the load balancer.
3518       */
3519      CanonicalHostedZoneName?: NonEmptyString;
3520      /**
3521       * The ID of the Amazon Route 53 hosted zone for the load balancer.
3522       */
3523      CanonicalHostedZoneNameID?: NonEmptyString;
3524      /**
3525       * Indicates when the load balancer was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3526       */
3527      CreatedTime?: NonEmptyString;
3528      /**
3529       * The DNS name of the load balancer.
3530       */
3531      DnsName?: NonEmptyString;
3532      /**
3533       * Information about the health checks that are conducted on the load balancer.
3534       */
3535      HealthCheck?: AwsElbLoadBalancerHealthCheck;
3536      /**
3537       * List of EC2 instances for the load balancer.
3538       */
3539      Instances?: AwsElbLoadBalancerInstances;
3540      /**
3541       * The policies that are enabled for the load balancer listeners.
3542       */
3543      ListenerDescriptions?: AwsElbLoadBalancerListenerDescriptions;
3544      /**
3545       * The attributes for a load balancer.
3546       */
3547      LoadBalancerAttributes?: AwsElbLoadBalancerAttributes;
3548      /**
3549       * The name of the load balancer.
3550       */
3551      LoadBalancerName?: NonEmptyString;
3552      /**
3553       * The policies for a load balancer.
3554       */
3555      Policies?: AwsElbLoadBalancerPolicies;
3556      /**
3557       * The type of load balancer. Only provided if the load balancer is in a VPC. If Scheme is internet-facing, the load balancer has a public DNS name that resolves to a public IP address. If Scheme is internal, the load balancer has a public DNS name that resolves to a private IP address.
3558       */
3559      Scheme?: NonEmptyString;
3560      /**
3561       * The security groups for the load balancer. Only provided if the load balancer is in a VPC.
3562       */
3563      SecurityGroups?: StringList;
3564      /**
3565       * Information about the security group for the load balancer. This is the security group that is used for inbound rules.
3566       */
3567      SourceSecurityGroup?: AwsElbLoadBalancerSourceSecurityGroup;
3568      /**
3569       * The list of subnet identifiers for the load balancer.
3570       */
3571      Subnets?: StringList;
3572      /**
3573       * The identifier of the VPC for the load balancer.
3574       */
3575      VpcId?: NonEmptyString;
3576    }
3577    export interface AwsElbLoadBalancerHealthCheck {
3578      /**
3579       * The number of consecutive health check successes required before the instance is moved to the Healthy state.
3580       */
3581      HealthyThreshold?: Integer;
3582      /**
3583       * The approximate interval, in seconds, between health checks of an individual instance.
3584       */
3585      Interval?: Integer;
3586      /**
3587       * The instance that is being checked. The target specifies the protocol and port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of valid ports is 1 through 65535. For the HTTP and HTTPS protocols, the target also specifies the ping path. For the TCP protocol, the target is specified as TCP: &lt;port&gt; . For the SSL protocol, the target is specified as SSL.&lt;port&gt; . For the HTTP and HTTPS protocols, the target is specified as  &lt;protocol&gt;:&lt;port&gt;/&lt;path to ping&gt; .
3588       */
3589      Target?: NonEmptyString;
3590      /**
3591       * The amount of time, in seconds, during which no response means a failed health check.
3592       */
3593      Timeout?: Integer;
3594      /**
3595       * The number of consecutive health check failures that must occur before the instance is moved to the Unhealthy state.
3596       */
3597      UnhealthyThreshold?: Integer;
3598    }
3599    export interface AwsElbLoadBalancerInstance {
3600      /**
3601       * The instance identifier.
3602       */
3603      InstanceId?: NonEmptyString;
3604    }
3605    export type AwsElbLoadBalancerInstances = AwsElbLoadBalancerInstance[];
3606    export interface AwsElbLoadBalancerListener {
3607      /**
3608       * The port on which the instance is listening.
3609       */
3610      InstancePort?: Integer;
3611      /**
3612       * The protocol to use to route traffic to instances. Valid values: HTTP | HTTPS | TCP | SSL 
3613       */
3614      InstanceProtocol?: NonEmptyString;
3615      /**
3616       * The port on which the load balancer is listening. On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535.
3617       */
3618      LoadBalancerPort?: Integer;
3619      /**
3620       * The load balancer transport protocol to use for routing. Valid values: HTTP | HTTPS | TCP | SSL 
3621       */
3622      Protocol?: NonEmptyString;
3623      /**
3624       * The ARN of the server certificate.
3625       */
3626      SslCertificateId?: NonEmptyString;
3627    }
3628    export interface AwsElbLoadBalancerListenerDescription {
3629      /**
3630       * Information about the listener.
3631       */
3632      Listener?: AwsElbLoadBalancerListener;
3633      /**
3634       * The policies enabled for the listener.
3635       */
3636      PolicyNames?: StringList;
3637    }
3638    export type AwsElbLoadBalancerListenerDescriptions = AwsElbLoadBalancerListenerDescription[];
3639    export interface AwsElbLoadBalancerPolicies {
3640      /**
3641       * The stickiness policies that are created using CreateAppCookieStickinessPolicy.
3642       */
3643      AppCookieStickinessPolicies?: AwsElbAppCookieStickinessPolicies;
3644      /**
3645       * The stickiness policies that are created using CreateLBCookieStickinessPolicy.
3646       */
3647      LbCookieStickinessPolicies?: AwsElbLbCookieStickinessPolicies;
3648      /**
3649       * The policies other than the stickiness policies.
3650       */
3651      OtherPolicies?: StringList;
3652    }
3653    export interface AwsElbLoadBalancerSourceSecurityGroup {
3654      /**
3655       * The name of the security group.
3656       */
3657      GroupName?: NonEmptyString;
3658      /**
3659       * The owner of the security group.
3660       */
3661      OwnerAlias?: NonEmptyString;
3662    }
3663    export interface AwsElbv2LoadBalancerDetails {
3664      /**
3665       * The Availability Zones for the load balancer.
3666       */
3667      AvailabilityZones?: AvailabilityZones;
3668      /**
3669       * The ID of the Amazon Route 53 hosted zone associated with the load balancer.
3670       */
3671      CanonicalHostedZoneId?: NonEmptyString;
3672      /**
3673       * Indicates when the load balancer was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3674       */
3675      CreatedTime?: NonEmptyString;
3676      /**
3677       * The public DNS name of the load balancer.
3678       */
3679      DNSName?: NonEmptyString;
3680      /**
3681       * The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).
3682       */
3683      IpAddressType?: NonEmptyString;
3684      /**
3685       * The nodes of an Internet-facing load balancer have public IP addresses.
3686       */
3687      Scheme?: NonEmptyString;
3688      /**
3689       * The IDs of the security groups for the load balancer.
3690       */
3691      SecurityGroups?: SecurityGroups;
3692      /**
3693       * The state of the load balancer.
3694       */
3695      State?: LoadBalancerState;
3696      /**
3697       * The type of load balancer.
3698       */
3699      Type?: NonEmptyString;
3700      /**
3701       * The ID of the VPC for the load balancer.
3702       */
3703      VpcId?: NonEmptyString;
3704    }
3705    export interface AwsIamAccessKeyDetails {
3706      /**
3707       * The user associated with the IAM access key related to a finding. The UserName parameter has been replaced with the PrincipalName parameter because access keys can also be assigned to principals that are not IAM users.
3708       */
3709      UserName?: NonEmptyString;
3710      /**
3711       * The status of the IAM access key related to a finding.
3712       */
3713      Status?: AwsIamAccessKeyStatus;
3714      /**
3715       * Indicates when the IAM access key was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3716       */
3717      CreatedAt?: NonEmptyString;
3718      /**
3719       * The ID of the principal associated with an access key.
3720       */
3721      PrincipalId?: NonEmptyString;
3722      /**
3723       * The type of principal associated with an access key.
3724       */
3725      PrincipalType?: NonEmptyString;
3726      /**
3727       * The name of the principal.
3728       */
3729      PrincipalName?: NonEmptyString;
3730      /**
3731       * The Amazon Web Services account ID of the account for the key.
3732       */
3733      AccountId?: NonEmptyString;
3734      /**
3735       * The identifier of the access key.
3736       */
3737      AccessKeyId?: NonEmptyString;
3738      /**
3739       * Information about the session that the key was used for.
3740       */
3741      SessionContext?: AwsIamAccessKeySessionContext;
3742    }
3743    export interface AwsIamAccessKeySessionContext {
3744      /**
3745       * Attributes of the session that the key was used for.
3746       */
3747      Attributes?: AwsIamAccessKeySessionContextAttributes;
3748      /**
3749       * Information about the entity that created the session.
3750       */
3751      SessionIssuer?: AwsIamAccessKeySessionContextSessionIssuer;
3752    }
3753    export interface AwsIamAccessKeySessionContextAttributes {
3754      /**
3755       * Indicates whether the session used multi-factor authentication (MFA).
3756       */
3757      MfaAuthenticated?: Boolean;
3758      /**
3759       * Indicates when the session was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3760       */
3761      CreationDate?: NonEmptyString;
3762    }
3763    export interface AwsIamAccessKeySessionContextSessionIssuer {
3764      /**
3765       * The type of principal (user, role, or group) that created the session.
3766       */
3767      Type?: NonEmptyString;
3768      /**
3769       * The principal ID of the principal (user, role, or group) that created the session.
3770       */
3771      PrincipalId?: NonEmptyString;
3772      /**
3773       * The ARN of the session.
3774       */
3775      Arn?: NonEmptyString;
3776      /**
3777       * The identifier of the Amazon Web Services account that created the session.
3778       */
3779      AccountId?: NonEmptyString;
3780      /**
3781       * The name of the principal that created the session.
3782       */
3783      UserName?: NonEmptyString;
3784    }
3785    export type AwsIamAccessKeyStatus = "Active"|"Inactive"|string;
3786    export interface AwsIamAttachedManagedPolicy {
3787      /**
3788       * The name of the policy.
3789       */
3790      PolicyName?: NonEmptyString;
3791      /**
3792       * The ARN of the policy.
3793       */
3794      PolicyArn?: NonEmptyString;
3795    }
3796    export type AwsIamAttachedManagedPolicyList = AwsIamAttachedManagedPolicy[];
3797    export interface AwsIamGroupDetails {
3798      /**
3799       * A list of the managed policies that are attached to the IAM group.
3800       */
3801      AttachedManagedPolicies?: AwsIamAttachedManagedPolicyList;
3802      /**
3803       * Indicates when the IAM group was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3804       */
3805      CreateDate?: NonEmptyString;
3806      /**
3807       * The identifier of the IAM group.
3808       */
3809      GroupId?: NonEmptyString;
3810      /**
3811       * The name of the IAM group.
3812       */
3813      GroupName?: NonEmptyString;
3814      /**
3815       * The list of inline policies that are embedded in the group.
3816       */
3817      GroupPolicyList?: AwsIamGroupPolicyList;
3818      /**
3819       * The path to the group.
3820       */
3821      Path?: NonEmptyString;
3822    }
3823    export interface AwsIamGroupPolicy {
3824      /**
3825       * The name of the policy.
3826       */
3827      PolicyName?: NonEmptyString;
3828    }
3829    export type AwsIamGroupPolicyList = AwsIamGroupPolicy[];
3830    export interface AwsIamInstanceProfile {
3831      /**
3832       * The ARN of the instance profile.
3833       */
3834      Arn?: NonEmptyString;
3835      /**
3836       * Indicates when the instance profile was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3837       */
3838      CreateDate?: NonEmptyString;
3839      /**
3840       * The identifier of the instance profile.
3841       */
3842      InstanceProfileId?: NonEmptyString;
3843      /**
3844       * The name of the instance profile.
3845       */
3846      InstanceProfileName?: NonEmptyString;
3847      /**
3848       * The path to the instance profile.
3849       */
3850      Path?: NonEmptyString;
3851      /**
3852       * The roles associated with the instance profile.
3853       */
3854      Roles?: AwsIamInstanceProfileRoles;
3855    }
3856    export type AwsIamInstanceProfileList = AwsIamInstanceProfile[];
3857    export interface AwsIamInstanceProfileRole {
3858      /**
3859       * The ARN of the role.
3860       */
3861      Arn?: NonEmptyString;
3862      /**
3863       * The policy that grants an entity permission to assume the role.
3864       */
3865      AssumeRolePolicyDocument?: AwsIamRoleAssumeRolePolicyDocument;
3866      /**
3867       * Indicates when the role was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3868       */
3869      CreateDate?: NonEmptyString;
3870      /**
3871       * The path to the role.
3872       */
3873      Path?: NonEmptyString;
3874      /**
3875       * The identifier of the role.
3876       */
3877      RoleId?: NonEmptyString;
3878      /**
3879       * The name of the role.
3880       */
3881      RoleName?: NonEmptyString;
3882    }
3883    export type AwsIamInstanceProfileRoles = AwsIamInstanceProfileRole[];
3884    export interface AwsIamPermissionsBoundary {
3885      /**
3886       * The ARN of the policy used to set the permissions boundary.
3887       */
3888      PermissionsBoundaryArn?: NonEmptyString;
3889      /**
3890       * The usage type for the permissions boundary.
3891       */
3892      PermissionsBoundaryType?: NonEmptyString;
3893    }
3894    export interface AwsIamPolicyDetails {
3895      /**
3896       * The number of users, groups, and roles that the policy is attached to.
3897       */
3898      AttachmentCount?: Integer;
3899      /**
3900       * When the policy was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3901       */
3902      CreateDate?: NonEmptyString;
3903      /**
3904       * The identifier of the default version of the policy.
3905       */
3906      DefaultVersionId?: NonEmptyString;
3907      /**
3908       * A description of the policy.
3909       */
3910      Description?: NonEmptyString;
3911      /**
3912       * Whether the policy can be attached to a user, group, or role.
3913       */
3914      IsAttachable?: Boolean;
3915      /**
3916       * The path to the policy.
3917       */
3918      Path?: NonEmptyString;
3919      /**
3920       * The number of users and roles that use the policy to set the permissions boundary.
3921       */
3922      PermissionsBoundaryUsageCount?: Integer;
3923      /**
3924       * The unique identifier of the policy.
3925       */
3926      PolicyId?: NonEmptyString;
3927      /**
3928       * The name of the policy.
3929       */
3930      PolicyName?: NonEmptyString;
3931      /**
3932       * List of versions of the policy.
3933       */
3934      PolicyVersionList?: AwsIamPolicyVersionList;
3935      /**
3936       * When the policy was most recently updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3937       */
3938      UpdateDate?: NonEmptyString;
3939    }
3940    export interface AwsIamPolicyVersion {
3941      /**
3942       * The identifier of the policy version.
3943       */
3944      VersionId?: NonEmptyString;
3945      /**
3946       * Whether the version is the default version.
3947       */
3948      IsDefaultVersion?: Boolean;
3949      /**
3950       * Indicates when the version was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3951       */
3952      CreateDate?: NonEmptyString;
3953    }
3954    export type AwsIamPolicyVersionList = AwsIamPolicyVersion[];
3955    export type AwsIamRoleAssumeRolePolicyDocument = string;
3956    export interface AwsIamRoleDetails {
3957      /**
3958       * The trust policy that grants permission to assume the role.
3959       */
3960      AssumeRolePolicyDocument?: AwsIamRoleAssumeRolePolicyDocument;
3961      /**
3962       * The list of the managed policies that are attached to the role.
3963       */
3964      AttachedManagedPolicies?: AwsIamAttachedManagedPolicyList;
3965      /**
3966       * Indicates when the role was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
3967       */
3968      CreateDate?: NonEmptyString;
3969      /**
3970       * The list of instance profiles that contain this role.
3971       */
3972      InstanceProfileList?: AwsIamInstanceProfileList;
3973      PermissionsBoundary?: AwsIamPermissionsBoundary;
3974      /**
3975       * The stable and unique string identifying the role.
3976       */
3977      RoleId?: NonEmptyString;
3978      /**
3979       * The friendly name that identifies the role.
3980       */
3981      RoleName?: NonEmptyString;
3982      /**
3983       * The list of inline policies that are embedded in the role.
3984       */
3985      RolePolicyList?: AwsIamRolePolicyList;
3986      /**
3987       * The maximum session duration (in seconds) that you want to set for the specified role.
3988       */
3989      MaxSessionDuration?: Integer;
3990      /**
3991       * The path to the role.
3992       */
3993      Path?: NonEmptyString;
3994    }
3995    export interface AwsIamRolePolicy {
3996      /**
3997       * The name of the policy.
3998       */
3999      PolicyName?: NonEmptyString;
4000    }
4001    export type AwsIamRolePolicyList = AwsIamRolePolicy[];
4002    export interface AwsIamUserDetails {
4003      /**
4004       * A list of the managed policies that are attached to the user.
4005       */
4006      AttachedManagedPolicies?: AwsIamAttachedManagedPolicyList;
4007      /**
4008       * Indicates when the user was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
4009       */
4010      CreateDate?: NonEmptyString;
4011      /**
4012       * A list of IAM groups that the user belongs to.
4013       */
4014      GroupList?: StringList;
4015      /**
4016       * The path to the user.
4017       */
4018      Path?: NonEmptyString;
4019      /**
4020       * The permissions boundary for the user.
4021       */
4022      PermissionsBoundary?: AwsIamPermissionsBoundary;
4023      /**
4024       * The unique identifier for the user.
4025       */
4026      UserId?: NonEmptyString;
4027      /**
4028       * The name of the user.
4029       */
4030      UserName?: NonEmptyString;
4031      /**
4032       * The list of inline policies that are embedded in the user.
4033       */
4034      UserPolicyList?: AwsIamUserPolicyList;
4035    }
4036    export interface AwsIamUserPolicy {
4037      /**
4038       * The name of the policy.
4039       */
4040      PolicyName?: NonEmptyString;
4041    }
4042    export type AwsIamUserPolicyList = AwsIamUserPolicy[];
4043    export interface AwsKmsKeyDetails {
4044      /**
4045       * The twelve-digit account ID of the Amazon Web Services account that owns the CMK.
4046       */
4047      AWSAccountId?: NonEmptyString;
4048      /**
4049       * Indicates when the CMK was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
4050       */
4051      CreationDate?: Double;
4052      /**
4053       * The globally unique identifier for the CMK.
4054       */
4055      KeyId?: NonEmptyString;
4056      /**
4057       * The manager of the CMK. CMKs in your Amazon Web Services account are either customer managed or Amazon Web Services managed.
4058       */
4059      KeyManager?: NonEmptyString;
4060      /**
4061       * The state of the CMK.
4062       */
4063      KeyState?: NonEmptyString;
4064      /**
4065       * The source of the CMK's key material. When this value is AWS_KMS, KMS created the key material. When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the CMK lacks key material. When this value is AWS_CLOUDHSM, the key material was created in the CloudHSM cluster associated with a custom key store.
4066       */
4067      Origin?: NonEmptyString;
4068      /**
4069       * A description of the key.
4070       */
4071      Description?: NonEmptyString;
4072    }
4073    export interface AwsLambdaFunctionCode {
4074      /**
4075       * An Amazon S3 bucket in the same Amazon Web Services Region as your function. The bucket can be in a different Amazon Web Services account.
4076       */
4077      S3Bucket?: NonEmptyString;
4078      /**
4079       * The Amazon S3 key of the deployment package.
4080       */
4081      S3Key?: NonEmptyString;
4082      /**
4083       * For versioned objects, the version of the deployment package object to use.
4084       */
4085      S3ObjectVersion?: NonEmptyString;
4086      /**
4087       * The base64-encoded contents of the deployment package. Amazon Web Services SDK and Amazon Web Services CLI clients handle the encoding for you.
4088       */
4089      ZipFile?: NonEmptyString;
4090    }
4091    export interface AwsLambdaFunctionDeadLetterConfig {
4092      /**
4093       * The ARN of an SQS queue or SNS topic.
4094       */
4095      TargetArn?: NonEmptyString;
4096    }
4097    export interface AwsLambdaFunctionDetails {
4098      /**
4099       * An AwsLambdaFunctionCode object.
4100       */
4101      Code?: AwsLambdaFunctionCode;
4102      /**
4103       * The SHA256 hash of the function's deployment package.
4104       */
4105      CodeSha256?: NonEmptyString;
4106      /**
4107       * The function's dead letter queue.
4108       */
4109      DeadLetterConfig?: AwsLambdaFunctionDeadLetterConfig;
4110      /**
4111       * The function's environment variables.
4112       */
4113      Environment?: AwsLambdaFunctionEnvironment;
4114      /**
4115       * The name of the function.
4116       */
4117      FunctionName?: NonEmptyString;
4118      /**
4119       * The function that Lambda calls to begin executing your function.
4120       */
4121      Handler?: NonEmptyString;
4122      /**
4123       * The KMS key that is used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.
4124       */
4125      KmsKeyArn?: NonEmptyString;
4126      /**
4127       * Indicates when the function was last updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
4128       */
4129      LastModified?: NonEmptyString;
4130      /**
4131       * The function's layers.
4132       */
4133      Layers?: AwsLambdaFunctionLayerList;
4134      /**
4135       * For Lambda@Edge functions, the ARN of the master function.
4136       */
4137      MasterArn?: NonEmptyString;
4138      /**
4139       * The memory that is allocated to the function.
4140       */
4141      MemorySize?: Integer;
4142      /**
4143       * The latest updated revision of the function or alias.
4144       */
4145      RevisionId?: NonEmptyString;
4146      /**
4147       * The function's execution role.
4148       */
4149      Role?: NonEmptyString;
4150      /**
4151       * The runtime environment for the Lambda function.
4152       */
4153      Runtime?: NonEmptyString;
4154      /**
4155       * The amount of time that Lambda allows a function to run before stopping it.
4156       */
4157      Timeout?: Integer;
4158      /**
4159       * The function's X-Ray tracing configuration.
4160       */
4161      TracingConfig?: AwsLambdaFunctionTracingConfig;
4162      /**
4163       * The function's networking configuration.
4164       */
4165      VpcConfig?: AwsLambdaFunctionVpcConfig;
4166      /**
4167       * The version of the Lambda function.
4168       */
4169      Version?: NonEmptyString;
4170    }
4171    export interface AwsLambdaFunctionEnvironment {
4172      /**
4173       * Environment variable key-value pairs.
4174       */
4175      Variables?: FieldMap;
4176      /**
4177       * An AwsLambdaFunctionEnvironmentError object.
4178       */
4179      Error?: AwsLambdaFunctionEnvironmentError;
4180    }
4181    export interface AwsLambdaFunctionEnvironmentError {
4182      /**
4183       * The error code.
4184       */
4185      ErrorCode?: NonEmptyString;
4186      /**
4187       * The error message.
4188       */
4189      Message?: NonEmptyString;
4190    }
4191    export interface AwsLambdaFunctionLayer {
4192      /**
4193       * The ARN of the function layer.
4194       */
4195      Arn?: NonEmptyString;
4196      /**
4197       * The size of the layer archive in bytes.
4198       */
4199      CodeSize?: Integer;
4200    }
4201    export type AwsLambdaFunctionLayerList = AwsLambdaFunctionLayer[];
4202    export interface AwsLambdaFunctionTracingConfig {
4203      /**
4204       * The tracing mode.
4205       */
4206      Mode?: NonEmptyString;
4207    }
4208    export interface AwsLambdaFunctionVpcConfig {
4209      /**
4210       * A list of VPC security groups IDs.
4211       */
4212      SecurityGroupIds?: NonEmptyStringList;
4213      /**
4214       * A list of VPC subnet IDs.
4215       */
4216      SubnetIds?: NonEmptyStringList;
4217      /**
4218       * The ID of the VPC.
4219       */
4220      VpcId?: NonEmptyString;
4221    }
4222    export interface AwsLambdaLayerVersionDetails {
4223      /**
4224       * The version number.
4225       */
4226      Version?: AwsLambdaLayerVersionNumber;
4227      /**
4228       * The layer's compatible runtimes. Maximum number of five items. Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5 | provided 
4229       */
4230      CompatibleRuntimes?: NonEmptyStringList;
4231      /**
4232       * Indicates when the version was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
4233       */
4234      CreatedDate?: NonEmptyString;
4235    }
4236    export type AwsLambdaLayerVersionNumber = number;
4237    export interface AwsRdsDbClusterAssociatedRole {
4238      /**
4239       * The ARN of the IAM role.
4240       */
4241      RoleArn?: NonEmptyString;
4242      /**
4243       * The status of the association between the IAM role and the DB cluster.
4244       */
4245      Status?: NonEmptyString;
4246    }
4247    export type AwsRdsDbClusterAssociatedRoles = AwsRdsDbClusterAssociatedRole[];
4248    export interface AwsRdsDbClusterDetails {
4249      /**
4250       * For all database engines except Aurora, specifies the allocated storage size in gibibytes (GiB).
4251       */
4252      AllocatedStorage?: Integer;
4253      /**
4254       * A list of Availability Zones (AZs) where instances in the DB cluster can be created.
4255       */
4256      AvailabilityZones?: StringList;
4257      /**
4258       * The number of days for which automated backups are retained.
4259       */
4260      BackupRetentionPeriod?: Integer;
4261      /**
4262       * The name of the database.
4263       */
4264      DatabaseName?: NonEmptyString;
4265      /**
4266       * The current status of this DB cluster.
4267       */
4268      Status?: NonEmptyString;
4269      /**
4270       * The connection endpoint for the primary instance of the DB cluster.
4271       */
4272      Endpoint?: NonEmptyString;
4273      /**
4274       * The reader endpoint for the DB cluster.
4275       */
4276      ReaderEndpoint?: NonEmptyString;
4277      /**
4278       * A list of custom endpoints for the DB cluster.
4279       */
4280      CustomEndpoints?: StringList;
4281      /**
4282       * Whether the DB cluster has instances in multiple Availability Zones.
4283       */
4284      MultiAz?: Boolean;
4285      /**
4286       * The name of the database engine to use for this DB cluster.
4287       */
4288      Engine?: NonEmptyString;
4289      /**
4290       * The version number of the database engine to use.
4291       */
4292      EngineVersion?: NonEmptyString;
4293      /**
4294       * The port number on which the DB instances in the DB cluster accept connections.
4295       */
4296      Port?: Integer;
4297      /**
4298       * The name of the master user for the DB cluster.
4299       */
4300      MasterUsername?: NonEmptyString;
4301      /**
4302       * The range of time each day when automated backups are created, if automated backups are enabled. Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
4303       */
4304      PreferredBackupWindow?: NonEmptyString;
4305      /**
4306       * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Uses the format &lt;day&gt;:HH:MM-&lt;day&gt;:HH:MM. For the day values, use mon|tue|wed|thu|fri|sat|sun. For example, sun:09:32-sun:10:02.
4307       */
4308      PreferredMaintenanceWindow?: NonEmptyString;
4309      /**
4310       * The identifiers of the read replicas that are associated with this DB cluster.
4311       */
4312      ReadReplicaIdentifiers?: StringList;
4313      /**
4314       * A list of VPC security groups that the DB cluster belongs to.
4315       */
4316      VpcSecurityGroups?: AwsRdsDbInstanceVpcSecurityGroups;
4317      /**
4318       * Specifies the identifier that Amazon Route 53 assigns when you create a hosted zone.
4319       */
4320      HostedZoneId?: NonEmptyString;
4321      /**
4322       * Whether the DB cluster is encrypted.
4323       */
4324      StorageEncrypted?: Boolean;
4325      /**
4326       * The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster.
4327       */
4328      KmsKeyId?: NonEmptyString;
4329      /**
4330       * The identifier of the DB cluster. The identifier must be unique within each Amazon Web Services Region and is immutable.
4331       */
4332      DbClusterResourceId?: NonEmptyString;
4333      /**
4334       * A list of the IAM roles that are associated with the DB cluster.
4335       */
4336      AssociatedRoles?: AwsRdsDbClusterAssociatedRoles;
4337      /**
4338       * Indicates when the DB cluster was created, in Universal Coordinated Time (UTC). Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
4339       */
4340      ClusterCreateTime?: NonEmptyString;
4341      /**
4342       * A list of log types that this DB cluster is configured to export to CloudWatch Logs.
4343       */
4344      EnabledCloudWatchLogsExports?: StringList;
4345      /**
4346       * The database engine mode of the DB cluster.
4347       */
4348      EngineMode?: NonEmptyString;
4349      /**
4350       * Whether the DB cluster has deletion protection enabled.
4351       */
4352      DeletionProtection?: Boolean;
4353      /**
4354       * Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.
4355       */
4356      HttpEndpointEnabled?: Boolean;
4357      /**
4358       * The status of the database activity stream.
4359       */
4360      ActivityStreamStatus?: NonEmptyString;
4361      /**
4362       * Whether tags are copied from the DB cluster to snapshots of the DB cluster.
4363       */
4364      CopyTagsToSnapshot?: Boolean;
4365      /**
4366       * Whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account.
4367       */
4368      CrossAccountClone?: Boolean;
4369      /**
4370       * The Active Directory domain membership records that are associated with the DB cluster.
4371       */
4372      DomainMemberships?: AwsRdsDbDomainMemberships;
4373      /**
4374       * The name of the DB cluster parameter group for the DB cluster.
4375       */
4376      DbClusterParameterGroup?: NonEmptyString;
4377      /**
4378       * The subnet group that is associated with the DB cluster, including the name, description, and subnets in the subnet group.
4379       */
4380      DbSubnetGroup?: NonEmptyString;
4381      /**
4382       * The list of option group memberships for this DB cluster.
4383       */
4384      DbClusterOptionGroupMemberships?: AwsRdsDbClusterOptionGroupMemberships;
4385      /**
4386       * The DB cluster identifier that the user assigned to the cluster. This identifier is the unique key that identifies a DB cluster.
4387       */
4388      DbClusterIdentifier?: NonEmptyString;
4389      /**
4390       * The list of instances that make up the DB cluster.
4391       */
4392      DbClusterMembers?: AwsRdsDbClusterMembers;
4393      /**
4394       * Whether the mapping of IAM accounts to database accounts is enabled.
4395       */
4396      IamDatabaseAuthenticationEnabled?: Boolean;
4397    }
4398    export interface AwsRdsDbClusterMember {
4399      /**
4400       * Whether the cluster member is the primary instance for the DB cluster.
4401       */
4402      IsClusterWriter?: Boolean;
4403      /**
4404       * Specifies the order in which an Aurora replica is promoted to the primary instance when the existing primary instance fails.
4405       */
4406      PromotionTier?: Integer;
4407      /**
4408       * The instance identifier for this member of the DB cluster.
4409       */
4410      DbInstanceIdentifier?: NonEmptyString;
4411      /**
4412       * The status of the DB cluster parameter group for this member of the DB cluster.
4413       */
4414      DbClusterParameterGroupStatus?: NonEmptyString;
4415    }
4416    export type AwsRdsDbClusterMembers = AwsRdsDbClusterMember[];
4417    export interface AwsRdsDbClusterOptionGroupMembership {
4418      /**
4419       * The name of the DB cluster option group.
4420       */
4421      DbClusterOptionGroupName?: NonEmptyString;
4422      /**
4423       * The status of the DB cluster option group.
4424       */
4425      Status?: NonEmptyString;
4426    }
4427    export type AwsRdsDbClusterOptionGroupMemberships = AwsRdsDbClusterOptionGroupMembership[];
4428    export interface AwsRdsDbClusterSnapshotDetails {
4429      /**
4430       * A list of Availability Zones where instances in the DB cluster can be created.
4431       */
4432      AvailabilityZones?: StringList;
4433      /**
4434       * Indicates when the snapshot was taken. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
4435       */
4436      SnapshotCreateTime?: NonEmptyString;
4437      /**
4438       * The name of the database engine that you want to use for this DB instance.
4439       */
4440      Engine?: NonEmptyString;
4441      /**
4442       * Specifies the allocated storage size in gibibytes (GiB).
4443       */
4444      AllocatedStorage?: Integer;
4445      /**
4446       * The status of this DB cluster snapshot.
4447       */
4448      Status?: NonEmptyString;
4449      /**
4450       * The port number on which the DB instances in the DB cluster accept connections.
4451       */
4452      Port?: Integer;
4453      /**
4454       * The VPC ID that is associated with the DB cluster snapshot.
4455       */
4456      VpcId?: NonEmptyString;
4457      /**
4458       * Indicates when the DB cluster was created, in Universal Coordinated Time (UTC). Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
4459       */
4460      ClusterCreateTime?: NonEmptyString;
4461      /**
4462       * The name of the master user for the DB cluster.
4463       */
4464      MasterUsername?: NonEmptyString;
4465      /**
4466       * The version of the database engine to use.
4467       */
4468      EngineVersion?: NonEmptyString;
4469      /**
4470       * The license model information for this DB cluster snapshot.
4471       */
4472      LicenseModel?: NonEmptyString;
4473      /**
4474       * The type of DB cluster snapshot.
4475       */
4476      SnapshotType?: NonEmptyString;
4477      /**
4478       * Specifies the percentage of the estimated data that has been transferred.
4479       */
4480      PercentProgress?: Integer;
4481      /**
4482       * Whether the DB cluster is encrypted.
4483       */
4484      StorageEncrypted?: Boolean;
4485      /**
4486       * The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster.
4487       */
4488      KmsKeyId?: NonEmptyString;
4489      /**
4490       * The DB cluster identifier.
4491       */
4492      DbClusterIdentifier?: NonEmptyString;
4493      /**
4494       * The identifier of the DB cluster snapshot.
4495       */
4496      DbClusterSnapshotIdentifier?: NonEmptyString;
4497      /**
4498       * Whether mapping of IAM accounts to database accounts is enabled.
4499       */
4500      IamDatabaseAuthenticationEnabled?: Boolean;
4501    }
4502    export interface AwsRdsDbDomainMembership {
4503      /**
4504       * The identifier of the Active Directory domain.
4505       */
4506      Domain?: NonEmptyString;
4507      /**
4508       * The status of the Active Directory Domain membership for the DB instance.
4509       */
4510      Status?: NonEmptyString;
4511      /**
4512       * The fully qualified domain name of the Active Directory domain.
4513       */
4514      Fqdn?: NonEmptyString;
4515      /**
4516       * The name of the IAM role to use when making API calls to the Directory Service.
4517       */
4518      IamRoleName?: NonEmptyString;
4519    }
4520    export type AwsRdsDbDomainMemberships = AwsRdsDbDomainMembership[];
4521    export interface AwsRdsDbInstanceAssociatedRole {
4522      /**
4523       * The ARN of the IAM role that is associated with the DB instance.
4524       */
4525      RoleArn?: NonEmptyString;
4526      /**
4527       * The name of the feature associated with the IAM role.
4528       */
4529      FeatureName?: NonEmptyString;
4530      /**
4531       * Describes the state of the association between the IAM role and the DB instance. The Status property returns one of the following values:    ACTIVE - The IAM role ARN is associated with the DB instance and can be used to access other Amazon Web Services services on your behalf.    PENDING - The IAM role ARN is being associated with the DB instance.    INVALID - The IAM role ARN is associated with the DB instance. But the DB instance is unable to assume the IAM role in order to access other Amazon Web Services services on your behalf.   
4532       */
4533      Status?: NonEmptyString;
4534    }
4535    export type AwsRdsDbInstanceAssociatedRoles = AwsRdsDbInstanceAssociatedRole[];
4536    export interface AwsRdsDbInstanceDetails {
4537      /**
4538       * The IAM roles associated with the DB instance.
4539       */
4540      AssociatedRoles?: AwsRdsDbInstanceAssociatedRoles;
4541      /**
4542       * The identifier of the CA certificate for this DB instance.
4543       */
4544      CACertificateIdentifier?: NonEmptyString;
4545      /**
4546       * If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.
4547       */
4548      DBClusterIdentifier?: NonEmptyString;
4549      /**
4550       * Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.
4551       */
4552      DBInstanceIdentifier?: NonEmptyString;
4553      /**
4554       * Contains the name of the compute and memory capacity class of the DB instance.
4555       */
4556      DBInstanceClass?: NonEmptyString;
4557      /**
4558       * Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.
4559       */
4560      DbInstancePort?: Integer;
4561      /**
4562       * The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found in CloudTrail log entries whenever the KMS key for the DB instance is accessed. 
4563       */
4564      DbiResourceId?: NonEmptyString;
4565      /**
4566       * The meaning of this parameter differs according to the database engine you use.  MySQL, MariaDB, SQL Server, PostgreSQL  Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.  Oracle  Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance. 
4567       */
4568      DBName?: NonEmptyString;
4569      /**
4570       * Indicates whether the DB instance has deletion protection enabled. When deletion protection is enabled, the database cannot be deleted.
4571       */
4572      DeletionProtection?: Boolean;
4573      /**
4574       * Specifies the connection endpoint.
4575       */
4576      Endpoint?: AwsRdsDbInstanceEndpoint;
4577      /**
4578       * Provides the name of the database engine to use for this DB instance.
4579       */
4580      Engine?: NonEmptyString;
4581      /**
4582       * Indicates the database engine version.
4583       */
4584      EngineVersion?: NonEmptyString;
4585      /**
4586       * True if mapping of IAM accounts to database accounts is enabled, and otherwise false. IAM database authentication can be enabled for the following database engines.   For MySQL 5.6, minor version 5.6.34 or higher   For MySQL 5.7, minor version 5.7.16 or higher   Aurora 5.6 or higher  
4587       */
4588      IAMDatabaseAuthenticationEnabled?: Boolean;
4589      /**
4590       * Indicates when the DB instance was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
4591       */
4592      InstanceCreateTime?: NonEmptyString;
4593      /**
4594       * If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance.
4595       */
4596      KmsKeyId?: NonEmptyString;
4597      /**
4598       * Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. 
4599       */
4600      PubliclyAccessible?: Boolean;
4601      /**
4602       * Specifies whether the DB instance is encrypted.
4603       */
4604      StorageEncrypted?: Boolean;
4605      /**
4606       * The ARN from the key store with which the instance is associated for TDE encryption.
4607       */
4608      TdeCredentialArn?: NonEmptyString;
4609      /**
4610       * A list of VPC security groups that the DB instance belongs to.
4611       */
4612      VpcSecurityGroups?: AwsRdsDbInstanceVpcSecurityGroups;
4613      /**
4614       * Whether the DB instance is a multiple Availability Zone deployment.
4615       */
4616      MultiAz?: Boolean;
4617      /**
4618       * The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring metrics data for the DB instance.
4619       */
4620      EnhancedMonitoringResourceArn?: NonEmptyString;
4621      /**
4622       * The current status of the DB instance.
4623       */
4624      DbInstanceStatus?: NonEmptyString;
4625      /**
4626       * The master user name of the DB instance.
4627       */
4628      MasterUsername?: NonEmptyString;
4629      /**
4630       * The amount of storage (in gigabytes) to initially allocate for the DB instance.
4631       */
4632      AllocatedStorage?: Integer;
4633      /**
4634       * The range of time each day when automated backups are created, if automated backups are enabled. Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
4635       */
4636      PreferredBackupWindow?: NonEmptyString;
4637      /**
4638       * The number of days for which to retain automated backups.
4639       */
4640      BackupRetentionPeriod?: Integer;
4641      /**
4642       * A list of the DB security groups to assign to the DB instance.
4643       */
4644      DbSecurityGroups?: StringList;
4645      /**
4646       * A list of the DB parameter groups to assign to the DB instance.
4647       */
4648      DbParameterGroups?: AwsRdsDbParameterGroups;
4649      /**
4650       * The Availability Zone where the DB instance will be created.
4651       */
4652      AvailabilityZone?: NonEmptyString;
4653      /**
4654       * Information about the subnet group that is associated with the DB instance.
4655       */
4656      DbSubnetGroup?: AwsRdsDbSubnetGroup;
4657      /**
4658       * The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Uses the format &lt;day&gt;:HH:MM-&lt;day&gt;:HH:MM. For the day values, use mon|tue|wed|thu|fri|sat|sun. For example, sun:09:32-sun:10:02.
4659       */
4660      PreferredMaintenanceWindow?: NonEmptyString;
4661      /**
4662       * Changes to the DB instance that are currently pending.
4663       */
4664      PendingModifiedValues?: AwsRdsDbPendingModifiedValues;
4665      /**
4666       * Specifies the latest time to which a database can be restored with point-in-time restore. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
4667       */
4668      LatestRestorableTime?: NonEmptyString;
4669      /**
4670       * Indicates whether minor version patches are applied automatically.
4671       */
4672      AutoMinorVersionUpgrade?: Boolean;
4673      /**
4674       * If this DB instance is a read replica, contains the identifier of the source DB instance.
4675       */
4676      ReadReplicaSourceDBInstanceIdentifier?: NonEmptyString;
4677      /**
4678       * List of identifiers of the read replicas associated with this DB instance.
4679       */
4680      ReadReplicaDBInstanceIdentifiers?: StringList;
4681      /**
4682       * List of identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica.
4683       */
4684      ReadReplicaDBClusterIdentifiers?: StringList;
4685      /**
4686       * License model information for this DB instance.
4687       */
4688      LicenseModel?: NonEmptyString;
4689      /**
4690       * Specifies the provisioned IOPS (I/O operations per second) for this DB instance.
4691       */
4692      Iops?: Integer;
4693      /**
4694       * The list of option group memberships for this DB instance.
4695       */
4696      OptionGroupMemberships?: AwsRdsDbOptionGroupMemberships;
4697      /**
4698       * The name of the character set that this DB instance is associated with.
4699       */
4700      CharacterSetName?: NonEmptyString;
4701      /**
4702       * For a DB instance with multi-Availability Zone support, the name of the secondary Availability Zone.
4703       */
4704      SecondaryAvailabilityZone?: NonEmptyString;
4705      /**
4706       * The status of a read replica. If the instance isn't a read replica, this is empty.
4707       */
4708      StatusInfos?: AwsRdsDbStatusInfos;
4709      /**
4710       * The storage type for the DB instance.
4711       */
4712      StorageType?: NonEmptyString;
4713      /**
4714       * The Active Directory domain membership records associated with the DB instance.
4715       */
4716      DomainMemberships?: AwsRdsDbDomainMemberships;
4717      /**
4718       * Whether to copy resource tags to snapshots of the DB instance.
4719       */
4720      CopyTagsToSnapshot?: Boolean;
4721      /**
4722       * The interval, in seconds, between points when enhanced monitoring metrics are collected for the DB instance.
4723       */
4724      MonitoringInterval?: Integer;
4725      /**
4726       * The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring metrics to CloudWatch Logs.
4727       */
4728      MonitoringRoleArn?: NonEmptyString;
4729      /**
4730       * The order in which to promote an Aurora replica to the primary instance after a failure of the existing primary instance.
4731       */
4732      PromotionTier?: Integer;
4733      /**
4734       * The time zone of the DB instance.
4735       */
4736      Timezone?: NonEmptyString;
4737      /**
4738       * Indicates whether Performance Insights is enabled for the DB instance.
4739       */
4740      PerformanceInsightsEnabled?: Boolean;
4741      /**
4742       * The identifier of the KMS key used to encrypt the Performance Insights data.
4743       */
4744      PerformanceInsightsKmsKeyId?: NonEmptyString;
4745      /**
4746       * The number of days to retain Performance Insights data.
4747       */
4748      PerformanceInsightsRetentionPeriod?: Integer;
4749      /**
4750       * A list of log types that this DB instance is configured to export to CloudWatch Logs.
4751       */
4752      EnabledCloudWatchLogsExports?: StringList;
4753      /**
4754       * The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.
4755       */
4756      ProcessorFeatures?: AwsRdsDbProcessorFeatures;
4757      ListenerEndpoint?: AwsRdsDbInstanceEndpoint;
4758      /**
4759       * The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.
4760       */
4761      MaxAllocatedStorage?: Integer;
4762    }
4763    export interface AwsRdsDbInstanceEndpoint {
4764      /**
4765       * Specifies the DNS address of the DB instance.
4766       */
4767      Address?: NonEmptyString;
4768      /**
4769       * Specifies the port that the database engine is listening on.
4770       */
4771      Port?: Integer;
4772      /**
4773       * Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
4774       */
4775      HostedZoneId?: NonEmptyString;
4776    }
4777    export interface AwsRdsDbInstanceVpcSecurityGroup {
4778      /**
4779       * The name of the VPC security group.
4780       */
4781      VpcSecurityGroupId?: NonEmptyString;
4782      /**
4783       * The status of the VPC security group.
4784       */
4785      Status?: NonEmptyString;
4786    }
4787    export type AwsRdsDbInstanceVpcSecurityGroups = AwsRdsDbInstanceVpcSecurityGroup[];
4788    export interface AwsRdsDbOptionGroupMembership {
4789      /**
4790       * The name of the option group.
4791       */
4792      OptionGroupName?: NonEmptyString;
4793      /**
4794       * The status of the option group membership.
4795       */
4796      Status?: NonEmptyString;
4797    }
4798    export type AwsRdsDbOptionGroupMemberships = AwsRdsDbOptionGroupMembership[];
4799    export interface AwsRdsDbParameterGroup {
4800      /**
4801       * The name of the parameter group.
4802       */
4803      DbParameterGroupName?: NonEmptyString;
4804      /**
4805       * The status of parameter updates.
4806       */
4807      ParameterApplyStatus?: NonEmptyString;
4808    }
4809    export type AwsRdsDbParameterGroups = AwsRdsDbParameterGroup[];
4810    export interface AwsRdsDbPendingModifiedValues {
4811      /**
4812       * The new DB instance class for the DB instance.
4813       */
4814      DbInstanceClass?: NonEmptyString;
4815      /**
4816       * The new value of the allocated storage for the DB instance.
4817       */
4818      AllocatedStorage?: Integer;
4819      /**
4820       * The new master user password for the DB instance.
4821       */
4822      MasterUserPassword?: NonEmptyString;
4823      /**
4824       * The new port for the DB instance.
4825       */
4826      Port?: Integer;
4827      /**
4828       * The new backup retention period for the DB instance.
4829       */
4830      BackupRetentionPeriod?: Integer;
4831      /**
4832       * Indicates that a single Availability Zone DB instance is changing to a multiple Availability Zone deployment.
4833       */
4834      MultiAZ?: Boolean;
4835      /**
4836       * The new engine version for the DB instance.
4837       */
4838      EngineVersion?: NonEmptyString;
4839      /**
4840       * The new license model value for the DB instance.
4841       */
4842      LicenseModel?: NonEmptyString;
4843      /**
4844       * The new provisioned IOPS value for the DB instance.
4845       */
4846      Iops?: Integer;
4847      /**
4848       * The new DB instance identifier for the DB instance.
4849       */
4850      DbInstanceIdentifier?: NonEmptyString;
4851      /**
4852       * The new storage type for the DB instance.
4853       */
4854      StorageType?: NonEmptyString;
4855      /**
4856       * The new CA certificate identifier for the DB instance.
4857       */
4858      CaCertificateIdentifier?: NonEmptyString;
4859      /**
4860       * The name of the new subnet group for the DB instance.
4861       */
4862      DbSubnetGroupName?: NonEmptyString;
4863      /**
4864       * A list of log types that are being enabled or disabled.
4865       */
4866      PendingCloudWatchLogsExports?: AwsRdsPendingCloudWatchLogsExports;
4867      /**
4868       * Processor features that are being updated.
4869       */
4870      ProcessorFeatures?: AwsRdsDbProcessorFeatures;
4871    }
4872    export interface AwsRdsDbProcessorFeature {
4873      /**
4874       * The name of the processor feature.
4875       */
4876      Name?: NonEmptyString;
4877      /**
4878       * The value of the processor feature.
4879       */
4880      Value?: NonEmptyString;
4881    }
4882    export type AwsRdsDbProcessorFeatures = AwsRdsDbProcessorFeature[];
4883    export interface AwsRdsDbSnapshotDetails {
4884      /**
4885       * The name or ARN of the DB snapshot that is used to restore the DB instance.
4886       */
4887      DbSnapshotIdentifier?: NonEmptyString;
4888      /**
4889       * A name for the DB instance.
4890       */
4891      DbInstanceIdentifier?: NonEmptyString;
4892      /**
4893       * When the snapshot was taken in Coordinated Universal Time (UTC).
4894       */
4895      SnapshotCreateTime?: NonEmptyString;
4896      /**
4897       * The name of the database engine to use for this DB instance.
4898       */
4899      Engine?: NonEmptyString;
4900      /**
4901       * The amount of storage (in gigabytes) to be initially allocated for the database instance.
4902       */
4903      AllocatedStorage?: Integer;
4904      /**
4905       * The status of this DB snapshot.
4906       */
4907      Status?: NonEmptyString;
4908      /**
4909       * The port that the database engine was listening on at the time of the snapshot.
4910       */
4911      Port?: Integer;
4912      /**
4913       * Specifies the name of the Availability Zone in which the DB instance was located at the time of the DB snapshot.
4914       */
4915      AvailabilityZone?: NonEmptyString;
4916      /**
4917       * The VPC ID associated with the DB snapshot.
4918       */
4919      VpcId?: NonEmptyString;
4920      /**
4921       * Specifies the time in Coordinated Universal Time (UTC) when the DB instance, from which the snapshot was taken, was created.
4922       */
4923      InstanceCreateTime?: NonEmptyString;
4924      /**
4925       * The master user name for the DB snapshot.
4926       */
4927      MasterUsername?: NonEmptyString;
4928      /**
4929       * The version of the database engine.
4930       */
4931      EngineVersion?: NonEmptyString;
4932      /**
4933       * License model information for the restored DB instance.
4934       */
4935      LicenseModel?: NonEmptyString;
4936      /**
4937       * The type of the DB snapshot.
4938       */
4939      SnapshotType?: NonEmptyString;
4940      /**
4941       * The provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.
4942       */
4943      Iops?: Integer;
4944      /**
4945       * The option group name for the DB snapshot.
4946       */
4947      OptionGroupName?: NonEmptyString;
4948      /**
4949       * The percentage of the estimated data that has been transferred.
4950       */
4951      PercentProgress?: Integer;
4952      /**
4953       * The Amazon Web Services Region that the DB snapshot was created in or copied from.
4954       */
4955      SourceRegion?: NonEmptyString;
4956      /**
4957       * The DB snapshot ARN that the DB snapshot was copied from.
4958       */
4959      SourceDbSnapshotIdentifier?: NonEmptyString;
4960      /**
4961       * The storage type associated with the DB snapshot.
4962       */
4963      StorageType?: NonEmptyString;
4964      /**
4965       * The ARN from the key store with which to associate the instance for TDE encryption.
4966       */
4967      TdeCredentialArn?: NonEmptyString;
4968      /**
4969       * Whether the DB snapshot is encrypted.
4970       */
4971      Encrypted?: Boolean;
4972      /**
4973       * If Encrypted is true, the KMS key identifier for the encrypted DB snapshot.
4974       */
4975      KmsKeyId?: NonEmptyString;
4976      /**
4977       * The time zone of the DB snapshot.
4978       */
4979      Timezone?: NonEmptyString;
4980      /**
4981       * Whether mapping of IAM accounts to database accounts is enabled.
4982       */
4983      IamDatabaseAuthenticationEnabled?: Boolean;
4984      /**
4985       * The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.
4986       */
4987      ProcessorFeatures?: AwsRdsDbProcessorFeatures;
4988      /**
4989       * The identifier for the source DB instance.
4990       */
4991      DbiResourceId?: NonEmptyString;
4992    }
4993    export interface AwsRdsDbStatusInfo {
4994      /**
4995       * The type of status. For a read replica, the status type is read replication.
4996       */
4997      StatusType?: NonEmptyString;
4998      /**
4999       * Whether the read replica instance is operating normally.
5000       */
5001      Normal?: Boolean;
5002      /**
5003       * The status of the read replica instance.
5004       */
5005      Status?: NonEmptyString;
5006      /**
5007       * If the read replica is currently in an error state, provides the error details.
5008       */
5009      Message?: NonEmptyString;
5010    }
5011    export type AwsRdsDbStatusInfos = AwsRdsDbStatusInfo[];
5012    export interface AwsRdsDbSubnetGroup {
5013      /**
5014       * The name of the subnet group.
5015       */
5016      DbSubnetGroupName?: NonEmptyString;
5017      /**
5018       * The description of the subnet group.
5019       */
5020      DbSubnetGroupDescription?: NonEmptyString;
5021      /**
5022       * The VPC ID of the subnet group.
5023       */
5024      VpcId?: NonEmptyString;
5025      /**
5026       * The status of the subnet group.
5027       */
5028      SubnetGroupStatus?: NonEmptyString;
5029      /**
5030       * A list of subnets in the subnet group.
5031       */
5032      Subnets?: AwsRdsDbSubnetGroupSubnets;
5033      /**
5034       * The ARN of the subnet group.
5035       */
5036      DbSubnetGroupArn?: NonEmptyString;
5037    }
5038    export interface AwsRdsDbSubnetGroupSubnet {
5039      /**
5040       * The identifier of a subnet in the subnet group.
5041       */
5042      SubnetIdentifier?: NonEmptyString;
5043      /**
5044       * Information about the Availability Zone for a subnet in the subnet group.
5045       */
5046      SubnetAvailabilityZone?: AwsRdsDbSubnetGroupSubnetAvailabilityZone;
5047      /**
5048       * The status of a subnet in the subnet group.
5049       */
5050      SubnetStatus?: NonEmptyString;
5051    }
5052    export interface AwsRdsDbSubnetGroupSubnetAvailabilityZone {
5053      /**
5054       * The name of the Availability Zone for a subnet in the subnet group.
5055       */
5056      Name?: NonEmptyString;
5057    }
5058    export type AwsRdsDbSubnetGroupSubnets = AwsRdsDbSubnetGroupSubnet[];
5059    export interface AwsRdsEventSubscriptionDetails {
5060      /**
5061       * The identifier of the account that is associated with the event notification subscription.
5062       */
5063      CustSubscriptionId?: NonEmptyString;
5064      /**
5065       * The identifier of the event notification subscription.
5066       */
5067      CustomerAwsId?: NonEmptyString;
5068      /**
5069       * Whether the event notification subscription is enabled.
5070       */
5071      Enabled?: Boolean;
5072      /**
5073       * The list of event categories for the event notification subscription.
5074       */
5075      EventCategoriesList?: NonEmptyStringList;
5076      /**
5077       * The ARN of the event notification subscription.
5078       */
5079      EventSubscriptionArn?: NonEmptyString;
5080      /**
5081       * The ARN of the SNS topic to post the event notifications to.
5082       */
5083      SnsTopicArn?: NonEmptyString;
5084      /**
5085       * A list of source identifiers for the event notification subscription.
5086       */
5087      SourceIdsList?: NonEmptyStringList;
5088      /**
5089       * The source type for the event notification subscription.
5090       */
5091      SourceType?: NonEmptyString;
5092      /**
5093       * The status of the event notification subscription. Valid values: creating | modifying | deleting | active | no-permission | topic-not-exist 
5094       */
5095      Status?: NonEmptyString;
5096      /**
5097       * The datetime when the event notification subscription was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5098       */
5099      SubscriptionCreationTime?: NonEmptyString;
5100    }
5101    export interface AwsRdsPendingCloudWatchLogsExports {
5102      /**
5103       * A list of log types that are being enabled.
5104       */
5105      LogTypesToEnable?: StringList;
5106      /**
5107       * A list of log types that are being disabled.
5108       */
5109      LogTypesToDisable?: StringList;
5110    }
5111    export interface AwsRedshiftClusterClusterNode {
5112      /**
5113       * The role of the node. A node might be a leader node or a compute node.
5114       */
5115      NodeRole?: NonEmptyString;
5116      /**
5117       * The private IP address of the node.
5118       */
5119      PrivateIpAddress?: NonEmptyString;
5120      /**
5121       * The public IP address of the node.
5122       */
5123      PublicIpAddress?: NonEmptyString;
5124    }
5125    export type AwsRedshiftClusterClusterNodes = AwsRedshiftClusterClusterNode[];
5126    export interface AwsRedshiftClusterClusterParameterGroup {
5127      /**
5128       * The list of parameter statuses.
5129       */
5130      ClusterParameterStatusList?: AwsRedshiftClusterClusterParameterStatusList;
5131      /**
5132       * The status of updates to the parameters.
5133       */
5134      ParameterApplyStatus?: NonEmptyString;
5135      /**
5136       * The name of the parameter group.
5137       */
5138      ParameterGroupName?: NonEmptyString;
5139    }
5140    export type AwsRedshiftClusterClusterParameterGroups = AwsRedshiftClusterClusterParameterGroup[];
5141    export interface AwsRedshiftClusterClusterParameterStatus {
5142      /**
5143       * The name of the parameter.
5144       */
5145      ParameterName?: NonEmptyString;
5146      /**
5147       * The status of the parameter. Indicates whether the parameter is in sync with the database, waiting for a cluster reboot, or encountered an error when it was applied. Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred | apply-error | unknown-error 
5148       */
5149      ParameterApplyStatus?: NonEmptyString;
5150      /**
5151       * The error that prevented the parameter from being applied to the database.
5152       */
5153      ParameterApplyErrorDescription?: NonEmptyString;
5154    }
5155    export type AwsRedshiftClusterClusterParameterStatusList = AwsRedshiftClusterClusterParameterStatus[];
5156    export interface AwsRedshiftClusterClusterSecurityGroup {
5157      /**
5158       * The name of the cluster security group.
5159       */
5160      ClusterSecurityGroupName?: NonEmptyString;
5161      /**
5162       * The status of the cluster security group.
5163       */
5164      Status?: NonEmptyString;
5165    }
5166    export type AwsRedshiftClusterClusterSecurityGroups = AwsRedshiftClusterClusterSecurityGroup[];
5167    export interface AwsRedshiftClusterClusterSnapshotCopyStatus {
5168      /**
5169       * The destination Region that snapshots are automatically copied to when cross-Region snapshot copy is enabled.
5170       */
5171      DestinationRegion?: NonEmptyString;
5172      /**
5173       * The number of days that manual snapshots are retained in the destination region after they are copied from a source region. If the value is -1, then the manual snapshot is retained indefinitely. Valid values: Either -1 or an integer between 1 and 3,653
5174       */
5175      ManualSnapshotRetentionPeriod?: Integer;
5176      /**
5177       * The number of days to retain automated snapshots in the destination Region after they are copied from a source Region.
5178       */
5179      RetentionPeriod?: Integer;
5180      /**
5181       * The name of the snapshot copy grant.
5182       */
5183      SnapshotCopyGrantName?: NonEmptyString;
5184    }
5185    export interface AwsRedshiftClusterDeferredMaintenanceWindow {
5186      /**
5187       * The end of the time window for which maintenance was deferred. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5188       */
5189      DeferMaintenanceEndTime?: NonEmptyString;
5190      /**
5191       * The identifier of the maintenance window.
5192       */
5193      DeferMaintenanceIdentifier?: NonEmptyString;
5194      /**
5195       * The start of the time window for which maintenance was deferred. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5196       */
5197      DeferMaintenanceStartTime?: NonEmptyString;
5198    }
5199    export type AwsRedshiftClusterDeferredMaintenanceWindows = AwsRedshiftClusterDeferredMaintenanceWindow[];
5200    export interface AwsRedshiftClusterDetails {
5201      /**
5202       * Indicates whether major version upgrades are applied automatically to the cluster during the maintenance window.
5203       */
5204      AllowVersionUpgrade?: Boolean;
5205      /**
5206       * The number of days that automatic cluster snapshots are retained.
5207       */
5208      AutomatedSnapshotRetentionPeriod?: Integer;
5209      /**
5210       * The name of the Availability Zone in which the cluster is located.
5211       */
5212      AvailabilityZone?: NonEmptyString;
5213      /**
5214       * The availability status of the cluster for queries. Possible values are the following:    Available - The cluster is available for queries.    Unavailable - The cluster is not available for queries.    Maintenance - The cluster is intermittently available for queries due to maintenance activities.    Modifying -The cluster is intermittently available for queries due to changes that modify the cluster.    Failed - The cluster failed and is not available for queries.  
5215       */
5216      ClusterAvailabilityStatus?: NonEmptyString;
5217      /**
5218       * Indicates when the cluster was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5219       */
5220      ClusterCreateTime?: NonEmptyString;
5221      /**
5222       * The unique identifier of the cluster.
5223       */
5224      ClusterIdentifier?: NonEmptyString;
5225      /**
5226       * The nodes in the cluster.
5227       */
5228      ClusterNodes?: AwsRedshiftClusterClusterNodes;
5229      /**
5230       * The list of cluster parameter groups that are associated with this cluster.
5231       */
5232      ClusterParameterGroups?: AwsRedshiftClusterClusterParameterGroups;
5233      /**
5234       * The public key for the cluster.
5235       */
5236      ClusterPublicKey?: NonEmptyString;
5237      /**
5238       * The specific revision number of the database in the cluster.
5239       */
5240      ClusterRevisionNumber?: NonEmptyString;
5241      /**
5242       * A list of cluster security groups that are associated with the cluster.
5243       */
5244      ClusterSecurityGroups?: AwsRedshiftClusterClusterSecurityGroups;
5245      /**
5246       * Information about the destination Region and retention period for the cross-Region snapshot copy.
5247       */
5248      ClusterSnapshotCopyStatus?: AwsRedshiftClusterClusterSnapshotCopyStatus;
5249      /**
5250       * The current status of the cluster. Valid values: available | available, prep-for-resize | available, resize-cleanup | cancelling-resize | creating | deleting | final-snapshot | hardware-failure | incompatible-hsm | incompatible-network | incompatible-parameters | incompatible-restore | modifying | paused | rebooting | renaming | resizing | rotating-keys | storage-full | updating-hsm 
5251       */
5252      ClusterStatus?: NonEmptyString;
5253      /**
5254       * The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster is in a VPC.
5255       */
5256      ClusterSubnetGroupName?: NonEmptyString;
5257      /**
5258       * The version ID of the Amazon Redshift engine that runs on the cluster.
5259       */
5260      ClusterVersion?: NonEmptyString;
5261      /**
5262       * The name of the initial database that was created when the cluster was created. The same name is returned for the life of the cluster. If an initial database is not specified, a database named devdev is created by default.
5263       */
5264      DBName?: NonEmptyString;
5265      /**
5266       * List of time windows during which maintenance was deferred.
5267       */
5268      DeferredMaintenanceWindows?: AwsRedshiftClusterDeferredMaintenanceWindows;
5269      /**
5270       * Information about the status of the Elastic IP (EIP) address.
5271       */
5272      ElasticIpStatus?: AwsRedshiftClusterElasticIpStatus;
5273      /**
5274       * The number of nodes that you can use the elastic resize method to resize the cluster to.
5275       */
5276      ElasticResizeNumberOfNodeOptions?: NonEmptyString;
5277      /**
5278       * Indicates whether the data in the cluster is encrypted at rest.
5279       */
5280      Encrypted?: Boolean;
5281      /**
5282       * The connection endpoint.
5283       */
5284      Endpoint?: AwsRedshiftClusterEndpoint;
5285      /**
5286       * Indicates whether to create the cluster with enhanced VPC routing enabled.
5287       */
5288      EnhancedVpcRouting?: Boolean;
5289      /**
5290       * Indicates when the next snapshot is expected to be taken. The cluster must have a valid snapshot schedule and have backups enabled. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5291       */
5292      ExpectedNextSnapshotScheduleTime?: NonEmptyString;
5293      /**
5294       * The status of the next expected snapshot. Valid values: OnTrack | Pending 
5295       */
5296      ExpectedNextSnapshotScheduleTimeStatus?: NonEmptyString;
5297      /**
5298       * Information about whether the Amazon Redshift cluster finished applying any changes to hardware security module (HSM) settings that were specified in a modify cluster command.
5299       */
5300      HsmStatus?: AwsRedshiftClusterHsmStatus;
5301      /**
5302       * A list of IAM roles that the cluster can use to access other Amazon Web Services services.
5303       */
5304      IamRoles?: AwsRedshiftClusterIamRoles;
5305      /**
5306       * The identifier of the KMS encryption key that is used to encrypt data in the cluster.
5307       */
5308      KmsKeyId?: NonEmptyString;
5309      /**
5310       * The name of the maintenance track for the cluster.
5311       */
5312      MaintenanceTrackName?: NonEmptyString;
5313      /**
5314       * The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values: Either -1 or an integer between 1 and 3,653
5315       */
5316      ManualSnapshotRetentionPeriod?: Integer;
5317      /**
5318       * The master user name for the cluster. This name is used to connect to the database that is specified in as the value of DBName.
5319       */
5320      MasterUsername?: NonEmptyString;
5321      /**
5322       * Indicates the start of the next maintenance window. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5323       */
5324      NextMaintenanceWindowStartTime?: NonEmptyString;
5325      /**
5326       * The node type for the nodes in the cluster.
5327       */
5328      NodeType?: NonEmptyString;
5329      /**
5330       * The number of compute nodes in the cluster.
5331       */
5332      NumberOfNodes?: Integer;
5333      /**
5334       * A list of cluster operations that are waiting to start.
5335       */
5336      PendingActions?: StringList;
5337      /**
5338       * A list of changes to the cluster that are currently pending.
5339       */
5340      PendingModifiedValues?: AwsRedshiftClusterPendingModifiedValues;
5341      /**
5342       * The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur. Format:  &lt;day&gt;:HH:MM-&lt;day&gt;:HH:MM  For the day values, use mon | tue | wed | thu | fri | sat | sun  For example, sun:09:32-sun:10:02 
5343       */
5344      PreferredMaintenanceWindow?: NonEmptyString;
5345      /**
5346       * Whether the cluster can be accessed from a public network.
5347       */
5348      PubliclyAccessible?: Boolean;
5349      /**
5350       * Information about the resize operation for the cluster.
5351       */
5352      ResizeInfo?: AwsRedshiftClusterResizeInfo;
5353      /**
5354       * Information about the status of a cluster restore action. Only applies to a cluster that was created by restoring a snapshot.
5355       */
5356      RestoreStatus?: AwsRedshiftClusterRestoreStatus;
5357      /**
5358       * A unique identifier for the cluster snapshot schedule.
5359       */
5360      SnapshotScheduleIdentifier?: NonEmptyString;
5361      /**
5362       * The current state of the cluster snapshot schedule. Valid values: MODIFYING | ACTIVE | FAILED 
5363       */
5364      SnapshotScheduleState?: NonEmptyString;
5365      /**
5366       * The identifier of the VPC that the cluster is in, if the cluster is in a VPC.
5367       */
5368      VpcId?: NonEmptyString;
5369      /**
5370       * The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC.
5371       */
5372      VpcSecurityGroups?: AwsRedshiftClusterVpcSecurityGroups;
5373    }
5374    export interface AwsRedshiftClusterElasticIpStatus {
5375      /**
5376       * The elastic IP address for the cluster.
5377       */
5378      ElasticIp?: NonEmptyString;
5379      /**
5380       * The status of the elastic IP address.
5381       */
5382      Status?: NonEmptyString;
5383    }
5384    export interface AwsRedshiftClusterEndpoint {
5385      /**
5386       * The DNS address of the cluster.
5387       */
5388      Address?: NonEmptyString;
5389      /**
5390       * The port that the database engine listens on.
5391       */
5392      Port?: Integer;
5393    }
5394    export interface AwsRedshiftClusterHsmStatus {
5395      /**
5396       * The name of the HSM client certificate that the Amazon Redshift cluster uses to retrieve the data encryption keys that are stored in an HSM.
5397       */
5398      HsmClientCertificateIdentifier?: NonEmptyString;
5399      /**
5400       * The name of the HSM configuration that contains the information that the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
5401       */
5402      HsmConfigurationIdentifier?: NonEmptyString;
5403      /**
5404       * Indicates whether the Amazon Redshift cluster has finished applying any HSM settings changes specified in a modify cluster command. Type: String Valid values: active | applying 
5405       */
5406      Status?: NonEmptyString;
5407    }
5408    export interface AwsRedshiftClusterIamRole {
5409      /**
5410       * The status of the IAM role's association with the cluster. Valid values: in-sync | adding | removing 
5411       */
5412      ApplyStatus?: NonEmptyString;
5413      /**
5414       * The ARN of the IAM role.
5415       */
5416      IamRoleArn?: NonEmptyString;
5417    }
5418    export type AwsRedshiftClusterIamRoles = AwsRedshiftClusterIamRole[];
5419    export interface AwsRedshiftClusterPendingModifiedValues {
5420      /**
5421       * The pending or in-progress change to the automated snapshot retention period.
5422       */
5423      AutomatedSnapshotRetentionPeriod?: Integer;
5424      /**
5425       * The pending or in-progress change to the identifier for the cluster.
5426       */
5427      ClusterIdentifier?: NonEmptyString;
5428      /**
5429       * The pending or in-progress change to the cluster type.
5430       */
5431      ClusterType?: NonEmptyString;
5432      /**
5433       * The pending or in-progress change to the service version.
5434       */
5435      ClusterVersion?: NonEmptyString;
5436      /**
5437       * The encryption type for a cluster.
5438       */
5439      EncryptionType?: NonEmptyString;
5440      /**
5441       * Indicates whether to create the cluster with enhanced VPC routing enabled.
5442       */
5443      EnhancedVpcRouting?: Boolean;
5444      /**
5445       * The name of the maintenance track that the cluster changes to during the next maintenance window.
5446       */
5447      MaintenanceTrackName?: NonEmptyString;
5448      /**
5449       * The pending or in-progress change to the master user password for the cluster.
5450       */
5451      MasterUserPassword?: NonEmptyString;
5452      /**
5453       * The pending or in-progress change to the cluster's node type.
5454       */
5455      NodeType?: NonEmptyString;
5456      /**
5457       * The pending or in-progress change to the number of nodes in the cluster.
5458       */
5459      NumberOfNodes?: Integer;
5460      /**
5461       * The pending or in-progress change to whether the cluster can be connected to from the public network.
5462       */
5463      PubliclyAccessible?: Boolean;
5464    }
5465    export interface AwsRedshiftClusterResizeInfo {
5466      /**
5467       * Indicates whether the resize operation can be canceled.
5468       */
5469      AllowCancelResize?: Boolean;
5470      /**
5471       * The type of resize operation. Valid values: ClassicResize 
5472       */
5473      ResizeType?: NonEmptyString;
5474    }
5475    export interface AwsRedshiftClusterRestoreStatus {
5476      /**
5477       * The number of megabytes per second being transferred from the backup storage. Returns the average rate for a completed backup. This field is only updated when you restore to DC2 and DS2 node types.
5478       */
5479      CurrentRestoreRateInMegaBytesPerSecond?: Double;
5480      /**
5481       * The amount of time an in-progress restore has been running, or the amount of time it took a completed restore to finish. This field is only updated when you restore to DC2 and DS2 node types.
5482       */
5483      ElapsedTimeInSeconds?: Long;
5484      /**
5485       * The estimate of the time remaining before the restore is complete. Returns 0 for a completed restore. This field is only updated when you restore to DC2 and DS2 node types.
5486       */
5487      EstimatedTimeToCompletionInSeconds?: Long;
5488      /**
5489       * The number of megabytes that were transferred from snapshot storage. This field is only updated when you restore to DC2 and DS2 node types.
5490       */
5491      ProgressInMegaBytes?: Long;
5492      /**
5493       * The size of the set of snapshot data that was used to restore the cluster. This field is only updated when you restore to DC2 and DS2 node types.
5494       */
5495      SnapshotSizeInMegaBytes?: Long;
5496      /**
5497       * The status of the restore action. Valid values: starting | restoring | completed | failed 
5498       */
5499      Status?: NonEmptyString;
5500    }
5501    export interface AwsRedshiftClusterVpcSecurityGroup {
5502      /**
5503       * The status of the VPC security group.
5504       */
5505      Status?: NonEmptyString;
5506      /**
5507       * The identifier of the VPC security group.
5508       */
5509      VpcSecurityGroupId?: NonEmptyString;
5510    }
5511    export type AwsRedshiftClusterVpcSecurityGroups = AwsRedshiftClusterVpcSecurityGroup[];
5512    export interface AwsS3AccountPublicAccessBlockDetails {
5513      /**
5514       * Indicates whether to reject calls to update an S3 bucket if the calls include a public access control list (ACL).
5515       */
5516      BlockPublicAcls?: Boolean;
5517      /**
5518       * Indicates whether to reject calls to update the access policy for an S3 bucket or access point if the policy allows public access.
5519       */
5520      BlockPublicPolicy?: Boolean;
5521      /**
5522       * Indicates whether Amazon S3 ignores public ACLs that are associated with an S3 bucket.
5523       */
5524      IgnorePublicAcls?: Boolean;
5525      /**
5526       * Indicates whether to restrict access to an access point or S3 bucket that has a public policy to only Amazon Web Services service principals and authorized users within the S3 bucket owner's account.
5527       */
5528      RestrictPublicBuckets?: Boolean;
5529    }
5530    export interface AwsS3BucketBucketLifecycleConfigurationDetails {
5531      /**
5532       * The lifecycle rules.
5533       */
5534      Rules?: AwsS3BucketBucketLifecycleConfigurationRulesList;
5535    }
5536    export interface AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails {
5537      /**
5538       * The number of days after which Amazon S3 cancels an incomplete multipart upload.
5539       */
5540      DaysAfterInitiation?: Integer;
5541    }
5542    export interface AwsS3BucketBucketLifecycleConfigurationRulesDetails {
5543      /**
5544       * How Amazon S3 responds when a multipart upload is incomplete. Specifically, provides a number of days before Amazon S3 cancels the entire upload.
5545       */
5546      AbortIncompleteMultipartUpload?: AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails;
5547      /**
5548       * The date when objects are moved or deleted. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5549       */
5550      ExpirationDate?: NonEmptyString;
5551      /**
5552       * The length in days of the lifetime for objects that are subject to the rule.
5553       */
5554      ExpirationInDays?: Integer;
5555      /**
5556       * Whether Amazon S3 removes a delete marker that has no noncurrent versions. If set to true, the delete marker is expired. If set to false, the policy takes no action. If you provide ExpiredObjectDeleteMarker, you cannot provide ExpirationInDays or ExpirationDate.
5557       */
5558      ExpiredObjectDeleteMarker?: Boolean;
5559      /**
5560       * Identifies the objects that a rule applies to.
5561       */
5562      Filter?: AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails;
5563      /**
5564       * The unique identifier of the rule.
5565       */
5566      ID?: NonEmptyString;
5567      /**
5568       * The number of days that an object is noncurrent before Amazon S3 can perform the associated action.
5569       */
5570      NoncurrentVersionExpirationInDays?: Integer;
5571      /**
5572       * Transition rules that describe when noncurrent objects transition to a specified storage class.
5573       */
5574      NoncurrentVersionTransitions?: AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsList;
5575      /**
5576       * A prefix that identifies one or more objects that the rule applies to.
5577       */
5578      Prefix?: NonEmptyString;
5579      /**
5580       * The current status of the rule. Indicates whether the rule is currently being applied.
5581       */
5582      Status?: NonEmptyString;
5583      /**
5584       * Transition rules that indicate when objects transition to a specified storage class.
5585       */
5586      Transitions?: AwsS3BucketBucketLifecycleConfigurationRulesTransitionsList;
5587    }
5588    export interface AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails {
5589      /**
5590       * The configuration for the filter.
5591       */
5592      Predicate?: AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails;
5593    }
5594    export interface AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
5595      /**
5596       * The values to use for the filter.
5597       */
5598      Operands?: AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsList;
5599      /**
5600       * A prefix filter.
5601       */
5602      Prefix?: NonEmptyString;
5603      /**
5604       * A tag filter.
5605       */
5606      Tag?: AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails;
5607      /**
5608       * Whether to use AND or OR to join the operands.
5609       */
5610      Type?: NonEmptyString;
5611    }
5612    export interface AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
5613      /**
5614       * Prefix text for matching objects.
5615       */
5616      Prefix?: NonEmptyString;
5617      /**
5618       * A tag that is assigned to matching objects.
5619       */
5620      Tag?: AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails;
5621      /**
5622       * The type of filter value.
5623       */
5624      Type?: NonEmptyString;
5625    }
5626    export type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsList = AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails[];
5627    export interface AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
5628      /**
5629       * The tag key.
5630       */
5631      Key?: NonEmptyString;
5632      /**
5633       * The tag value.
5634       */
5635      Value?: NonEmptyString;
5636    }
5637    export interface AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
5638      /**
5639       * The tag key.
5640       */
5641      Key?: NonEmptyString;
5642      /**
5643       * The tag value
5644       */
5645      Value?: NonEmptyString;
5646    }
5647    export type AwsS3BucketBucketLifecycleConfigurationRulesList = AwsS3BucketBucketLifecycleConfigurationRulesDetails[];
5648    export interface AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
5649      /**
5650       * The number of days that an object is noncurrent before Amazon S3 can perform the associated action.
5651       */
5652      Days?: Integer;
5653      /**
5654       * The class of storage to change the object to after the object is noncurrent for the specified number of days.
5655       */
5656      StorageClass?: NonEmptyString;
5657    }
5658    export type AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsList = AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails[];
5659    export interface AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
5660      /**
5661       * A date on which to transition objects to the specified storage class. If you provide Date, you cannot provide Days. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5662       */
5663      Date?: NonEmptyString;
5664      /**
5665       * The number of days after which to transition the object to the specified storage class. If you provide Days, you cannot provide Date.
5666       */
5667      Days?: Integer;
5668      /**
5669       * The storage class to transition the object to.
5670       */
5671      StorageClass?: NonEmptyString;
5672    }
5673    export type AwsS3BucketBucketLifecycleConfigurationRulesTransitionsList = AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails[];
5674    export interface AwsS3BucketDetails {
5675      /**
5676       * The canonical user ID of the owner of the S3 bucket.
5677       */
5678      OwnerId?: NonEmptyString;
5679      /**
5680       * The display name of the owner of the S3 bucket.
5681       */
5682      OwnerName?: NonEmptyString;
5683      /**
5684       * Indicates when the S3 bucket was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5685       */
5686      CreatedAt?: NonEmptyString;
5687      /**
5688       * The encryption rules that are applied to the S3 bucket.
5689       */
5690      ServerSideEncryptionConfiguration?: AwsS3BucketServerSideEncryptionConfiguration;
5691      /**
5692       * The lifecycle configuration for objects in the S3 bucket.
5693       */
5694      BucketLifecycleConfiguration?: AwsS3BucketBucketLifecycleConfigurationDetails;
5695      /**
5696       * Provides information about the Amazon S3 Public Access Block configuration for the S3 bucket.
5697       */
5698      PublicAccessBlockConfiguration?: AwsS3AccountPublicAccessBlockDetails;
5699    }
5700    export interface AwsS3BucketServerSideEncryptionByDefault {
5701      /**
5702       * Server-side encryption algorithm to use for the default encryption.
5703       */
5704      SSEAlgorithm?: NonEmptyString;
5705      /**
5706       * KMS customer master key (CMK) ID to use for the default encryption.
5707       */
5708      KMSMasterKeyID?: NonEmptyString;
5709    }
5710    export interface AwsS3BucketServerSideEncryptionConfiguration {
5711      /**
5712       * The encryption rules that are applied to the S3 bucket.
5713       */
5714      Rules?: AwsS3BucketServerSideEncryptionRules;
5715    }
5716    export interface AwsS3BucketServerSideEncryptionRule {
5717      /**
5718       * Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT object request doesn't specify any server-side encryption, this default encryption is applied.
5719       */
5720      ApplyServerSideEncryptionByDefault?: AwsS3BucketServerSideEncryptionByDefault;
5721    }
5722    export type AwsS3BucketServerSideEncryptionRules = AwsS3BucketServerSideEncryptionRule[];
5723    export interface AwsS3ObjectDetails {
5724      /**
5725       * Indicates when the object was last modified. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5726       */
5727      LastModified?: NonEmptyString;
5728      /**
5729       * The opaque identifier assigned by a web server to a specific version of a resource found at a URL.
5730       */
5731      ETag?: NonEmptyString;
5732      /**
5733       * The version of the object.
5734       */
5735      VersionId?: NonEmptyString;
5736      /**
5737       * A standard MIME type describing the format of the object data.
5738       */
5739      ContentType?: NonEmptyString;
5740      /**
5741       * If the object is stored using server-side encryption, the value of the server-side encryption algorithm used when storing this object in Amazon S3.
5742       */
5743      ServerSideEncryption?: NonEmptyString;
5744      /**
5745       * The identifier of the KMS symmetric customer managed customer master key (CMK) that was used for the object.
5746       */
5747      SSEKMSKeyId?: NonEmptyString;
5748    }
5749    export interface AwsSecretsManagerSecretDetails {
5750      /**
5751       * Defines the rotation schedule for the secret.
5752       */
5753      RotationRules?: AwsSecretsManagerSecretRotationRules;
5754      /**
5755       * Whether the rotation occurred within the specified rotation frequency.
5756       */
5757      RotationOccurredWithinFrequency?: Boolean;
5758      /**
5759       * The ARN, Key ID, or alias of the KMS customer master key (CMK) used to encrypt the SecretString or SecretBinary values for versions of this secret.
5760       */
5761      KmsKeyId?: NonEmptyString;
5762      /**
5763       * Whether rotation is enabled.
5764       */
5765      RotationEnabled?: Boolean;
5766      /**
5767       * The ARN of the Lambda function that rotates the secret.
5768       */
5769      RotationLambdaArn?: NonEmptyString;
5770      /**
5771       * Whether the secret is deleted.
5772       */
5773      Deleted?: Boolean;
5774      /**
5775       * The name of the secret.
5776       */
5777      Name?: NonEmptyString;
5778      /**
5779       * The user-provided description of the secret.
5780       */
5781      Description?: NonEmptyString;
5782    }
5783    export interface AwsSecretsManagerSecretRotationRules {
5784      /**
5785       * The number of days after the previous rotation to rotate the secret.
5786       */
5787      AutomaticallyAfterDays?: Integer;
5788    }
5789    export interface AwsSecurityFinding {
5790      /**
5791       * The schema version that a finding is formatted for.
5792       */
5793      SchemaVersion: NonEmptyString;
5794      /**
5795       * The security findings provider-specific identifier for a finding.
5796       */
5797      Id: NonEmptyString;
5798      /**
5799       * The ARN generated by Security Hub that uniquely identifies a product that generates findings. This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for a custom integration.
5800       */
5801      ProductArn: NonEmptyString;
5802      /**
5803       * The name of the product that generated the finding. Security Hub populates this attribute automatically for each finding. You cannot update it using BatchImportFindings or BatchUpdateFindings. The exception to this is when you use a custom integration. When you use the Security Hub console to filter findings by product name, you use this attribute. When you use the Security Hub API to filter findings by product name, you use the aws/securityhub/ProductyName attribute under ProductFields. Security Hub does not synchronize those two attributes.
5804       */
5805      ProductName?: NonEmptyString;
5806      /**
5807       * The name of the company for the product that generated the finding. Security Hub populates this attribute automatically for each finding. You cannot be updated using BatchImportFindings or BatchUpdateFindings. The exception to this is when you use a custom integration. When you use the Security Hub console to filter findings by company name, you use this attribute. When you use the Security Hub API to filter findings by company name, you use the aws/securityhub/CompanyName attribute under ProductFields. Security Hub does not synchronize those two attributes.
5808       */
5809      CompanyName?: NonEmptyString;
5810      /**
5811       * The Region from which the finding was generated. Security Hub populates this attribute automatically for each finding. You cannot update it using BatchImportFindings or BatchUpdateFindings.
5812       */
5813      Region?: NonEmptyString;
5814      /**
5815       * The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security-findings providers' solutions, this generator can be called a rule, a check, a detector, a plugin, etc. 
5816       */
5817      GeneratorId: NonEmptyString;
5818      /**
5819       * The Amazon Web Services account ID that a finding is generated in.
5820       */
5821      AwsAccountId: NonEmptyString;
5822      /**
5823       * One or more finding types in the format of namespace/category/classifier that classify a finding. Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications
5824       */
5825      Types?: TypeList;
5826      /**
5827       * Indicates when the security-findings provider first observed the potential security issue that a finding captured. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5828       */
5829      FirstObservedAt?: NonEmptyString;
5830      /**
5831       * Indicates when the security-findings provider most recently observed the potential security issue that a finding captured. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5832       */
5833      LastObservedAt?: NonEmptyString;
5834      /**
5835       * Indicates when the security-findings provider created the potential security issue that a finding captured. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5836       */
5837      CreatedAt: NonEmptyString;
5838      /**
5839       * Indicates when the security-findings provider last updated the finding record. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
5840       */
5841      UpdatedAt: NonEmptyString;
5842      /**
5843       * A finding's severity.
5844       */
5845      Severity?: Severity;
5846      /**
5847       * A finding's 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.
5848       */
5849      Confidence?: Integer;
5850      /**
5851       * The level of importance assigned to the resources associated with the finding. A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.
5852       */
5853      Criticality?: Integer;
5854      /**
5855       * A finding's title.  In this release, Title is a required property. 
5856       */
5857      Title: NonEmptyString;
5858      /**
5859       * A finding's description.  In this release, Description is a required property. 
5860       */
5861      Description: NonEmptyString;
5862      /**
5863       * A data type that describes the remediation options for a finding.
5864       */
5865      Remediation?: Remediation;
5866      /**
5867       * A URL that links to a page about the current finding in the security-findings provider's solution.
5868       */
5869      SourceUrl?: NonEmptyString;
5870      /**
5871       * A data type where security-findings providers can include additional solution-specific details that aren't part of the defined AwsSecurityFinding format. Can contain up to 50 key-value pairs. For each key-value pair, the key can contain up to 128 characters, and the value can contain up to 2048 characters.
5872       */
5873      ProductFields?: FieldMap;
5874      /**
5875       * A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding. 
5876       */
5877      UserDefinedFields?: FieldMap;
5878      /**
5879       * A list of malware related to a finding.
5880       */
5881      Malware?: MalwareList;
5882      /**
5883       * The details of network-related information about a finding.
5884       */
5885      Network?: Network;
5886      /**
5887       * Provides information about a network path that is relevant to a finding. Each entry under NetworkPath represents a component of that path.
5888       */
5889      NetworkPath?: NetworkPathList;
5890      /**
5891       * The details of process-related information about a finding.
5892       */
5893      Process?: ProcessDetails;
5894      /**
5895       * Threat intelligence details related to a finding.
5896       */
5897      ThreatIntelIndicators?: ThreatIntelIndicatorList;
5898      /**
5899       * A set of resource data types that describe the resources that the finding refers to.
5900       */
5901      Resources: ResourceList;
5902      /**
5903       * This data type is exclusive to findings that are generated as the result of a check run against a specific rule in a supported security standard, such as CIS Amazon Web Services Foundations. Contains security standard-related finding details.
5904       */
5905      Compliance?: Compliance;
5906      /**
5907       * Indicates the veracity of a finding. 
5908       */
5909      VerificationState?: VerificationState;
5910      /**
5911       * The workflow state of a finding. 
5912       */
5913      WorkflowState?: WorkflowState;
5914      /**
5915       * Provides information about the status of the investigation into a finding.
5916       */
5917      Workflow?: Workflow;
5918      /**
5919       * The record state of a finding.
5920       */
5921      RecordState?: RecordState;
5922      /**
5923       * A list of related findings.
5924       */
5925      RelatedFindings?: RelatedFindingList;
5926      /**
5927       * A user-defined note added to a finding.
5928       */
5929      Note?: Note;
5930      /**
5931       * Provides a list of vulnerabilities associated with the findings.
5932       */
5933      Vulnerabilities?: VulnerabilityList;
5934      /**
5935       * Provides an overview of the patch compliance status for an instance against a selected compliance standard.
5936       */
5937      PatchSummary?: PatchSummary;
5938      /**
5939       * Provides details about an action that affects or that was taken on a resource.
5940       */
5941      Action?: Action;
5942      /**
5943       * In a BatchImportFindings request, finding providers use FindingProviderFields to provide and update their own values for confidence, criticality, related findings, severity, and types.
5944       */
5945      FindingProviderFields?: FindingProviderFields;
5946    }
5947    export interface AwsSecurityFindingFilters {
5948      /**
5949       * The ARN generated by Security Hub that uniquely identifies a third-party company (security findings provider) after this provider's product (solution that generates findings) is registered with Security Hub.
5950       */
5951      ProductArn?: StringFilterList;
5952      /**
5953       * The Amazon Web Services account ID that a finding is generated in.
5954       */
5955      AwsAccountId?: StringFilterList;
5956      /**
5957       * The security findings provider-specific identifier for a finding.
5958       */
5959      Id?: StringFilterList;
5960      /**
5961       * The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security-findings providers' solutions, this generator can be called a rule, a check, a detector, a plugin, etc.
5962       */
5963      GeneratorId?: StringFilterList;
5964      /**
5965       * The Region from which the finding was generated.
5966       */
5967      Region?: StringFilterList;
5968      /**
5969       * A finding type in the format of namespace/category/classifier that classifies a finding.
5970       */
5971      Type?: StringFilterList;
5972      /**
5973       * An ISO8601-formatted timestamp that indicates when the security-findings provider first observed the potential security issue that a finding captured.
5974       */
5975      FirstObservedAt?: DateFilterList;
5976      /**
5977       * An ISO8601-formatted timestamp that indicates when the security-findings provider most recently observed the potential security issue that a finding captured.
5978       */
5979      LastObservedAt?: DateFilterList;
5980      /**
5981       * An ISO8601-formatted timestamp that indicates when the security-findings provider captured the potential security issue that a finding captured.
5982       */
5983      CreatedAt?: DateFilterList;
5984      /**
5985       * An ISO8601-formatted timestamp that indicates when the security-findings provider last updated the finding record. 
5986       */
5987      UpdatedAt?: DateFilterList;
5988      /**
5989       * The native severity as defined by the security-findings provider's solution that generated the finding.
5990       */
5991      SeverityProduct?: NumberFilterList;
5992      /**
5993       * The normalized severity of a finding.
5994       */
5995      SeverityNormalized?: NumberFilterList;
5996      /**
5997       * The label of a finding's severity.
5998       */
5999      SeverityLabel?: StringFilterList;
6000      /**
6001       * A finding's 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.
6002       */
6003      Confidence?: NumberFilterList;
6004      /**
6005       * The level of importance assigned to the resources associated with the finding. A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.
6006       */
6007      Criticality?: NumberFilterList;
6008      /**
6009       * A finding's title.
6010       */
6011      Title?: StringFilterList;
6012      /**
6013       * A finding's description.
6014       */
6015      Description?: StringFilterList;
6016      /**
6017       * The recommendation of what to do about the issue described in a finding.
6018       */
6019      RecommendationText?: StringFilterList;
6020      /**
6021       * A URL that links to a page about the current finding in the security-findings provider's solution.
6022       */
6023      SourceUrl?: StringFilterList;
6024      /**
6025       * A data type where security-findings providers can include additional solution-specific details that aren't part of the defined AwsSecurityFinding format.
6026       */
6027      ProductFields?: MapFilterList;
6028      /**
6029       * The name of the solution (product) that generates findings. Note that this is a filter against the aws/securityhub/ProductName field in ProductFields. It is not a filter for the top-level ProductName field.
6030       */
6031      ProductName?: StringFilterList;
6032      /**
6033       * The name of the findings provider (company) that owns the solution (product) that generates findings. Note that this is a filter against the aws/securityhub/CompanyName field in ProductFields. It is not a filter for the top-level CompanyName field.
6034       */
6035      CompanyName?: StringFilterList;
6036      /**
6037       * A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding. 
6038       */
6039      UserDefinedFields?: MapFilterList;
6040      /**
6041       * The name of the malware that was observed.
6042       */
6043      MalwareName?: StringFilterList;
6044      /**
6045       * The type of the malware that was observed.
6046       */
6047      MalwareType?: StringFilterList;
6048      /**
6049       * The filesystem path of the malware that was observed.
6050       */
6051      MalwarePath?: StringFilterList;
6052      /**
6053       * The state of the malware that was observed.
6054       */
6055      MalwareState?: StringFilterList;
6056      /**
6057       * Indicates the direction of network traffic associated with a finding.
6058       */
6059      NetworkDirection?: StringFilterList;
6060      /**
6061       * The protocol of network-related information about a finding.
6062       */
6063      NetworkProtocol?: StringFilterList;
6064      /**
6065       * The source IPv4 address of network-related information about a finding.
6066       */
6067      NetworkSourceIpV4?: IpFilterList;
6068      /**
6069       * The source IPv6 address of network-related information about a finding.
6070       */
6071      NetworkSourceIpV6?: IpFilterList;
6072      /**
6073       * The source port of network-related information about a finding.
6074       */
6075      NetworkSourcePort?: NumberFilterList;
6076      /**
6077       * The source domain of network-related information about a finding.
6078       */
6079      NetworkSourceDomain?: StringFilterList;
6080      /**
6081       * The source media access control (MAC) address of network-related information about a finding.
6082       */
6083      NetworkSourceMac?: StringFilterList;
6084      /**
6085       * The destination IPv4 address of network-related information about a finding.
6086       */
6087      NetworkDestinationIpV4?: IpFilterList;
6088      /**
6089       * The destination IPv6 address of network-related information about a finding.
6090       */
6091      NetworkDestinationIpV6?: IpFilterList;
6092      /**
6093       * The destination port of network-related information about a finding.
6094       */
6095      NetworkDestinationPort?: NumberFilterList;
6096      /**
6097       * The destination domain of network-related information about a finding.
6098       */
6099      NetworkDestinationDomain?: StringFilterList;
6100      /**
6101       * The name of the process.
6102       */
6103      ProcessName?: StringFilterList;
6104      /**
6105       * The path to the process executable.
6106       */
6107      ProcessPath?: StringFilterList;
6108      /**
6109       * The process ID.
6110       */
6111      ProcessPid?: NumberFilterList;
6112      /**
6113       * The parent process ID.
6114       */
6115      ProcessParentPid?: NumberFilterList;
6116      /**
6117       * The date/time that the process was launched.
6118       */
6119      ProcessLaunchedAt?: DateFilterList;
6120      /**
6121       * The date/time that the process was terminated.
6122       */
6123      ProcessTerminatedAt?: DateFilterList;
6124      /**
6125       * The type of a threat intelligence indicator.
6126       */
6127      ThreatIntelIndicatorType?: StringFilterList;
6128      /**
6129       * The value of a threat intelligence indicator.
6130       */
6131      ThreatIntelIndicatorValue?: StringFilterList;
6132      /**
6133       * The category of a threat intelligence indicator.
6134       */
6135      ThreatIntelIndicatorCategory?: StringFilterList;
6136      /**
6137       * The date/time of the last observation of a threat intelligence indicator.
6138       */
6139      ThreatIntelIndicatorLastObservedAt?: DateFilterList;
6140      /**
6141       * The source of the threat intelligence.
6142       */
6143      ThreatIntelIndicatorSource?: StringFilterList;
6144      /**
6145       * The URL for more details from the source of the threat intelligence.
6146       */
6147      ThreatIntelIndicatorSourceUrl?: StringFilterList;
6148      /**
6149       * Specifies the type of the resource that details are provided for.
6150       */
6151      ResourceType?: StringFilterList;
6152      /**
6153       * The canonical identifier for the given resource type.
6154       */
6155      ResourceId?: StringFilterList;
6156      /**
6157       * The canonical Amazon Web Services partition name that the Region is assigned to.
6158       */
6159      ResourcePartition?: StringFilterList;
6160      /**
6161       * The canonical Amazon Web Services external Region name where this resource is located.
6162       */
6163      ResourceRegion?: StringFilterList;
6164      /**
6165       * A list of Amazon Web Services tags associated with a resource at the time the finding was processed.
6166       */
6167      ResourceTags?: MapFilterList;
6168      /**
6169       * The instance type of the instance.
6170       */
6171      ResourceAwsEc2InstanceType?: StringFilterList;
6172      /**
6173       * The Amazon Machine Image (AMI) ID of the instance.
6174       */
6175      ResourceAwsEc2InstanceImageId?: StringFilterList;
6176      /**
6177       * The IPv4 addresses associated with the instance.
6178       */
6179      ResourceAwsEc2InstanceIpV4Addresses?: IpFilterList;
6180      /**
6181       * The IPv6 addresses associated with the instance.
6182       */
6183      ResourceAwsEc2InstanceIpV6Addresses?: IpFilterList;
6184      /**
6185       * The key name associated with the instance.
6186       */
6187      ResourceAwsEc2InstanceKeyName?: StringFilterList;
6188      /**
6189       * The IAM profile ARN of the instance.
6190       */
6191      ResourceAwsEc2InstanceIamInstanceProfileArn?: StringFilterList;
6192      /**
6193       * The identifier of the VPC that the instance was launched in.
6194       */
6195      ResourceAwsEc2InstanceVpcId?: StringFilterList;
6196      /**
6197       * The identifier of the subnet that the instance was launched in.
6198       */
6199      ResourceAwsEc2InstanceSubnetId?: StringFilterList;
6200      /**
6201       * The date and time the instance was launched.
6202       */
6203      ResourceAwsEc2InstanceLaunchedAt?: DateFilterList;
6204      /**
6205       * The canonical user ID of the owner of the S3 bucket.
6206       */
6207      ResourceAwsS3BucketOwnerId?: StringFilterList;
6208      /**
6209       * The display name of the owner of the S3 bucket.
6210       */
6211      ResourceAwsS3BucketOwnerName?: StringFilterList;
6212      /**
6213       * The user associated with the IAM access key related to a finding.
6214       */
6215      ResourceAwsIamAccessKeyUserName?: StringFilterList;
6216      /**
6217       * The name of the principal that is associated with an IAM access key.
6218       */
6219      ResourceAwsIamAccessKeyPrincipalName?: StringFilterList;
6220      /**
6221       * The status of the IAM access key related to a finding.
6222       */
6223      ResourceAwsIamAccessKeyStatus?: StringFilterList;
6224      /**
6225       * The creation date/time of the IAM access key related to a finding.
6226       */
6227      ResourceAwsIamAccessKeyCreatedAt?: DateFilterList;
6228      /**
6229       * The name of an IAM user.
6230       */
6231      ResourceAwsIamUserUserName?: StringFilterList;
6232      /**
6233       * The name of the container related to a finding.
6234       */
6235      ResourceContainerName?: StringFilterList;
6236      /**
6237       * The identifier of the image related to a finding.
6238       */
6239      ResourceContainerImageId?: StringFilterList;
6240      /**
6241       * The name of the image related to a finding.
6242       */
6243      ResourceContainerImageName?: StringFilterList;
6244      /**
6245       * The date/time that the container was started.
6246       */
6247      ResourceContainerLaunchedAt?: DateFilterList;
6248      /**
6249       * The details of a resource that doesn't have a specific subfield for the resource type defined.
6250       */
6251      ResourceDetailsOther?: MapFilterList;
6252      /**
6253       * Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard, such as CIS Amazon Web Services Foundations. Contains security standard-related finding details.
6254       */
6255      ComplianceStatus?: StringFilterList;
6256      /**
6257       * The veracity of a finding.
6258       */
6259      VerificationState?: StringFilterList;
6260      /**
6261       * The workflow state of a finding. Note that this field is deprecated. To search for a finding based on its workflow status, use WorkflowStatus.
6262       */
6263      WorkflowState?: StringFilterList;
6264      /**
6265       * The status of the investigation into a finding. Allowed values are the following.    NEW - The initial state of a finding, before it is reviewed. Security Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in the following cases:   The record state changes from ARCHIVED to ACTIVE.   The compliance status changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.      NOTIFIED - Indicates that the resource owner has been notified about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.    SUPPRESSED - The finding will not be reviewed again and will not be acted upon.    RESOLVED - The finding was reviewed and remediated and is now considered resolved.   
6266       */
6267      WorkflowStatus?: StringFilterList;
6268      /**
6269       * The updated record state for the finding.
6270       */
6271      RecordState?: StringFilterList;
6272      /**
6273       * The ARN of the solution that generated a related finding.
6274       */
6275      RelatedFindingsProductArn?: StringFilterList;
6276      /**
6277       * The solution-generated identifier for a related finding.
6278       */
6279      RelatedFindingsId?: StringFilterList;
6280      /**
6281       * The text of a note.
6282       */
6283      NoteText?: StringFilterList;
6284      /**
6285       * The timestamp of when the note was updated.
6286       */
6287      NoteUpdatedAt?: DateFilterList;
6288      /**
6289       * The principal that created a note.
6290       */
6291      NoteUpdatedBy?: StringFilterList;
6292      /**
6293       * A keyword for a finding.
6294       */
6295      Keyword?: KeywordFilterList;
6296      /**
6297       * The finding provider 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.
6298       */
6299      FindingProviderFieldsConfidence?: NumberFilterList;
6300      /**
6301       * The finding provider 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. 
6302       */
6303      FindingProviderFieldsCriticality?: NumberFilterList;
6304      /**
6305       * The finding identifier of a related finding that is identified by the finding provider.
6306       */
6307      FindingProviderFieldsRelatedFindingsId?: StringFilterList;
6308      /**
6309       * The ARN of the solution that generated a related finding that is identified by the finding provider.
6310       */
6311      FindingProviderFieldsRelatedFindingsProductArn?: StringFilterList;
6312      /**
6313       * The finding provider value for the severity label.
6314       */
6315      FindingProviderFieldsSeverityLabel?: StringFilterList;
6316      /**
6317       * The finding provider's original value for the severity.
6318       */
6319      FindingProviderFieldsSeverityOriginal?: StringFilterList;
6320      /**
6321       * One or more finding types that the finding provider assigned to the finding. Uses the format of namespace/category/classifier that classify a finding. Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications
6322       */
6323      FindingProviderFieldsTypes?: StringFilterList;
6324    }
6325    export interface AwsSecurityFindingIdentifier {
6326      /**
6327       * The identifier of the finding that was specified by the finding provider.
6328       */
6329      Id: NonEmptyString;
6330      /**
6331       * The ARN generated by Security Hub that uniquely identifies a product that generates findings. This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for a custom integration.
6332       */
6333      ProductArn: NonEmptyString;
6334    }
6335    export type AwsSecurityFindingIdentifierList = AwsSecurityFindingIdentifier[];
6336    export type AwsSecurityFindingList = AwsSecurityFinding[];
6337    export interface AwsSnsTopicDetails {
6338      /**
6339       * The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SNS or a custom CMK.
6340       */
6341      KmsMasterKeyId?: NonEmptyString;
6342      /**
6343       * Subscription is an embedded property that describes the subscription endpoints of an SNS topic.
6344       */
6345      Subscription?: AwsSnsTopicSubscriptionList;
6346      /**
6347       * The name of the topic.
6348       */
6349      TopicName?: NonEmptyString;
6350      /**
6351       * The subscription's owner.
6352       */
6353      Owner?: NonEmptyString;
6354    }
6355    export interface AwsSnsTopicSubscription {
6356      /**
6357       * The subscription's endpoint (format depends on the protocol).
6358       */
6359      Endpoint?: NonEmptyString;
6360      /**
6361       * The subscription's protocol.
6362       */
6363      Protocol?: NonEmptyString;
6364    }
6365    export type AwsSnsTopicSubscriptionList = AwsSnsTopicSubscription[];
6366    export interface AwsSqsQueueDetails {
6367      /**
6368       * The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling KMS again.
6369       */
6370      KmsDataKeyReusePeriodSeconds?: Integer;
6371      /**
6372       * The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SQS or a custom CMK.
6373       */
6374      KmsMasterKeyId?: NonEmptyString;
6375      /**
6376       * The name of the new queue.
6377       */
6378      QueueName?: NonEmptyString;
6379      /**
6380       * The ARN of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded. 
6381       */
6382      DeadLetterTargetArn?: NonEmptyString;
6383    }
6384    export interface AwsSsmComplianceSummary {
6385      /**
6386       * The current patch compliance status. The possible status values are:    COMPLIANT     NON_COMPLIANT     UNSPECIFIED_DATA   
6387       */
6388      Status?: NonEmptyString;
6389      /**
6390       * For the patches that are compliant, the number that have a severity of CRITICAL.
6391       */
6392      CompliantCriticalCount?: Integer;
6393      /**
6394       * For the patches that are compliant, the number that have a severity of HIGH.
6395       */
6396      CompliantHighCount?: Integer;
6397      /**
6398       * For the patches that are compliant, the number that have a severity of MEDIUM.
6399       */
6400      CompliantMediumCount?: Integer;
6401      /**
6402       * The type of execution that was used determine compliance.
6403       */
6404      ExecutionType?: NonEmptyString;
6405      /**
6406       * For the patch items that are noncompliant, the number of items that have a severity of CRITICAL.
6407       */
6408      NonCompliantCriticalCount?: Integer;
6409      /**
6410       * For the patches that are compliant, the number that have a severity of INFORMATIONAL.
6411       */
6412      CompliantInformationalCount?: Integer;
6413      /**
6414       * For the patches that are noncompliant, the number that have a severity of INFORMATIONAL.
6415       */
6416      NonCompliantInformationalCount?: Integer;
6417      /**
6418       * For the patches that are compliant, the number that have a severity of UNSPECIFIED.
6419       */
6420      CompliantUnspecifiedCount?: Integer;
6421      /**
6422       * For the patches that are noncompliant, the number that have a severity of LOW.
6423       */
6424      NonCompliantLowCount?: Integer;
6425      /**
6426       * For the patches that are noncompliant, the number that have a severity of HIGH.
6427       */
6428      NonCompliantHighCount?: Integer;
6429      /**
6430       * For the patches that are compliant, the number that have a severity of LOW.
6431       */
6432      CompliantLowCount?: Integer;
6433      /**
6434       * The type of resource for which the compliance was determined. For AwsSsmPatchCompliance, ComplianceType is Patch. 
6435       */
6436      ComplianceType?: NonEmptyString;
6437      /**
6438       * The identifier of the patch baseline. The patch baseline lists the patches that are approved for installation.
6439       */
6440      PatchBaselineId?: NonEmptyString;
6441      /**
6442       * The highest severity for the patches.
6443       */
6444      OverallSeverity?: NonEmptyString;
6445      /**
6446       * For the patches that are noncompliant, the number that have a severity of MEDIUM.
6447       */
6448      NonCompliantMediumCount?: Integer;
6449      /**
6450       * For the patches that are noncompliant, the number that have a severity of UNSPECIFIED.
6451       */
6452      NonCompliantUnspecifiedCount?: Integer;
6453      /**
6454       * The identifier of the patch group for which compliance was determined. A patch group uses tags to group EC2 instances that should have the same patch compliance.
6455       */
6456      PatchGroup?: NonEmptyString;
6457    }
6458    export interface AwsSsmPatch {
6459      /**
6460       * The compliance status details for the patch.
6461       */
6462      ComplianceSummary?: AwsSsmComplianceSummary;
6463    }
6464    export interface AwsSsmPatchComplianceDetails {
6465      /**
6466       * Information about the status of a patch.
6467       */
6468      Patch?: AwsSsmPatch;
6469    }
6470    export interface AwsWafWebAclDetails {
6471      /**
6472       * A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it.
6473       */
6474      Name?: NonEmptyString;
6475      /**
6476       * The action to perform if none of the rules contained in the WebACL match.
6477       */
6478      DefaultAction?: NonEmptyString;
6479      /**
6480       * An array that contains the action for each rule in a WebACL, the priority of the rule, and the ID of the rule.
6481       */
6482      Rules?: AwsWafWebAclRuleList;
6483      /**
6484       * A unique identifier for a WebACL.
6485       */
6486      WebAclId?: NonEmptyString;
6487    }
6488    export interface AwsWafWebAclRule {
6489      /**
6490       * Specifies the action that CloudFront or WAF takes when a web request matches the conditions in the rule. 
6491       */
6492      Action?: WafAction;
6493      /**
6494       * Rules to exclude from a rule group.
6495       */
6496      ExcludedRules?: WafExcludedRuleList;
6497      /**
6498       * Use the OverrideAction to test your RuleGroup. Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction to None, the RuleGroup blocks a request if any individual rule in the RuleGroup matches the request and is configured to block that request. However, if you first want to test the RuleGroup, set the OverrideAction to Count. The RuleGroup then overrides any block action specified by individual rules contained within the group. Instead of blocking matching requests, those requests are counted.  ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction. 
6499       */
6500      OverrideAction?: WafOverrideAction;
6501      /**
6502       * Specifies the order in which the rules in a WebACL are evaluated. Rules with a lower value for Priority are evaluated before rules with a higher value. The value must be a unique integer. If you add multiple rules to a WebACL, the values do not need to be consecutive.
6503       */
6504      Priority?: Integer;
6505      /**
6506       * The identifier for a rule.
6507       */
6508      RuleId?: NonEmptyString;
6509      /**
6510       * The rule type. Valid values: REGULAR | RATE_BASED | GROUP  The default is REGULAR.
6511       */
6512      Type?: NonEmptyString;
6513    }
6514    export type AwsWafWebAclRuleList = AwsWafWebAclRule[];
6515    export interface BatchDisableStandardsRequest {
6516      /**
6517       * The ARNs of the standards subscriptions to disable.
6518       */
6519      StandardsSubscriptionArns: StandardsSubscriptionArns;
6520    }
6521    export interface BatchDisableStandardsResponse {
6522      /**
6523       * The details of the standards subscriptions that were disabled.
6524       */
6525      StandardsSubscriptions?: StandardsSubscriptions;
6526    }
6527    export interface BatchEnableStandardsRequest {
6528      /**
6529       * The list of standards checks to enable.
6530       */
6531      StandardsSubscriptionRequests: StandardsSubscriptionRequests;
6532    }
6533    export interface BatchEnableStandardsResponse {
6534      /**
6535       * The details of the standards subscriptions that were enabled.
6536       */
6537      StandardsSubscriptions?: StandardsSubscriptions;
6538    }
6539    export interface BatchImportFindingsRequest {
6540      /**
6541       * A list of findings to import. To successfully import a finding, it must follow the Amazon Web Services Security Finding Format. Maximum of 100 findings per request.
6542       */
6543      Findings: BatchImportFindingsRequestFindingList;
6544    }
6545    export type BatchImportFindingsRequestFindingList = AwsSecurityFinding[];
6546    export interface BatchImportFindingsResponse {
6547      /**
6548       * The number of findings that failed to import.
6549       */
6550      FailedCount: Integer;
6551      /**
6552       * The number of findings that were successfully imported.
6553       */
6554      SuccessCount: Integer;
6555      /**
6556       * The list of findings that failed to import.
6557       */
6558      FailedFindings?: ImportFindingsErrorList;
6559    }
6560    export interface BatchUpdateFindingsRequest {
6561      /**
6562       * 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.
6563       */
6564      FindingIdentifiers: AwsSecurityFindingIdentifierList;
6565      Note?: NoteUpdate;
6566      /**
6567       * Used to update the finding severity.
6568       */
6569      Severity?: SeverityUpdate;
6570      /**
6571       * 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  
6572       */
6573      VerificationState?: VerificationState;
6574      /**
6575       * 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.
6576       */
6577      Confidence?: RatioScale;
6578      /**
6579       * 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. 
6580       */
6581      Criticality?: RatioScale;
6582      /**
6583       * 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   
6584       */
6585      Types?: TypeList;
6586      /**
6587       * A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding.
6588       */
6589      UserDefinedFields?: FieldMap;
6590      /**
6591       * Used to update the workflow status of a finding. The workflow status indicates the progress of the investigation into the finding. 
6592       */
6593      Workflow?: WorkflowUpdate;
6594      /**
6595       * A list of findings that are related to the updated findings.
6596       */
6597      RelatedFindings?: RelatedFindingList;
6598    }
6599    export interface BatchUpdateFindingsResponse {
6600      /**
6601       * The list of findings that were updated successfully.
6602       */
6603      ProcessedFindings: AwsSecurityFindingIdentifierList;
6604      /**
6605       * The list of findings that were not updated.
6606       */
6607      UnprocessedFindings: BatchUpdateFindingsUnprocessedFindingsList;
6608    }
6609    export interface BatchUpdateFindingsUnprocessedFinding {
6610      /**
6611       * The identifier of the finding that was not updated.
6612       */
6613      FindingIdentifier: AwsSecurityFindingIdentifier;
6614      /**
6615       * The code associated with the error.
6616       */
6617      ErrorCode: NonEmptyString;
6618      /**
6619       * The message associated with the error.
6620       */
6621      ErrorMessage: NonEmptyString;
6622    }
6623    export type BatchUpdateFindingsUnprocessedFindingsList = BatchUpdateFindingsUnprocessedFinding[];
6624    export type Boolean = boolean;
6625    export type CategoryList = NonEmptyString[];
6626    export interface Cell {
6627      /**
6628       * The column number of the column that contains the data. For a Microsoft Excel workbook, the column number corresponds to the alphabetical column identifiers. For example, a value of 1 for Column corresponds to the A column in the workbook.
6629       */
6630      Column?: Long;
6631      /**
6632       * The row number of the row that contains the data.
6633       */
6634      Row?: Long;
6635      /**
6636       * The name of the column that contains the data.
6637       */
6638      ColumnName?: NonEmptyString;
6639      /**
6640       * For a Microsoft Excel workbook, provides the location of the cell, as an absolute cell reference, that contains the data. For example, Sheet2!C5 for cell C5 on Sheet2.
6641       */
6642      CellReference?: NonEmptyString;
6643    }
6644    export type Cells = Cell[];
6645    export interface CidrBlockAssociation {
6646      /**
6647       * The association ID for the IPv4 CIDR block.
6648       */
6649      AssociationId?: NonEmptyString;
6650      /**
6651       * The IPv4 CIDR block.
6652       */
6653      CidrBlock?: NonEmptyString;
6654      /**
6655       * Information about the state of the IPv4 CIDR block.
6656       */
6657      CidrBlockState?: NonEmptyString;
6658    }
6659    export type CidrBlockAssociationList = CidrBlockAssociation[];
6660    export interface City {
6661      /**
6662       * The name of the city.
6663       */
6664      CityName?: NonEmptyString;
6665    }
6666    export interface ClassificationResult {
6667      /**
6668       * The type of content that the finding applies to.
6669       */
6670      MimeType?: NonEmptyString;
6671      /**
6672       * The total size in bytes of the affected data.
6673       */
6674      SizeClassified?: Long;
6675      /**
6676       * Indicates whether there are additional occurrences of sensitive data that are not included in the finding. This occurs when the number of occurrences exceeds the maximum that can be included.
6677       */
6678      AdditionalOccurrences?: Boolean;
6679      /**
6680       * The current status of the sensitive data detection.
6681       */
6682      Status?: ClassificationStatus;
6683      /**
6684       * Provides details about sensitive data that was identified based on built-in configuration.
6685       */
6686      SensitiveData?: SensitiveDataResultList;
6687      /**
6688       * Provides details about sensitive data that was identified based on customer-defined configuration.
6689       */
6690      CustomDataIdentifiers?: CustomDataIdentifiersResult;
6691    }
6692    export interface ClassificationStatus {
6693      /**
6694       * The code that represents the status of the sensitive data detection.
6695       */
6696      Code?: NonEmptyString;
6697      /**
6698       * A longer description of the current status of the sensitive data detection.
6699       */
6700      Reason?: NonEmptyString;
6701    }
6702    export interface Compliance {
6703      /**
6704       * The result of a standards check. The valid values for Status are as follows.      PASSED - Standards check passed for all evaluated resources.    WARNING - Some information is missing or this check is not supported for your configuration.    FAILED - Standards check failed for at least one evaluated resource.    NOT_AVAILABLE - Check could not be performed due to a service outage, API error, or because the result of the Config evaluation was NOT_APPLICABLE. If the Config evaluation result was NOT_APPLICABLE, then after 3 days, Security Hub automatically archives the finding.    
6705       */
6706      Status?: ComplianceStatus;
6707      /**
6708       * For a control, the industry or regulatory framework requirements that are related to the control. The check for that control is aligned with these requirements.
6709       */
6710      RelatedRequirements?: RelatedRequirementsList;
6711      /**
6712       * For findings generated from controls, a list of reasons behind the value of Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the Security Hub User Guide. 
6713       */
6714      StatusReasons?: StatusReasonsList;
6715    }
6716    export type ComplianceStatus = "PASSED"|"WARNING"|"FAILED"|"NOT_AVAILABLE"|string;
6717    export interface ContainerDetails {
6718      /**
6719       * The name of the container related to a finding.
6720       */
6721      Name?: NonEmptyString;
6722      /**
6723       * The identifier of the image related to a finding.
6724       */
6725      ImageId?: NonEmptyString;
6726      /**
6727       * The name of the image related to a finding.
6728       */
6729      ImageName?: NonEmptyString;
6730      /**
6731       * Indicates when the container started. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
6732       */
6733      LaunchedAt?: NonEmptyString;
6734    }
6735    export type ControlStatus = "ENABLED"|"DISABLED"|string;
6736    export interface Country {
6737      /**
6738       * The 2-letter ISO 3166 country code for the country.
6739       */
6740      CountryCode?: NonEmptyString;
6741      /**
6742       * The name of the country.
6743       */
6744      CountryName?: NonEmptyString;
6745    }
6746    export interface CreateActionTargetRequest {
6747      /**
6748       * The name of the custom action target. Can contain up to 20 characters.
6749       */
6750      Name: NonEmptyString;
6751      /**
6752       * The description for the custom action target.
6753       */
6754      Description: NonEmptyString;
6755      /**
6756       * The ID for the custom action target. Can contain up to 20 alphanumeric characters.
6757       */
6758      Id: NonEmptyString;
6759    }
6760    export interface CreateActionTargetResponse {
6761      /**
6762       * The ARN for the custom action target.
6763       */
6764      ActionTargetArn: NonEmptyString;
6765    }
6766    export interface CreateInsightRequest {
6767      /**
6768       * The name of the custom insight to create.
6769       */
6770      Name: NonEmptyString;
6771      /**
6772       * 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.
6773       */
6774      Filters: AwsSecurityFindingFilters;
6775      /**
6776       * 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.
6777       */
6778      GroupByAttribute: NonEmptyString;
6779    }
6780    export interface CreateInsightResponse {
6781      /**
6782       * The ARN of the insight created.
6783       */
6784      InsightArn: NonEmptyString;
6785    }
6786    export interface CreateMembersRequest {
6787      /**
6788       * The list of accounts to associate with the Security Hub administrator account. For each account, the list includes the account ID and optionally the email address.
6789       */
6790      AccountDetails: AccountDetailsList;
6791    }
6792    export interface CreateMembersResponse {
6793      /**
6794       * The list of Amazon Web Services accounts that were not processed. For each account, the list includes the account ID and the email address.
6795       */
6796      UnprocessedAccounts?: ResultList;
6797    }
6798    export type CrossAccountMaxResults = number;
6799    export interface CustomDataIdentifiersDetections {
6800      /**
6801       * The total number of occurrences of sensitive data that were detected.
6802       */
6803      Count?: Long;
6804      /**
6805       * The ARN of the custom identifier that was used to detect the sensitive data.
6806       */
6807      Arn?: NonEmptyString;
6808      /**
6809       * he name of the custom identifier that detected the sensitive data.
6810       */
6811      Name?: NonEmptyString;
6812      /**
6813       * Details about the sensitive data that was detected.
6814       */
6815      Occurrences?: Occurrences;
6816    }
6817    export type CustomDataIdentifiersDetectionsList = CustomDataIdentifiersDetections[];
6818    export interface CustomDataIdentifiersResult {
6819      /**
6820       * The list of detected instances of sensitive data.
6821       */
6822      Detections?: CustomDataIdentifiersDetectionsList;
6823      /**
6824       * The total number of occurrences of sensitive data.
6825       */
6826      TotalCount?: Long;
6827    }
6828    export interface Cvss {
6829      /**
6830       * The version of CVSS for the CVSS score.
6831       */
6832      Version?: NonEmptyString;
6833      /**
6834       * The base CVSS score.
6835       */
6836      BaseScore?: Double;
6837      /**
6838       * The base scoring vector for the CVSS score.
6839       */
6840      BaseVector?: NonEmptyString;
6841    }
6842    export type CvssList = Cvss[];
6843    export interface DataClassificationDetails {
6844      /**
6845       * The path to the folder or file that contains the sensitive data.
6846       */
6847      DetailedResultsLocation?: NonEmptyString;
6848      /**
6849       * The details about the sensitive data that was detected on the resource.
6850       */
6851      Result?: ClassificationResult;
6852    }
6853    export interface DateFilter {
6854      /**
6855       * A start date for the date filter.
6856       */
6857      Start?: NonEmptyString;
6858      /**
6859       * An end date for the date filter.
6860       */
6861      End?: NonEmptyString;
6862      /**
6863       * A date range for the date filter.
6864       */
6865      DateRange?: DateRange;
6866    }
6867    export type DateFilterList = DateFilter[];
6868    export interface DateRange {
6869      /**
6870       * A date range value for the date filter.
6871       */
6872      Value?: Integer;
6873      /**
6874       * A date range unit for the date filter.
6875       */
6876      Unit?: DateRangeUnit;
6877    }
6878    export type DateRangeUnit = "DAYS"|string;
6879    export interface DeclineInvitationsRequest {
6880      /**
6881       * The list of account IDs for the accounts from which to decline the invitations to Security Hub.
6882       */
6883      AccountIds: AccountIdList;
6884    }
6885    export interface DeclineInvitationsResponse {
6886      /**
6887       * The list of Amazon Web Services accounts that were not processed. For each account, the list includes the account ID and the email address.
6888       */
6889      UnprocessedAccounts?: ResultList;
6890    }
6891    export interface DeleteActionTargetRequest {
6892      /**
6893       * The ARN of the custom action target to delete.
6894       */
6895      ActionTargetArn: NonEmptyString;
6896    }
6897    export interface DeleteActionTargetResponse {
6898      /**
6899       * The ARN of the custom action target that was deleted.
6900       */
6901      ActionTargetArn: NonEmptyString;
6902    }
6903    export interface DeleteInsightRequest {
6904      /**
6905       * The ARN of the insight to delete.
6906       */
6907      InsightArn: NonEmptyString;
6908    }
6909    export interface DeleteInsightResponse {
6910      /**
6911       * The ARN of the insight that was deleted.
6912       */
6913      InsightArn: NonEmptyString;
6914    }
6915    export interface DeleteInvitationsRequest {
6916      /**
6917       * The list of the account IDs that sent the invitations to delete.
6918       */
6919      AccountIds: AccountIdList;
6920    }
6921    export interface DeleteInvitationsResponse {
6922      /**
6923       * The list of Amazon Web Services accounts for which the invitations were not deleted. For each account, the list includes the account ID and the email address.
6924       */
6925      UnprocessedAccounts?: ResultList;
6926    }
6927    export interface DeleteMembersRequest {
6928      /**
6929       * The list of account IDs for the member accounts to delete.
6930       */
6931      AccountIds: AccountIdList;
6932    }
6933    export interface DeleteMembersResponse {
6934      /**
6935       * The list of Amazon Web Services accounts that were not deleted. For each account, the list includes the account ID and the email address.
6936       */
6937      UnprocessedAccounts?: ResultList;
6938    }
6939    export interface DescribeActionTargetsRequest {
6940      /**
6941       * A list of custom action target ARNs for the custom action targets to retrieve.
6942       */
6943      ActionTargetArns?: ArnList;
6944      /**
6945       * 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.
6946       */
6947      NextToken?: NextToken;
6948      /**
6949       * The maximum number of results to return.
6950       */
6951      MaxResults?: MaxResults;
6952    }
6953    export interface DescribeActionTargetsResponse {
6954      /**
6955       * A list of ActionTarget objects. Each object includes the ActionTargetArn, Description, and Name of a custom action target available in Security Hub.
6956       */
6957      ActionTargets: ActionTargetList;
6958      /**
6959       * The pagination token to use to request the next page of results.
6960       */
6961      NextToken?: NextToken;
6962    }
6963    export interface DescribeHubRequest {
6964      /**
6965       * The ARN of the Hub resource to retrieve.
6966       */
6967      HubArn?: NonEmptyString;
6968    }
6969    export interface DescribeHubResponse {
6970      /**
6971       * The ARN of the Hub resource that was retrieved.
6972       */
6973      HubArn?: NonEmptyString;
6974      /**
6975       * The date and time when Security Hub was enabled in the account.
6976       */
6977      SubscribedAt?: NonEmptyString;
6978      /**
6979       * Whether to automatically enable new controls when they are added to standards that are enabled. If set to true, then new controls for enabled standards are enabled automatically. If set to false, then new controls are not enabled.
6980       */
6981      AutoEnableControls?: Boolean;
6982    }
6983    export interface DescribeOrganizationConfigurationRequest {
6984    }
6985    export interface DescribeOrganizationConfigurationResponse {
6986      /**
6987       * Whether to automatically enable Security Hub for new accounts in the organization. If set to true, then Security Hub is enabled for new accounts. If set to false, then new accounts are not added automatically.
6988       */
6989      AutoEnable?: Boolean;
6990      /**
6991       * Whether the maximum number of allowed member accounts are already associated with the Security Hub administrator account.
6992       */
6993      MemberAccountLimitReached?: Boolean;
6994    }
6995    export interface DescribeProductsRequest {
6996      /**
6997       * 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.
6998       */
6999      NextToken?: NextToken;
7000      /**
7001       * The maximum number of results to return.
7002       */
7003      MaxResults?: MaxResults;
7004      /**
7005       * The ARN of the integration to return.
7006       */
7007      ProductArn?: NonEmptyString;
7008    }
7009    export interface DescribeProductsResponse {
7010      /**
7011       * A list of products, including details for each product.
7012       */
7013      Products: ProductsList;
7014      /**
7015       * The pagination token to use to request the next page of results.
7016       */
7017      NextToken?: NextToken;
7018    }
7019    export interface DescribeStandardsControlsRequest {
7020      /**
7021       * 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.
7022       */
7023      StandardsSubscriptionArn: NonEmptyString;
7024      /**
7025       * 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.
7026       */
7027      NextToken?: NextToken;
7028      /**
7029       * The maximum number of security standard controls to return.
7030       */
7031      MaxResults?: MaxResults;
7032    }
7033    export interface DescribeStandardsControlsResponse {
7034      /**
7035       * A list of security standards controls.
7036       */
7037      Controls?: StandardsControls;
7038      /**
7039       * The pagination token to use to request the next page of results.
7040       */
7041      NextToken?: NextToken;
7042    }
7043    export interface DescribeStandardsRequest {
7044      /**
7045       * 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.
7046       */
7047      NextToken?: NextToken;
7048      /**
7049       * The maximum number of standards to return.
7050       */
7051      MaxResults?: MaxResults;
7052    }
7053    export interface DescribeStandardsResponse {
7054      /**
7055       * A list of available standards.
7056       */
7057      Standards?: Standards;
7058      /**
7059       * The pagination token to use to request the next page of results.
7060       */
7061      NextToken?: NextToken;
7062    }
7063    export interface DisableImportFindingsForProductRequest {
7064      /**
7065       * The ARN of the integrated product to disable the integration for.
7066       */
7067      ProductSubscriptionArn: NonEmptyString;
7068    }
7069    export interface DisableImportFindingsForProductResponse {
7070    }
7071    export interface DisableOrganizationAdminAccountRequest {
7072      /**
7073       * The Amazon Web Services account identifier of the Security Hub administrator account.
7074       */
7075      AdminAccountId: NonEmptyString;
7076    }
7077    export interface DisableOrganizationAdminAccountResponse {
7078    }
7079    export interface DisableSecurityHubRequest {
7080    }
7081    export interface DisableSecurityHubResponse {
7082    }
7083    export interface DisassociateFromAdministratorAccountRequest {
7084    }
7085    export interface DisassociateFromAdministratorAccountResponse {
7086    }
7087    export interface DisassociateFromMasterAccountRequest {
7088    }
7089    export interface DisassociateFromMasterAccountResponse {
7090    }
7091    export interface DisassociateMembersRequest {
7092      /**
7093       * The account IDs of the member accounts to disassociate from the administrator account.
7094       */
7095      AccountIds: AccountIdList;
7096    }
7097    export interface DisassociateMembersResponse {
7098    }
7099    export interface DnsRequestAction {
7100      /**
7101       * The DNS domain that is associated with the DNS request.
7102       */
7103      Domain?: NonEmptyString;
7104      /**
7105       * The protocol that was used for the DNS request.
7106       */
7107      Protocol?: NonEmptyString;
7108      /**
7109       * Indicates whether the DNS request was blocked.
7110       */
7111      Blocked?: Boolean;
7112    }
7113    export type Double = number;
7114    export interface EnableImportFindingsForProductRequest {
7115      /**
7116       * The ARN of the product to enable the integration for.
7117       */
7118      ProductArn: NonEmptyString;
7119    }
7120    export interface EnableImportFindingsForProductResponse {
7121      /**
7122       * The ARN of your subscription to the product to enable integrations for.
7123       */
7124      ProductSubscriptionArn?: NonEmptyString;
7125    }
7126    export interface EnableOrganizationAdminAccountRequest {
7127      /**
7128       * The Amazon Web Services account identifier of the account to designate as the Security Hub administrator account.
7129       */
7130      AdminAccountId: NonEmptyString;
7131    }
7132    export interface EnableOrganizationAdminAccountResponse {
7133    }
7134    export interface EnableSecurityHubRequest {
7135      /**
7136       * The tags to add to the hub resource when you enable Security Hub.
7137       */
7138      Tags?: TagMap;
7139      /**
7140       * 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.
7141       */
7142      EnableDefaultStandards?: Boolean;
7143    }
7144    export interface EnableSecurityHubResponse {
7145    }
7146    export type FieldMap = {[key: string]: NonEmptyString};
7147    export interface FindingProviderFields {
7148      /**
7149       * A finding's 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.
7150       */
7151      Confidence?: RatioScale;
7152      /**
7153       * The level of importance assigned to the resources associated with the finding. A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.
7154       */
7155      Criticality?: RatioScale;
7156      /**
7157       * A list of findings that are related to the current finding.
7158       */
7159      RelatedFindings?: RelatedFindingList;
7160      /**
7161       * The severity of a finding.
7162       */
7163      Severity?: FindingProviderSeverity;
7164      /**
7165       * One or more finding types in the format of namespace/category/classifier that classify a finding. Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications
7166       */
7167      Types?: TypeList;
7168    }
7169    export interface FindingProviderSeverity {
7170      /**
7171       * The severity label assigned to the finding by the finding provider.
7172       */
7173      Label?: SeverityLabel;
7174      /**
7175       * The finding provider's original value for the severity.
7176       */
7177      Original?: NonEmptyString;
7178    }
7179    export interface GeoLocation {
7180      /**
7181       * The longitude of the location.
7182       */
7183      Lon?: Double;
7184      /**
7185       * The latitude of the location.
7186       */
7187      Lat?: Double;
7188    }
7189    export interface GetAdministratorAccountRequest {
7190    }
7191    export interface GetAdministratorAccountResponse {
7192      Administrator?: Invitation;
7193    }
7194    export interface GetEnabledStandardsRequest {
7195      /**
7196       * The list of the standards subscription ARNs for the standards to retrieve.
7197       */
7198      StandardsSubscriptionArns?: StandardsSubscriptionArns;
7199      /**
7200       * 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.
7201       */
7202      NextToken?: NextToken;
7203      /**
7204       * The maximum number of results to return in the response.
7205       */
7206      MaxResults?: MaxResults;
7207    }
7208    export interface GetEnabledStandardsResponse {
7209      /**
7210       * The list of StandardsSubscriptions objects that include information about the enabled standards.
7211       */
7212      StandardsSubscriptions?: StandardsSubscriptions;
7213      /**
7214       * The pagination token to use to request the next page of results.
7215       */
7216      NextToken?: NextToken;
7217    }
7218    export interface GetFindingsRequest {
7219      /**
7220       * 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.
7221       */
7222      Filters?: AwsSecurityFindingFilters;
7223      /**
7224       * The finding attributes used to sort the list of returned findings.
7225       */
7226      SortCriteria?: SortCriteria;
7227      /**
7228       * 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.
7229       */
7230      NextToken?: NextToken;
7231      /**
7232       * The maximum number of findings to return.
7233       */
7234      MaxResults?: MaxResults;
7235    }
7236    export interface GetFindingsResponse {
7237      /**
7238       * The findings that matched the filters specified in the request.
7239       */
7240      Findings: AwsSecurityFindingList;
7241      /**
7242       * The pagination token to use to request the next page of results.
7243       */
7244      NextToken?: NextToken;
7245    }
7246    export interface GetInsightResultsRequest {
7247      /**
7248       * The ARN of the insight for which to return results.
7249       */
7250      InsightArn: NonEmptyString;
7251    }
7252    export interface GetInsightResultsResponse {
7253      /**
7254       * The insight results returned by the operation.
7255       */
7256      InsightResults: InsightResults;
7257    }
7258    export interface GetInsightsRequest {
7259      /**
7260       * 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.
7261       */
7262      InsightArns?: ArnList;
7263      /**
7264       * 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.
7265       */
7266      NextToken?: NextToken;
7267      /**
7268       * The maximum number of items to return in the response.
7269       */
7270      MaxResults?: MaxResults;
7271    }
7272    export interface GetInsightsResponse {
7273      /**
7274       * The insights returned by the operation.
7275       */
7276      Insights: InsightList;
7277      /**
7278       * The pagination token to use to request the next page of results.
7279       */
7280      NextToken?: NextToken;
7281    }
7282    export interface GetInvitationsCountRequest {
7283    }
7284    export interface GetInvitationsCountResponse {
7285      /**
7286       * The number of all membership invitations sent to this Security Hub member account, not including the currently accepted invitation.
7287       */
7288      InvitationsCount?: Integer;
7289    }
7290    export interface GetMasterAccountRequest {
7291    }
7292    export interface GetMasterAccountResponse {
7293      /**
7294       * A list of details about the Security Hub administrator account for the current member account. 
7295       */
7296      Master?: Invitation;
7297    }
7298    export interface GetMembersRequest {
7299      /**
7300       * The list of account IDs for the Security Hub member accounts to return the details for. 
7301       */
7302      AccountIds: AccountIdList;
7303    }
7304    export interface GetMembersResponse {
7305      /**
7306       * The list of details about the Security Hub member accounts.
7307       */
7308      Members?: MemberList;
7309      /**
7310       * The list of Amazon Web Services accounts that could not be processed. For each account, the list includes the account ID and the email address.
7311       */
7312      UnprocessedAccounts?: ResultList;
7313    }
7314    export interface IcmpTypeCode {
7315      /**
7316       * The ICMP code for which to deny or allow access. To deny or allow all codes, use the value -1.
7317       */
7318      Code?: Integer;
7319      /**
7320       * The ICMP type for which to deny or allow access. To deny or allow all types, use the value -1.
7321       */
7322      Type?: Integer;
7323    }
7324    export interface ImportFindingsError {
7325      /**
7326       * The identifier of the finding that could not be updated.
7327       */
7328      Id: NonEmptyString;
7329      /**
7330       * The code of the error returned by the BatchImportFindings operation.
7331       */
7332      ErrorCode: NonEmptyString;
7333      /**
7334       * The message of the error returned by the BatchImportFindings operation.
7335       */
7336      ErrorMessage: NonEmptyString;
7337    }
7338    export type ImportFindingsErrorList = ImportFindingsError[];
7339    export interface Insight {
7340      /**
7341       * The ARN of a Security Hub insight.
7342       */
7343      InsightArn: NonEmptyString;
7344      /**
7345       * The name of a Security Hub insight.
7346       */
7347      Name: NonEmptyString;
7348      /**
7349       * 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.
7350       */
7351      Filters: AwsSecurityFindingFilters;
7352      /**
7353       * The grouping attribute for the insight's findings. Indicates how to group the matching findings, and 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.
7354       */
7355      GroupByAttribute: NonEmptyString;
7356    }
7357    export type InsightList = Insight[];
7358    export interface InsightResultValue {
7359      /**
7360       * The value of the attribute that the findings are grouped by for the insight whose results are returned by the GetInsightResults operation.
7361       */
7362      GroupByAttributeValue: NonEmptyString;
7363      /**
7364       * The number of findings returned for each GroupByAttributeValue.
7365       */
7366      Count: Integer;
7367    }
7368    export type InsightResultValueList = InsightResultValue[];
7369    export interface InsightResults {
7370      /**
7371       * The ARN of the insight whose results are returned by the GetInsightResults operation.
7372       */
7373      InsightArn: NonEmptyString;
7374      /**
7375       * The attribute that the findings are grouped by for the insight whose results are returned by the GetInsightResults operation.
7376       */
7377      GroupByAttribute: NonEmptyString;
7378      /**
7379       * The list of insight result values returned by the GetInsightResults operation.
7380       */
7381      ResultValues: InsightResultValueList;
7382    }
7383    export type Integer = number;
7384    export type IntegrationType = "SEND_FINDINGS_TO_SECURITY_HUB"|"RECEIVE_FINDINGS_FROM_SECURITY_HUB"|"UPDATE_FINDINGS_IN_SECURITY_HUB"|string;
7385    export type IntegrationTypeList = IntegrationType[];
7386    export interface Invitation {
7387      /**
7388       * The account ID of the Security Hub administrator account that the invitation was sent from.
7389       */
7390      AccountId?: AccountId;
7391      /**
7392       * The ID of the invitation sent to the member account.
7393       */
7394      InvitationId?: NonEmptyString;
7395      /**
7396       * The timestamp of when the invitation was sent.
7397       */
7398      InvitedAt?: Timestamp;
7399      /**
7400       * The current status of the association between the member and administrator accounts.
7401       */
7402      MemberStatus?: NonEmptyString;
7403    }
7404    export type InvitationList = Invitation[];
7405    export interface InviteMembersRequest {
7406      /**
7407       * The list of account IDs of the Amazon Web Services accounts to invite to Security Hub as members. 
7408       */
7409      AccountIds: AccountIdList;
7410    }
7411    export interface InviteMembersResponse {
7412      /**
7413       * The list of Amazon Web Services accounts that could not be processed. For each account, the list includes the account ID and the email address.
7414       */
7415      UnprocessedAccounts?: ResultList;
7416    }
7417    export interface IpFilter {
7418      /**
7419       * A finding's CIDR value.
7420       */
7421      Cidr?: NonEmptyString;
7422    }
7423    export type IpFilterList = IpFilter[];
7424    export interface IpOrganizationDetails {
7425      /**
7426       * The Autonomous System Number (ASN) of the internet provider
7427       */
7428      Asn?: Integer;
7429      /**
7430       * The name of the organization that registered the ASN.
7431       */
7432      AsnOrg?: NonEmptyString;
7433      /**
7434       * The ISP information for the internet provider.
7435       */
7436      Isp?: NonEmptyString;
7437      /**
7438       * The name of the internet provider.
7439       */
7440      Org?: NonEmptyString;
7441    }
7442    export interface Ipv6CidrBlockAssociation {
7443      /**
7444       * The association ID for the IPv6 CIDR block.
7445       */
7446      AssociationId?: NonEmptyString;
7447      /**
7448       * The IPv6 CIDR block.
7449       */
7450      Ipv6CidrBlock?: NonEmptyString;
7451      /**
7452       * Information about the state of the CIDR block.
7453       */
7454      CidrBlockState?: NonEmptyString;
7455    }
7456    export type Ipv6CidrBlockAssociationList = Ipv6CidrBlockAssociation[];
7457    export interface KeywordFilter {
7458      /**
7459       * A value for the keyword.
7460       */
7461      Value?: NonEmptyString;
7462    }
7463    export type KeywordFilterList = KeywordFilter[];
7464    export interface ListEnabledProductsForImportRequest {
7465      /**
7466       * 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.
7467       */
7468      NextToken?: NextToken;
7469      /**
7470       * The maximum number of items to return in the response.
7471       */
7472      MaxResults?: MaxResults;
7473    }
7474    export interface ListEnabledProductsForImportResponse {
7475      /**
7476       * The list of ARNs for the resources that represent your subscriptions to products. 
7477       */
7478      ProductSubscriptions?: ProductSubscriptionArnList;
7479      /**
7480       * The pagination token to use to request the next page of results.
7481       */
7482      NextToken?: NextToken;
7483    }
7484    export interface ListInvitationsRequest {
7485      /**
7486       * The maximum number of items to return in the response. 
7487       */
7488      MaxResults?: CrossAccountMaxResults;
7489      /**
7490       * 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.
7491       */
7492      NextToken?: NextToken;
7493    }
7494    export interface ListInvitationsResponse {
7495      /**
7496       * The details of the invitations returned by the operation.
7497       */
7498      Invitations?: InvitationList;
7499      /**
7500       * The pagination token to use to request the next page of results.
7501       */
7502      NextToken?: NonEmptyString;
7503    }
7504    export interface ListMembersRequest {
7505      /**
7506       * Specifies which member accounts to include in the response based on their relationship status with the administrator account. The default value is TRUE. If OnlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the administrator account is set to ENABLED. If OnlyAssociated is set to FALSE, the response includes all existing member accounts. 
7507       */
7508      OnlyAssociated?: Boolean;
7509      /**
7510       * The maximum number of items to return in the response. 
7511       */
7512      MaxResults?: CrossAccountMaxResults;
7513      /**
7514       * 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.
7515       */
7516      NextToken?: NextToken;
7517    }
7518    export interface ListMembersResponse {
7519      /**
7520       * Member details returned by the operation.
7521       */
7522      Members?: MemberList;
7523      /**
7524       * The pagination token to use to request the next page of results.
7525       */
7526      NextToken?: NonEmptyString;
7527    }
7528    export interface ListOrganizationAdminAccountsRequest {
7529      /**
7530       * The maximum number of items to return in the response.
7531       */
7532      MaxResults?: AdminsMaxResults;
7533      /**
7534       * 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. 
7535       */
7536      NextToken?: NextToken;
7537    }
7538    export interface ListOrganizationAdminAccountsResponse {
7539      /**
7540       * The list of Security Hub administrator accounts.
7541       */
7542      AdminAccounts?: AdminAccounts;
7543      /**
7544       * The pagination token to use to request the next page of results.
7545       */
7546      NextToken?: NextToken;
7547    }
7548    export interface ListTagsForResourceRequest {
7549      /**
7550       * The ARN of the resource to retrieve tags for.
7551       */
7552      ResourceArn: ResourceArn;
7553    }
7554    export interface ListTagsForResourceResponse {
7555      /**
7556       * The tags associated with a resource.
7557       */
7558      Tags?: TagMap;
7559    }
7560    export interface LoadBalancerState {
7561      /**
7562       * The state code. The initial state of the load balancer is provisioning. After the load balancer is fully set up and ready to route traffic, its state is active. If the load balancer could not be set up, its state is failed. 
7563       */
7564      Code?: NonEmptyString;
7565      /**
7566       * A description of the state.
7567       */
7568      Reason?: NonEmptyString;
7569    }
7570    export type Long = number;
7571    export interface Malware {
7572      /**
7573       * The name of the malware that was observed.
7574       */
7575      Name: NonEmptyString;
7576      /**
7577       * The type of the malware that was observed.
7578       */
7579      Type?: MalwareType;
7580      /**
7581       * The file system path of the malware that was observed.
7582       */
7583      Path?: NonEmptyString;
7584      /**
7585       * The state of the malware that was observed.
7586       */
7587      State?: MalwareState;
7588    }
7589    export type MalwareList = Malware[];
7590    export type MalwareState = "OBSERVED"|"REMOVAL_FAILED"|"REMOVED"|string;
7591    export type MalwareType = "ADWARE"|"BLENDED_THREAT"|"BOTNET_AGENT"|"COIN_MINER"|"EXPLOIT_KIT"|"KEYLOGGER"|"MACRO"|"POTENTIALLY_UNWANTED"|"SPYWARE"|"RANSOMWARE"|"REMOTE_ACCESS"|"ROOTKIT"|"TROJAN"|"VIRUS"|"WORM"|string;
7592    export interface MapFilter {
7593      /**
7594       * The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.
7595       */
7596      Key?: NonEmptyString;
7597      /**
7598       * The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there is no match.
7599       */
7600      Value?: NonEmptyString;
7601      /**
7602       * The condition to apply to the key value when querying for findings with a map filter. To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the tag Department. To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that do not have the value Finance for the tag Department.  EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters.  NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same field.
7603       */
7604      Comparison?: MapFilterComparison;
7605    }
7606    export type MapFilterComparison = "EQUALS"|"NOT_EQUALS"|string;
7607    export type MapFilterList = MapFilter[];
7608    export type MaxResults = number;
7609    export interface Member {
7610      /**
7611       * The Amazon Web Services account ID of the member account.
7612       */
7613      AccountId?: AccountId;
7614      /**
7615       * The email address of the member account.
7616       */
7617      Email?: NonEmptyString;
7618      /**
7619       * This is replaced by AdministratorID. The Amazon Web Services account ID of the Security Hub administrator account associated with this member account.
7620       */
7621      MasterId?: NonEmptyString;
7622      /**
7623       * The Amazon Web Services account ID of the Security Hub administrator account associated with this member account.
7624       */
7625      AdministratorId?: NonEmptyString;
7626      /**
7627       * The status of the relationship between the member account and its administrator account.  The status can have one of the following values:    CREATED - Indicates that the administrator account added the member account, but has not yet invited the member account.    INVITED - Indicates that the administrator account invited the member account. The member account has not yet responded to the invitation.    ENABLED - Indicates that the member account is currently active. For manually invited member accounts, indicates that the member account accepted the invitation.    REMOVED - Indicates that the administrator account disassociated the member account.    RESIGNED - Indicates that the member account disassociated themselves from the administrator account.    DELETED - Indicates that the administrator account deleted the member account.    ACCOUNT_SUSPENDED - Indicates that an organization account was suspended from Amazon Web Services at the same time that the administrator account tried to enable the organization account as a member account.  
7628       */
7629      MemberStatus?: NonEmptyString;
7630      /**
7631       * A timestamp for the date and time when the invitation was sent to the member account.
7632       */
7633      InvitedAt?: Timestamp;
7634      /**
7635       * The timestamp for the date and time when the member account was updated.
7636       */
7637      UpdatedAt?: Timestamp;
7638    }
7639    export type MemberList = Member[];
7640    export interface Network {
7641      /**
7642       * The direction of network traffic associated with a finding.
7643       */
7644      Direction?: NetworkDirection;
7645      /**
7646       * The protocol of network-related information about a finding.
7647       */
7648      Protocol?: NonEmptyString;
7649      /**
7650       * The range of open ports that is present on the network.
7651       */
7652      OpenPortRange?: PortRange;
7653      /**
7654       * The source IPv4 address of network-related information about a finding.
7655       */
7656      SourceIpV4?: NonEmptyString;
7657      /**
7658       * The source IPv6 address of network-related information about a finding.
7659       */
7660      SourceIpV6?: NonEmptyString;
7661      /**
7662       * The source port of network-related information about a finding.
7663       */
7664      SourcePort?: Integer;
7665      /**
7666       * The source domain of network-related information about a finding.
7667       */
7668      SourceDomain?: NonEmptyString;
7669      /**
7670       * The source media access control (MAC) address of network-related information about a finding.
7671       */
7672      SourceMac?: NonEmptyString;
7673      /**
7674       * The destination IPv4 address of network-related information about a finding.
7675       */
7676      DestinationIpV4?: NonEmptyString;
7677      /**
7678       * The destination IPv6 address of network-related information about a finding.
7679       */
7680      DestinationIpV6?: NonEmptyString;
7681      /**
7682       * The destination port of network-related information about a finding.
7683       */
7684      DestinationPort?: Integer;
7685      /**
7686       * The destination domain of network-related information about a finding.
7687       */
7688      DestinationDomain?: NonEmptyString;
7689    }
7690    export interface NetworkConnectionAction {
7691      /**
7692       * The direction of the network connection request (IN or OUT).
7693       */
7694      ConnectionDirection?: NonEmptyString;
7695      /**
7696       * Information about the remote IP address that issued the network connection request.
7697       */
7698      RemoteIpDetails?: ActionRemoteIpDetails;
7699      /**
7700       * Information about the port on the remote IP address.
7701       */
7702      RemotePortDetails?: ActionRemotePortDetails;
7703      /**
7704       * Information about the port on the EC2 instance.
7705       */
7706      LocalPortDetails?: ActionLocalPortDetails;
7707      /**
7708       * The protocol used to make the network connection request.
7709       */
7710      Protocol?: NonEmptyString;
7711      /**
7712       * Indicates whether the network connection attempt was blocked.
7713       */
7714      Blocked?: Boolean;
7715    }
7716    export type NetworkDirection = "IN"|"OUT"|string;
7717    export interface NetworkHeader {
7718      /**
7719       * The protocol used for the component.
7720       */
7721      Protocol?: NonEmptyString;
7722      /**
7723       * Information about the destination of the component.
7724       */
7725      Destination?: NetworkPathComponentDetails;
7726      /**
7727       * Information about the origin of the component.
7728       */
7729      Source?: NetworkPathComponentDetails;
7730    }
7731    export interface NetworkPathComponent {
7732      /**
7733       * The identifier of a component in the network path.
7734       */
7735      ComponentId?: NonEmptyString;
7736      /**
7737       * The type of component.
7738       */
7739      ComponentType?: NonEmptyString;
7740      /**
7741       * Information about the component that comes after the current component in the network path.
7742       */
7743      Egress?: NetworkHeader;
7744      /**
7745       * Information about the component that comes before the current node in the network path.
7746       */
7747      Ingress?: NetworkHeader;
7748    }
7749    export interface NetworkPathComponentDetails {
7750      /**
7751       * The IP addresses of the destination.
7752       */
7753      Address?: StringList;
7754      /**
7755       * A list of port ranges for the destination.
7756       */
7757      PortRanges?: PortRangeList;
7758    }
7759    export type NetworkPathList = NetworkPathComponent[];
7760    export type NextToken = string;
7761    export type NonEmptyString = string;
7762    export type NonEmptyStringList = NonEmptyString[];
7763    export interface Note {
7764      /**
7765       * The text of a note.
7766       */
7767      Text: NonEmptyString;
7768      /**
7769       * The principal that created a note.
7770       */
7771      UpdatedBy: NonEmptyString;
7772      /**
7773       * The timestamp of when the note was updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
7774       */
7775      UpdatedAt: NonEmptyString;
7776    }
7777    export interface NoteUpdate {
7778      /**
7779       * The updated note text.
7780       */
7781      Text: NonEmptyString;
7782      /**
7783       * The principal that updated the note.
7784       */
7785      UpdatedBy: NonEmptyString;
7786    }
7787    export interface NumberFilter {
7788      /**
7789       * The greater-than-equal condition to be applied to a single field when querying for findings. 
7790       */
7791      Gte?: Double;
7792      /**
7793       * The less-than-equal condition to be applied to a single field when querying for findings. 
7794       */
7795      Lte?: Double;
7796      /**
7797       * The equal-to condition to be applied to a single field when querying for findings.
7798       */
7799      Eq?: Double;
7800    }
7801    export type NumberFilterList = NumberFilter[];
7802    export interface Occurrences {
7803      /**
7804       * Occurrences of sensitive data detected in a non-binary text file or a Microsoft Word file. Non-binary text files include files such as HTML, XML, JSON, and TXT files.
7805       */
7806      LineRanges?: Ranges;
7807      /**
7808       * Occurrences of sensitive data detected in a binary text file.
7809       */
7810      OffsetRanges?: Ranges;
7811      /**
7812       * Occurrences of sensitive data in an Adobe Portable Document Format (PDF) file.
7813       */
7814      Pages?: Pages;
7815      /**
7816       * Occurrences of sensitive data in an Apache Avro object container or an Apache Parquet file.
7817       */
7818      Records?: Records;
7819      /**
7820       * Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated value (CSV) files, or tab-separated value (TSV) files.
7821       */
7822      Cells?: Cells;
7823    }
7824    export interface Page {
7825      /**
7826       * The page number of the page that contains the sensitive data.
7827       */
7828      PageNumber?: Long;
7829      /**
7830       * An occurrence of sensitive data detected in a non-binary text file or a Microsoft Word file. Non-binary text files include files such as HTML, XML, JSON, and TXT files.
7831       */
7832      LineRange?: Range;
7833      /**
7834       * An occurrence of sensitive data detected in a binary text file.
7835       */
7836      OffsetRange?: Range;
7837    }
7838    export type Pages = Page[];
7839    export type Partition = "aws"|"aws-cn"|"aws-us-gov"|string;
7840    export interface PatchSummary {
7841      /**
7842       * The identifier of the compliance standard that was used to determine the patch compliance status.
7843       */
7844      Id: NonEmptyString;
7845      /**
7846       * The number of patches from the compliance standard that were installed successfully.
7847       */
7848      InstalledCount?: Integer;
7849      /**
7850       * The number of patches that are part of the compliance standard but are not installed. The count includes patches that failed to install.
7851       */
7852      MissingCount?: Integer;
7853      /**
7854       * The number of patches from the compliance standard that failed to install.
7855       */
7856      FailedCount?: Integer;
7857      /**
7858       * The number of installed patches that are not part of the compliance standard.
7859       */
7860      InstalledOtherCount?: Integer;
7861      /**
7862       * The number of patches that are installed but are also on a list of patches that the customer rejected.
7863       */
7864      InstalledRejectedCount?: Integer;
7865      /**
7866       * The number of patches that were applied, but that require the instance to be rebooted in order to be marked as installed.
7867       */
7868      InstalledPendingReboot?: Integer;
7869      /**
7870       * Indicates when the operation started. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
7871       */
7872      OperationStartTime?: NonEmptyString;
7873      /**
7874       * Indicates when the operation completed. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
7875       */
7876      OperationEndTime?: NonEmptyString;
7877      /**
7878       * The reboot option specified for the instance.
7879       */
7880      RebootOption?: NonEmptyString;
7881      /**
7882       * The type of patch operation performed. For Patch Manager, the values are SCAN and INSTALL. 
7883       */
7884      Operation?: NonEmptyString;
7885    }
7886    export interface PortProbeAction {
7887      /**
7888       * Information about the ports affected by the port probe.
7889       */
7890      PortProbeDetails?: PortProbeDetailList;
7891      /**
7892       * Indicates whether the port probe was blocked.
7893       */
7894      Blocked?: Boolean;
7895    }
7896    export interface PortProbeDetail {
7897      /**
7898       * Provides information about the port that was scanned.
7899       */
7900      LocalPortDetails?: ActionLocalPortDetails;
7901      /**
7902       * Provides information about the IP address where the scanned port is located.
7903       */
7904      LocalIpDetails?: ActionLocalIpDetails;
7905      /**
7906       * Provides information about the remote IP address that performed the scan.
7907       */
7908      RemoteIpDetails?: ActionRemoteIpDetails;
7909    }
7910    export type PortProbeDetailList = PortProbeDetail[];
7911    export interface PortRange {
7912      /**
7913       * The first port in the port range.
7914       */
7915      Begin?: Integer;
7916      /**
7917       * The last port in the port range.
7918       */
7919      End?: Integer;
7920    }
7921    export interface PortRangeFromTo {
7922      /**
7923       * The first port in the port range.
7924       */
7925      From?: Integer;
7926      /**
7927       * The last port in the port range.
7928       */
7929      To?: Integer;
7930    }
7931    export type PortRangeList = PortRange[];
7932    export interface ProcessDetails {
7933      /**
7934       * The name of the process.
7935       */
7936      Name?: NonEmptyString;
7937      /**
7938       * The path to the process executable.
7939       */
7940      Path?: NonEmptyString;
7941      /**
7942       * The process ID.
7943       */
7944      Pid?: Integer;
7945      /**
7946       * The parent process ID.
7947       */
7948      ParentPid?: Integer;
7949      /**
7950       * Indicates when the process was launched. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
7951       */
7952      LaunchedAt?: NonEmptyString;
7953      /**
7954       * Indicates when the process was terminated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
7955       */
7956      TerminatedAt?: NonEmptyString;
7957    }
7958    export interface Product {
7959      /**
7960       * The ARN assigned to the product.
7961       */
7962      ProductArn: NonEmptyString;
7963      /**
7964       * The name of the product.
7965       */
7966      ProductName?: NonEmptyString;
7967      /**
7968       * The name of the company that provides the product.
7969       */
7970      CompanyName?: NonEmptyString;
7971      /**
7972       * A description of the product.
7973       */
7974      Description?: NonEmptyString;
7975      /**
7976       * The categories assigned to the product.
7977       */
7978      Categories?: CategoryList;
7979      /**
7980       * The types of integration that the product supports. Available values are the following.    SEND_FINDINGS_TO_SECURITY_HUB - The integration sends findings to Security Hub.    RECEIVE_FINDINGS_FROM_SECURITY_HUB - The integration receives findings from Security Hub.    UPDATE_FINDINGS_IN_SECURITY_HUB - The integration does not send new findings to Security Hub, but does make updates to the findings that it receives from Security Hub.  
7981       */
7982      IntegrationTypes?: IntegrationTypeList;
7983      /**
7984       * For integrations with Amazon Web Services services, the Amazon Web Services Console URL from which to activate the service. For integrations with third-party products, the Marketplace URL from which to subscribe to or purchase the product.
7985       */
7986      MarketplaceUrl?: NonEmptyString;
7987      /**
7988       * The URL to the service or product documentation about the integration with Security Hub, including how to activate the integration.
7989       */
7990      ActivationUrl?: NonEmptyString;
7991      /**
7992       * The resource policy associated with the product.
7993       */
7994      ProductSubscriptionResourcePolicy?: NonEmptyString;
7995    }
7996    export type ProductSubscriptionArnList = NonEmptyString[];
7997    export type ProductsList = Product[];
7998    export interface Range {
7999      /**
8000       * The number of lines (for a line range) or characters (for an offset range) from the beginning of the file to the end of the sensitive data.
8001       */
8002      Start?: Long;
8003      /**
8004       * The number of lines (for a line range) or characters (for an offset range) from the beginning of the file to the end of the sensitive data.
8005       */
8006      End?: Long;
8007      /**
8008       * In the line where the sensitive data starts, the column within the line where the sensitive data starts.
8009       */
8010      StartColumn?: Long;
8011    }
8012    export type Ranges = Range[];
8013    export type RatioScale = number;
8014    export interface Recommendation {
8015      /**
8016       * Describes the recommended steps to take to remediate an issue identified in a finding.
8017       */
8018      Text?: NonEmptyString;
8019      /**
8020       * A URL to a page or site that contains information about how to remediate a finding.
8021       */
8022      Url?: NonEmptyString;
8023    }
8024    export interface Record {
8025      /**
8026       * The path, as a JSONPath expression, to the field in the record that contains the data. If the field name is longer than 20 characters, it is truncated. If the path is longer than 250 characters, it is truncated.
8027       */
8028      JsonPath?: NonEmptyString;
8029      /**
8030       * The record index, starting from 0, for the record that contains the data.
8031       */
8032      RecordIndex?: Long;
8033    }
8034    export type RecordState = "ACTIVE"|"ARCHIVED"|string;
8035    export type Records = Record[];
8036    export interface RelatedFinding {
8037      /**
8038       * The ARN of the product that generated a related finding.
8039       */
8040      ProductArn: NonEmptyString;
8041      /**
8042       * The product-generated identifier for a related finding.
8043       */
8044      Id: NonEmptyString;
8045    }
8046    export type RelatedFindingList = RelatedFinding[];
8047    export type RelatedRequirementsList = NonEmptyString[];
8048    export interface Remediation {
8049      /**
8050       * A recommendation on the steps to take to remediate the issue identified by a finding.
8051       */
8052      Recommendation?: Recommendation;
8053    }
8054    export interface Resource {
8055      /**
8056       * The type of the resource that details are provided for. If possible, set Type to one of the supported resource types. For example, if the resource is an EC2 instance, then set Type to AwsEc2Instance. If the resource does not match any of the provided types, then set Type to Other. 
8057       */
8058      Type: NonEmptyString;
8059      /**
8060       * The canonical identifier for the given resource type.
8061       */
8062      Id: NonEmptyString;
8063      /**
8064       * The canonical Amazon Web Services partition name that the Region is assigned to.
8065       */
8066      Partition?: Partition;
8067      /**
8068       * The canonical Amazon Web Services external Region name where this resource is located.
8069       */
8070      Region?: NonEmptyString;
8071      /**
8072       * Identifies the role of the resource in the finding. A resource is either the actor or target of the finding activity,
8073       */
8074      ResourceRole?: NonEmptyString;
8075      /**
8076       * A list of Amazon Web Services tags associated with a resource at the time the finding was processed.
8077       */
8078      Tags?: FieldMap;
8079      /**
8080       * Contains information about sensitive data that was detected on the resource.
8081       */
8082      DataClassification?: DataClassificationDetails;
8083      /**
8084       * Additional details about the resource related to a finding.
8085       */
8086      Details?: ResourceDetails;
8087    }
8088    export type ResourceArn = string;
8089    export interface ResourceDetails {
8090      /**
8091       * Details for an autoscaling group.
8092       */
8093      AwsAutoScalingAutoScalingGroup?: AwsAutoScalingAutoScalingGroupDetails;
8094      /**
8095       * Details for an CodeBuild project.
8096       */
8097      AwsCodeBuildProject?: AwsCodeBuildProjectDetails;
8098      /**
8099       * Details about a CloudFront distribution.
8100       */
8101      AwsCloudFrontDistribution?: AwsCloudFrontDistributionDetails;
8102      /**
8103       * Details about an EC2 instance related to a finding.
8104       */
8105      AwsEc2Instance?: AwsEc2InstanceDetails;
8106      /**
8107       * Details for an EC2 network interface.
8108       */
8109      AwsEc2NetworkInterface?: AwsEc2NetworkInterfaceDetails;
8110      /**
8111       * Details for an EC2 security group.
8112       */
8113      AwsEc2SecurityGroup?: AwsEc2SecurityGroupDetails;
8114      /**
8115       * Details for an EC2 volume.
8116       */
8117      AwsEc2Volume?: AwsEc2VolumeDetails;
8118      /**
8119       * Details for an EC2 VPC.
8120       */
8121      AwsEc2Vpc?: AwsEc2VpcDetails;
8122      /**
8123       * Details about an Elastic IP address.
8124       */
8125      AwsEc2Eip?: AwsEc2EipDetails;
8126      /**
8127       * Details about a subnet in Amazon EC2.
8128       */
8129      AwsEc2Subnet?: AwsEc2SubnetDetails;
8130      /**
8131       * Details about an EC2 network access control list (ACL).
8132       */
8133      AwsEc2NetworkAcl?: AwsEc2NetworkAclDetails;
8134      /**
8135       * Details about a load balancer.
8136       */
8137      AwsElbv2LoadBalancer?: AwsElbv2LoadBalancerDetails;
8138      /**
8139       * Details about an Elastic Beanstalk environment.
8140       */
8141      AwsElasticBeanstalkEnvironment?: AwsElasticBeanstalkEnvironmentDetails;
8142      /**
8143       * Details for an Elasticsearch domain.
8144       */
8145      AwsElasticsearchDomain?: AwsElasticsearchDomainDetails;
8146      /**
8147       * Details about an S3 bucket related to a finding.
8148       */
8149      AwsS3Bucket?: AwsS3BucketDetails;
8150      /**
8151       * Details about the Amazon S3 Public Access Block configuration for an account.
8152       */
8153      AwsS3AccountPublicAccessBlock?: AwsS3AccountPublicAccessBlockDetails;
8154      /**
8155       * Details about an S3 object related to a finding.
8156       */
8157      AwsS3Object?: AwsS3ObjectDetails;
8158      /**
8159       * Details about a Secrets Manager secret.
8160       */
8161      AwsSecretsManagerSecret?: AwsSecretsManagerSecretDetails;
8162      /**
8163       * Details about an IAM access key related to a finding.
8164       */
8165      AwsIamAccessKey?: AwsIamAccessKeyDetails;
8166      /**
8167       * Details about an IAM user.
8168       */
8169      AwsIamUser?: AwsIamUserDetails;
8170      /**
8171       * Details about an IAM permissions policy.
8172       */
8173      AwsIamPolicy?: AwsIamPolicyDetails;
8174      /**
8175       * Provides information about a version 2 stage for Amazon API Gateway.
8176       */
8177      AwsApiGatewayV2Stage?: AwsApiGatewayV2StageDetails;
8178      /**
8179       * Provides information about a version 2 API in Amazon API Gateway.
8180       */
8181      AwsApiGatewayV2Api?: AwsApiGatewayV2ApiDetails;
8182      /**
8183       * Details about a DynamoDB table.
8184       */
8185      AwsDynamoDbTable?: AwsDynamoDbTableDetails;
8186      /**
8187       * Provides information about a version 1 Amazon API Gateway stage.
8188       */
8189      AwsApiGatewayStage?: AwsApiGatewayStageDetails;
8190      /**
8191       * Provides information about a REST API in version 1 of Amazon API Gateway.
8192       */
8193      AwsApiGatewayRestApi?: AwsApiGatewayRestApiDetails;
8194      /**
8195       * Provides details about a CloudTrail trail.
8196       */
8197      AwsCloudTrailTrail?: AwsCloudTrailTrailDetails;
8198      /**
8199       * Provides information about the state of a patch on an instance based on the patch baseline that was used to patch the instance.
8200       */
8201      AwsSsmPatchCompliance?: AwsSsmPatchComplianceDetails;
8202      /**
8203       * Provides details about an Certificate Manager certificate.
8204       */
8205      AwsCertificateManagerCertificate?: AwsCertificateManagerCertificateDetails;
8206      /**
8207       * Contains details about an Amazon Redshift cluster.
8208       */
8209      AwsRedshiftCluster?: AwsRedshiftClusterDetails;
8210      /**
8211       * contains details about a Classic Load Balancer.
8212       */
8213      AwsElbLoadBalancer?: AwsElbLoadBalancerDetails;
8214      /**
8215       * Contains details about an IAM group.
8216       */
8217      AwsIamGroup?: AwsIamGroupDetails;
8218      /**
8219       * Details about an IAM role.
8220       */
8221      AwsIamRole?: AwsIamRoleDetails;
8222      /**
8223       * Details about an KMS key.
8224       */
8225      AwsKmsKey?: AwsKmsKeyDetails;
8226      /**
8227       * Details about a Lambda function.
8228       */
8229      AwsLambdaFunction?: AwsLambdaFunctionDetails;
8230      /**
8231       * Details for a Lambda layer version.
8232       */
8233      AwsLambdaLayerVersion?: AwsLambdaLayerVersionDetails;
8234      /**
8235       * Details about an Amazon RDS database instance.
8236       */
8237      AwsRdsDbInstance?: AwsRdsDbInstanceDetails;
8238      /**
8239       * Details about an SNS topic.
8240       */
8241      AwsSnsTopic?: AwsSnsTopicDetails;
8242      /**
8243       * Details about an SQS queue.
8244       */
8245      AwsSqsQueue?: AwsSqsQueueDetails;
8246      /**
8247       * Details for an WAF WebACL.
8248       */
8249      AwsWafWebAcl?: AwsWafWebAclDetails;
8250      /**
8251       * Details about an Amazon RDS database snapshot.
8252       */
8253      AwsRdsDbSnapshot?: AwsRdsDbSnapshotDetails;
8254      /**
8255       * Details about an Amazon RDS database cluster snapshot.
8256       */
8257      AwsRdsDbClusterSnapshot?: AwsRdsDbClusterSnapshotDetails;
8258      /**
8259       * Details about an Amazon RDS database cluster.
8260       */
8261      AwsRdsDbCluster?: AwsRdsDbClusterDetails;
8262      /**
8263       * Details about an ECS cluster.
8264       */
8265      AwsEcsCluster?: AwsEcsClusterDetails;
8266      /**
8267       * Details about a task definition. A task definition describes the container and volume definitions of an Amazon Elastic Container Service task.
8268       */
8269      AwsEcsTaskDefinition?: AwsEcsTaskDefinitionDetails;
8270      /**
8271       * Details about a container resource related to a finding.
8272       */
8273      Container?: ContainerDetails;
8274      /**
8275       * Details about a resource that are not available in a type-specific details object. Use the Other object in the following cases.   The type-specific object does not contain all of the fields that you want to populate. In this case, first use the type-specific object to populate those fields. Use the Other object to populate the fields that are missing from the type-specific object.   The resource type does not have a corresponding object. This includes resources for which the type is Other.   
8276       */
8277      Other?: FieldMap;
8278      /**
8279       * Details about an RDS event notification subscription.
8280       */
8281      AwsRdsEventSubscription?: AwsRdsEventSubscriptionDetails;
8282      /**
8283       * Details about a service within an ECS cluster.
8284       */
8285      AwsEcsService?: AwsEcsServiceDetails;
8286    }
8287    export type ResourceList = Resource[];
8288    export interface Result {
8289      /**
8290       * An Amazon Web Services account ID of the account that was not processed.
8291       */
8292      AccountId?: AccountId;
8293      /**
8294       * The reason that the account was not processed.
8295       */
8296      ProcessingResult?: NonEmptyString;
8297    }
8298    export type ResultList = Result[];
8299    export type SecurityGroups = NonEmptyString[];
8300    export interface SensitiveDataDetections {
8301      /**
8302       * The total number of occurrences of sensitive data that were detected.
8303       */
8304      Count?: Long;
8305      /**
8306       * The type of sensitive data that was detected. For example, the type might indicate that the data is an email address.
8307       */
8308      Type?: NonEmptyString;
8309      /**
8310       * Details about the sensitive data that was detected.
8311       */
8312      Occurrences?: Occurrences;
8313    }
8314    export type SensitiveDataDetectionsList = SensitiveDataDetections[];
8315    export interface SensitiveDataResult {
8316      /**
8317       * The category of sensitive data that was detected. For example, the category can indicate that the sensitive data involved credentials, financial information, or personal information.
8318       */
8319      Category?: NonEmptyString;
8320      /**
8321       * The list of detected instances of sensitive data.
8322       */
8323      Detections?: SensitiveDataDetectionsList;
8324      /**
8325       * The total number of occurrences of sensitive data.
8326       */
8327      TotalCount?: Long;
8328    }
8329    export type SensitiveDataResultList = SensitiveDataResult[];
8330    export interface Severity {
8331      /**
8332       * Deprecated. This attribute is being deprecated. Instead of providing Product, provide Original. The native severity as defined by the Amazon Web Services service or integrated partner product that generated the finding.
8333       */
8334      Product?: Double;
8335      /**
8336       * The severity value of the finding. The allowed values are the following.    INFORMATIONAL - No issue was found.    LOW - The issue does not require action on its own.    MEDIUM - The issue must be addressed but not urgently.    HIGH - The issue must be addressed as a priority.    CRITICAL - The issue must be remediated immediately to avoid it escalating.   If you provide Normalized and do not provide Label, then Label is set automatically as follows.    0 - INFORMATIONAL    1–39 - LOW    40–69 - MEDIUM    70–89 - HIGH    90–100 - CRITICAL   
8337       */
8338      Label?: SeverityLabel;
8339      /**
8340       * Deprecated. The normalized severity of a finding. This attribute is being deprecated. Instead of providing Normalized, provide Label. If you provide Label and do not provide Normalized, then Normalized is set automatically as follows.    INFORMATIONAL - 0    LOW - 1    MEDIUM - 40    HIGH - 70    CRITICAL - 90  
8341       */
8342      Normalized?: Integer;
8343      /**
8344       * The native severity from the finding product that generated the finding.
8345       */
8346      Original?: NonEmptyString;
8347    }
8348    export type SeverityLabel = "INFORMATIONAL"|"LOW"|"MEDIUM"|"HIGH"|"CRITICAL"|string;
8349    export type SeverityRating = "LOW"|"MEDIUM"|"HIGH"|"CRITICAL"|string;
8350    export interface SeverityUpdate {
8351      /**
8352       * The normalized severity for the finding. This attribute is to be deprecated in favor of Label. If you provide Normalized and do not provide Label, Label is set automatically as follows.   0 - INFORMATIONAL    1–39 - LOW    40–69 - MEDIUM    70–89 - HIGH    90–100 - CRITICAL   
8353       */
8354      Normalized?: RatioScale;
8355      /**
8356       * The native severity as defined by the Amazon Web Services service or integrated partner product that generated the finding.
8357       */
8358      Product?: Double;
8359      /**
8360       * The severity value of the finding. The allowed values are the following.    INFORMATIONAL - No issue was found.    LOW - The issue does not require action on its own.    MEDIUM - The issue must be addressed but not urgently.    HIGH - The issue must be addressed as a priority.    CRITICAL - The issue must be remediated immediately to avoid it escalating.  
8361       */
8362      Label?: SeverityLabel;
8363    }
8364    export type SizeBytes = number;
8365    export interface SoftwarePackage {
8366      /**
8367       * The name of the software package.
8368       */
8369      Name?: NonEmptyString;
8370      /**
8371       * The version of the software package.
8372       */
8373      Version?: NonEmptyString;
8374      /**
8375       * The epoch of the software package.
8376       */
8377      Epoch?: NonEmptyString;
8378      /**
8379       * The release of the software package.
8380       */
8381      Release?: NonEmptyString;
8382      /**
8383       * The architecture used for the software package.
8384       */
8385      Architecture?: NonEmptyString;
8386    }
8387    export type SoftwarePackageList = SoftwarePackage[];
8388    export type SortCriteria = SortCriterion[];
8389    export interface SortCriterion {
8390      /**
8391       * The finding attribute used to sort findings.
8392       */
8393      Field?: NonEmptyString;
8394      /**
8395       * The order used to sort findings.
8396       */
8397      SortOrder?: SortOrder;
8398    }
8399    export type SortOrder = "asc"|"desc"|string;
8400    export interface Standard {
8401      /**
8402       * The ARN of a standard.
8403       */
8404      StandardsArn?: NonEmptyString;
8405      /**
8406       * The name of the standard.
8407       */
8408      Name?: NonEmptyString;
8409      /**
8410       * A description of the standard.
8411       */
8412      Description?: NonEmptyString;
8413      /**
8414       * Whether the standard is enabled by default. When Security Hub is enabled from the console, if a standard is enabled by default, the check box for that standard is selected by default. When Security Hub is enabled using the EnableSecurityHub API operation, the standard is enabled by default unless EnableDefaultStandards is set to false.
8415       */
8416      EnabledByDefault?: Boolean;
8417    }
8418    export type Standards = Standard[];
8419    export interface StandardsControl {
8420      /**
8421       * The ARN of the security standard control.
8422       */
8423      StandardsControlArn?: NonEmptyString;
8424      /**
8425       * The current status of the security standard control. Indicates whether the control is enabled or disabled. Security Hub does not check against disabled controls.
8426       */
8427      ControlStatus?: ControlStatus;
8428      /**
8429       * The reason provided for the most recent change in status for the control.
8430       */
8431      DisabledReason?: NonEmptyString;
8432      /**
8433       * The date and time that the status of the security standard control was most recently updated.
8434       */
8435      ControlStatusUpdatedAt?: Timestamp;
8436      /**
8437       * The identifier of the security standard control.
8438       */
8439      ControlId?: NonEmptyString;
8440      /**
8441       * The title of the security standard control.
8442       */
8443      Title?: NonEmptyString;
8444      /**
8445       * The longer description of the security standard control. Provides information about what the control is checking for.
8446       */
8447      Description?: NonEmptyString;
8448      /**
8449       * A link to remediation information for the control in the Security Hub user documentation.
8450       */
8451      RemediationUrl?: NonEmptyString;
8452      /**
8453       * The severity of findings generated from this security standard control. The finding severity is based on an assessment of how easy it would be to compromise Amazon Web Services resources if the issue is detected.
8454       */
8455      SeverityRating?: SeverityRating;
8456      /**
8457       * The list of requirements that are related to this control.
8458       */
8459      RelatedRequirements?: RelatedRequirementsList;
8460    }
8461    export type StandardsControls = StandardsControl[];
8462    export type StandardsInputParameterMap = {[key: string]: NonEmptyString};
8463    export type StandardsStatus = "PENDING"|"READY"|"FAILED"|"DELETING"|"INCOMPLETE"|string;
8464    export interface StandardsSubscription {
8465      /**
8466       * The ARN of a resource that represents your subscription to a supported standard.
8467       */
8468      StandardsSubscriptionArn: NonEmptyString;
8469      /**
8470       * The ARN of a standard.
8471       */
8472      StandardsArn: NonEmptyString;
8473      /**
8474       * A key-value pair of input for the standard.
8475       */
8476      StandardsInput: StandardsInputParameterMap;
8477      /**
8478       * The status of the standard subscription. The status values are as follows:    PENDING - Standard is in the process of being enabled.    READY - Standard is enabled.    INCOMPLETE - Standard could not be enabled completely. Some controls may not be available.    DELETING - Standard is in the process of being disabled.    FAILED - Standard could not be disabled.  
8479       */
8480      StandardsStatus: StandardsStatus;
8481    }
8482    export type StandardsSubscriptionArns = NonEmptyString[];
8483    export interface StandardsSubscriptionRequest {
8484      /**
8485       * The ARN of the standard that you want to enable. To view the list of available standards and their ARNs, use the DescribeStandards operation.
8486       */
8487      StandardsArn: NonEmptyString;
8488      /**
8489       * A key-value pair of input for the standard.
8490       */
8491      StandardsInput?: StandardsInputParameterMap;
8492    }
8493    export type StandardsSubscriptionRequests = StandardsSubscriptionRequest[];
8494    export type StandardsSubscriptions = StandardsSubscription[];
8495    export interface StatusReason {
8496      /**
8497       * A code that represents a reason for the control status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the Security Hub User Guide. 
8498       */
8499      ReasonCode: NonEmptyString;
8500      /**
8501       * The corresponding description for the status reason code.
8502       */
8503      Description?: NonEmptyString;
8504    }
8505    export type StatusReasonsList = StatusReason[];
8506    export interface StringFilter {
8507      /**
8508       * The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub. If you provide security hub as the filter text, then there is no match.
8509       */
8510      Value?: NonEmptyString;
8511      /**
8512       * The condition to apply to a string value when querying for findings. To search for values that contain the filter criteria value, use one of the following comparison operators:   To search for values that exactly match the filter value, use EQUALS. For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only matches findings that have a resource type of AwsEc2SecurityGroup.   To search for values that start with the filter value, use PREFIX. For example, the filter ResourceType PREFIX AwsIam matches findings that have a resource type that starts with AwsIam. Findings with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would all match.    EQUALS and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters. To search for values that do not contain the filter criteria value, use one of the following comparison operators:   To search for values that do not exactly match the filter value, use NOT_EQUALS. For example, the filter ResourceType NOT_EQUALS AwsIamPolicy matches findings that have a resource type other than AwsIamPolicy.   To search for values that do not start with the filter value, use PREFIX_NOT_EQUALS. For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches findings that have a resource type that does not start with AwsIam. Findings with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would all be excluded from the results.    NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters. For filters on the same field, you cannot provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always returns an error, even if the provided filter values would return valid results. You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub first processes the PREFIX filters, then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.  For example, for the following filter, Security Hub first identifies findings that have resource types that start with either AwsIAM or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.    ResourceType PREFIX AwsIam     ResourceType PREFIX AwsEc2     ResourceType NOT_EQUALS AwsIamPolicy     ResourceType NOT_EQUALS AwsEc2NetworkInterface   
8513       */
8514      Comparison?: StringFilterComparison;
8515    }
8516    export type StringFilterComparison = "EQUALS"|"PREFIX"|"NOT_EQUALS"|"PREFIX_NOT_EQUALS"|string;
8517    export type StringFilterList = StringFilter[];
8518    export type StringList = NonEmptyString[];
8519    export type TagKey = string;
8520    export type TagKeyList = TagKey[];
8521    export type TagMap = {[key: string]: TagValue};
8522    export interface TagResourceRequest {
8523      /**
8524       * The ARN of the resource to apply the tags to.
8525       */
8526      ResourceArn: ResourceArn;
8527      /**
8528       * The tags to add to the resource. You can add up to 50 tags at a time. The tag keys can be no longer than 128 characters. The tag values can be no longer than 256 characters.
8529       */
8530      Tags: TagMap;
8531    }
8532    export interface TagResourceResponse {
8533    }
8534    export type TagValue = string;
8535    export interface ThreatIntelIndicator {
8536      /**
8537       * The type of threat intelligence indicator.
8538       */
8539      Type?: ThreatIntelIndicatorType;
8540      /**
8541       * The value of a threat intelligence indicator.
8542       */
8543      Value?: NonEmptyString;
8544      /**
8545       * The category of a threat intelligence indicator.
8546       */
8547      Category?: ThreatIntelIndicatorCategory;
8548      /**
8549       * Indicates when the most recent instance of a threat intelligence indicator was observed. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
8550       */
8551      LastObservedAt?: NonEmptyString;
8552      /**
8553       * The source of the threat intelligence indicator.
8554       */
8555      Source?: NonEmptyString;
8556      /**
8557       * The URL to the page or site where you can get more information about the threat intelligence indicator.
8558       */
8559      SourceUrl?: NonEmptyString;
8560    }
8561    export type ThreatIntelIndicatorCategory = "BACKDOOR"|"CARD_STEALER"|"COMMAND_AND_CONTROL"|"DROP_SITE"|"EXPLOIT_SITE"|"KEYLOGGER"|string;
8562    export type ThreatIntelIndicatorList = ThreatIntelIndicator[];
8563    export type ThreatIntelIndicatorType = "DOMAIN"|"EMAIL_ADDRESS"|"HASH_MD5"|"HASH_SHA1"|"HASH_SHA256"|"HASH_SHA512"|"IPV4_ADDRESS"|"IPV6_ADDRESS"|"MUTEX"|"PROCESS"|"URL"|string;
8564    export type Timestamp = Date;
8565    export type TypeList = NonEmptyString[];
8566    export interface UntagResourceRequest {
8567      /**
8568       * The ARN of the resource to remove the tags from.
8569       */
8570      ResourceArn: ResourceArn;
8571      /**
8572       * The tag keys associated with the tags to remove from the resource. You can remove up to 50 tags at a time.
8573       */
8574      TagKeys: TagKeyList;
8575    }
8576    export interface UntagResourceResponse {
8577    }
8578    export interface UpdateActionTargetRequest {
8579      /**
8580       * The ARN of the custom action target to update.
8581       */
8582      ActionTargetArn: NonEmptyString;
8583      /**
8584       * The updated name of the custom action target.
8585       */
8586      Name?: NonEmptyString;
8587      /**
8588       * The updated description for the custom action target.
8589       */
8590      Description?: NonEmptyString;
8591    }
8592    export interface UpdateActionTargetResponse {
8593    }
8594    export interface UpdateFindingsRequest {
8595      /**
8596       * A collection of attributes that specify which findings you want to update.
8597       */
8598      Filters: AwsSecurityFindingFilters;
8599      /**
8600       * The updated note for the finding.
8601       */
8602      Note?: NoteUpdate;
8603      /**
8604       * The updated record state for the finding.
8605       */
8606      RecordState?: RecordState;
8607    }
8608    export interface UpdateFindingsResponse {
8609    }
8610    export interface UpdateInsightRequest {
8611      /**
8612       * The ARN of the insight that you want to update.
8613       */
8614      InsightArn: NonEmptyString;
8615      /**
8616       * The updated name for the insight.
8617       */
8618      Name?: NonEmptyString;
8619      /**
8620       * The updated filters that define this insight.
8621       */
8622      Filters?: AwsSecurityFindingFilters;
8623      /**
8624       * The updated GroupBy attribute that defines this insight.
8625       */
8626      GroupByAttribute?: NonEmptyString;
8627    }
8628    export interface UpdateInsightResponse {
8629    }
8630    export interface UpdateOrganizationConfigurationRequest {
8631      /**
8632       * 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.
8633       */
8634      AutoEnable: Boolean;
8635    }
8636    export interface UpdateOrganizationConfigurationResponse {
8637    }
8638    export interface UpdateSecurityHubConfigurationRequest {
8639      /**
8640       * 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. 
8641       */
8642      AutoEnableControls?: Boolean;
8643    }
8644    export interface UpdateSecurityHubConfigurationResponse {
8645    }
8646    export interface UpdateStandardsControlRequest {
8647      /**
8648       * The ARN of the security standard control to enable or disable.
8649       */
8650      StandardsControlArn: NonEmptyString;
8651      /**
8652       * The updated status of the security standard control.
8653       */
8654      ControlStatus?: ControlStatus;
8655      /**
8656       * A description of the reason why you are disabling a security standard control. If you are disabling a control, then this is required.
8657       */
8658      DisabledReason?: NonEmptyString;
8659    }
8660    export interface UpdateStandardsControlResponse {
8661    }
8662    export type VerificationState = "UNKNOWN"|"TRUE_POSITIVE"|"FALSE_POSITIVE"|"BENIGN_POSITIVE"|string;
8663    export interface Vulnerability {
8664      /**
8665       * The identifier of the vulnerability.
8666       */
8667      Id: NonEmptyString;
8668      /**
8669       * List of software packages that have the vulnerability.
8670       */
8671      VulnerablePackages?: SoftwarePackageList;
8672      /**
8673       * CVSS scores from the advisory related to the vulnerability.
8674       */
8675      Cvss?: CvssList;
8676      /**
8677       * List of vulnerabilities that are related to this vulnerability.
8678       */
8679      RelatedVulnerabilities?: StringList;
8680      /**
8681       * Information about the vendor that generates the vulnerability report.
8682       */
8683      Vendor?: VulnerabilityVendor;
8684      /**
8685       * A list of URLs that provide additional information about the vulnerability.
8686       */
8687      ReferenceUrls?: StringList;
8688    }
8689    export type VulnerabilityList = Vulnerability[];
8690    export interface VulnerabilityVendor {
8691      /**
8692       * The name of the vendor.
8693       */
8694      Name: NonEmptyString;
8695      /**
8696       * The URL of the vulnerability advisory.
8697       */
8698      Url?: NonEmptyString;
8699      /**
8700       * The severity that the vendor assigned to the vulnerability.
8701       */
8702      VendorSeverity?: NonEmptyString;
8703      /**
8704       * Indicates when the vulnerability advisory was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
8705       */
8706      VendorCreatedAt?: NonEmptyString;
8707      /**
8708       * Indicates when the vulnerability advisory was last updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.
8709       */
8710      VendorUpdatedAt?: NonEmptyString;
8711    }
8712    export interface WafAction {
8713      /**
8714       * Specifies how you want WAF to respond to requests that match the settings in a rule. Valid settings include the following:    ALLOW - WAF allows requests    BLOCK - WAF blocks requests    COUNT - WAF increments a counter of the requests that match all of the conditions in the rule. WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify COUNT for the default action for a WebACL.  
8715       */
8716      Type?: NonEmptyString;
8717    }
8718    export interface WafExcludedRule {
8719      /**
8720       * The unique identifier for the rule to exclude from the rule group.
8721       */
8722      RuleId?: NonEmptyString;
8723    }
8724    export type WafExcludedRuleList = WafExcludedRule[];
8725    export interface WafOverrideAction {
8726      /**
8727       *  COUNT overrides the action specified by the individual rule within a RuleGroup . If set to NONE, the rule's action takes place.
8728       */
8729      Type?: NonEmptyString;
8730    }
8731    export interface Workflow {
8732      /**
8733       * The status of the investigation into the finding. The allowed values are the following.    NEW - The initial state of a finding, before it is reviewed. Security Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in the following cases:    RecordState changes from ARCHIVED to ACTIVE.    ComplianceStatus changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.      NOTIFIED - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.    SUPPRESSED - The finding will not be reviewed again and will not be acted upon.    RESOLVED - The finding was reviewed and remediated and is now considered resolved.   
8734       */
8735      Status?: WorkflowStatus;
8736    }
8737    export type WorkflowState = "NEW"|"ASSIGNED"|"IN_PROGRESS"|"DEFERRED"|"RESOLVED"|string;
8738    export type WorkflowStatus = "NEW"|"NOTIFIED"|"RESOLVED"|"SUPPRESSED"|string;
8739    export interface WorkflowUpdate {
8740      /**
8741       * The status of the investigation into the finding. The allowed values are the following.    NEW - The initial state of a finding, before it is reviewed. Security Hub also resets WorkFlowStatus from NOTIFIED or RESOLVED to NEW in the following cases:   The record state changes from ARCHIVED to ACTIVE.   The compliance status changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.      NOTIFIED - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.    RESOLVED - The finding was reviewed and remediated and is now considered resolved.    SUPPRESSED - The finding will not be reviewed again and will not be acted upon.  
8742       */
8743      Status?: WorkflowStatus;
8744    }
8745    /**
8746     * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
8747     */
8748    export type apiVersion = "2018-10-26"|"latest"|string;
8749    export interface ClientApiVersions {
8750      /**
8751       * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
8752       */
8753      apiVersion?: apiVersion;
8754    }
8755    export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
8756    /**
8757     * Contains interfaces for use with the SecurityHub client.
8758     */
8759    export import Types = SecurityHub;
8760  }
8761  export = SecurityHub;