@aws-sdk/client-securityhub 3.454.0 → 3.458.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +83 -67
  2. package/dist-cjs/SecurityHub.js +4 -0
  3. package/dist-cjs/commands/GetSecurityControlDefinitionCommand.js +51 -0
  4. package/dist-cjs/commands/UpdateSecurityControlCommand.js +51 -0
  5. package/dist-cjs/commands/index.js +2 -0
  6. package/dist-cjs/models/models_2.js +71 -1
  7. package/dist-cjs/protocols/Aws_restJson1.js +349 -5
  8. package/dist-es/SecurityHub.js +4 -0
  9. package/dist-es/commands/GetSecurityControlDefinitionCommand.js +47 -0
  10. package/dist-es/commands/UpdateSecurityControlCommand.js +47 -0
  11. package/dist-es/commands/index.js +2 -0
  12. package/dist-es/models/models_2.js +69 -0
  13. package/dist-es/protocols/Aws_restJson1.js +343 -3
  14. package/dist-types/SecurityHub.d.ts +14 -0
  15. package/dist-types/SecurityHubClient.d.ts +4 -2
  16. package/dist-types/commands/BatchGetAutomationRulesCommand.d.ts +4 -0
  17. package/dist-types/commands/BatchGetSecurityControlsCommand.d.ts +23 -0
  18. package/dist-types/commands/BatchImportFindingsCommand.d.ts +9 -3
  19. package/dist-types/commands/BatchUpdateAutomationRulesCommand.d.ts +4 -0
  20. package/dist-types/commands/CreateAutomationRuleCommand.d.ts +4 -0
  21. package/dist-types/commands/CreateInsightCommand.d.ts +14 -0
  22. package/dist-types/commands/GetFindingsCommand.d.ts +23 -3
  23. package/dist-types/commands/GetInsightsCommand.d.ts +14 -0
  24. package/dist-types/commands/GetSecurityControlDefinitionCommand.d.ts +158 -0
  25. package/dist-types/commands/ListSecurityControlDefinitionsCommand.d.ts +59 -0
  26. package/dist-types/commands/UpdateFindingsCommand.d.ts +14 -0
  27. package/dist-types/commands/UpdateInsightCommand.d.ts +14 -0
  28. package/dist-types/commands/UpdateSecurityControlCommand.d.ts +118 -0
  29. package/dist-types/commands/index.d.ts +2 -0
  30. package/dist-types/models/models_0.d.ts +15 -1
  31. package/dist-types/models/models_1.d.ts +29 -37
  32. package/dist-types/models/models_2.d.ts +987 -147
  33. package/dist-types/protocols/Aws_restJson1.d.ts +18 -0
  34. package/dist-types/ts3.4/SecurityHub.d.ts +34 -0
  35. package/dist-types/ts3.4/SecurityHubClient.d.ts +12 -0
  36. package/dist-types/ts3.4/commands/GetSecurityControlDefinitionCommand.d.ts +42 -0
  37. package/dist-types/ts3.4/commands/UpdateSecurityControlCommand.d.ts +42 -0
  38. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  39. package/dist-types/ts3.4/models/models_0.d.ts +2 -0
  40. package/dist-types/ts3.4/models/models_1.d.ts +5 -6
  41. package/dist-types/ts3.4/models/models_2.d.ts +361 -15
  42. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +24 -0
  43. package/package.json +3 -3
@@ -1,7 +1,44 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
2
2
  import { AccountDetails, Action, ActionTarget, Adjustment, AdminAccount, AssociationStatus, AutoEnableStandards, AutomationRulesAction, AutomationRulesConfig, AutomationRulesFindingFilters, AutomationRulesMetadata, AwsAmazonMqBrokerDetails, AwsApiGatewayRestApiDetails, AwsApiGatewayStageDetails, AwsApiGatewayV2ApiDetails, AwsApiGatewayV2StageDetails, AwsAppSyncGraphQlApiDetails, AwsAthenaWorkGroupDetails, AwsAutoScalingAutoScalingGroupDetails, AwsAutoScalingLaunchConfigurationDetails, AwsBackupBackupPlanDetails, AwsBackupBackupVaultDetails, AwsBackupRecoveryPointDetails, AwsCertificateManagerCertificateDetails, AwsCloudFormationStackDetails, AwsCloudFrontDistributionDetails, AwsCloudTrailTrailDetails, AwsCloudWatchAlarmDetails, AwsCodeBuildProjectDetails, AwsDmsEndpointDetails, AwsDmsReplicationInstanceDetails, AwsDmsReplicationTaskDetails, AwsDynamoDbTableDetails, AwsEc2EipDetails, AwsEc2InstanceDetails, AwsEc2LaunchTemplateDetails, AwsEc2NetworkAclDetails, AwsEc2NetworkInterfaceDetails, AwsEc2RouteTableDetails, AwsEc2SecurityGroupDetails, AwsEc2SubnetDetails, AwsEc2TransitGatewayDetails, AwsEc2VolumeDetails, AwsEc2VpcDetails, AwsEc2VpcEndpointServiceDetails, AwsEc2VpcPeeringConnectionDetails, AwsEc2VpnConnectionDetails, AwsEcrContainerImageDetails, AwsEcrRepositoryDetails, AwsEcsClusterDetails, AwsEcsContainerDetails, AwsEcsServiceDetails, AwsEcsTaskDefinitionDetails, DateFilter, MapFilter, NoteUpdate, NumberFilter, RelatedFinding, RuleStatus, SeverityLabel, SeverityUpdate, StringFilter, VerificationState, WorkflowStatus, WorkflowUpdate } from "./models_0";
3
- import { AwsEcsTaskDetails, AwsEfsAccessPointDetails, AwsEksClusterDetails, AwsElasticBeanstalkEnvironmentDetails, AwsElasticsearchDomainDetails, AwsElbLoadBalancerDetails, AwsElbv2LoadBalancerDetails, AwsEventSchemasRegistryDetails, AwsEventsEndpointDetails, AwsEventsEventbusDetails, AwsGuardDutyDetectorDetails, AwsIamAccessKeyDetails, AwsIamGroupDetails, AwsIamPolicyDetails, AwsIamRoleDetails, AwsIamUserDetails, AwsKinesisStreamDetails, AwsKmsKeyDetails, AwsLambdaFunctionDetails, AwsLambdaLayerVersionDetails, AwsMskClusterDetails, AwsNetworkFirewallFirewallDetails, AwsNetworkFirewallFirewallPolicyDetails, AwsNetworkFirewallRuleGroupDetails, AwsOpenSearchServiceDomainDetails, AwsRdsDbClusterDetails, AwsRdsDbClusterSnapshotDetails, AwsRdsDbInstanceDetails, AwsRdsDbSecurityGroupDetails, AwsRdsDbSnapshotDetails, AwsRdsEventSubscriptionDetails, AwsRedshiftClusterDetails, AwsRoute53HostedZoneDetails, AwsS3AccountPublicAccessBlockDetails, AwsS3BucketDetails, AwsS3ObjectDetails, AwsSageMakerNotebookInstanceDetails, AwsSecretsManagerSecretDetails, AwsSnsTopicDetails, AwsSqsQueueDetails, AwsSsmPatchComplianceDetails, AwsStepFunctionStateMachineDetails, AwsWafRateBasedRuleDetails, AwsWafRegionalRateBasedRuleDetails, AwsWafRegionalRuleDetails, AwsWafRegionalRuleGroupDetails, AwsWafRegionalWebAclDetails, AwsWafRuleDetails, AwsWafRuleGroupDetails, AwsWafv2ActionAllowDetails, AwsWafv2ActionBlockDetails, AwsWafv2RulesActionDetails, Compliance, DataClassificationDetails, FindingProviderFields, GeneratorDetails, Malware, Network, NetworkPathComponent, Note, PatchSummary, ProcessDetails, RecordState, Remediation } from "./models_1";
3
+ import { AwsEcsTaskDetails, AwsEfsAccessPointDetails, AwsEksClusterDetails, AwsElasticBeanstalkEnvironmentDetails, AwsElasticsearchDomainDetails, AwsElbLoadBalancerDetails, AwsElbv2LoadBalancerDetails, AwsEventSchemasRegistryDetails, AwsEventsEndpointDetails, AwsEventsEventbusDetails, AwsGuardDutyDetectorDetails, AwsIamAccessKeyDetails, AwsIamGroupDetails, AwsIamPolicyDetails, AwsIamRoleDetails, AwsIamUserDetails, AwsKinesisStreamDetails, AwsKmsKeyDetails, AwsLambdaFunctionDetails, AwsLambdaLayerVersionDetails, AwsMskClusterDetails, AwsNetworkFirewallFirewallDetails, AwsNetworkFirewallFirewallPolicyDetails, AwsNetworkFirewallRuleGroupDetails, AwsOpenSearchServiceDomainDetails, AwsRdsDbClusterDetails, AwsRdsDbClusterSnapshotDetails, AwsRdsDbInstanceDetails, AwsRdsDbSecurityGroupDetails, AwsRdsDbSnapshotDetails, AwsRdsEventSubscriptionDetails, AwsRedshiftClusterDetails, AwsRoute53HostedZoneDetails, AwsS3AccountPublicAccessBlockDetails, AwsS3BucketDetails, AwsS3ObjectDetails, AwsSageMakerNotebookInstanceDetails, AwsSecretsManagerSecretDetails, AwsSnsTopicDetails, AwsSqsQueueDetails, AwsSsmPatchComplianceDetails, AwsStepFunctionStateMachineDetails, AwsWafRateBasedRuleDetails, AwsWafRegionalRateBasedRuleDetails, AwsWafRegionalRuleDetails, AwsWafRegionalRuleGroupDetails, AwsWafRegionalWebAclDetails, AwsWafRuleDetails, AwsWafRuleGroupDetails, AwsWafv2ActionAllowDetails, AwsWafv2ActionBlockDetails, AwsWafv2RulesActionCaptchaDetails, AwsWafv2RulesActionCountDetails, Compliance, DataClassificationDetails, FindingProviderFields, GeneratorDetails, Malware, Network, NetworkPathComponent, Note, PatchSummary, ProcessDetails, RecordState, Remediation } from "./models_1";
4
4
  import { SecurityHubServiceException as __BaseException } from "./SecurityHubServiceException";
5
+ /**
6
+ * @public
7
+ * <p>
8
+ * The action that WAF should take on a web request when it matches a rule's statement.
9
+ * Settings at the web ACL level can override the rule action setting.
10
+ * </p>
11
+ */
12
+ export interface AwsWafv2RulesActionDetails {
13
+ /**
14
+ * @public
15
+ * <p>
16
+ * Instructs WAF to allow the web request.
17
+ * </p>
18
+ */
19
+ Allow?: AwsWafv2ActionAllowDetails;
20
+ /**
21
+ * @public
22
+ * <p>
23
+ * Instructs WAF to block the web request.
24
+ * </p>
25
+ */
26
+ Block?: AwsWafv2ActionBlockDetails;
27
+ /**
28
+ * @public
29
+ * <p>
30
+ * Instructs WAF to run a CAPTCHA check against the web request.
31
+ * </p>
32
+ */
33
+ Captcha?: AwsWafv2RulesActionCaptchaDetails;
34
+ /**
35
+ * @public
36
+ * <p>
37
+ * Instructs WAF to count the web request and then continue evaluating the request using the remaining rules in the web ACL.
38
+ * </p>
39
+ */
40
+ Count?: AwsWafv2RulesActionCountDetails;
41
+ }
5
42
  /**
6
43
  * @public
7
44
  * <p>
@@ -1150,7 +1187,7 @@ export interface Resource {
1150
1187
  export interface Severity {
1151
1188
  /**
1152
1189
  * @public
1153
- * <p>Deprecated. This attribute is being deprecated. Instead of providing
1190
+ * <p>Deprecated. This attribute isn't included in findings. Instead of providing
1154
1191
  * <code>Product</code>, provide <code>Original</code>.</p>
1155
1192
  * <p>The native severity as defined by the Amazon Web Services service or integrated partner product that
1156
1193
  * generated the finding.</p>
@@ -1210,7 +1247,7 @@ export interface Severity {
1210
1247
  Label?: SeverityLabel;
1211
1248
  /**
1212
1249
  * @public
1213
- * <p>Deprecated. The normalized severity of a finding. This attribute is being deprecated.
1250
+ * <p>Deprecated. The normalized severity of a finding.
1214
1251
  * Instead of providing <code>Normalized</code>, provide <code>Label</code>.</p>
1215
1252
  * <p>If you provide <code>Label</code> and do not provide <code>Normalized</code>, then
1216
1253
  * <code>Normalized</code> is set automatically as follows.</p>
@@ -2060,9 +2097,8 @@ export interface BooleanFilter {
2060
2097
  }
2061
2098
  /**
2062
2099
  * @public
2063
- * <p>A collection of attributes that are applied to all active Security Hub-aggregated findings and
2064
- * that result in a subset of findings that are included in this insight.</p>
2065
- * <p>You can filter by up to 10 finding attributes. For each attribute, you can provide up to
2100
+ * <p>A collection of filters that are applied to all active findings aggregated by Security Hub.</p>
2101
+ * <p>You can filter by up to ten finding attributes. For each attribute, you can provide up to
2066
2102
  * 20 filter values.</p>
2067
2103
  */
2068
2104
  export interface AwsSecurityFindingFilters {
@@ -2676,6 +2712,37 @@ export interface AwsSecurityFindingFilters {
2676
2712
  * </p>
2677
2713
  */
2678
2714
  ComplianceAssociatedStandardsId?: StringFilter[];
2715
+ /**
2716
+ * @public
2717
+ * <p>
2718
+ * Indicates whether a software vulnerability in your environment has a known exploit. You can filter findings by this
2719
+ * field only if you use Security Hub and Amazon Inspector.
2720
+ * </p>
2721
+ */
2722
+ VulnerabilitiesExploitAvailable?: StringFilter[];
2723
+ /**
2724
+ * @public
2725
+ * <p>
2726
+ * Indicates whether a vulnerability is fixed in a newer version of the affected software packages. You can filter
2727
+ * findings by this field only if you use Security Hub and Amazon Inspector.
2728
+ *
2729
+ * </p>
2730
+ */
2731
+ VulnerabilitiesFixAvailable?: StringFilter[];
2732
+ /**
2733
+ * @public
2734
+ * <p>
2735
+ * The name of a security control parameter.
2736
+ * </p>
2737
+ */
2738
+ ComplianceSecurityControlParametersName?: StringFilter[];
2739
+ /**
2740
+ * @public
2741
+ * <p>
2742
+ * The current value of a security control parameter.
2743
+ * </p>
2744
+ */
2745
+ ComplianceSecurityControlParametersValue?: StringFilter[];
2679
2746
  }
2680
2747
  /**
2681
2748
  * @public
@@ -2950,6 +3017,214 @@ export interface BatchGetSecurityControlsRequest {
2950
3017
  */
2951
3018
  SecurityControlIds: string[] | undefined;
2952
3019
  }
3020
+ /**
3021
+ * @public
3022
+ * <p>
3023
+ * An object that includes the data type of a security control parameter and its current value.
3024
+ * </p>
3025
+ */
3026
+ export type ParameterValue = ParameterValue.BooleanMember | ParameterValue.DoubleMember | ParameterValue.EnumMember | ParameterValue.EnumListMember | ParameterValue.IntegerMember | ParameterValue.IntegerListMember | ParameterValue.StringMember | ParameterValue.StringListMember | ParameterValue.$UnknownMember;
3027
+ /**
3028
+ * @public
3029
+ */
3030
+ export declare namespace ParameterValue {
3031
+ /**
3032
+ * @public
3033
+ * <p>
3034
+ * A control parameter that is an integer.
3035
+ * </p>
3036
+ */
3037
+ interface IntegerMember {
3038
+ Integer: number;
3039
+ IntegerList?: never;
3040
+ Double?: never;
3041
+ String?: never;
3042
+ StringList?: never;
3043
+ Boolean?: never;
3044
+ Enum?: never;
3045
+ EnumList?: never;
3046
+ $unknown?: never;
3047
+ }
3048
+ /**
3049
+ * @public
3050
+ * <p>
3051
+ * A control parameter that is a list of integers.
3052
+ * </p>
3053
+ */
3054
+ interface IntegerListMember {
3055
+ Integer?: never;
3056
+ IntegerList: number[];
3057
+ Double?: never;
3058
+ String?: never;
3059
+ StringList?: never;
3060
+ Boolean?: never;
3061
+ Enum?: never;
3062
+ EnumList?: never;
3063
+ $unknown?: never;
3064
+ }
3065
+ /**
3066
+ * @public
3067
+ * <p>
3068
+ * A control parameter that is a double.
3069
+ * </p>
3070
+ */
3071
+ interface DoubleMember {
3072
+ Integer?: never;
3073
+ IntegerList?: never;
3074
+ Double: number;
3075
+ String?: never;
3076
+ StringList?: never;
3077
+ Boolean?: never;
3078
+ Enum?: never;
3079
+ EnumList?: never;
3080
+ $unknown?: never;
3081
+ }
3082
+ /**
3083
+ * @public
3084
+ * <p>
3085
+ * A control parameter that is a string.
3086
+ * </p>
3087
+ */
3088
+ interface StringMember {
3089
+ Integer?: never;
3090
+ IntegerList?: never;
3091
+ Double?: never;
3092
+ String: string;
3093
+ StringList?: never;
3094
+ Boolean?: never;
3095
+ Enum?: never;
3096
+ EnumList?: never;
3097
+ $unknown?: never;
3098
+ }
3099
+ /**
3100
+ * @public
3101
+ * <p>
3102
+ * A control parameter that is a list of strings.
3103
+ * </p>
3104
+ */
3105
+ interface StringListMember {
3106
+ Integer?: never;
3107
+ IntegerList?: never;
3108
+ Double?: never;
3109
+ String?: never;
3110
+ StringList: string[];
3111
+ Boolean?: never;
3112
+ Enum?: never;
3113
+ EnumList?: never;
3114
+ $unknown?: never;
3115
+ }
3116
+ /**
3117
+ * @public
3118
+ * <p>
3119
+ * A control parameter that is a boolean.
3120
+ * </p>
3121
+ */
3122
+ interface BooleanMember {
3123
+ Integer?: never;
3124
+ IntegerList?: never;
3125
+ Double?: never;
3126
+ String?: never;
3127
+ StringList?: never;
3128
+ Boolean: boolean;
3129
+ Enum?: never;
3130
+ EnumList?: never;
3131
+ $unknown?: never;
3132
+ }
3133
+ /**
3134
+ * @public
3135
+ * <p>
3136
+ * A control parameter that is an enum.
3137
+ * </p>
3138
+ */
3139
+ interface EnumMember {
3140
+ Integer?: never;
3141
+ IntegerList?: never;
3142
+ Double?: never;
3143
+ String?: never;
3144
+ StringList?: never;
3145
+ Boolean?: never;
3146
+ Enum: string;
3147
+ EnumList?: never;
3148
+ $unknown?: never;
3149
+ }
3150
+ /**
3151
+ * @public
3152
+ * <p>
3153
+ * A control parameter that is a list of enums.
3154
+ * </p>
3155
+ */
3156
+ interface EnumListMember {
3157
+ Integer?: never;
3158
+ IntegerList?: never;
3159
+ Double?: never;
3160
+ String?: never;
3161
+ StringList?: never;
3162
+ Boolean?: never;
3163
+ Enum?: never;
3164
+ EnumList: string[];
3165
+ $unknown?: never;
3166
+ }
3167
+ /**
3168
+ * @public
3169
+ */
3170
+ interface $UnknownMember {
3171
+ Integer?: never;
3172
+ IntegerList?: never;
3173
+ Double?: never;
3174
+ String?: never;
3175
+ StringList?: never;
3176
+ Boolean?: never;
3177
+ Enum?: never;
3178
+ EnumList?: never;
3179
+ $unknown: [string, any];
3180
+ }
3181
+ interface Visitor<T> {
3182
+ Integer: (value: number) => T;
3183
+ IntegerList: (value: number[]) => T;
3184
+ Double: (value: number) => T;
3185
+ String: (value: string) => T;
3186
+ StringList: (value: string[]) => T;
3187
+ Boolean: (value: boolean) => T;
3188
+ Enum: (value: string) => T;
3189
+ EnumList: (value: string[]) => T;
3190
+ _: (name: string, value: any) => T;
3191
+ }
3192
+ const visit: <T>(value: ParameterValue, visitor: Visitor<T>) => T;
3193
+ }
3194
+ /**
3195
+ * @public
3196
+ * @enum
3197
+ */
3198
+ export declare const ParameterValueType: {
3199
+ readonly CUSTOM: "CUSTOM";
3200
+ readonly DEFAULT: "DEFAULT";
3201
+ };
3202
+ /**
3203
+ * @public
3204
+ */
3205
+ export type ParameterValueType = (typeof ParameterValueType)[keyof typeof ParameterValueType];
3206
+ /**
3207
+ * @public
3208
+ * <p>
3209
+ * An object that provides the current value of a security control parameter and identifies whether it has been customized.
3210
+ * </p>
3211
+ */
3212
+ export interface ParameterConfiguration {
3213
+ /**
3214
+ * @public
3215
+ * <p>
3216
+ * Identifies whether a control parameter uses a custom user-defined value or the Security Hub default value.
3217
+ * </p>
3218
+ */
3219
+ ValueType: ParameterValueType | undefined;
3220
+ /**
3221
+ * @public
3222
+ * <p>
3223
+ * The current value of a control parameter.
3224
+ * </p>
3225
+ */
3226
+ Value?: ParameterValue;
3227
+ }
2953
3228
  /**
2954
3229
  * @public
2955
3230
  * @enum
@@ -2976,6 +3251,18 @@ export declare const SeverityRating: {
2976
3251
  * @public
2977
3252
  */
2978
3253
  export type SeverityRating = (typeof SeverityRating)[keyof typeof SeverityRating];
3254
+ /**
3255
+ * @public
3256
+ * @enum
3257
+ */
3258
+ export declare const UpdateStatus: {
3259
+ readonly READY: "READY";
3260
+ readonly UPDATING: "UPDATING";
3261
+ };
3262
+ /**
3263
+ * @public
3264
+ */
3265
+ export type UpdateStatus = (typeof UpdateStatus)[keyof typeof UpdateStatus];
2979
3266
  /**
2980
3267
  * @public
2981
3268
  * <p>
@@ -3034,6 +3321,34 @@ export interface SecurityControl {
3034
3321
  * </p>
3035
3322
  */
3036
3323
  SecurityControlStatus: ControlStatus | undefined;
3324
+ /**
3325
+ * @public
3326
+ * <p>
3327
+ * Identifies whether customizable properties of a security control are reflected in Security Hub findings. A status of
3328
+ * <code>READY</code> indicates findings include the current parameter values. A status of <code>UPDATING</code> indicates that
3329
+ * all findings may not include the current parameter values.
3330
+ * </p>
3331
+ */
3332
+ UpdateStatus?: UpdateStatus;
3333
+ /**
3334
+ * @public
3335
+ * <p>
3336
+ * An object that identifies the name of a control parameter, its current value, and whether it has been customized.
3337
+ * </p>
3338
+ */
3339
+ Parameters?: Record<string, ParameterConfiguration>;
3340
+ /**
3341
+ * @public
3342
+ * <p>
3343
+ * The most recent reason for updating the customizable properties of a security control. This differs from the
3344
+ * <code>UpdateReason</code> field of the <a href="https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchUpdateStandardsControlAssociations.html">
3345
+ * <code>BatchUpdateStandardsControlAssociations</code>
3346
+ * </a> API, which tracks the
3347
+ * reason for updating the enablement status of a control. This field accepts alphanumeric
3348
+ * characters in addition to white spaces, dashes, and underscores.
3349
+ * </p>
3350
+ */
3351
+ LastUpdateReason?: string;
3037
3352
  }
3038
3353
  /**
3039
3354
  * @public
@@ -3708,138 +4023,540 @@ export interface BatchUpdateStandardsControlAssociationsResponse {
3708
4023
  }
3709
4024
  /**
3710
4025
  * @public
3711
- * @enum
3712
- */
3713
- export declare const ControlFindingGenerator: {
3714
- readonly SECURITY_CONTROL: "SECURITY_CONTROL";
3715
- readonly STANDARD_CONTROL: "STANDARD_CONTROL";
3716
- };
3717
- /**
3718
- * @public
4026
+ * <p>
4027
+ * The options for customizing a security control parameter with a boolean. For a boolean parameter, the options are
4028
+ * <code>true</code> and <code>false</code>.
4029
+ * </p>
3719
4030
  */
3720
- export type ControlFindingGenerator = (typeof ControlFindingGenerator)[keyof typeof ControlFindingGenerator];
4031
+ export interface BooleanConfigurationOptions {
4032
+ /**
4033
+ * @public
4034
+ * <p>
4035
+ * The Security Hub default value for a boolean parameter.
4036
+ * </p>
4037
+ */
4038
+ DefaultValue?: boolean;
4039
+ }
3721
4040
  /**
3722
4041
  * @public
4042
+ * <p>
4043
+ * The options for customizing a security control parameter that is a double.
4044
+ * </p>
3723
4045
  */
3724
- export interface CreateActionTargetRequest {
4046
+ export interface DoubleConfigurationOptions {
3725
4047
  /**
3726
4048
  * @public
3727
- * <p>The name of the custom action target. Can contain up to 20 characters.</p>
4049
+ * <p>
4050
+ * The Security Hub default value for a control parameter that is a double.
4051
+ * </p>
3728
4052
  */
3729
- Name: string | undefined;
4053
+ DefaultValue?: number;
3730
4054
  /**
3731
4055
  * @public
3732
- * <p>The description for the custom action target.</p>
4056
+ * <p>
4057
+ * The minimum valid value for a control parameter that is a double.
4058
+ * </p>
3733
4059
  */
3734
- Description: string | undefined;
4060
+ Min?: number;
3735
4061
  /**
3736
4062
  * @public
3737
- * <p>The ID for the custom action target. Can contain up to 20 alphanumeric characters.</p>
4063
+ * <p>
4064
+ * The maximum valid value for a control parameter that is a double.
4065
+ * </p>
3738
4066
  */
3739
- Id: string | undefined;
4067
+ Max?: number;
3740
4068
  }
3741
4069
  /**
3742
4070
  * @public
4071
+ * <p>
4072
+ * The options for customizing a security control parameter that is an enum.
4073
+ * </p>
3743
4074
  */
3744
- export interface CreateActionTargetResponse {
4075
+ export interface EnumConfigurationOptions {
3745
4076
  /**
3746
4077
  * @public
3747
- * <p>The Amazon Resource Name (ARN) for the custom action target.</p>
4078
+ * <p>
4079
+ * The Security Hub default value for a control parameter that is an enum.
4080
+ * </p>
3748
4081
  */
3749
- ActionTargetArn: string | undefined;
3750
- }
3751
- /**
3752
- * @public
3753
- * <p>The resource specified in the request conflicts with an existing resource.</p>
3754
- */
3755
- export declare class ResourceConflictException extends __BaseException {
3756
- readonly name: "ResourceConflictException";
3757
- readonly $fault: "client";
3758
- Message?: string;
3759
- Code?: string;
4082
+ DefaultValue?: string;
3760
4083
  /**
3761
- * @internal
4084
+ * @public
4085
+ * <p>
4086
+ * The valid values for a control parameter that is an enum.
4087
+ * </p>
3762
4088
  */
3763
- constructor(opts: __ExceptionOptionType<ResourceConflictException, __BaseException>);
4089
+ AllowedValues?: string[];
3764
4090
  }
3765
4091
  /**
3766
4092
  * @public
4093
+ * <p>
4094
+ * The options for customizing a security control parameter that is a list of enums.
4095
+ * </p>
3767
4096
  */
3768
- export interface CreateAutomationRuleRequest {
4097
+ export interface EnumListConfigurationOptions {
3769
4098
  /**
3770
4099
  * @public
3771
4100
  * <p>
3772
- * User-defined tags that help you label the purpose of a rule.
4101
+ * The Security Hub default value for a control parameter that is a list of enums.
3773
4102
  * </p>
3774
4103
  */
3775
- Tags?: Record<string, string>;
4104
+ DefaultValue?: string[];
3776
4105
  /**
3777
4106
  * @public
3778
4107
  * <p>
3779
- * Whether the rule is active after it is created. If
3780
- * this parameter is equal to <code>ENABLED</code>, Security Hub starts applying the rule to findings
3781
- * and finding updates after the rule is created. To change the value of this
3782
- * parameter after creating a rule, use <a href="https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchUpdateAutomationRules.html">
3783
- * <code>BatchUpdateAutomationRules</code>
3784
- * </a>.
3785
- * </p>
3786
- */
3787
- RuleStatus?: RuleStatus;
3788
- /**
3789
- * @public
3790
- * <p>An integer ranging from 1 to 1000 that represents the order in which the rule action is
3791
- * applied to findings. Security Hub applies rules with lower values for this parameter
3792
- * first. </p>
4108
+ * The maximum number of list items that an enum list control parameter can accept.
4109
+ * </p>
3793
4110
  */
3794
- RuleOrder: number | undefined;
4111
+ MaxItems?: number;
3795
4112
  /**
3796
4113
  * @public
3797
4114
  * <p>
3798
- * The name of the rule.
3799
- * </p>
4115
+ * The valid values for a control parameter that is a list of enums.
4116
+ * </p>
3800
4117
  */
3801
- RuleName: string | undefined;
4118
+ AllowedValues?: string[];
4119
+ }
4120
+ /**
4121
+ * @public
4122
+ * <p>
4123
+ * The options for customizing a security control parameter that is an integer.
4124
+ * </p>
4125
+ */
4126
+ export interface IntegerConfigurationOptions {
3802
4127
  /**
3803
4128
  * @public
3804
4129
  * <p>
3805
- * A description of the rule.
3806
- * </p>
3807
- */
3808
- Description: string | undefined;
3809
- /**
3810
- * @public
3811
- * <p>Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding
3812
- * matches the criteria for multiple rules, and each rule has different actions. If a rule is terminal, Security Hub applies the rule action to a finding that matches
3813
- * the rule criteria and doesn't evaluate other rules for the finding. By default, a rule isn't terminal.
4130
+ * The Security Hub default value for a control parameter that is an integer.
3814
4131
  * </p>
3815
4132
  */
3816
- IsTerminal?: boolean;
4133
+ DefaultValue?: number;
3817
4134
  /**
3818
4135
  * @public
3819
4136
  * <p>
3820
- * A set of ASFF finding field attributes and corresponding expected values that
3821
- * Security Hub uses to filter findings. If a rule is enabled and a finding matches the conditions specified in
3822
- * this parameter, Security Hub applies the rule action to the finding.
3823
- * </p>
4137
+ * The minimum valid value for a control parameter that is an integer.
4138
+ * </p>
3824
4139
  */
3825
- Criteria: AutomationRulesFindingFilters | undefined;
4140
+ Min?: number;
3826
4141
  /**
3827
4142
  * @public
3828
4143
  * <p>
3829
- * One or more actions to update finding fields if a finding matches the conditions
3830
- * specified in <code>Criteria</code>.
3831
- * </p>
4144
+ * The maximum valid value for a control parameter that is an integer.
4145
+ * </p>
3832
4146
  */
3833
- Actions: AutomationRulesAction[] | undefined;
4147
+ Max?: number;
3834
4148
  }
3835
4149
  /**
3836
4150
  * @public
4151
+ * <p>
4152
+ * The options for customizing a security control parameter that is a list of integers.
4153
+ * </p>
3837
4154
  */
3838
- export interface CreateAutomationRuleResponse {
4155
+ export interface IntegerListConfigurationOptions {
3839
4156
  /**
3840
4157
  * @public
3841
4158
  * <p>
3842
- * The Amazon Resource Name (ARN) of the automation rule that you created.
4159
+ * The Security Hub default value for a control parameter that is a list of integers.
4160
+ * </p>
4161
+ */
4162
+ DefaultValue?: number[];
4163
+ /**
4164
+ * @public
4165
+ * <p>
4166
+ * The minimum valid value for a control parameter that is a list of integers.
4167
+ * </p>
4168
+ */
4169
+ Min?: number;
4170
+ /**
4171
+ * @public
4172
+ * <p>
4173
+ * The maximum valid value for a control parameter that is a list of integers.
4174
+ * </p>
4175
+ */
4176
+ Max?: number;
4177
+ /**
4178
+ * @public
4179
+ * <p>
4180
+ * The maximum number of list items that an interger list control parameter can accept.
4181
+ * </p>
4182
+ */
4183
+ MaxItems?: number;
4184
+ }
4185
+ /**
4186
+ * @public
4187
+ * <p>
4188
+ * The options for customizing a security control parameter that is a string.
4189
+ * </p>
4190
+ */
4191
+ export interface StringConfigurationOptions {
4192
+ /**
4193
+ * @public
4194
+ * <p>
4195
+ * The Security Hub default value for a control parameter that is a string.
4196
+ * </p>
4197
+ */
4198
+ DefaultValue?: string;
4199
+ /**
4200
+ * @public
4201
+ * <p>
4202
+ * An RE2 regular expression that Security Hub uses to validate a user-provided control parameter string.
4203
+ * </p>
4204
+ */
4205
+ Re2Expression?: string;
4206
+ /**
4207
+ * @public
4208
+ * <p>
4209
+ * The description of the RE2 regular expression.
4210
+ * </p>
4211
+ */
4212
+ ExpressionDescription?: string;
4213
+ }
4214
+ /**
4215
+ * @public
4216
+ * <p>
4217
+ * The options for customizing a security control parameter that is a list of strings.
4218
+ * </p>
4219
+ */
4220
+ export interface StringListConfigurationOptions {
4221
+ /**
4222
+ * @public
4223
+ * <p>
4224
+ * The Security Hub default value for a control parameter that is a list of strings.
4225
+ * </p>
4226
+ */
4227
+ DefaultValue?: string[];
4228
+ /**
4229
+ * @public
4230
+ * <p>
4231
+ * An RE2 regular expression that Security Hub uses to validate a user-provided list of strings for a control
4232
+ * parameter.
4233
+ * </p>
4234
+ */
4235
+ Re2Expression?: string;
4236
+ /**
4237
+ * @public
4238
+ * <p>
4239
+ * The maximum number of list items that a string list control parameter can accept.
4240
+ * </p>
4241
+ */
4242
+ MaxItems?: number;
4243
+ /**
4244
+ * @public
4245
+ * <p>
4246
+ * The description of the RE2 regular expression.
4247
+ * </p>
4248
+ */
4249
+ ExpressionDescription?: string;
4250
+ }
4251
+ /**
4252
+ * @public
4253
+ * <p>
4254
+ * The options for customizing a security control parameter.
4255
+ * </p>
4256
+ */
4257
+ export type ConfigurationOptions = ConfigurationOptions.BooleanMember | ConfigurationOptions.DoubleMember | ConfigurationOptions.EnumMember | ConfigurationOptions.EnumListMember | ConfigurationOptions.IntegerMember | ConfigurationOptions.IntegerListMember | ConfigurationOptions.StringMember | ConfigurationOptions.StringListMember | ConfigurationOptions.$UnknownMember;
4258
+ /**
4259
+ * @public
4260
+ */
4261
+ export declare namespace ConfigurationOptions {
4262
+ /**
4263
+ * @public
4264
+ * <p>
4265
+ * The options for customizing a security control parameter that is an integer.
4266
+ * </p>
4267
+ */
4268
+ interface IntegerMember {
4269
+ Integer: IntegerConfigurationOptions;
4270
+ IntegerList?: never;
4271
+ Double?: never;
4272
+ String?: never;
4273
+ StringList?: never;
4274
+ Boolean?: never;
4275
+ Enum?: never;
4276
+ EnumList?: never;
4277
+ $unknown?: never;
4278
+ }
4279
+ /**
4280
+ * @public
4281
+ * <p>
4282
+ * The options for customizing a security control parameter that is a list of integers.
4283
+ * </p>
4284
+ */
4285
+ interface IntegerListMember {
4286
+ Integer?: never;
4287
+ IntegerList: IntegerListConfigurationOptions;
4288
+ Double?: never;
4289
+ String?: never;
4290
+ StringList?: never;
4291
+ Boolean?: never;
4292
+ Enum?: never;
4293
+ EnumList?: never;
4294
+ $unknown?: never;
4295
+ }
4296
+ /**
4297
+ * @public
4298
+ * <p>
4299
+ * The options for customizing a security control parameter that is a double.
4300
+ * </p>
4301
+ */
4302
+ interface DoubleMember {
4303
+ Integer?: never;
4304
+ IntegerList?: never;
4305
+ Double: DoubleConfigurationOptions;
4306
+ String?: never;
4307
+ StringList?: never;
4308
+ Boolean?: never;
4309
+ Enum?: never;
4310
+ EnumList?: never;
4311
+ $unknown?: never;
4312
+ }
4313
+ /**
4314
+ * @public
4315
+ * <p>
4316
+ * The options for customizing a security control parameter that is a string data type.
4317
+ * </p>
4318
+ */
4319
+ interface StringMember {
4320
+ Integer?: never;
4321
+ IntegerList?: never;
4322
+ Double?: never;
4323
+ String: StringConfigurationOptions;
4324
+ StringList?: never;
4325
+ Boolean?: never;
4326
+ Enum?: never;
4327
+ EnumList?: never;
4328
+ $unknown?: never;
4329
+ }
4330
+ /**
4331
+ * @public
4332
+ * <p>
4333
+ * The options for customizing a security control parameter that is a list of strings.
4334
+ * </p>
4335
+ */
4336
+ interface StringListMember {
4337
+ Integer?: never;
4338
+ IntegerList?: never;
4339
+ Double?: never;
4340
+ String?: never;
4341
+ StringList: StringListConfigurationOptions;
4342
+ Boolean?: never;
4343
+ Enum?: never;
4344
+ EnumList?: never;
4345
+ $unknown?: never;
4346
+ }
4347
+ /**
4348
+ * @public
4349
+ * <p>
4350
+ * The options for customizing a security control parameter that is a boolean. For a boolean parameter, the options are
4351
+ * <code>true</code> and <code>false</code>.
4352
+ * </p>
4353
+ */
4354
+ interface BooleanMember {
4355
+ Integer?: never;
4356
+ IntegerList?: never;
4357
+ Double?: never;
4358
+ String?: never;
4359
+ StringList?: never;
4360
+ Boolean: BooleanConfigurationOptions;
4361
+ Enum?: never;
4362
+ EnumList?: never;
4363
+ $unknown?: never;
4364
+ }
4365
+ /**
4366
+ * @public
4367
+ * <p>
4368
+ * The options for customizing a security control parameter that is an enum.
4369
+ * </p>
4370
+ */
4371
+ interface EnumMember {
4372
+ Integer?: never;
4373
+ IntegerList?: never;
4374
+ Double?: never;
4375
+ String?: never;
4376
+ StringList?: never;
4377
+ Boolean?: never;
4378
+ Enum: EnumConfigurationOptions;
4379
+ EnumList?: never;
4380
+ $unknown?: never;
4381
+ }
4382
+ /**
4383
+ * @public
4384
+ * <p>
4385
+ * The options for customizing a security control parameter that is a list of enums.
4386
+ * </p>
4387
+ */
4388
+ interface EnumListMember {
4389
+ Integer?: never;
4390
+ IntegerList?: never;
4391
+ Double?: never;
4392
+ String?: never;
4393
+ StringList?: never;
4394
+ Boolean?: never;
4395
+ Enum?: never;
4396
+ EnumList: EnumListConfigurationOptions;
4397
+ $unknown?: never;
4398
+ }
4399
+ /**
4400
+ * @public
4401
+ */
4402
+ interface $UnknownMember {
4403
+ Integer?: never;
4404
+ IntegerList?: never;
4405
+ Double?: never;
4406
+ String?: never;
4407
+ StringList?: never;
4408
+ Boolean?: never;
4409
+ Enum?: never;
4410
+ EnumList?: never;
4411
+ $unknown: [string, any];
4412
+ }
4413
+ interface Visitor<T> {
4414
+ Integer: (value: IntegerConfigurationOptions) => T;
4415
+ IntegerList: (value: IntegerListConfigurationOptions) => T;
4416
+ Double: (value: DoubleConfigurationOptions) => T;
4417
+ String: (value: StringConfigurationOptions) => T;
4418
+ StringList: (value: StringListConfigurationOptions) => T;
4419
+ Boolean: (value: BooleanConfigurationOptions) => T;
4420
+ Enum: (value: EnumConfigurationOptions) => T;
4421
+ EnumList: (value: EnumListConfigurationOptions) => T;
4422
+ _: (name: string, value: any) => T;
4423
+ }
4424
+ const visit: <T>(value: ConfigurationOptions, visitor: Visitor<T>) => T;
4425
+ }
4426
+ /**
4427
+ * @public
4428
+ * @enum
4429
+ */
4430
+ export declare const ControlFindingGenerator: {
4431
+ readonly SECURITY_CONTROL: "SECURITY_CONTROL";
4432
+ readonly STANDARD_CONTROL: "STANDARD_CONTROL";
4433
+ };
4434
+ /**
4435
+ * @public
4436
+ */
4437
+ export type ControlFindingGenerator = (typeof ControlFindingGenerator)[keyof typeof ControlFindingGenerator];
4438
+ /**
4439
+ * @public
4440
+ */
4441
+ export interface CreateActionTargetRequest {
4442
+ /**
4443
+ * @public
4444
+ * <p>The name of the custom action target. Can contain up to 20 characters.</p>
4445
+ */
4446
+ Name: string | undefined;
4447
+ /**
4448
+ * @public
4449
+ * <p>The description for the custom action target.</p>
4450
+ */
4451
+ Description: string | undefined;
4452
+ /**
4453
+ * @public
4454
+ * <p>The ID for the custom action target. Can contain up to 20 alphanumeric characters.</p>
4455
+ */
4456
+ Id: string | undefined;
4457
+ }
4458
+ /**
4459
+ * @public
4460
+ */
4461
+ export interface CreateActionTargetResponse {
4462
+ /**
4463
+ * @public
4464
+ * <p>The Amazon Resource Name (ARN) for the custom action target.</p>
4465
+ */
4466
+ ActionTargetArn: string | undefined;
4467
+ }
4468
+ /**
4469
+ * @public
4470
+ * <p>The resource specified in the request conflicts with an existing resource.</p>
4471
+ */
4472
+ export declare class ResourceConflictException extends __BaseException {
4473
+ readonly name: "ResourceConflictException";
4474
+ readonly $fault: "client";
4475
+ Message?: string;
4476
+ Code?: string;
4477
+ /**
4478
+ * @internal
4479
+ */
4480
+ constructor(opts: __ExceptionOptionType<ResourceConflictException, __BaseException>);
4481
+ }
4482
+ /**
4483
+ * @public
4484
+ */
4485
+ export interface CreateAutomationRuleRequest {
4486
+ /**
4487
+ * @public
4488
+ * <p>
4489
+ * User-defined tags that help you label the purpose of a rule.
4490
+ * </p>
4491
+ */
4492
+ Tags?: Record<string, string>;
4493
+ /**
4494
+ * @public
4495
+ * <p>
4496
+ * Whether the rule is active after it is created. If
4497
+ * this parameter is equal to <code>ENABLED</code>, Security Hub starts applying the rule to findings
4498
+ * and finding updates after the rule is created. To change the value of this
4499
+ * parameter after creating a rule, use <a href="https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchUpdateAutomationRules.html">
4500
+ * <code>BatchUpdateAutomationRules</code>
4501
+ * </a>.
4502
+ * </p>
4503
+ */
4504
+ RuleStatus?: RuleStatus;
4505
+ /**
4506
+ * @public
4507
+ * <p>An integer ranging from 1 to 1000 that represents the order in which the rule action is
4508
+ * applied to findings. Security Hub applies rules with lower values for this parameter
4509
+ * first. </p>
4510
+ */
4511
+ RuleOrder: number | undefined;
4512
+ /**
4513
+ * @public
4514
+ * <p>
4515
+ * The name of the rule.
4516
+ * </p>
4517
+ */
4518
+ RuleName: string | undefined;
4519
+ /**
4520
+ * @public
4521
+ * <p>
4522
+ * A description of the rule.
4523
+ * </p>
4524
+ */
4525
+ Description: string | undefined;
4526
+ /**
4527
+ * @public
4528
+ * <p>Specifies whether a rule is the last to be applied with respect to a finding that matches the rule criteria. This is useful when a finding
4529
+ * matches the criteria for multiple rules, and each rule has different actions. If a rule is terminal, Security Hub applies the rule action to a finding that matches
4530
+ * the rule criteria and doesn't evaluate other rules for the finding. By default, a rule isn't terminal.
4531
+ * </p>
4532
+ */
4533
+ IsTerminal?: boolean;
4534
+ /**
4535
+ * @public
4536
+ * <p>
4537
+ * A set of ASFF finding field attributes and corresponding expected values that
4538
+ * Security Hub uses to filter findings. If a rule is enabled and a finding matches the conditions specified in
4539
+ * this parameter, Security Hub applies the rule action to the finding.
4540
+ * </p>
4541
+ */
4542
+ Criteria: AutomationRulesFindingFilters | undefined;
4543
+ /**
4544
+ * @public
4545
+ * <p>
4546
+ * One or more actions to update finding fields if a finding matches the conditions
4547
+ * specified in <code>Criteria</code>.
4548
+ * </p>
4549
+ */
4550
+ Actions: AutomationRulesAction[] | undefined;
4551
+ }
4552
+ /**
4553
+ * @public
4554
+ */
4555
+ export interface CreateAutomationRuleResponse {
4556
+ /**
4557
+ * @public
4558
+ * <p>
4559
+ * The Amazon Resource Name (ARN) of the automation rule that you created.
3843
4560
  * </p>
3844
4561
  */
3845
4562
  RuleArn?: string;
@@ -3977,6 +4694,17 @@ export interface CreateMembersResponse {
3977
4694
  */
3978
4695
  UnprocessedAccounts?: Result[];
3979
4696
  }
4697
+ /**
4698
+ * @public
4699
+ * @enum
4700
+ */
4701
+ export declare const SecurityControlProperty: {
4702
+ readonly Parameters: "Parameters";
4703
+ };
4704
+ /**
4705
+ * @public
4706
+ */
4707
+ export type SecurityControlProperty = (typeof SecurityControlProperty)[keyof typeof SecurityControlProperty];
3980
4708
  /**
3981
4709
  * @public
3982
4710
  */
@@ -5369,6 +6097,137 @@ export interface GetMembersResponse {
5369
6097
  */
5370
6098
  UnprocessedAccounts?: Result[];
5371
6099
  }
6100
+ /**
6101
+ * @public
6102
+ */
6103
+ export interface GetSecurityControlDefinitionRequest {
6104
+ /**
6105
+ * @public
6106
+ * <p>
6107
+ * The ID of the security control to retrieve the definition for. This field doesn’t accept an Amazon Resource Name (ARN).
6108
+ * </p>
6109
+ */
6110
+ SecurityControlId: string | undefined;
6111
+ }
6112
+ /**
6113
+ * @public
6114
+ * @enum
6115
+ */
6116
+ export declare const RegionAvailabilityStatus: {
6117
+ readonly AVAILABLE: "AVAILABLE";
6118
+ readonly UNAVAILABLE: "UNAVAILABLE";
6119
+ };
6120
+ /**
6121
+ * @public
6122
+ */
6123
+ export type RegionAvailabilityStatus = (typeof RegionAvailabilityStatus)[keyof typeof RegionAvailabilityStatus];
6124
+ /**
6125
+ * @public
6126
+ * <p>
6127
+ * An object that describes a security control parameter and the options for customizing it.
6128
+ * </p>
6129
+ */
6130
+ export interface ParameterDefinition {
6131
+ /**
6132
+ * @public
6133
+ * <p>
6134
+ * Description of a control parameter.
6135
+ * </p>
6136
+ */
6137
+ Description: string | undefined;
6138
+ /**
6139
+ * @public
6140
+ * <p>
6141
+ * The options for customizing a control parameter. Customization options vary based on the data type of the parameter.
6142
+ * </p>
6143
+ */
6144
+ ConfigurationOptions: ConfigurationOptions | undefined;
6145
+ }
6146
+ /**
6147
+ * @public
6148
+ * <p>
6149
+ * Provides metadata for a security control, including its unique standard-agnostic identifier, title, description,
6150
+ * severity, availability in Amazon Web Services Regions, and a link to remediation steps.
6151
+ * </p>
6152
+ */
6153
+ export interface SecurityControlDefinition {
6154
+ /**
6155
+ * @public
6156
+ * <p>
6157
+ * The unique identifier of a security control across standards. Values for this field typically consist of an
6158
+ * Amazon Web Service name and a number (for example, APIGateway.3). This parameter differs from
6159
+ * <code>SecurityControlArn</code>, which is a unique Amazon Resource Name (ARN) assigned to a control. The
6160
+ * ARN references the security control ID (for example, arn:aws:securityhub:eu-central-1:123456789012:security-control/APIGateway.3).
6161
+ * </p>
6162
+ */
6163
+ SecurityControlId: string | undefined;
6164
+ /**
6165
+ * @public
6166
+ * <p>
6167
+ * The title of a security control.
6168
+ * </p>
6169
+ */
6170
+ Title: string | undefined;
6171
+ /**
6172
+ * @public
6173
+ * <p> The description of a security control across standards. This typically summarizes how
6174
+ * Security Hub evaluates the control and the conditions under which it produces a
6175
+ * failed finding. This parameter doesn't reference a specific standard. </p>
6176
+ */
6177
+ Description: string | undefined;
6178
+ /**
6179
+ * @public
6180
+ * <p>
6181
+ * A link to Security Hub documentation that explains how to remediate a failed finding for a security control.
6182
+ * </p>
6183
+ */
6184
+ RemediationUrl: string | undefined;
6185
+ /**
6186
+ * @public
6187
+ * <p>
6188
+ * The severity of a security control. For more information about how Security Hub determines control severity,
6189
+ * see <a href="https://docs.aws.amazon.com/securityhub/latest/userguide/controls-findings-create-update.html#control-findings-severity">Assigning severity to control findings</a> in the
6190
+ * <i>Security Hub User Guide</i>.
6191
+ * </p>
6192
+ */
6193
+ SeverityRating: SeverityRating | undefined;
6194
+ /**
6195
+ * @public
6196
+ * <p>
6197
+ * Specifies whether a security control is available in the current Amazon Web Services Region.
6198
+ * </p>
6199
+ */
6200
+ CurrentRegionAvailability: RegionAvailabilityStatus | undefined;
6201
+ /**
6202
+ * @public
6203
+ * <p>
6204
+ * Security control properties that you can customize. Currently, only parameter customization is supported for select
6205
+ * controls. An empty array is returned for controls that don’t support custom properties.
6206
+ * </p>
6207
+ */
6208
+ CustomizableProperties?: SecurityControlProperty[];
6209
+ /**
6210
+ * @public
6211
+ * <p>
6212
+ * An object that provides a security control parameter name, description, and the options for customizing it. This
6213
+ * object is excluded for a control that doesn't support custom parameters.
6214
+ * </p>
6215
+ */
6216
+ ParameterDefinitions?: Record<string, ParameterDefinition>;
6217
+ }
6218
+ /**
6219
+ * @public
6220
+ */
6221
+ export interface GetSecurityControlDefinitionResponse {
6222
+ /**
6223
+ * @public
6224
+ * <p>
6225
+ * Provides metadata for a security control, including its unique standard-agnostic identifier, title, description,
6226
+ * severity, availability in Amazon Web Services Regions, and a link to remediation steps.
6227
+ * </p>
6228
+ */
6229
+ SecurityControlDefinition: SecurityControlDefinition | undefined;
6230
+ }
5372
6231
  /**
5373
6232
  * @public
5374
6233
  */
@@ -5635,74 +6494,6 @@ export interface ListSecurityControlDefinitionsRequest {
5635
6494
  */
5636
6495
  MaxResults?: number;
5637
6496
  }
5638
- /**
5639
- * @public
5640
- * @enum
5641
- */
5642
- export declare const RegionAvailabilityStatus: {
5643
- readonly AVAILABLE: "AVAILABLE";
5644
- readonly UNAVAILABLE: "UNAVAILABLE";
5645
- };
5646
- /**
5647
- * @public
5648
- */
5649
- export type RegionAvailabilityStatus = (typeof RegionAvailabilityStatus)[keyof typeof RegionAvailabilityStatus];
5650
- /**
5651
- * @public
5652
- * <p>
5653
- * Provides metadata for a security control, including its unique standard-agnostic identifier, title, description,
5654
- * severity, availability in Amazon Web Services Regions, and a link to remediation steps.
5655
- * </p>
5656
- */
5657
- export interface SecurityControlDefinition {
5658
- /**
5659
- * @public
5660
- * <p>
5661
- * The unique identifier of a security control across standards. Values for this field typically consist of an
5662
- * Amazon Web Service name and a number (for example, APIGateway.3). This parameter differs from
5663
- * <code>SecurityControlArn</code>, which is a unique Amazon Resource Name (ARN) assigned to a control. The
5664
- * ARN references the security control ID (for example, arn:aws:securityhub:eu-central-1:123456789012:security-control/APIGateway.3).
5665
- * </p>
5666
- */
5667
- SecurityControlId: string | undefined;
5668
- /**
5669
- * @public
5670
- * <p>
5671
- * The title of a security control.
5672
- * </p>
5673
- */
5674
- Title: string | undefined;
5675
- /**
5676
- * @public
5677
- * <p> The description of a security control across standards. This typically summarizes how
5678
- * Security Hub evaluates the control and the conditions under which it produces a
5679
- * failed finding. This parameter doesn't reference a specific standard. </p>
5680
- */
5681
- Description: string | undefined;
5682
- /**
5683
- * @public
5684
- * <p>
5685
- * A link to Security Hub documentation that explains how to remediate a failed finding for a security control.
5686
- * </p>
5687
- */
5688
- RemediationUrl: string | undefined;
5689
- /**
5690
- * @public
5691
- * <p>
5692
- * The severity of a security control. For more information about how Security Hub determines control severity,
5693
- * see <a href="https://docs.aws.amazon.com/securityhub/latest/userguide/controls-findings-create-update.html#control-findings-severity">Assigning severity to control findings</a> in the
5694
- * <i>Security Hub User Guide</i>.
5695
- * </p>
5696
- */
5697
- SeverityRating: SeverityRating | undefined;
5698
- /**
5699
- * @public
5700
- * <p>
5701
- * Specifies whether a security control is available in the current Amazon Web Services Region.
5702
- * </p>
5703
- */
5704
- CurrentRegionAvailability: RegionAvailabilityStatus | undefined;
5705
- }
5706
6497
  /**
5707
6498
  * @public
5708
6499
  */
@@ -5857,6 +6648,23 @@ export interface ListTagsForResourceResponse {
5857
6648
  */
5858
6649
  Tags?: Record<string, string>;
5859
6650
  }
6651
+ /**
6652
+ * @public
6653
+ * <p>
6654
+ * The request was rejected because it conflicts with the resource's availability. For example, you tried
6655
+ * to update a security control that's currently in the <code>UPDATING</code> state.
6656
+ * </p>
6657
+ */
6658
+ export declare class ResourceInUseException extends __BaseException {
6659
+ readonly name: "ResourceInUseException";
6660
+ readonly $fault: "client";
6661
+ Message?: string;
6662
+ Code?: string;
6663
+ /**
6664
+ * @internal
6665
+ */
6666
+ constructor(opts: __ExceptionOptionType<ResourceInUseException, __BaseException>);
6667
+ }
5860
6668
  /**
5861
6669
  * @public
5862
6670
  */
@@ -6068,6 +6876,38 @@ export interface UpdateOrganizationConfigurationRequest {
6068
6876
  */
6069
6877
  export interface UpdateOrganizationConfigurationResponse {
6070
6878
  }
6879
+ /**
6880
+ * @public
6881
+ */
6882
+ export interface UpdateSecurityControlRequest {
6883
+ /**
6884
+ * @public
6885
+ * <p>
6886
+ * The Amazon Resource Name (ARN) or ID of the control to update.
6887
+ * </p>
6888
+ */
6889
+ SecurityControlId: string | undefined;
6890
+ /**
6891
+ * @public
6892
+ * <p>
6893
+ * An object that specifies which security control parameters to update.
6894
+ * </p>
6895
+ */
6896
+ Parameters: Record<string, ParameterConfiguration> | undefined;
6897
+ /**
6898
+ * @public
6899
+ * <p>
6900
+ * The most recent reason for updating the properties of the security control. This field accepts alphanumeric
6901
+ * characters in addition to white spaces, dashes, and underscores.
6902
+ * </p>
6903
+ */
6904
+ LastUpdateReason?: string;
6905
+ }
6906
+ /**
6907
+ * @public
6908
+ */
6909
+ export interface UpdateSecurityControlResponse {
6910
+ }
6071
6911
  /**
6072
6912
  * @public
6073
6913
  */