aws-cdk-lib 2.144.0__py3-none-any.whl → 2.146.0__py3-none-any.whl

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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (38) hide show
  1. aws_cdk/__init__.py +3 -1
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.144.0.jsii.tgz → aws-cdk-lib@2.146.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2_authorizers/__init__.py +27 -0
  5. aws_cdk/aws_apigatewayv2_integrations/__init__.py +27 -0
  6. aws_cdk/aws_appsync/__init__.py +62 -0
  7. aws_cdk/aws_autoscaling/__init__.py +416 -60
  8. aws_cdk/aws_chatbot/__init__.py +38 -0
  9. aws_cdk/aws_codebuild/__init__.py +598 -19
  10. aws_cdk/aws_config/__init__.py +1305 -45
  11. aws_cdk/aws_connect/__init__.py +86 -0
  12. aws_cdk/aws_ec2/__init__.py +42 -3
  13. aws_cdk/aws_ecs/__init__.py +110 -1
  14. aws_cdk/aws_eks/__init__.py +1495 -72
  15. aws_cdk/aws_iam/__init__.py +16 -11
  16. aws_cdk/aws_lambda/__init__.py +12 -0
  17. aws_cdk/aws_logs/__init__.py +114 -8
  18. aws_cdk/aws_logs_destinations/__init__.py +11 -9
  19. aws_cdk/aws_mediaconnect/__init__.py +2 -6
  20. aws_cdk/aws_mediapackagev2/__init__.py +476 -0
  21. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  22. aws_cdk/aws_pipes/__init__.py +639 -0
  23. aws_cdk/aws_rds/__init__.py +12 -0
  24. aws_cdk/aws_rolesanywhere/__init__.py +196 -0
  25. aws_cdk/aws_route53/__init__.py +3 -3
  26. aws_cdk/aws_securityhub/__init__.py +2415 -374
  27. aws_cdk/aws_securitylake/__init__.py +179 -314
  28. aws_cdk/aws_sns/__init__.py +61 -9
  29. aws_cdk/aws_sqs/__init__.py +2 -2
  30. aws_cdk/aws_stepfunctions_tasks/__init__.py +3 -3
  31. aws_cdk/pipelines/__init__.py +2 -0
  32. aws_cdk/region_info/__init__.py +6 -0
  33. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/METADATA +2 -2
  34. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/NOTICE +0 -35
  35. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/RECORD +38 -38
  36. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/LICENSE +0 -0
  37. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/WHEEL +0 -0
  38. {aws_cdk_lib-2.144.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/top_level.txt +0 -0
@@ -2927,24 +2927,16 @@ class CfnAutomationRuleProps:
2927
2927
  )
2928
2928
 
2929
2929
 
2930
- @jsii.implements(_IInspectable_c2943556)
2931
- class CfnDelegatedAdmin(
2930
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2931
+ class CfnConfigurationPolicy(
2932
2932
  _CfnResource_9df397a6,
2933
2933
  metaclass=jsii.JSIIMeta,
2934
- jsii_type="aws-cdk-lib.aws_securityhub.CfnDelegatedAdmin",
2934
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicy",
2935
2935
  ):
2936
- '''The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated AWS Security Hub administrator account for an organization.
2937
-
2938
- You must enable the integration between Security Hub and AWS Organizations before you can designate a delegated Security Hub administrator. Only the management account for an organization can designate the delegated Security Hub administrator account. For more information, see `Designating the delegated Security Hub administrator <https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions>`_ in the *AWS Security Hub User Guide* .
2939
-
2940
- To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.
2941
-
2942
- To designate multiple delegated administrators in different organizations and AWS Regions , we recommend using `AWS CloudFormation mappings <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html>`_ .
2943
-
2944
- Tags aren't supported for this resource.
2936
+ '''The AWS::SecurityHub::ConfigurationPolicy resource represents the Central Configuration Policy in your account.
2945
2937
 
2946
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html
2947
- :cloudformationResource: AWS::SecurityHub::DelegatedAdmin
2938
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html
2939
+ :cloudformationResource: AWS::SecurityHub::ConfigurationPolicy
2948
2940
  :exampleMetadata: fixture=_generated
2949
2941
 
2950
2942
  Example::
@@ -2953,8 +2945,44 @@ class CfnDelegatedAdmin(
2953
2945
  # The values are placeholders you should change.
2954
2946
  from aws_cdk import aws_securityhub as securityhub
2955
2947
 
2956
- cfn_delegated_admin = securityhub.CfnDelegatedAdmin(self, "MyCfnDelegatedAdmin",
2957
- admin_account_id="adminAccountId"
2948
+ cfn_configuration_policy = securityhub.CfnConfigurationPolicy(self, "MyCfnConfigurationPolicy",
2949
+ configuration_policy=securityhub.CfnConfigurationPolicy.PolicyProperty(
2950
+ security_hub=securityhub.CfnConfigurationPolicy.SecurityHubPolicyProperty(
2951
+ enabled_standard_identifiers=["enabledStandardIdentifiers"],
2952
+ security_controls_configuration=securityhub.CfnConfigurationPolicy.SecurityControlsConfigurationProperty(
2953
+ disabled_security_control_identifiers=["disabledSecurityControlIdentifiers"],
2954
+ enabled_security_control_identifiers=["enabledSecurityControlIdentifiers"],
2955
+ security_control_custom_parameters=[securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty(
2956
+ parameters={
2957
+ "parameters_key": securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
2958
+ value_type="valueType",
2959
+
2960
+ # the properties below are optional
2961
+ value=securityhub.CfnConfigurationPolicy.ParameterValueProperty(
2962
+ boolean=False,
2963
+ double=123,
2964
+ enum="enum",
2965
+ enum_list=["enumList"],
2966
+ integer=123,
2967
+ integer_list=[123],
2968
+ string="string",
2969
+ string_list=["stringList"]
2970
+ )
2971
+ )
2972
+ },
2973
+ security_control_id="securityControlId"
2974
+ )]
2975
+ ),
2976
+ service_enabled=False
2977
+ )
2978
+ ),
2979
+ name="name",
2980
+
2981
+ # the properties below are optional
2982
+ description="description",
2983
+ tags={
2984
+ "tags_key": "tags"
2985
+ }
2958
2986
  )
2959
2987
  '''
2960
2988
 
@@ -2963,18 +2991,29 @@ class CfnDelegatedAdmin(
2963
2991
  scope: _constructs_77d1e7e8.Construct,
2964
2992
  id: builtins.str,
2965
2993
  *,
2966
- admin_account_id: builtins.str,
2994
+ configuration_policy: typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationPolicy.PolicyProperty", typing.Dict[builtins.str, typing.Any]]],
2995
+ name: builtins.str,
2996
+ description: typing.Optional[builtins.str] = None,
2997
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2967
2998
  ) -> None:
2968
2999
  '''
2969
3000
  :param scope: Scope in which this resource is defined.
2970
3001
  :param id: Construct identifier for this resource (unique in its scope).
2971
- :param admin_account_id: The AWS account identifier of the account to designate as the Security Hub administrator account.
3002
+ :param configuration_policy: An object that defines how Security Hub is configured.
3003
+ :param name: The name of the configuration policy.
3004
+ :param description: The description of the configuration policy.
3005
+ :param tags: A key-value pair to associate with a resource.
2972
3006
  '''
2973
3007
  if __debug__:
2974
- type_hints = typing.get_type_hints(_typecheckingstub__e27e329e801cb67f6ec71f03a054a574103f5946def22c1bfdcd99ba50827d58)
3008
+ type_hints = typing.get_type_hints(_typecheckingstub__e2cee5cf3fe5ba0b354ff30ea357f97d4a69893bed692305ae2919f0061404d2)
2975
3009
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2976
3010
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2977
- props = CfnDelegatedAdminProps(admin_account_id=admin_account_id)
3011
+ props = CfnConfigurationPolicyProps(
3012
+ configuration_policy=configuration_policy,
3013
+ name=name,
3014
+ description=description,
3015
+ tags=tags,
3016
+ )
2978
3017
 
2979
3018
  jsii.create(self.__class__, self, [scope, id, props])
2980
3019
 
@@ -2985,7 +3024,7 @@ class CfnDelegatedAdmin(
2985
3024
  :param inspector: tree inspector to collect and process attributes.
2986
3025
  '''
2987
3026
  if __debug__:
2988
- type_hints = typing.get_type_hints(_typecheckingstub__baaaa369299b88b2085a28b2af39aa2abf07ab6772dc8c3ce8044a9ef9ea4df7)
3027
+ type_hints = typing.get_type_hints(_typecheckingstub__7db746216d4af7625aa0207d7a7c29b228b046ca193581d4486931471769f9e7)
2989
3028
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2990
3029
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2991
3030
 
@@ -2998,7 +3037,7 @@ class CfnDelegatedAdmin(
2998
3037
  :param props: -
2999
3038
  '''
3000
3039
  if __debug__:
3001
- type_hints = typing.get_type_hints(_typecheckingstub__2c0e442efc9a3d07aaf74da8d8d9132c602da0b1c240bc4589e6ce7e3e2459a3)
3040
+ type_hints = typing.get_type_hints(_typecheckingstub__66e713d67f1f54ace155bb5c7fe5334bde6b3843a28e97e26e40c575ec7d505e)
3002
3041
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
3003
3042
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
3004
3043
 
@@ -3009,22 +3048,55 @@ class CfnDelegatedAdmin(
3009
3048
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3010
3049
 
3011
3050
  @builtins.property
3012
- @jsii.member(jsii_name="attrDelegatedAdminIdentifier")
3013
- def attr_delegated_admin_identifier(self) -> builtins.str:
3014
- '''The ID of the delegated Security Hub administrator account, in the format of ``accountID/Region`` .
3051
+ @jsii.member(jsii_name="attrArn")
3052
+ def attr_arn(self) -> builtins.str:
3053
+ '''The Amazon Resource Name (ARN) of the configuration policy.
3015
3054
 
3016
- :cloudformationAttribute: DelegatedAdminIdentifier
3055
+ :cloudformationAttribute: Arn
3017
3056
  '''
3018
- return typing.cast(builtins.str, jsii.get(self, "attrDelegatedAdminIdentifier"))
3057
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
3019
3058
 
3020
3059
  @builtins.property
3021
- @jsii.member(jsii_name="attrStatus")
3022
- def attr_status(self) -> builtins.str:
3023
- '''Whether the delegated Security Hub administrator is set for the organization.
3060
+ @jsii.member(jsii_name="attrCreatedAt")
3061
+ def attr_created_at(self) -> builtins.str:
3062
+ '''The date and time, in UTC and ISO 8601 format.
3024
3063
 
3025
- :cloudformationAttribute: Status
3064
+ :cloudformationAttribute: CreatedAt
3026
3065
  '''
3027
- return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
3066
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
3067
+
3068
+ @builtins.property
3069
+ @jsii.member(jsii_name="attrId")
3070
+ def attr_id(self) -> builtins.str:
3071
+ '''The universally unique identifier (UUID) of the configuration policy.
3072
+
3073
+ :cloudformationAttribute: Id
3074
+ '''
3075
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
3076
+
3077
+ @builtins.property
3078
+ @jsii.member(jsii_name="attrServiceEnabled")
3079
+ def attr_service_enabled(self) -> _IResolvable_da3f097b:
3080
+ '''Indicates whether the service that the configuration policy applies to is enabled in the policy.
3081
+
3082
+ :cloudformationAttribute: ServiceEnabled
3083
+ '''
3084
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrServiceEnabled"))
3085
+
3086
+ @builtins.property
3087
+ @jsii.member(jsii_name="attrUpdatedAt")
3088
+ def attr_updated_at(self) -> builtins.str:
3089
+ '''The date and time, in UTC and ISO 8601 format.
3090
+
3091
+ :cloudformationAttribute: UpdatedAt
3092
+ '''
3093
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
3094
+
3095
+ @builtins.property
3096
+ @jsii.member(jsii_name="cdkTagManager")
3097
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
3098
+ '''Tag Manager which manages the tags for this resource.'''
3099
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
3028
3100
 
3029
3101
  @builtins.property
3030
3102
  @jsii.member(jsii_name="cfnProperties")
@@ -3032,374 +3104,859 @@ class CfnDelegatedAdmin(
3032
3104
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3033
3105
 
3034
3106
  @builtins.property
3035
- @jsii.member(jsii_name="adminAccountId")
3036
- def admin_account_id(self) -> builtins.str:
3037
- '''The AWS account identifier of the account to designate as the Security Hub administrator account.'''
3038
- return typing.cast(builtins.str, jsii.get(self, "adminAccountId"))
3107
+ @jsii.member(jsii_name="configurationPolicy")
3108
+ def configuration_policy(
3109
+ self,
3110
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.PolicyProperty"]:
3111
+ '''An object that defines how Security Hub is configured.'''
3112
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.PolicyProperty"], jsii.get(self, "configurationPolicy"))
3039
3113
 
3040
- @admin_account_id.setter
3041
- def admin_account_id(self, value: builtins.str) -> None:
3114
+ @configuration_policy.setter
3115
+ def configuration_policy(
3116
+ self,
3117
+ value: typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.PolicyProperty"],
3118
+ ) -> None:
3042
3119
  if __debug__:
3043
- type_hints = typing.get_type_hints(_typecheckingstub__f5fdd5db8baf5624dbb4185acb8020d5499aa459d03967b97375912c3e6844c5)
3120
+ type_hints = typing.get_type_hints(_typecheckingstub__dcfe8504c7335f76a4bad5bb43755a142eab48d80958f837dfc86c94989b8b0b)
3044
3121
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3045
- jsii.set(self, "adminAccountId", value)
3122
+ jsii.set(self, "configurationPolicy", value)
3046
3123
 
3124
+ @builtins.property
3125
+ @jsii.member(jsii_name="name")
3126
+ def name(self) -> builtins.str:
3127
+ '''The name of the configuration policy.'''
3128
+ return typing.cast(builtins.str, jsii.get(self, "name"))
3047
3129
 
3048
- @jsii.data_type(
3049
- jsii_type="aws-cdk-lib.aws_securityhub.CfnDelegatedAdminProps",
3050
- jsii_struct_bases=[],
3051
- name_mapping={"admin_account_id": "adminAccountId"},
3052
- )
3053
- class CfnDelegatedAdminProps:
3054
- def __init__(self, *, admin_account_id: builtins.str) -> None:
3055
- '''Properties for defining a ``CfnDelegatedAdmin``.
3130
+ @name.setter
3131
+ def name(self, value: builtins.str) -> None:
3132
+ if __debug__:
3133
+ type_hints = typing.get_type_hints(_typecheckingstub__0c731f4e7d50837bdafa92a4f5cb8478dc20fafa27c5a4f08cdf841e2570899f)
3134
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3135
+ jsii.set(self, "name", value)
3056
3136
 
3057
- :param admin_account_id: The AWS account identifier of the account to designate as the Security Hub administrator account.
3137
+ @builtins.property
3138
+ @jsii.member(jsii_name="description")
3139
+ def description(self) -> typing.Optional[builtins.str]:
3140
+ '''The description of the configuration policy.'''
3141
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
3058
3142
 
3059
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html
3060
- :exampleMetadata: fixture=_generated
3143
+ @description.setter
3144
+ def description(self, value: typing.Optional[builtins.str]) -> None:
3145
+ if __debug__:
3146
+ type_hints = typing.get_type_hints(_typecheckingstub__04301850c858bba803007d4d9502ff9c879ed1e1d926fa157899bd92a915c3cd)
3147
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3148
+ jsii.set(self, "description", value)
3061
3149
 
3062
- Example::
3150
+ @builtins.property
3151
+ @jsii.member(jsii_name="tags")
3152
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
3153
+ '''A key-value pair to associate with a resource.'''
3154
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
3063
3155
 
3064
- # The code below shows an example of how to instantiate this type.
3065
- # The values are placeholders you should change.
3066
- from aws_cdk import aws_securityhub as securityhub
3067
-
3068
- cfn_delegated_admin_props = securityhub.CfnDelegatedAdminProps(
3069
- admin_account_id="adminAccountId"
3070
- )
3071
- '''
3156
+ @tags.setter
3157
+ def tags(
3158
+ self,
3159
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
3160
+ ) -> None:
3072
3161
  if __debug__:
3073
- type_hints = typing.get_type_hints(_typecheckingstub__bccd0acf2d461662eef1addff325ba8fe883439d680f7762ea393681a481c0ca)
3074
- check_type(argname="argument admin_account_id", value=admin_account_id, expected_type=type_hints["admin_account_id"])
3075
- self._values: typing.Dict[builtins.str, typing.Any] = {
3076
- "admin_account_id": admin_account_id,
3077
- }
3162
+ type_hints = typing.get_type_hints(_typecheckingstub__418f84486ff1ec65f898c97538e438a38d2ee43b4f9ed6260595a25dfa039629)
3163
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3164
+ jsii.set(self, "tags", value)
3078
3165
 
3079
- @builtins.property
3080
- def admin_account_id(self) -> builtins.str:
3081
- '''The AWS account identifier of the account to designate as the Security Hub administrator account.
3166
+ @jsii.data_type(
3167
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty",
3168
+ jsii_struct_bases=[],
3169
+ name_mapping={"value_type": "valueType", "value": "value"},
3170
+ )
3171
+ class ParameterConfigurationProperty:
3172
+ def __init__(
3173
+ self,
3174
+ *,
3175
+ value_type: builtins.str,
3176
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationPolicy.ParameterValueProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3177
+ ) -> None:
3178
+ '''An object that provides the current value of a security control parameter and identifies whether it has been customized.
3082
3179
 
3083
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html#cfn-securityhub-delegatedadmin-adminaccountid
3084
- '''
3085
- result = self._values.get("admin_account_id")
3086
- assert result is not None, "Required property 'admin_account_id' is missing"
3087
- return typing.cast(builtins.str, result)
3180
+ :param value_type: Identifies whether a control parameter uses a custom user-defined value or subscribes to the default AWS Security Hub behavior.
3181
+ :param value: An object that includes the data type of a security control parameter and its current value.
3088
3182
 
3089
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
3090
- return isinstance(rhs, self.__class__) and rhs._values == self._values
3183
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parameterconfiguration.html
3184
+ :exampleMetadata: fixture=_generated
3091
3185
 
3092
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
3093
- return not (rhs == self)
3186
+ Example::
3094
3187
 
3095
- def __repr__(self) -> str:
3096
- return "CfnDelegatedAdminProps(%s)" % ", ".join(
3097
- k + "=" + repr(v) for k, v in self._values.items()
3098
- )
3188
+ # The code below shows an example of how to instantiate this type.
3189
+ # The values are placeholders you should change.
3190
+ from aws_cdk import aws_securityhub as securityhub
3191
+
3192
+ parameter_configuration_property = securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
3193
+ value_type="valueType",
3194
+
3195
+ # the properties below are optional
3196
+ value=securityhub.CfnConfigurationPolicy.ParameterValueProperty(
3197
+ boolean=False,
3198
+ double=123,
3199
+ enum="enum",
3200
+ enum_list=["enumList"],
3201
+ integer=123,
3202
+ integer_list=[123],
3203
+ string="string",
3204
+ string_list=["stringList"]
3205
+ )
3206
+ )
3207
+ '''
3208
+ if __debug__:
3209
+ type_hints = typing.get_type_hints(_typecheckingstub__bb7172387b04074df24e1743dd558a99d470acadb8c73ad883b45213f409832e)
3210
+ check_type(argname="argument value_type", value=value_type, expected_type=type_hints["value_type"])
3211
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3212
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3213
+ "value_type": value_type,
3214
+ }
3215
+ if value is not None:
3216
+ self._values["value"] = value
3099
3217
 
3218
+ @builtins.property
3219
+ def value_type(self) -> builtins.str:
3220
+ '''Identifies whether a control parameter uses a custom user-defined value or subscribes to the default AWS Security Hub behavior.
3100
3221
 
3101
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
3102
- class CfnHub(
3103
- _CfnResource_9df397a6,
3104
- metaclass=jsii.JSIIMeta,
3105
- jsii_type="aws-cdk-lib.aws_securityhub.CfnHub",
3106
- ):
3107
- '''The ``AWS::SecurityHub::Hub`` resource specifies the enablement of the AWS Security Hub service in your AWS account .
3222
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parameterconfiguration.html#cfn-securityhub-configurationpolicy-parameterconfiguration-valuetype
3223
+ '''
3224
+ result = self._values.get("value_type")
3225
+ assert result is not None, "Required property 'value_type' is missing"
3226
+ return typing.cast(builtins.str, result)
3108
3227
 
3109
- The service is enabled in the current AWS Region or the specified Region. You create a separate ``Hub`` resource in each Region in which you want to enable Security Hub .
3228
+ @builtins.property
3229
+ def value(
3230
+ self,
3231
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.ParameterValueProperty"]]:
3232
+ '''An object that includes the data type of a security control parameter and its current value.
3110
3233
 
3111
- When you use this resource to enable Security Hub , default security standards are enabled. To disable default standards, set the ``EnableDefaultStandards`` property to ``false`` . You can use the ```AWS::SecurityHub::Standard`` <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html>`_ resource to enable additional standards.
3234
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parameterconfiguration.html#cfn-securityhub-configurationpolicy-parameterconfiguration-value
3235
+ '''
3236
+ result = self._values.get("value")
3237
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.ParameterValueProperty"]], result)
3112
3238
 
3113
- When you use this resource to enable Security Hub , new controls are automatically enabled for your enabled standards. To disable automatic enablement of new controls, set the ``AutoEnableControls`` property to ``false`` .
3239
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3240
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3114
3241
 
3115
- You must create an ``AWS::SecurityHub::Hub`` resource for an account before you can create other types of Security Hub resources for the account through AWS CloudFormation . Use a `DependsOn attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ , such as ``"DependsOn": "Hub"`` , to ensure that you've created an ``AWS::SecurityHub::Hub`` resource before creating other Security Hub resources for an account.
3242
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3243
+ return not (rhs == self)
3116
3244
 
3117
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html
3118
- :cloudformationResource: AWS::SecurityHub::Hub
3119
- :exampleMetadata: fixture=_generated
3245
+ def __repr__(self) -> str:
3246
+ return "ParameterConfigurationProperty(%s)" % ", ".join(
3247
+ k + "=" + repr(v) for k, v in self._values.items()
3248
+ )
3120
3249
 
3121
- Example::
3250
+ @jsii.data_type(
3251
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicy.ParameterValueProperty",
3252
+ jsii_struct_bases=[],
3253
+ name_mapping={
3254
+ "boolean": "boolean",
3255
+ "double": "double",
3256
+ "enum": "enum",
3257
+ "enum_list": "enumList",
3258
+ "integer": "integer",
3259
+ "integer_list": "integerList",
3260
+ "string": "string",
3261
+ "string_list": "stringList",
3262
+ },
3263
+ )
3264
+ class ParameterValueProperty:
3265
+ def __init__(
3266
+ self,
3267
+ *,
3268
+ boolean: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3269
+ double: typing.Optional[jsii.Number] = None,
3270
+ enum: typing.Optional[builtins.str] = None,
3271
+ enum_list: typing.Optional[typing.Sequence[builtins.str]] = None,
3272
+ integer: typing.Optional[jsii.Number] = None,
3273
+ integer_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[jsii.Number]]] = None,
3274
+ string: typing.Optional[builtins.str] = None,
3275
+ string_list: typing.Optional[typing.Sequence[builtins.str]] = None,
3276
+ ) -> None:
3277
+ '''An object that includes the data type of a security control parameter and its current value.
3278
+
3279
+ :param boolean: A control parameter that is a boolean.
3280
+ :param double: A control parameter that is a double.
3281
+ :param enum: A control parameter that is an enum.
3282
+ :param enum_list: A control parameter that is a list of enums.
3283
+ :param integer: A control parameter that is an integer.
3284
+ :param integer_list: A control parameter that is a list of integers.
3285
+ :param string: A control parameter that is a string.
3286
+ :param string_list: A control parameter that is a list of strings.
3287
+
3288
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parametervalue.html
3289
+ :exampleMetadata: fixture=_generated
3122
3290
 
3123
- # The code below shows an example of how to instantiate this type.
3124
- # The values are placeholders you should change.
3125
- from aws_cdk import aws_securityhub as securityhub
3126
-
3127
- # tags: Any
3128
-
3129
- cfn_hub = securityhub.CfnHub(self, "MyCfnHub",
3130
- auto_enable_controls=False,
3131
- control_finding_generator="controlFindingGenerator",
3132
- enable_default_standards=False,
3133
- tags=tags
3134
- )
3135
- '''
3291
+ Example::
3136
3292
 
3137
- def __init__(
3138
- self,
3139
- scope: _constructs_77d1e7e8.Construct,
3140
- id: builtins.str,
3141
- *,
3142
- auto_enable_controls: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3143
- control_finding_generator: typing.Optional[builtins.str] = None,
3144
- enable_default_standards: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3145
- tags: typing.Any = None,
3146
- ) -> None:
3147
- '''
3148
- :param scope: Scope in which this resource is defined.
3149
- :param id: Construct identifier for this resource (unique in its scope).
3150
- :param auto_enable_controls: 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`` .
3151
- :param control_finding_generator: Specifies whether an account has consolidated control findings turned on or off. If the value for this field is set to ``SECURITY_CONTROL`` , Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to ``STANDARD_CONTROL`` , Security Hub generates separate findings for a control check when the check applies to multiple enabled standards. The value for this field in a member account matches the value in the administrator account. For accounts that aren't part of an organization, the default value of this field is ``SECURITY_CONTROL`` if you enabled Security Hub on or after February 23, 2023.
3152
- :param enable_default_standards: Whether to enable the security standards that Security Hub has designated as automatically enabled. If you don't provide a value for ``EnableDefaultStandards`` , it is set to ``true`` , and the designated standards are automatically enabled in each AWS Region where you enable Security Hub . If you don't want to enable the designated standards, set ``EnableDefaultStandards`` to ``false`` . Currently, the automatically enabled standards are the Center for Internet Security (CIS) AWS Foundations Benchmark v1.2.0 and AWS Foundational Security Best Practices (FSBP).
3153
- :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
3154
- '''
3155
- if __debug__:
3156
- type_hints = typing.get_type_hints(_typecheckingstub__b5258d6906cbc8ea3b7ed82ec2c832e2751a0a1255445e6f3e81ea5935e2defb)
3157
- check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3158
- check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3159
- props = CfnHubProps(
3160
- auto_enable_controls=auto_enable_controls,
3161
- control_finding_generator=control_finding_generator,
3162
- enable_default_standards=enable_default_standards,
3163
- tags=tags,
3164
- )
3165
-
3166
- jsii.create(self.__class__, self, [scope, id, props])
3293
+ # The code below shows an example of how to instantiate this type.
3294
+ # The values are placeholders you should change.
3295
+ from aws_cdk import aws_securityhub as securityhub
3296
+
3297
+ parameter_value_property = securityhub.CfnConfigurationPolicy.ParameterValueProperty(
3298
+ boolean=False,
3299
+ double=123,
3300
+ enum="enum",
3301
+ enum_list=["enumList"],
3302
+ integer=123,
3303
+ integer_list=[123],
3304
+ string="string",
3305
+ string_list=["stringList"]
3306
+ )
3307
+ '''
3308
+ if __debug__:
3309
+ type_hints = typing.get_type_hints(_typecheckingstub__969ca8061fcd5bd0e97fbdd1aa2f0797cdbe22b447375480430ca26de8051846)
3310
+ check_type(argname="argument boolean", value=boolean, expected_type=type_hints["boolean"])
3311
+ check_type(argname="argument double", value=double, expected_type=type_hints["double"])
3312
+ check_type(argname="argument enum", value=enum, expected_type=type_hints["enum"])
3313
+ check_type(argname="argument enum_list", value=enum_list, expected_type=type_hints["enum_list"])
3314
+ check_type(argname="argument integer", value=integer, expected_type=type_hints["integer"])
3315
+ check_type(argname="argument integer_list", value=integer_list, expected_type=type_hints["integer_list"])
3316
+ check_type(argname="argument string", value=string, expected_type=type_hints["string"])
3317
+ check_type(argname="argument string_list", value=string_list, expected_type=type_hints["string_list"])
3318
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3319
+ if boolean is not None:
3320
+ self._values["boolean"] = boolean
3321
+ if double is not None:
3322
+ self._values["double"] = double
3323
+ if enum is not None:
3324
+ self._values["enum"] = enum
3325
+ if enum_list is not None:
3326
+ self._values["enum_list"] = enum_list
3327
+ if integer is not None:
3328
+ self._values["integer"] = integer
3329
+ if integer_list is not None:
3330
+ self._values["integer_list"] = integer_list
3331
+ if string is not None:
3332
+ self._values["string"] = string
3333
+ if string_list is not None:
3334
+ self._values["string_list"] = string_list
3167
3335
 
3168
- @jsii.member(jsii_name="inspect")
3169
- def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
3170
- '''Examines the CloudFormation resource and discloses attributes.
3336
+ @builtins.property
3337
+ def boolean(
3338
+ self,
3339
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3340
+ '''A control parameter that is a boolean.
3171
3341
 
3172
- :param inspector: tree inspector to collect and process attributes.
3173
- '''
3174
- if __debug__:
3175
- type_hints = typing.get_type_hints(_typecheckingstub__afc1b02284691f4fac4c50413d7e6e3c86b4db4f8702643ba4c85dd68b5cb0b4)
3176
- check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
3177
- return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
3342
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parametervalue.html#cfn-securityhub-configurationpolicy-parametervalue-boolean
3343
+ '''
3344
+ result = self._values.get("boolean")
3345
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3178
3346
 
3179
- @jsii.member(jsii_name="renderProperties")
3180
- def _render_properties(
3181
- self,
3182
- props: typing.Mapping[builtins.str, typing.Any],
3183
- ) -> typing.Mapping[builtins.str, typing.Any]:
3184
- '''
3185
- :param props: -
3186
- '''
3187
- if __debug__:
3188
- type_hints = typing.get_type_hints(_typecheckingstub__db4b61e6830fa5a7557c941ad1ea7690d59d4d1ea7c453b10a17081c25ba2e27)
3189
- check_type(argname="argument props", value=props, expected_type=type_hints["props"])
3190
- return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
3347
+ @builtins.property
3348
+ def double(self) -> typing.Optional[jsii.Number]:
3349
+ '''A control parameter that is a double.
3191
3350
 
3192
- @jsii.python.classproperty
3193
- @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
3194
- def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
3195
- '''The CloudFormation resource type name for this resource class.'''
3196
- return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3351
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parametervalue.html#cfn-securityhub-configurationpolicy-parametervalue-double
3352
+ '''
3353
+ result = self._values.get("double")
3354
+ return typing.cast(typing.Optional[jsii.Number], result)
3197
3355
 
3198
- @builtins.property
3199
- @jsii.member(jsii_name="attrArn")
3200
- def attr_arn(self) -> builtins.str:
3201
- '''The Amazon Resource Name (ARN) of the ``Hub`` resource that was retrieved.
3356
+ @builtins.property
3357
+ def enum(self) -> typing.Optional[builtins.str]:
3358
+ '''A control parameter that is an enum.
3202
3359
 
3203
- :cloudformationAttribute: ARN
3204
- '''
3205
- return typing.cast(builtins.str, jsii.get(self, "attrArn"))
3360
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parametervalue.html#cfn-securityhub-configurationpolicy-parametervalue-enum
3361
+ '''
3362
+ result = self._values.get("enum")
3363
+ return typing.cast(typing.Optional[builtins.str], result)
3206
3364
 
3207
- @builtins.property
3208
- @jsii.member(jsii_name="attrSubscribedAt")
3209
- def attr_subscribed_at(self) -> builtins.str:
3210
- '''The date and time when Security Hub was enabled in your account.
3365
+ @builtins.property
3366
+ def enum_list(self) -> typing.Optional[typing.List[builtins.str]]:
3367
+ '''A control parameter that is a list of enums.
3211
3368
 
3212
- :cloudformationAttribute: SubscribedAt
3213
- '''
3214
- return typing.cast(builtins.str, jsii.get(self, "attrSubscribedAt"))
3369
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parametervalue.html#cfn-securityhub-configurationpolicy-parametervalue-enumlist
3370
+ '''
3371
+ result = self._values.get("enum_list")
3372
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3215
3373
 
3216
- @builtins.property
3217
- @jsii.member(jsii_name="cfnProperties")
3218
- def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3219
- return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3374
+ @builtins.property
3375
+ def integer(self) -> typing.Optional[jsii.Number]:
3376
+ '''A control parameter that is an integer.
3220
3377
 
3221
- @builtins.property
3222
- @jsii.member(jsii_name="tags")
3223
- def tags(self) -> _TagManager_0a598cb3:
3224
- '''Tag Manager which manages the tags for this resource.'''
3225
- return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
3378
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parametervalue.html#cfn-securityhub-configurationpolicy-parametervalue-integer
3379
+ '''
3380
+ result = self._values.get("integer")
3381
+ return typing.cast(typing.Optional[jsii.Number], result)
3226
3382
 
3227
- @builtins.property
3228
- @jsii.member(jsii_name="autoEnableControls")
3229
- def auto_enable_controls(
3230
- self,
3231
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3232
- '''Whether to automatically enable new controls when they are added to standards that are enabled.'''
3233
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "autoEnableControls"))
3383
+ @builtins.property
3384
+ def integer_list(
3385
+ self,
3386
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[jsii.Number]]]:
3387
+ '''A control parameter that is a list of integers.
3234
3388
 
3235
- @auto_enable_controls.setter
3236
- def auto_enable_controls(
3237
- self,
3238
- value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
3239
- ) -> None:
3240
- if __debug__:
3241
- type_hints = typing.get_type_hints(_typecheckingstub__f8111fb2c58ed3e1e0c85928b084d60f2c8b02b604055e3087ce38f249967a54)
3242
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3243
- jsii.set(self, "autoEnableControls", value)
3389
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parametervalue.html#cfn-securityhub-configurationpolicy-parametervalue-integerlist
3390
+ '''
3391
+ result = self._values.get("integer_list")
3392
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[jsii.Number]]], result)
3244
3393
 
3245
- @builtins.property
3246
- @jsii.member(jsii_name="controlFindingGenerator")
3247
- def control_finding_generator(self) -> typing.Optional[builtins.str]:
3248
- '''Specifies whether an account has consolidated control findings turned on or off.'''
3249
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "controlFindingGenerator"))
3394
+ @builtins.property
3395
+ def string(self) -> typing.Optional[builtins.str]:
3396
+ '''A control parameter that is a string.
3250
3397
 
3251
- @control_finding_generator.setter
3252
- def control_finding_generator(self, value: typing.Optional[builtins.str]) -> None:
3253
- if __debug__:
3254
- type_hints = typing.get_type_hints(_typecheckingstub__6647ce06efe713d1b36ec98af92808e5bf616a683fa68b2fb4fe64fafe92bf35)
3255
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3256
- jsii.set(self, "controlFindingGenerator", value)
3398
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parametervalue.html#cfn-securityhub-configurationpolicy-parametervalue-string
3399
+ '''
3400
+ result = self._values.get("string")
3401
+ return typing.cast(typing.Optional[builtins.str], result)
3257
3402
 
3258
- @builtins.property
3259
- @jsii.member(jsii_name="enableDefaultStandards")
3260
- def enable_default_standards(
3261
- self,
3262
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3263
- '''Whether to enable the security standards that Security Hub has designated as automatically enabled.'''
3264
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "enableDefaultStandards"))
3403
+ @builtins.property
3404
+ def string_list(self) -> typing.Optional[typing.List[builtins.str]]:
3405
+ '''A control parameter that is a list of strings.
3265
3406
 
3266
- @enable_default_standards.setter
3267
- def enable_default_standards(
3268
- self,
3269
- value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
3270
- ) -> None:
3271
- if __debug__:
3272
- type_hints = typing.get_type_hints(_typecheckingstub__4d118847a7bb58b794458a6afe88e0a8324a3a4e1590aba4f028de455ee8c624)
3273
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3274
- jsii.set(self, "enableDefaultStandards", value)
3407
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parametervalue.html#cfn-securityhub-configurationpolicy-parametervalue-stringlist
3408
+ '''
3409
+ result = self._values.get("string_list")
3410
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3275
3411
 
3276
- @builtins.property
3277
- @jsii.member(jsii_name="tagsRaw")
3278
- def tags_raw(self) -> typing.Any:
3279
- '''An array of key-value pairs to apply to this resource.'''
3280
- return typing.cast(typing.Any, jsii.get(self, "tagsRaw"))
3412
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3413
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3281
3414
 
3282
- @tags_raw.setter
3283
- def tags_raw(self, value: typing.Any) -> None:
3284
- if __debug__:
3285
- type_hints = typing.get_type_hints(_typecheckingstub__e17fb796b4e0971555823ae1c97a99f19e5677ae303ff0ef984cd00ac919ea87)
3286
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3287
- jsii.set(self, "tagsRaw", value)
3415
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3416
+ return not (rhs == self)
3288
3417
 
3418
+ def __repr__(self) -> str:
3419
+ return "ParameterValueProperty(%s)" % ", ".join(
3420
+ k + "=" + repr(v) for k, v in self._values.items()
3421
+ )
3289
3422
 
3290
- @jsii.data_type(
3291
- jsii_type="aws-cdk-lib.aws_securityhub.CfnHubProps",
3292
- jsii_struct_bases=[],
3293
- name_mapping={
3294
- "auto_enable_controls": "autoEnableControls",
3295
- "control_finding_generator": "controlFindingGenerator",
3296
- "enable_default_standards": "enableDefaultStandards",
3297
- "tags": "tags",
3298
- },
3299
- )
3300
- class CfnHubProps:
3301
- def __init__(
3302
- self,
3303
- *,
3304
- auto_enable_controls: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3305
- control_finding_generator: typing.Optional[builtins.str] = None,
3306
- enable_default_standards: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3307
- tags: typing.Any = None,
3308
- ) -> None:
3309
- '''Properties for defining a ``CfnHub``.
3423
+ @jsii.data_type(
3424
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicy.PolicyProperty",
3425
+ jsii_struct_bases=[],
3426
+ name_mapping={"security_hub": "securityHub"},
3427
+ )
3428
+ class PolicyProperty:
3429
+ def __init__(
3430
+ self,
3431
+ *,
3432
+ security_hub: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationPolicy.SecurityHubPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3433
+ ) -> None:
3434
+ '''An object that defines how Security Hub is configured.
3310
3435
 
3311
- :param auto_enable_controls: 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`` .
3312
- :param control_finding_generator: Specifies whether an account has consolidated control findings turned on or off. If the value for this field is set to ``SECURITY_CONTROL`` , Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to ``STANDARD_CONTROL`` , Security Hub generates separate findings for a control check when the check applies to multiple enabled standards. The value for this field in a member account matches the value in the administrator account. For accounts that aren't part of an organization, the default value of this field is ``SECURITY_CONTROL`` if you enabled Security Hub on or after February 23, 2023.
3313
- :param enable_default_standards: Whether to enable the security standards that Security Hub has designated as automatically enabled. If you don't provide a value for ``EnableDefaultStandards`` , it is set to ``true`` , and the designated standards are automatically enabled in each AWS Region where you enable Security Hub . If you don't want to enable the designated standards, set ``EnableDefaultStandards`` to ``false`` . Currently, the automatically enabled standards are the Center for Internet Security (CIS) AWS Foundations Benchmark v1.2.0 and AWS Foundational Security Best Practices (FSBP).
3314
- :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
3436
+ :param security_hub: An object that defines how AWS Security Hub is configured.
3315
3437
 
3316
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html
3317
- :exampleMetadata: fixture=_generated
3438
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-policy.html
3439
+ :exampleMetadata: fixture=_generated
3318
3440
 
3319
- Example::
3441
+ Example::
3320
3442
 
3321
- # The code below shows an example of how to instantiate this type.
3322
- # The values are placeholders you should change.
3323
- from aws_cdk import aws_securityhub as securityhub
3324
-
3325
- # tags: Any
3326
-
3327
- cfn_hub_props = securityhub.CfnHubProps(
3328
- auto_enable_controls=False,
3329
- control_finding_generator="controlFindingGenerator",
3330
- enable_default_standards=False,
3331
- tags=tags
3332
- )
3333
- '''
3334
- if __debug__:
3335
- type_hints = typing.get_type_hints(_typecheckingstub__9a38c34c1f2742403521eb4af2098475d7afb878d3f9aba37048ae543b43e29c)
3336
- check_type(argname="argument auto_enable_controls", value=auto_enable_controls, expected_type=type_hints["auto_enable_controls"])
3337
- check_type(argname="argument control_finding_generator", value=control_finding_generator, expected_type=type_hints["control_finding_generator"])
3338
- check_type(argname="argument enable_default_standards", value=enable_default_standards, expected_type=type_hints["enable_default_standards"])
3339
- check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3340
- self._values: typing.Dict[builtins.str, typing.Any] = {}
3341
- if auto_enable_controls is not None:
3342
- self._values["auto_enable_controls"] = auto_enable_controls
3343
- if control_finding_generator is not None:
3344
- self._values["control_finding_generator"] = control_finding_generator
3345
- if enable_default_standards is not None:
3346
- self._values["enable_default_standards"] = enable_default_standards
3347
- if tags is not None:
3348
- self._values["tags"] = tags
3443
+ # The code below shows an example of how to instantiate this type.
3444
+ # The values are placeholders you should change.
3445
+ from aws_cdk import aws_securityhub as securityhub
3446
+
3447
+ policy_property = securityhub.CfnConfigurationPolicy.PolicyProperty(
3448
+ security_hub=securityhub.CfnConfigurationPolicy.SecurityHubPolicyProperty(
3449
+ enabled_standard_identifiers=["enabledStandardIdentifiers"],
3450
+ security_controls_configuration=securityhub.CfnConfigurationPolicy.SecurityControlsConfigurationProperty(
3451
+ disabled_security_control_identifiers=["disabledSecurityControlIdentifiers"],
3452
+ enabled_security_control_identifiers=["enabledSecurityControlIdentifiers"],
3453
+ security_control_custom_parameters=[securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty(
3454
+ parameters={
3455
+ "parameters_key": securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
3456
+ value_type="valueType",
3457
+
3458
+ # the properties below are optional
3459
+ value=securityhub.CfnConfigurationPolicy.ParameterValueProperty(
3460
+ boolean=False,
3461
+ double=123,
3462
+ enum="enum",
3463
+ enum_list=["enumList"],
3464
+ integer=123,
3465
+ integer_list=[123],
3466
+ string="string",
3467
+ string_list=["stringList"]
3468
+ )
3469
+ )
3470
+ },
3471
+ security_control_id="securityControlId"
3472
+ )]
3473
+ ),
3474
+ service_enabled=False
3475
+ )
3476
+ )
3477
+ '''
3478
+ if __debug__:
3479
+ type_hints = typing.get_type_hints(_typecheckingstub__e1ba9b51d0a7fd087e8cf10fa5291c42d61f90148e1a8a190e3c90fecacd0e7a)
3480
+ check_type(argname="argument security_hub", value=security_hub, expected_type=type_hints["security_hub"])
3481
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3482
+ if security_hub is not None:
3483
+ self._values["security_hub"] = security_hub
3349
3484
 
3350
- @builtins.property
3351
- def auto_enable_controls(
3352
- self,
3353
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3354
- '''Whether to automatically enable new controls when they are added to standards that are enabled.
3485
+ @builtins.property
3486
+ def security_hub(
3487
+ self,
3488
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.SecurityHubPolicyProperty"]]:
3489
+ '''An object that defines how AWS Security Hub is configured.
3355
3490
 
3356
- By default, this is set to ``true`` , and new controls are enabled automatically. To not automatically enable new controls, set this to ``false`` .
3491
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-policy.html#cfn-securityhub-configurationpolicy-policy-securityhub
3492
+ '''
3493
+ result = self._values.get("security_hub")
3494
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.SecurityHubPolicyProperty"]], result)
3357
3495
 
3358
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-autoenablecontrols
3359
- '''
3360
- result = self._values.get("auto_enable_controls")
3361
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3496
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3497
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3362
3498
 
3363
- @builtins.property
3364
- def control_finding_generator(self) -> typing.Optional[builtins.str]:
3365
- '''Specifies whether an account has consolidated control findings turned on or off.
3499
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3500
+ return not (rhs == self)
3366
3501
 
3367
- If the value for this field is set to ``SECURITY_CONTROL`` , Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards.
3502
+ def __repr__(self) -> str:
3503
+ return "PolicyProperty(%s)" % ", ".join(
3504
+ k + "=" + repr(v) for k, v in self._values.items()
3505
+ )
3368
3506
 
3369
- If the value for this field is set to ``STANDARD_CONTROL`` , Security Hub generates separate findings for a control check when the check applies to multiple enabled standards.
3507
+ @jsii.data_type(
3508
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty",
3509
+ jsii_struct_bases=[],
3510
+ name_mapping={
3511
+ "parameters": "parameters",
3512
+ "security_control_id": "securityControlId",
3513
+ },
3514
+ )
3515
+ class SecurityControlCustomParameterProperty:
3516
+ def __init__(
3517
+ self,
3518
+ *,
3519
+ parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationPolicy.ParameterConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3520
+ security_control_id: typing.Optional[builtins.str] = None,
3521
+ ) -> None:
3522
+ '''An object of security control and control parameter value that are included in a configuration policy.
3370
3523
 
3371
- The value for this field in a member account matches the value in the administrator account. For accounts that aren't part of an organization, the default value of this field is ``SECURITY_CONTROL`` if you enabled Security Hub on or after February 23, 2023.
3524
+ :param parameters: An object that specifies parameter values for a control in a configuration policy.
3525
+ :param security_control_id: The ID of the security control.
3372
3526
 
3373
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-controlfindinggenerator
3527
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securitycontrolcustomparameter.html
3528
+ :exampleMetadata: fixture=_generated
3529
+
3530
+ Example::
3531
+
3532
+ # The code below shows an example of how to instantiate this type.
3533
+ # The values are placeholders you should change.
3534
+ from aws_cdk import aws_securityhub as securityhub
3535
+
3536
+ security_control_custom_parameter_property = securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty(
3537
+ parameters={
3538
+ "parameters_key": securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
3539
+ value_type="valueType",
3540
+
3541
+ # the properties below are optional
3542
+ value=securityhub.CfnConfigurationPolicy.ParameterValueProperty(
3543
+ boolean=False,
3544
+ double=123,
3545
+ enum="enum",
3546
+ enum_list=["enumList"],
3547
+ integer=123,
3548
+ integer_list=[123],
3549
+ string="string",
3550
+ string_list=["stringList"]
3551
+ )
3552
+ )
3553
+ },
3554
+ security_control_id="securityControlId"
3555
+ )
3556
+ '''
3557
+ if __debug__:
3558
+ type_hints = typing.get_type_hints(_typecheckingstub__e2e264804926f4cf652225b9fc8713e91d7c135436850ecde7193ccfd4464014)
3559
+ check_type(argname="argument parameters", value=parameters, expected_type=type_hints["parameters"])
3560
+ check_type(argname="argument security_control_id", value=security_control_id, expected_type=type_hints["security_control_id"])
3561
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3562
+ if parameters is not None:
3563
+ self._values["parameters"] = parameters
3564
+ if security_control_id is not None:
3565
+ self._values["security_control_id"] = security_control_id
3566
+
3567
+ @builtins.property
3568
+ def parameters(
3569
+ self,
3570
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.ParameterConfigurationProperty"]]]]:
3571
+ '''An object that specifies parameter values for a control in a configuration policy.
3572
+
3573
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securitycontrolcustomparameter.html#cfn-securityhub-configurationpolicy-securitycontrolcustomparameter-parameters
3574
+ '''
3575
+ result = self._values.get("parameters")
3576
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.ParameterConfigurationProperty"]]]], result)
3577
+
3578
+ @builtins.property
3579
+ def security_control_id(self) -> typing.Optional[builtins.str]:
3580
+ '''The ID of the security control.
3581
+
3582
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securitycontrolcustomparameter.html#cfn-securityhub-configurationpolicy-securitycontrolcustomparameter-securitycontrolid
3583
+ '''
3584
+ result = self._values.get("security_control_id")
3585
+ return typing.cast(typing.Optional[builtins.str], result)
3586
+
3587
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3588
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3589
+
3590
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3591
+ return not (rhs == self)
3592
+
3593
+ def __repr__(self) -> str:
3594
+ return "SecurityControlCustomParameterProperty(%s)" % ", ".join(
3595
+ k + "=" + repr(v) for k, v in self._values.items()
3596
+ )
3597
+
3598
+ @jsii.data_type(
3599
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicy.SecurityControlsConfigurationProperty",
3600
+ jsii_struct_bases=[],
3601
+ name_mapping={
3602
+ "disabled_security_control_identifiers": "disabledSecurityControlIdentifiers",
3603
+ "enabled_security_control_identifiers": "enabledSecurityControlIdentifiers",
3604
+ "security_control_custom_parameters": "securityControlCustomParameters",
3605
+ },
3606
+ )
3607
+ class SecurityControlsConfigurationProperty:
3608
+ def __init__(
3609
+ self,
3610
+ *,
3611
+ disabled_security_control_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
3612
+ enabled_security_control_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
3613
+ security_control_custom_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationPolicy.SecurityControlCustomParameterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3614
+ ) -> None:
3615
+ '''An object that defines which security controls are enabled in an AWS Security Hub configuration policy.
3616
+
3617
+ :param disabled_security_control_identifiers: A list of security controls that are disabled in the configuration policy.
3618
+ :param enabled_security_control_identifiers: A list of security controls that are enabled in the configuration policy.
3619
+ :param security_control_custom_parameters: A list of security controls and control parameter values that are included in a configuration policy.
3620
+
3621
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securitycontrolsconfiguration.html
3622
+ :exampleMetadata: fixture=_generated
3623
+
3624
+ Example::
3625
+
3626
+ # The code below shows an example of how to instantiate this type.
3627
+ # The values are placeholders you should change.
3628
+ from aws_cdk import aws_securityhub as securityhub
3629
+
3630
+ security_controls_configuration_property = securityhub.CfnConfigurationPolicy.SecurityControlsConfigurationProperty(
3631
+ disabled_security_control_identifiers=["disabledSecurityControlIdentifiers"],
3632
+ enabled_security_control_identifiers=["enabledSecurityControlIdentifiers"],
3633
+ security_control_custom_parameters=[securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty(
3634
+ parameters={
3635
+ "parameters_key": securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
3636
+ value_type="valueType",
3637
+
3638
+ # the properties below are optional
3639
+ value=securityhub.CfnConfigurationPolicy.ParameterValueProperty(
3640
+ boolean=False,
3641
+ double=123,
3642
+ enum="enum",
3643
+ enum_list=["enumList"],
3644
+ integer=123,
3645
+ integer_list=[123],
3646
+ string="string",
3647
+ string_list=["stringList"]
3648
+ )
3649
+ )
3650
+ },
3651
+ security_control_id="securityControlId"
3652
+ )]
3653
+ )
3654
+ '''
3655
+ if __debug__:
3656
+ type_hints = typing.get_type_hints(_typecheckingstub__8978e0c4327c8995530e22f049a9b31f96402b88be3e220ea4340c89d3a2e1d2)
3657
+ check_type(argname="argument disabled_security_control_identifiers", value=disabled_security_control_identifiers, expected_type=type_hints["disabled_security_control_identifiers"])
3658
+ check_type(argname="argument enabled_security_control_identifiers", value=enabled_security_control_identifiers, expected_type=type_hints["enabled_security_control_identifiers"])
3659
+ check_type(argname="argument security_control_custom_parameters", value=security_control_custom_parameters, expected_type=type_hints["security_control_custom_parameters"])
3660
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3661
+ if disabled_security_control_identifiers is not None:
3662
+ self._values["disabled_security_control_identifiers"] = disabled_security_control_identifiers
3663
+ if enabled_security_control_identifiers is not None:
3664
+ self._values["enabled_security_control_identifiers"] = enabled_security_control_identifiers
3665
+ if security_control_custom_parameters is not None:
3666
+ self._values["security_control_custom_parameters"] = security_control_custom_parameters
3667
+
3668
+ @builtins.property
3669
+ def disabled_security_control_identifiers(
3670
+ self,
3671
+ ) -> typing.Optional[typing.List[builtins.str]]:
3672
+ '''A list of security controls that are disabled in the configuration policy.
3673
+
3674
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securitycontrolsconfiguration.html#cfn-securityhub-configurationpolicy-securitycontrolsconfiguration-disabledsecuritycontrolidentifiers
3675
+ '''
3676
+ result = self._values.get("disabled_security_control_identifiers")
3677
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3678
+
3679
+ @builtins.property
3680
+ def enabled_security_control_identifiers(
3681
+ self,
3682
+ ) -> typing.Optional[typing.List[builtins.str]]:
3683
+ '''A list of security controls that are enabled in the configuration policy.
3684
+
3685
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securitycontrolsconfiguration.html#cfn-securityhub-configurationpolicy-securitycontrolsconfiguration-enabledsecuritycontrolidentifiers
3686
+ '''
3687
+ result = self._values.get("enabled_security_control_identifiers")
3688
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3689
+
3690
+ @builtins.property
3691
+ def security_control_custom_parameters(
3692
+ self,
3693
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.SecurityControlCustomParameterProperty"]]]]:
3694
+ '''A list of security controls and control parameter values that are included in a configuration policy.
3695
+
3696
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securitycontrolsconfiguration.html#cfn-securityhub-configurationpolicy-securitycontrolsconfiguration-securitycontrolcustomparameters
3697
+ '''
3698
+ result = self._values.get("security_control_custom_parameters")
3699
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.SecurityControlCustomParameterProperty"]]]], result)
3700
+
3701
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3702
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3703
+
3704
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3705
+ return not (rhs == self)
3706
+
3707
+ def __repr__(self) -> str:
3708
+ return "SecurityControlsConfigurationProperty(%s)" % ", ".join(
3709
+ k + "=" + repr(v) for k, v in self._values.items()
3710
+ )
3711
+
3712
+ @jsii.data_type(
3713
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicy.SecurityHubPolicyProperty",
3714
+ jsii_struct_bases=[],
3715
+ name_mapping={
3716
+ "enabled_standard_identifiers": "enabledStandardIdentifiers",
3717
+ "security_controls_configuration": "securityControlsConfiguration",
3718
+ "service_enabled": "serviceEnabled",
3719
+ },
3720
+ )
3721
+ class SecurityHubPolicyProperty:
3722
+ def __init__(
3723
+ self,
3724
+ *,
3725
+ enabled_standard_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
3726
+ security_controls_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationPolicy.SecurityControlsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3727
+ service_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3728
+ ) -> None:
3729
+ '''An object that defines how AWS Security Hub is configured.
3730
+
3731
+ :param enabled_standard_identifiers: A list that defines which security standards are enabled in the configuration policy.
3732
+ :param security_controls_configuration: An object that defines which security controls are enabled in an AWS Security Hub configuration policy.
3733
+ :param service_enabled: Indicates whether Security Hub is enabled in the policy.
3734
+
3735
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securityhubpolicy.html
3736
+ :exampleMetadata: fixture=_generated
3737
+
3738
+ Example::
3739
+
3740
+ # The code below shows an example of how to instantiate this type.
3741
+ # The values are placeholders you should change.
3742
+ from aws_cdk import aws_securityhub as securityhub
3743
+
3744
+ security_hub_policy_property = securityhub.CfnConfigurationPolicy.SecurityHubPolicyProperty(
3745
+ enabled_standard_identifiers=["enabledStandardIdentifiers"],
3746
+ security_controls_configuration=securityhub.CfnConfigurationPolicy.SecurityControlsConfigurationProperty(
3747
+ disabled_security_control_identifiers=["disabledSecurityControlIdentifiers"],
3748
+ enabled_security_control_identifiers=["enabledSecurityControlIdentifiers"],
3749
+ security_control_custom_parameters=[securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty(
3750
+ parameters={
3751
+ "parameters_key": securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
3752
+ value_type="valueType",
3753
+
3754
+ # the properties below are optional
3755
+ value=securityhub.CfnConfigurationPolicy.ParameterValueProperty(
3756
+ boolean=False,
3757
+ double=123,
3758
+ enum="enum",
3759
+ enum_list=["enumList"],
3760
+ integer=123,
3761
+ integer_list=[123],
3762
+ string="string",
3763
+ string_list=["stringList"]
3764
+ )
3765
+ )
3766
+ },
3767
+ security_control_id="securityControlId"
3768
+ )]
3769
+ ),
3770
+ service_enabled=False
3771
+ )
3772
+ '''
3773
+ if __debug__:
3774
+ type_hints = typing.get_type_hints(_typecheckingstub__6a1f60581e7a327c6c6d837a42e963fe4a8810a6d9642040c0f78837b8533f0f)
3775
+ check_type(argname="argument enabled_standard_identifiers", value=enabled_standard_identifiers, expected_type=type_hints["enabled_standard_identifiers"])
3776
+ check_type(argname="argument security_controls_configuration", value=security_controls_configuration, expected_type=type_hints["security_controls_configuration"])
3777
+ check_type(argname="argument service_enabled", value=service_enabled, expected_type=type_hints["service_enabled"])
3778
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3779
+ if enabled_standard_identifiers is not None:
3780
+ self._values["enabled_standard_identifiers"] = enabled_standard_identifiers
3781
+ if security_controls_configuration is not None:
3782
+ self._values["security_controls_configuration"] = security_controls_configuration
3783
+ if service_enabled is not None:
3784
+ self._values["service_enabled"] = service_enabled
3785
+
3786
+ @builtins.property
3787
+ def enabled_standard_identifiers(
3788
+ self,
3789
+ ) -> typing.Optional[typing.List[builtins.str]]:
3790
+ '''A list that defines which security standards are enabled in the configuration policy.
3791
+
3792
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securityhubpolicy.html#cfn-securityhub-configurationpolicy-securityhubpolicy-enabledstandardidentifiers
3793
+ '''
3794
+ result = self._values.get("enabled_standard_identifiers")
3795
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3796
+
3797
+ @builtins.property
3798
+ def security_controls_configuration(
3799
+ self,
3800
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.SecurityControlsConfigurationProperty"]]:
3801
+ '''An object that defines which security controls are enabled in an AWS Security Hub configuration policy.
3802
+
3803
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securityhubpolicy.html#cfn-securityhub-configurationpolicy-securityhubpolicy-securitycontrolsconfiguration
3804
+ '''
3805
+ result = self._values.get("security_controls_configuration")
3806
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.SecurityControlsConfigurationProperty"]], result)
3807
+
3808
+ @builtins.property
3809
+ def service_enabled(
3810
+ self,
3811
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3812
+ '''Indicates whether Security Hub is enabled in the policy.
3813
+
3814
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-securityhubpolicy.html#cfn-securityhub-configurationpolicy-securityhubpolicy-serviceenabled
3815
+ '''
3816
+ result = self._values.get("service_enabled")
3817
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3818
+
3819
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3820
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3821
+
3822
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3823
+ return not (rhs == self)
3824
+
3825
+ def __repr__(self) -> str:
3826
+ return "SecurityHubPolicyProperty(%s)" % ", ".join(
3827
+ k + "=" + repr(v) for k, v in self._values.items()
3828
+ )
3829
+
3830
+
3831
+ @jsii.data_type(
3832
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicyProps",
3833
+ jsii_struct_bases=[],
3834
+ name_mapping={
3835
+ "configuration_policy": "configurationPolicy",
3836
+ "name": "name",
3837
+ "description": "description",
3838
+ "tags": "tags",
3839
+ },
3840
+ )
3841
+ class CfnConfigurationPolicyProps:
3842
+ def __init__(
3843
+ self,
3844
+ *,
3845
+ configuration_policy: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationPolicy.PolicyProperty, typing.Dict[builtins.str, typing.Any]]],
3846
+ name: builtins.str,
3847
+ description: typing.Optional[builtins.str] = None,
3848
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3849
+ ) -> None:
3850
+ '''Properties for defining a ``CfnConfigurationPolicy``.
3851
+
3852
+ :param configuration_policy: An object that defines how Security Hub is configured.
3853
+ :param name: The name of the configuration policy.
3854
+ :param description: The description of the configuration policy.
3855
+ :param tags: A key-value pair to associate with a resource.
3856
+
3857
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html
3858
+ :exampleMetadata: fixture=_generated
3859
+
3860
+ Example::
3861
+
3862
+ # The code below shows an example of how to instantiate this type.
3863
+ # The values are placeholders you should change.
3864
+ from aws_cdk import aws_securityhub as securityhub
3865
+
3866
+ cfn_configuration_policy_props = securityhub.CfnConfigurationPolicyProps(
3867
+ configuration_policy=securityhub.CfnConfigurationPolicy.PolicyProperty(
3868
+ security_hub=securityhub.CfnConfigurationPolicy.SecurityHubPolicyProperty(
3869
+ enabled_standard_identifiers=["enabledStandardIdentifiers"],
3870
+ security_controls_configuration=securityhub.CfnConfigurationPolicy.SecurityControlsConfigurationProperty(
3871
+ disabled_security_control_identifiers=["disabledSecurityControlIdentifiers"],
3872
+ enabled_security_control_identifiers=["enabledSecurityControlIdentifiers"],
3873
+ security_control_custom_parameters=[securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty(
3874
+ parameters={
3875
+ "parameters_key": securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
3876
+ value_type="valueType",
3877
+
3878
+ # the properties below are optional
3879
+ value=securityhub.CfnConfigurationPolicy.ParameterValueProperty(
3880
+ boolean=False,
3881
+ double=123,
3882
+ enum="enum",
3883
+ enum_list=["enumList"],
3884
+ integer=123,
3885
+ integer_list=[123],
3886
+ string="string",
3887
+ string_list=["stringList"]
3888
+ )
3889
+ )
3890
+ },
3891
+ security_control_id="securityControlId"
3892
+ )]
3893
+ ),
3894
+ service_enabled=False
3895
+ )
3896
+ ),
3897
+ name="name",
3898
+
3899
+ # the properties below are optional
3900
+ description="description",
3901
+ tags={
3902
+ "tags_key": "tags"
3903
+ }
3904
+ )
3374
3905
  '''
3375
- result = self._values.get("control_finding_generator")
3376
- return typing.cast(typing.Optional[builtins.str], result)
3906
+ if __debug__:
3907
+ type_hints = typing.get_type_hints(_typecheckingstub__9df36e470a5cb19a48e0918f07ba5c7fe4f2f6e13983d94bef33b262d3aa6d74)
3908
+ check_type(argname="argument configuration_policy", value=configuration_policy, expected_type=type_hints["configuration_policy"])
3909
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3910
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
3911
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3912
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3913
+ "configuration_policy": configuration_policy,
3914
+ "name": name,
3915
+ }
3916
+ if description is not None:
3917
+ self._values["description"] = description
3918
+ if tags is not None:
3919
+ self._values["tags"] = tags
3377
3920
 
3378
3921
  @builtins.property
3379
- def enable_default_standards(
3922
+ def configuration_policy(
3380
3923
  self,
3381
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3382
- '''Whether to enable the security standards that Security Hub has designated as automatically enabled.
3924
+ ) -> typing.Union[_IResolvable_da3f097b, CfnConfigurationPolicy.PolicyProperty]:
3925
+ '''An object that defines how Security Hub is configured.
3383
3926
 
3384
- If you don't provide a value for ``EnableDefaultStandards`` , it is set to ``true`` , and the designated standards are automatically enabled in each AWS Region where you enable Security Hub . If you don't want to enable the designated standards, set ``EnableDefaultStandards`` to ``false`` .
3927
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html#cfn-securityhub-configurationpolicy-configurationpolicy
3928
+ '''
3929
+ result = self._values.get("configuration_policy")
3930
+ assert result is not None, "Required property 'configuration_policy' is missing"
3931
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnConfigurationPolicy.PolicyProperty], result)
3385
3932
 
3386
- Currently, the automatically enabled standards are the Center for Internet Security (CIS) AWS Foundations Benchmark v1.2.0 and AWS Foundational Security Best Practices (FSBP).
3933
+ @builtins.property
3934
+ def name(self) -> builtins.str:
3935
+ '''The name of the configuration policy.
3387
3936
 
3388
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-enabledefaultstandards
3937
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html#cfn-securityhub-configurationpolicy-name
3389
3938
  '''
3390
- result = self._values.get("enable_default_standards")
3391
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3939
+ result = self._values.get("name")
3940
+ assert result is not None, "Required property 'name' is missing"
3941
+ return typing.cast(builtins.str, result)
3392
3942
 
3393
3943
  @builtins.property
3394
- def tags(self) -> typing.Any:
3395
- '''An array of key-value pairs to apply to this resource.
3944
+ def description(self) -> typing.Optional[builtins.str]:
3945
+ '''The description of the configuration policy.
3396
3946
 
3397
- For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
3947
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html#cfn-securityhub-configurationpolicy-description
3948
+ '''
3949
+ result = self._values.get("description")
3950
+ return typing.cast(typing.Optional[builtins.str], result)
3398
3951
 
3399
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-tags
3952
+ @builtins.property
3953
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
3954
+ '''A key-value pair to associate with a resource.
3955
+
3956
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html#cfn-securityhub-configurationpolicy-tags
3400
3957
  '''
3401
3958
  result = self._values.get("tags")
3402
- return typing.cast(typing.Any, result)
3959
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
3403
3960
 
3404
3961
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3405
3962
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3408,25 +3965,29 @@ class CfnHubProps:
3408
3965
  return not (rhs == self)
3409
3966
 
3410
3967
  def __repr__(self) -> str:
3411
- return "CfnHubProps(%s)" % ", ".join(
3968
+ return "CfnConfigurationPolicyProps(%s)" % ", ".join(
3412
3969
  k + "=" + repr(v) for k, v in self._values.items()
3413
3970
  )
3414
3971
 
3415
3972
 
3416
3973
  @jsii.implements(_IInspectable_c2943556)
3417
- class CfnInsight(
3974
+ class CfnDelegatedAdmin(
3418
3975
  _CfnResource_9df397a6,
3419
3976
  metaclass=jsii.JSIIMeta,
3420
- jsii_type="aws-cdk-lib.aws_securityhub.CfnInsight",
3977
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnDelegatedAdmin",
3421
3978
  ):
3422
- '''The ``AWS::SecurityHub::Insight`` resource creates a custom insight in AWS Security Hub .
3979
+ '''The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated AWS Security Hub administrator account for an organization.
3423
3980
 
3424
- An insight is a collection of findings that relate to a security issue that requires attention or remediation. For more information, see `Insights in AWS Security Hub <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-insights.html>`_ in the *AWS Security Hub User Guide* .
3981
+ You must enable the integration between Security Hub and AWS Organizations before you can designate a delegated Security Hub administrator. Only the management account for an organization can designate the delegated Security Hub administrator account. For more information, see `Designating the delegated Security Hub administrator <https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions>`_ in the *AWS Security Hub User Guide* .
3982
+
3983
+ To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.
3984
+
3985
+ To designate multiple delegated administrators in different organizations and AWS Regions , we recommend using `AWS CloudFormation mappings <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html>`_ .
3425
3986
 
3426
3987
  Tags aren't supported for this resource.
3427
3988
 
3428
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html
3429
- :cloudformationResource: AWS::SecurityHub::Insight
3989
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html
3990
+ :cloudformationResource: AWS::SecurityHub::DelegatedAdmin
3430
3991
  :exampleMetadata: fixture=_generated
3431
3992
 
3432
3993
  Example::
@@ -3435,14 +3996,701 @@ class CfnInsight(
3435
3996
  # The values are placeholders you should change.
3436
3997
  from aws_cdk import aws_securityhub as securityhub
3437
3998
 
3438
- cfn_insight = securityhub.CfnInsight(self, "MyCfnInsight",
3439
- filters=securityhub.CfnInsight.AwsSecurityFindingFiltersProperty(
3440
- aws_account_id=[securityhub.CfnInsight.StringFilterProperty(
3441
- comparison="comparison",
3442
- value="value"
3443
- )],
3444
- aws_account_name=[securityhub.CfnInsight.StringFilterProperty(
3445
- comparison="comparison",
3999
+ cfn_delegated_admin = securityhub.CfnDelegatedAdmin(self, "MyCfnDelegatedAdmin",
4000
+ admin_account_id="adminAccountId"
4001
+ )
4002
+ '''
4003
+
4004
+ def __init__(
4005
+ self,
4006
+ scope: _constructs_77d1e7e8.Construct,
4007
+ id: builtins.str,
4008
+ *,
4009
+ admin_account_id: builtins.str,
4010
+ ) -> None:
4011
+ '''
4012
+ :param scope: Scope in which this resource is defined.
4013
+ :param id: Construct identifier for this resource (unique in its scope).
4014
+ :param admin_account_id: The AWS account identifier of the account to designate as the Security Hub administrator account.
4015
+ '''
4016
+ if __debug__:
4017
+ type_hints = typing.get_type_hints(_typecheckingstub__e27e329e801cb67f6ec71f03a054a574103f5946def22c1bfdcd99ba50827d58)
4018
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4019
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4020
+ props = CfnDelegatedAdminProps(admin_account_id=admin_account_id)
4021
+
4022
+ jsii.create(self.__class__, self, [scope, id, props])
4023
+
4024
+ @jsii.member(jsii_name="inspect")
4025
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4026
+ '''Examines the CloudFormation resource and discloses attributes.
4027
+
4028
+ :param inspector: tree inspector to collect and process attributes.
4029
+ '''
4030
+ if __debug__:
4031
+ type_hints = typing.get_type_hints(_typecheckingstub__baaaa369299b88b2085a28b2af39aa2abf07ab6772dc8c3ce8044a9ef9ea4df7)
4032
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4033
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4034
+
4035
+ @jsii.member(jsii_name="renderProperties")
4036
+ def _render_properties(
4037
+ self,
4038
+ props: typing.Mapping[builtins.str, typing.Any],
4039
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4040
+ '''
4041
+ :param props: -
4042
+ '''
4043
+ if __debug__:
4044
+ type_hints = typing.get_type_hints(_typecheckingstub__2c0e442efc9a3d07aaf74da8d8d9132c602da0b1c240bc4589e6ce7e3e2459a3)
4045
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4046
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4047
+
4048
+ @jsii.python.classproperty
4049
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4050
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4051
+ '''The CloudFormation resource type name for this resource class.'''
4052
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4053
+
4054
+ @builtins.property
4055
+ @jsii.member(jsii_name="attrDelegatedAdminIdentifier")
4056
+ def attr_delegated_admin_identifier(self) -> builtins.str:
4057
+ '''The ID of the delegated Security Hub administrator account, in the format of ``accountID/Region`` .
4058
+
4059
+ :cloudformationAttribute: DelegatedAdminIdentifier
4060
+ '''
4061
+ return typing.cast(builtins.str, jsii.get(self, "attrDelegatedAdminIdentifier"))
4062
+
4063
+ @builtins.property
4064
+ @jsii.member(jsii_name="attrStatus")
4065
+ def attr_status(self) -> builtins.str:
4066
+ '''Whether the delegated Security Hub administrator is set for the organization.
4067
+
4068
+ :cloudformationAttribute: Status
4069
+ '''
4070
+ return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
4071
+
4072
+ @builtins.property
4073
+ @jsii.member(jsii_name="cfnProperties")
4074
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4075
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4076
+
4077
+ @builtins.property
4078
+ @jsii.member(jsii_name="adminAccountId")
4079
+ def admin_account_id(self) -> builtins.str:
4080
+ '''The AWS account identifier of the account to designate as the Security Hub administrator account.'''
4081
+ return typing.cast(builtins.str, jsii.get(self, "adminAccountId"))
4082
+
4083
+ @admin_account_id.setter
4084
+ def admin_account_id(self, value: builtins.str) -> None:
4085
+ if __debug__:
4086
+ type_hints = typing.get_type_hints(_typecheckingstub__f5fdd5db8baf5624dbb4185acb8020d5499aa459d03967b97375912c3e6844c5)
4087
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4088
+ jsii.set(self, "adminAccountId", value)
4089
+
4090
+
4091
+ @jsii.data_type(
4092
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnDelegatedAdminProps",
4093
+ jsii_struct_bases=[],
4094
+ name_mapping={"admin_account_id": "adminAccountId"},
4095
+ )
4096
+ class CfnDelegatedAdminProps:
4097
+ def __init__(self, *, admin_account_id: builtins.str) -> None:
4098
+ '''Properties for defining a ``CfnDelegatedAdmin``.
4099
+
4100
+ :param admin_account_id: The AWS account identifier of the account to designate as the Security Hub administrator account.
4101
+
4102
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html
4103
+ :exampleMetadata: fixture=_generated
4104
+
4105
+ Example::
4106
+
4107
+ # The code below shows an example of how to instantiate this type.
4108
+ # The values are placeholders you should change.
4109
+ from aws_cdk import aws_securityhub as securityhub
4110
+
4111
+ cfn_delegated_admin_props = securityhub.CfnDelegatedAdminProps(
4112
+ admin_account_id="adminAccountId"
4113
+ )
4114
+ '''
4115
+ if __debug__:
4116
+ type_hints = typing.get_type_hints(_typecheckingstub__bccd0acf2d461662eef1addff325ba8fe883439d680f7762ea393681a481c0ca)
4117
+ check_type(argname="argument admin_account_id", value=admin_account_id, expected_type=type_hints["admin_account_id"])
4118
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4119
+ "admin_account_id": admin_account_id,
4120
+ }
4121
+
4122
+ @builtins.property
4123
+ def admin_account_id(self) -> builtins.str:
4124
+ '''The AWS account identifier of the account to designate as the Security Hub administrator account.
4125
+
4126
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html#cfn-securityhub-delegatedadmin-adminaccountid
4127
+ '''
4128
+ result = self._values.get("admin_account_id")
4129
+ assert result is not None, "Required property 'admin_account_id' is missing"
4130
+ return typing.cast(builtins.str, result)
4131
+
4132
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4133
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4134
+
4135
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4136
+ return not (rhs == self)
4137
+
4138
+ def __repr__(self) -> str:
4139
+ return "CfnDelegatedAdminProps(%s)" % ", ".join(
4140
+ k + "=" + repr(v) for k, v in self._values.items()
4141
+ )
4142
+
4143
+
4144
+ @jsii.implements(_IInspectable_c2943556)
4145
+ class CfnFindingAggregator(
4146
+ _CfnResource_9df397a6,
4147
+ metaclass=jsii.JSIIMeta,
4148
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnFindingAggregator",
4149
+ ):
4150
+ '''The AWS::SecurityHub::FindingAggregator resource represents the AWS Security Hub Finding Aggregator in your account.
4151
+
4152
+ One finding aggregator resource is created for each account in non opt-in region in which you configure region linking mode.
4153
+
4154
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html
4155
+ :cloudformationResource: AWS::SecurityHub::FindingAggregator
4156
+ :exampleMetadata: fixture=_generated
4157
+
4158
+ Example::
4159
+
4160
+ # The code below shows an example of how to instantiate this type.
4161
+ # The values are placeholders you should change.
4162
+ from aws_cdk import aws_securityhub as securityhub
4163
+
4164
+ cfn_finding_aggregator = securityhub.CfnFindingAggregator(self, "MyCfnFindingAggregator",
4165
+ region_linking_mode="regionLinkingMode",
4166
+
4167
+ # the properties below are optional
4168
+ regions=["regions"]
4169
+ )
4170
+ '''
4171
+
4172
+ def __init__(
4173
+ self,
4174
+ scope: _constructs_77d1e7e8.Construct,
4175
+ id: builtins.str,
4176
+ *,
4177
+ region_linking_mode: builtins.str,
4178
+ regions: typing.Optional[typing.Sequence[builtins.str]] = None,
4179
+ ) -> None:
4180
+ '''
4181
+ :param scope: Scope in which this resource is defined.
4182
+ :param id: Construct identifier for this resource (unique in its scope).
4183
+ :param region_linking_mode: Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions.
4184
+ :param regions: The list of excluded Regions or included Regions.
4185
+ '''
4186
+ if __debug__:
4187
+ type_hints = typing.get_type_hints(_typecheckingstub__def955d28b5fec6358172b72efd12a764fe7f7be8d0ea9076bc99608ed72dd3c)
4188
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4189
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4190
+ props = CfnFindingAggregatorProps(
4191
+ region_linking_mode=region_linking_mode, regions=regions
4192
+ )
4193
+
4194
+ jsii.create(self.__class__, self, [scope, id, props])
4195
+
4196
+ @jsii.member(jsii_name="inspect")
4197
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4198
+ '''Examines the CloudFormation resource and discloses attributes.
4199
+
4200
+ :param inspector: tree inspector to collect and process attributes.
4201
+ '''
4202
+ if __debug__:
4203
+ type_hints = typing.get_type_hints(_typecheckingstub__a7329a558d2c83a1557a17b5d0d96aa45bb0f3f54c5f2f90a5cb6c75ff90bf2b)
4204
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4205
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4206
+
4207
+ @jsii.member(jsii_name="renderProperties")
4208
+ def _render_properties(
4209
+ self,
4210
+ props: typing.Mapping[builtins.str, typing.Any],
4211
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4212
+ '''
4213
+ :param props: -
4214
+ '''
4215
+ if __debug__:
4216
+ type_hints = typing.get_type_hints(_typecheckingstub__eca9c6b033a7a2d97a20e47bd85628a6592ed83b9fa515c784d7e1d8efddecd2)
4217
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4218
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4219
+
4220
+ @jsii.python.classproperty
4221
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4222
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4223
+ '''The CloudFormation resource type name for this resource class.'''
4224
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4225
+
4226
+ @builtins.property
4227
+ @jsii.member(jsii_name="attrFindingAggregationRegion")
4228
+ def attr_finding_aggregation_region(self) -> builtins.str:
4229
+ '''
4230
+ :cloudformationAttribute: FindingAggregationRegion
4231
+ '''
4232
+ return typing.cast(builtins.str, jsii.get(self, "attrFindingAggregationRegion"))
4233
+
4234
+ @builtins.property
4235
+ @jsii.member(jsii_name="attrFindingAggregatorArn")
4236
+ def attr_finding_aggregator_arn(self) -> builtins.str:
4237
+ '''The ARN of the FindingAggregator being created and assigned as the unique identifier.
4238
+
4239
+ :cloudformationAttribute: FindingAggregatorArn
4240
+ '''
4241
+ return typing.cast(builtins.str, jsii.get(self, "attrFindingAggregatorArn"))
4242
+
4243
+ @builtins.property
4244
+ @jsii.member(jsii_name="cfnProperties")
4245
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4246
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4247
+
4248
+ @builtins.property
4249
+ @jsii.member(jsii_name="regionLinkingMode")
4250
+ def region_linking_mode(self) -> builtins.str:
4251
+ '''Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions.'''
4252
+ return typing.cast(builtins.str, jsii.get(self, "regionLinkingMode"))
4253
+
4254
+ @region_linking_mode.setter
4255
+ def region_linking_mode(self, value: builtins.str) -> None:
4256
+ if __debug__:
4257
+ type_hints = typing.get_type_hints(_typecheckingstub__475994d9cd8d46f8f3a69625c313f5aeede3069bc0a97c77f4287886450a34ba)
4258
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4259
+ jsii.set(self, "regionLinkingMode", value)
4260
+
4261
+ @builtins.property
4262
+ @jsii.member(jsii_name="regions")
4263
+ def regions(self) -> typing.Optional[typing.List[builtins.str]]:
4264
+ '''The list of excluded Regions or included Regions.'''
4265
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "regions"))
4266
+
4267
+ @regions.setter
4268
+ def regions(self, value: typing.Optional[typing.List[builtins.str]]) -> None:
4269
+ if __debug__:
4270
+ type_hints = typing.get_type_hints(_typecheckingstub__8df27b51aae55bb4c2c3ab84a0b047bdd2763b4077910af8afa3825bbe83283d)
4271
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4272
+ jsii.set(self, "regions", value)
4273
+
4274
+
4275
+ @jsii.data_type(
4276
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnFindingAggregatorProps",
4277
+ jsii_struct_bases=[],
4278
+ name_mapping={"region_linking_mode": "regionLinkingMode", "regions": "regions"},
4279
+ )
4280
+ class CfnFindingAggregatorProps:
4281
+ def __init__(
4282
+ self,
4283
+ *,
4284
+ region_linking_mode: builtins.str,
4285
+ regions: typing.Optional[typing.Sequence[builtins.str]] = None,
4286
+ ) -> None:
4287
+ '''Properties for defining a ``CfnFindingAggregator``.
4288
+
4289
+ :param region_linking_mode: Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions.
4290
+ :param regions: The list of excluded Regions or included Regions.
4291
+
4292
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html
4293
+ :exampleMetadata: fixture=_generated
4294
+
4295
+ Example::
4296
+
4297
+ # The code below shows an example of how to instantiate this type.
4298
+ # The values are placeholders you should change.
4299
+ from aws_cdk import aws_securityhub as securityhub
4300
+
4301
+ cfn_finding_aggregator_props = securityhub.CfnFindingAggregatorProps(
4302
+ region_linking_mode="regionLinkingMode",
4303
+
4304
+ # the properties below are optional
4305
+ regions=["regions"]
4306
+ )
4307
+ '''
4308
+ if __debug__:
4309
+ type_hints = typing.get_type_hints(_typecheckingstub__da8ea981397b9b6c6a280597905a46066379d6756790684f43ea4354282836a9)
4310
+ check_type(argname="argument region_linking_mode", value=region_linking_mode, expected_type=type_hints["region_linking_mode"])
4311
+ check_type(argname="argument regions", value=regions, expected_type=type_hints["regions"])
4312
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4313
+ "region_linking_mode": region_linking_mode,
4314
+ }
4315
+ if regions is not None:
4316
+ self._values["regions"] = regions
4317
+
4318
+ @builtins.property
4319
+ def region_linking_mode(self) -> builtins.str:
4320
+ '''Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions.
4321
+
4322
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html#cfn-securityhub-findingaggregator-regionlinkingmode
4323
+ '''
4324
+ result = self._values.get("region_linking_mode")
4325
+ assert result is not None, "Required property 'region_linking_mode' is missing"
4326
+ return typing.cast(builtins.str, result)
4327
+
4328
+ @builtins.property
4329
+ def regions(self) -> typing.Optional[typing.List[builtins.str]]:
4330
+ '''The list of excluded Regions or included Regions.
4331
+
4332
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html#cfn-securityhub-findingaggregator-regions
4333
+ '''
4334
+ result = self._values.get("regions")
4335
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
4336
+
4337
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4338
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4339
+
4340
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4341
+ return not (rhs == self)
4342
+
4343
+ def __repr__(self) -> str:
4344
+ return "CfnFindingAggregatorProps(%s)" % ", ".join(
4345
+ k + "=" + repr(v) for k, v in self._values.items()
4346
+ )
4347
+
4348
+
4349
+ @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
4350
+ class CfnHub(
4351
+ _CfnResource_9df397a6,
4352
+ metaclass=jsii.JSIIMeta,
4353
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnHub",
4354
+ ):
4355
+ '''The ``AWS::SecurityHub::Hub`` resource specifies the enablement of the AWS Security Hub service in your AWS account .
4356
+
4357
+ The service is enabled in the current AWS Region or the specified Region. You create a separate ``Hub`` resource in each Region in which you want to enable Security Hub .
4358
+
4359
+ When you use this resource to enable Security Hub , default security standards are enabled. To disable default standards, set the ``EnableDefaultStandards`` property to ``false`` . You can use the ```AWS::SecurityHub::Standard`` <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html>`_ resource to enable additional standards.
4360
+
4361
+ When you use this resource to enable Security Hub , new controls are automatically enabled for your enabled standards. To disable automatic enablement of new controls, set the ``AutoEnableControls`` property to ``false`` .
4362
+
4363
+ You must create an ``AWS::SecurityHub::Hub`` resource for an account before you can create other types of Security Hub resources for the account through AWS CloudFormation . Use a `DependsOn attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ , such as ``"DependsOn": "Hub"`` , to ensure that you've created an ``AWS::SecurityHub::Hub`` resource before creating other Security Hub resources for an account.
4364
+
4365
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html
4366
+ :cloudformationResource: AWS::SecurityHub::Hub
4367
+ :exampleMetadata: fixture=_generated
4368
+
4369
+ Example::
4370
+
4371
+ # The code below shows an example of how to instantiate this type.
4372
+ # The values are placeholders you should change.
4373
+ from aws_cdk import aws_securityhub as securityhub
4374
+
4375
+ # tags: Any
4376
+
4377
+ cfn_hub = securityhub.CfnHub(self, "MyCfnHub",
4378
+ auto_enable_controls=False,
4379
+ control_finding_generator="controlFindingGenerator",
4380
+ enable_default_standards=False,
4381
+ tags=tags
4382
+ )
4383
+ '''
4384
+
4385
+ def __init__(
4386
+ self,
4387
+ scope: _constructs_77d1e7e8.Construct,
4388
+ id: builtins.str,
4389
+ *,
4390
+ auto_enable_controls: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4391
+ control_finding_generator: typing.Optional[builtins.str] = None,
4392
+ enable_default_standards: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4393
+ tags: typing.Any = None,
4394
+ ) -> None:
4395
+ '''
4396
+ :param scope: Scope in which this resource is defined.
4397
+ :param id: Construct identifier for this resource (unique in its scope).
4398
+ :param auto_enable_controls: 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`` .
4399
+ :param control_finding_generator: Specifies whether an account has consolidated control findings turned on or off. If the value for this field is set to ``SECURITY_CONTROL`` , Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to ``STANDARD_CONTROL`` , Security Hub generates separate findings for a control check when the check applies to multiple enabled standards. The value for this field in a member account matches the value in the administrator account. For accounts that aren't part of an organization, the default value of this field is ``SECURITY_CONTROL`` if you enabled Security Hub on or after February 23, 2023.
4400
+ :param enable_default_standards: Whether to enable the security standards that Security Hub has designated as automatically enabled. If you don't provide a value for ``EnableDefaultStandards`` , it is set to ``true`` , and the designated standards are automatically enabled in each AWS Region where you enable Security Hub . If you don't want to enable the designated standards, set ``EnableDefaultStandards`` to ``false`` . Currently, the automatically enabled standards are the Center for Internet Security (CIS) AWS Foundations Benchmark v1.2.0 and AWS Foundational Security Best Practices (FSBP).
4401
+ :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
4402
+ '''
4403
+ if __debug__:
4404
+ type_hints = typing.get_type_hints(_typecheckingstub__b5258d6906cbc8ea3b7ed82ec2c832e2751a0a1255445e6f3e81ea5935e2defb)
4405
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4406
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4407
+ props = CfnHubProps(
4408
+ auto_enable_controls=auto_enable_controls,
4409
+ control_finding_generator=control_finding_generator,
4410
+ enable_default_standards=enable_default_standards,
4411
+ tags=tags,
4412
+ )
4413
+
4414
+ jsii.create(self.__class__, self, [scope, id, props])
4415
+
4416
+ @jsii.member(jsii_name="inspect")
4417
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4418
+ '''Examines the CloudFormation resource and discloses attributes.
4419
+
4420
+ :param inspector: tree inspector to collect and process attributes.
4421
+ '''
4422
+ if __debug__:
4423
+ type_hints = typing.get_type_hints(_typecheckingstub__afc1b02284691f4fac4c50413d7e6e3c86b4db4f8702643ba4c85dd68b5cb0b4)
4424
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4425
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4426
+
4427
+ @jsii.member(jsii_name="renderProperties")
4428
+ def _render_properties(
4429
+ self,
4430
+ props: typing.Mapping[builtins.str, typing.Any],
4431
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4432
+ '''
4433
+ :param props: -
4434
+ '''
4435
+ if __debug__:
4436
+ type_hints = typing.get_type_hints(_typecheckingstub__db4b61e6830fa5a7557c941ad1ea7690d59d4d1ea7c453b10a17081c25ba2e27)
4437
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4438
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4439
+
4440
+ @jsii.python.classproperty
4441
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4442
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4443
+ '''The CloudFormation resource type name for this resource class.'''
4444
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4445
+
4446
+ @builtins.property
4447
+ @jsii.member(jsii_name="attrArn")
4448
+ def attr_arn(self) -> builtins.str:
4449
+ '''The Amazon Resource Name (ARN) of the ``Hub`` resource that was retrieved.
4450
+
4451
+ :cloudformationAttribute: ARN
4452
+ '''
4453
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
4454
+
4455
+ @builtins.property
4456
+ @jsii.member(jsii_name="attrSubscribedAt")
4457
+ def attr_subscribed_at(self) -> builtins.str:
4458
+ '''The date and time when Security Hub was enabled in your account.
4459
+
4460
+ :cloudformationAttribute: SubscribedAt
4461
+ '''
4462
+ return typing.cast(builtins.str, jsii.get(self, "attrSubscribedAt"))
4463
+
4464
+ @builtins.property
4465
+ @jsii.member(jsii_name="cfnProperties")
4466
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4467
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4468
+
4469
+ @builtins.property
4470
+ @jsii.member(jsii_name="tags")
4471
+ def tags(self) -> _TagManager_0a598cb3:
4472
+ '''Tag Manager which manages the tags for this resource.'''
4473
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
4474
+
4475
+ @builtins.property
4476
+ @jsii.member(jsii_name="autoEnableControls")
4477
+ def auto_enable_controls(
4478
+ self,
4479
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4480
+ '''Whether to automatically enable new controls when they are added to standards that are enabled.'''
4481
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "autoEnableControls"))
4482
+
4483
+ @auto_enable_controls.setter
4484
+ def auto_enable_controls(
4485
+ self,
4486
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4487
+ ) -> None:
4488
+ if __debug__:
4489
+ type_hints = typing.get_type_hints(_typecheckingstub__f8111fb2c58ed3e1e0c85928b084d60f2c8b02b604055e3087ce38f249967a54)
4490
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4491
+ jsii.set(self, "autoEnableControls", value)
4492
+
4493
+ @builtins.property
4494
+ @jsii.member(jsii_name="controlFindingGenerator")
4495
+ def control_finding_generator(self) -> typing.Optional[builtins.str]:
4496
+ '''Specifies whether an account has consolidated control findings turned on or off.'''
4497
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "controlFindingGenerator"))
4498
+
4499
+ @control_finding_generator.setter
4500
+ def control_finding_generator(self, value: typing.Optional[builtins.str]) -> None:
4501
+ if __debug__:
4502
+ type_hints = typing.get_type_hints(_typecheckingstub__6647ce06efe713d1b36ec98af92808e5bf616a683fa68b2fb4fe64fafe92bf35)
4503
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4504
+ jsii.set(self, "controlFindingGenerator", value)
4505
+
4506
+ @builtins.property
4507
+ @jsii.member(jsii_name="enableDefaultStandards")
4508
+ def enable_default_standards(
4509
+ self,
4510
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4511
+ '''Whether to enable the security standards that Security Hub has designated as automatically enabled.'''
4512
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "enableDefaultStandards"))
4513
+
4514
+ @enable_default_standards.setter
4515
+ def enable_default_standards(
4516
+ self,
4517
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4518
+ ) -> None:
4519
+ if __debug__:
4520
+ type_hints = typing.get_type_hints(_typecheckingstub__4d118847a7bb58b794458a6afe88e0a8324a3a4e1590aba4f028de455ee8c624)
4521
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4522
+ jsii.set(self, "enableDefaultStandards", value)
4523
+
4524
+ @builtins.property
4525
+ @jsii.member(jsii_name="tagsRaw")
4526
+ def tags_raw(self) -> typing.Any:
4527
+ '''An array of key-value pairs to apply to this resource.'''
4528
+ return typing.cast(typing.Any, jsii.get(self, "tagsRaw"))
4529
+
4530
+ @tags_raw.setter
4531
+ def tags_raw(self, value: typing.Any) -> None:
4532
+ if __debug__:
4533
+ type_hints = typing.get_type_hints(_typecheckingstub__e17fb796b4e0971555823ae1c97a99f19e5677ae303ff0ef984cd00ac919ea87)
4534
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4535
+ jsii.set(self, "tagsRaw", value)
4536
+
4537
+
4538
+ @jsii.data_type(
4539
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnHubProps",
4540
+ jsii_struct_bases=[],
4541
+ name_mapping={
4542
+ "auto_enable_controls": "autoEnableControls",
4543
+ "control_finding_generator": "controlFindingGenerator",
4544
+ "enable_default_standards": "enableDefaultStandards",
4545
+ "tags": "tags",
4546
+ },
4547
+ )
4548
+ class CfnHubProps:
4549
+ def __init__(
4550
+ self,
4551
+ *,
4552
+ auto_enable_controls: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4553
+ control_finding_generator: typing.Optional[builtins.str] = None,
4554
+ enable_default_standards: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4555
+ tags: typing.Any = None,
4556
+ ) -> None:
4557
+ '''Properties for defining a ``CfnHub``.
4558
+
4559
+ :param auto_enable_controls: 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`` .
4560
+ :param control_finding_generator: Specifies whether an account has consolidated control findings turned on or off. If the value for this field is set to ``SECURITY_CONTROL`` , Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to ``STANDARD_CONTROL`` , Security Hub generates separate findings for a control check when the check applies to multiple enabled standards. The value for this field in a member account matches the value in the administrator account. For accounts that aren't part of an organization, the default value of this field is ``SECURITY_CONTROL`` if you enabled Security Hub on or after February 23, 2023.
4561
+ :param enable_default_standards: Whether to enable the security standards that Security Hub has designated as automatically enabled. If you don't provide a value for ``EnableDefaultStandards`` , it is set to ``true`` , and the designated standards are automatically enabled in each AWS Region where you enable Security Hub . If you don't want to enable the designated standards, set ``EnableDefaultStandards`` to ``false`` . Currently, the automatically enabled standards are the Center for Internet Security (CIS) AWS Foundations Benchmark v1.2.0 and AWS Foundational Security Best Practices (FSBP).
4562
+ :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
4563
+
4564
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html
4565
+ :exampleMetadata: fixture=_generated
4566
+
4567
+ Example::
4568
+
4569
+ # The code below shows an example of how to instantiate this type.
4570
+ # The values are placeholders you should change.
4571
+ from aws_cdk import aws_securityhub as securityhub
4572
+
4573
+ # tags: Any
4574
+
4575
+ cfn_hub_props = securityhub.CfnHubProps(
4576
+ auto_enable_controls=False,
4577
+ control_finding_generator="controlFindingGenerator",
4578
+ enable_default_standards=False,
4579
+ tags=tags
4580
+ )
4581
+ '''
4582
+ if __debug__:
4583
+ type_hints = typing.get_type_hints(_typecheckingstub__9a38c34c1f2742403521eb4af2098475d7afb878d3f9aba37048ae543b43e29c)
4584
+ check_type(argname="argument auto_enable_controls", value=auto_enable_controls, expected_type=type_hints["auto_enable_controls"])
4585
+ check_type(argname="argument control_finding_generator", value=control_finding_generator, expected_type=type_hints["control_finding_generator"])
4586
+ check_type(argname="argument enable_default_standards", value=enable_default_standards, expected_type=type_hints["enable_default_standards"])
4587
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4588
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4589
+ if auto_enable_controls is not None:
4590
+ self._values["auto_enable_controls"] = auto_enable_controls
4591
+ if control_finding_generator is not None:
4592
+ self._values["control_finding_generator"] = control_finding_generator
4593
+ if enable_default_standards is not None:
4594
+ self._values["enable_default_standards"] = enable_default_standards
4595
+ if tags is not None:
4596
+ self._values["tags"] = tags
4597
+
4598
+ @builtins.property
4599
+ def auto_enable_controls(
4600
+ self,
4601
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4602
+ '''Whether to automatically enable new controls when they are added to standards that are enabled.
4603
+
4604
+ By default, this is set to ``true`` , and new controls are enabled automatically. To not automatically enable new controls, set this to ``false`` .
4605
+
4606
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-autoenablecontrols
4607
+ '''
4608
+ result = self._values.get("auto_enable_controls")
4609
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
4610
+
4611
+ @builtins.property
4612
+ def control_finding_generator(self) -> typing.Optional[builtins.str]:
4613
+ '''Specifies whether an account has consolidated control findings turned on or off.
4614
+
4615
+ If the value for this field is set to ``SECURITY_CONTROL`` , Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards.
4616
+
4617
+ If the value for this field is set to ``STANDARD_CONTROL`` , Security Hub generates separate findings for a control check when the check applies to multiple enabled standards.
4618
+
4619
+ The value for this field in a member account matches the value in the administrator account. For accounts that aren't part of an organization, the default value of this field is ``SECURITY_CONTROL`` if you enabled Security Hub on or after February 23, 2023.
4620
+
4621
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-controlfindinggenerator
4622
+ '''
4623
+ result = self._values.get("control_finding_generator")
4624
+ return typing.cast(typing.Optional[builtins.str], result)
4625
+
4626
+ @builtins.property
4627
+ def enable_default_standards(
4628
+ self,
4629
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4630
+ '''Whether to enable the security standards that Security Hub has designated as automatically enabled.
4631
+
4632
+ If you don't provide a value for ``EnableDefaultStandards`` , it is set to ``true`` , and the designated standards are automatically enabled in each AWS Region where you enable Security Hub . If you don't want to enable the designated standards, set ``EnableDefaultStandards`` to ``false`` .
4633
+
4634
+ Currently, the automatically enabled standards are the Center for Internet Security (CIS) AWS Foundations Benchmark v1.2.0 and AWS Foundational Security Best Practices (FSBP).
4635
+
4636
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-enabledefaultstandards
4637
+ '''
4638
+ result = self._values.get("enable_default_standards")
4639
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
4640
+
4641
+ @builtins.property
4642
+ def tags(self) -> typing.Any:
4643
+ '''An array of key-value pairs to apply to this resource.
4644
+
4645
+ For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
4646
+
4647
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-tags
4648
+ '''
4649
+ result = self._values.get("tags")
4650
+ return typing.cast(typing.Any, result)
4651
+
4652
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4653
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4654
+
4655
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4656
+ return not (rhs == self)
4657
+
4658
+ def __repr__(self) -> str:
4659
+ return "CfnHubProps(%s)" % ", ".join(
4660
+ k + "=" + repr(v) for k, v in self._values.items()
4661
+ )
4662
+
4663
+
4664
+ @jsii.implements(_IInspectable_c2943556)
4665
+ class CfnInsight(
4666
+ _CfnResource_9df397a6,
4667
+ metaclass=jsii.JSIIMeta,
4668
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnInsight",
4669
+ ):
4670
+ '''The ``AWS::SecurityHub::Insight`` resource creates a custom insight in AWS Security Hub .
4671
+
4672
+ An insight is a collection of findings that relate to a security issue that requires attention or remediation. For more information, see `Insights in AWS Security Hub <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-insights.html>`_ in the *AWS Security Hub User Guide* .
4673
+
4674
+ Tags aren't supported for this resource.
4675
+
4676
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html
4677
+ :cloudformationResource: AWS::SecurityHub::Insight
4678
+ :exampleMetadata: fixture=_generated
4679
+
4680
+ Example::
4681
+
4682
+ # The code below shows an example of how to instantiate this type.
4683
+ # The values are placeholders you should change.
4684
+ from aws_cdk import aws_securityhub as securityhub
4685
+
4686
+ cfn_insight = securityhub.CfnInsight(self, "MyCfnInsight",
4687
+ filters=securityhub.CfnInsight.AwsSecurityFindingFiltersProperty(
4688
+ aws_account_id=[securityhub.CfnInsight.StringFilterProperty(
4689
+ comparison="comparison",
4690
+ value="value"
4691
+ )],
4692
+ aws_account_name=[securityhub.CfnInsight.StringFilterProperty(
4693
+ comparison="comparison",
3446
4694
  value="value"
3447
4695
  )],
3448
4696
  company_name=[securityhub.CfnInsight.StringFilterProperty(
@@ -7566,50 +8814,580 @@ class CfnInsightProps:
7566
8814
  )
7567
8815
  '''
7568
8816
  if __debug__:
7569
- type_hints = typing.get_type_hints(_typecheckingstub__592cb12c63690d3f829ab7f245b3d227f77eaa3657e0fd4c8452bc7d2a8ed3f8)
7570
- check_type(argname="argument filters", value=filters, expected_type=type_hints["filters"])
7571
- check_type(argname="argument group_by_attribute", value=group_by_attribute, expected_type=type_hints["group_by_attribute"])
7572
- check_type(argname="argument name", value=name, expected_type=type_hints["name"])
8817
+ type_hints = typing.get_type_hints(_typecheckingstub__592cb12c63690d3f829ab7f245b3d227f77eaa3657e0fd4c8452bc7d2a8ed3f8)
8818
+ check_type(argname="argument filters", value=filters, expected_type=type_hints["filters"])
8819
+ check_type(argname="argument group_by_attribute", value=group_by_attribute, expected_type=type_hints["group_by_attribute"])
8820
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
8821
+ self._values: typing.Dict[builtins.str, typing.Any] = {
8822
+ "filters": filters,
8823
+ "group_by_attribute": group_by_attribute,
8824
+ "name": name,
8825
+ }
8826
+
8827
+ @builtins.property
8828
+ def filters(
8829
+ self,
8830
+ ) -> typing.Union[_IResolvable_da3f097b, CfnInsight.AwsSecurityFindingFiltersProperty]:
8831
+ '''One or more attributes used to filter the findings included in the insight.
8832
+
8833
+ The insight only includes findings that match the criteria defined in the filters. You can filter by up to ten finding attributes. For each attribute, you can provide up to 20 filter values.
8834
+
8835
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html#cfn-securityhub-insight-filters
8836
+ '''
8837
+ result = self._values.get("filters")
8838
+ assert result is not None, "Required property 'filters' is missing"
8839
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnInsight.AwsSecurityFindingFiltersProperty], result)
8840
+
8841
+ @builtins.property
8842
+ def group_by_attribute(self) -> builtins.str:
8843
+ '''The grouping attribute for the insight's findings.
8844
+
8845
+ 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.
8846
+
8847
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html#cfn-securityhub-insight-groupbyattribute
8848
+ '''
8849
+ result = self._values.get("group_by_attribute")
8850
+ assert result is not None, "Required property 'group_by_attribute' is missing"
8851
+ return typing.cast(builtins.str, result)
8852
+
8853
+ @builtins.property
8854
+ def name(self) -> builtins.str:
8855
+ '''The name of a Security Hub insight.
8856
+
8857
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html#cfn-securityhub-insight-name
8858
+ '''
8859
+ result = self._values.get("name")
8860
+ assert result is not None, "Required property 'name' is missing"
8861
+ return typing.cast(builtins.str, result)
8862
+
8863
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8864
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8865
+
8866
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8867
+ return not (rhs == self)
8868
+
8869
+ def __repr__(self) -> str:
8870
+ return "CfnInsightProps(%s)" % ", ".join(
8871
+ k + "=" + repr(v) for k, v in self._values.items()
8872
+ )
8873
+
8874
+
8875
+ @jsii.implements(_IInspectable_c2943556)
8876
+ class CfnOrganizationConfiguration(
8877
+ _CfnResource_9df397a6,
8878
+ metaclass=jsii.JSIIMeta,
8879
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnOrganizationConfiguration",
8880
+ ):
8881
+ '''The AWS::SecurityHub::OrganizationConfiguration resource represents the configuration of your organization in Security Hub.
8882
+
8883
+ Only the Security Hub administrator account can create Organization Configuration resource in each region and can opt-in to Central Configuration only in the aggregation region of FindingAggregator.
8884
+
8885
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html
8886
+ :cloudformationResource: AWS::SecurityHub::OrganizationConfiguration
8887
+ :exampleMetadata: fixture=_generated
8888
+
8889
+ Example::
8890
+
8891
+ # The code below shows an example of how to instantiate this type.
8892
+ # The values are placeholders you should change.
8893
+ from aws_cdk import aws_securityhub as securityhub
8894
+
8895
+ cfn_organization_configuration = securityhub.CfnOrganizationConfiguration(self, "MyCfnOrganizationConfiguration",
8896
+ auto_enable=False,
8897
+
8898
+ # the properties below are optional
8899
+ auto_enable_standards="autoEnableStandards",
8900
+ configuration_type="configurationType"
8901
+ )
8902
+ '''
8903
+
8904
+ def __init__(
8905
+ self,
8906
+ scope: _constructs_77d1e7e8.Construct,
8907
+ id: builtins.str,
8908
+ *,
8909
+ auto_enable: typing.Union[builtins.bool, _IResolvable_da3f097b],
8910
+ auto_enable_standards: typing.Optional[builtins.str] = None,
8911
+ configuration_type: typing.Optional[builtins.str] = None,
8912
+ ) -> None:
8913
+ '''
8914
+ :param scope: Scope in which this resource is defined.
8915
+ :param id: Construct identifier for this resource (unique in its scope).
8916
+ :param auto_enable: Whether to automatically enable Security Hub in new member accounts when they join the organization.
8917
+ :param auto_enable_standards: Whether to automatically enable Security Hub default standards in new member accounts when they join the organization.
8918
+ :param configuration_type: Indicates whether the organization uses local or central configuration.
8919
+ '''
8920
+ if __debug__:
8921
+ type_hints = typing.get_type_hints(_typecheckingstub__186515c514aa6c3a2fef9e692700a118bb6ae2548e12249056898382ffeb0d85)
8922
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
8923
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
8924
+ props = CfnOrganizationConfigurationProps(
8925
+ auto_enable=auto_enable,
8926
+ auto_enable_standards=auto_enable_standards,
8927
+ configuration_type=configuration_type,
8928
+ )
8929
+
8930
+ jsii.create(self.__class__, self, [scope, id, props])
8931
+
8932
+ @jsii.member(jsii_name="inspect")
8933
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
8934
+ '''Examines the CloudFormation resource and discloses attributes.
8935
+
8936
+ :param inspector: tree inspector to collect and process attributes.
8937
+ '''
8938
+ if __debug__:
8939
+ type_hints = typing.get_type_hints(_typecheckingstub__8f961b20a9d500d9e5ab10dd27f9cb6ffa585dc6e18e6edd2dee650fe9889f32)
8940
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
8941
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
8942
+
8943
+ @jsii.member(jsii_name="renderProperties")
8944
+ def _render_properties(
8945
+ self,
8946
+ props: typing.Mapping[builtins.str, typing.Any],
8947
+ ) -> typing.Mapping[builtins.str, typing.Any]:
8948
+ '''
8949
+ :param props: -
8950
+ '''
8951
+ if __debug__:
8952
+ type_hints = typing.get_type_hints(_typecheckingstub__61ea6b4977e8136acf137cb187f5d9389836485016c3f34ee676ac35063b0566)
8953
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
8954
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
8955
+
8956
+ @jsii.python.classproperty
8957
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
8958
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
8959
+ '''The CloudFormation resource type name for this resource class.'''
8960
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
8961
+
8962
+ @builtins.property
8963
+ @jsii.member(jsii_name="attrMemberAccountLimitReached")
8964
+ def attr_member_account_limit_reached(self) -> _IResolvable_da3f097b:
8965
+ '''Whether the maximum number of allowed member accounts are already associated with the Security Hub administrator account.
8966
+
8967
+ :cloudformationAttribute: MemberAccountLimitReached
8968
+ '''
8969
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrMemberAccountLimitReached"))
8970
+
8971
+ @builtins.property
8972
+ @jsii.member(jsii_name="attrOrganizationConfigurationIdentifier")
8973
+ def attr_organization_configuration_identifier(self) -> builtins.str:
8974
+ '''The identifier of the OrganizationConfiguration being created and assigned as the unique identifier.
8975
+
8976
+ :cloudformationAttribute: OrganizationConfigurationIdentifier
8977
+ '''
8978
+ return typing.cast(builtins.str, jsii.get(self, "attrOrganizationConfigurationIdentifier"))
8979
+
8980
+ @builtins.property
8981
+ @jsii.member(jsii_name="attrStatus")
8982
+ def attr_status(self) -> builtins.str:
8983
+ '''Describes whether central configuration could be enabled as the ConfigurationType for the organization.
8984
+
8985
+ :cloudformationAttribute: Status
8986
+ '''
8987
+ return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
8988
+
8989
+ @builtins.property
8990
+ @jsii.member(jsii_name="attrStatusMessage")
8991
+ def attr_status_message(self) -> builtins.str:
8992
+ '''Provides an explanation if the value of Status is equal to FAILED when ConfigurationType is equal to CENTRAL.
8993
+
8994
+ :cloudformationAttribute: StatusMessage
8995
+ '''
8996
+ return typing.cast(builtins.str, jsii.get(self, "attrStatusMessage"))
8997
+
8998
+ @builtins.property
8999
+ @jsii.member(jsii_name="cfnProperties")
9000
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
9001
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
9002
+
9003
+ @builtins.property
9004
+ @jsii.member(jsii_name="autoEnable")
9005
+ def auto_enable(self) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
9006
+ '''Whether to automatically enable Security Hub in new member accounts when they join the organization.'''
9007
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], jsii.get(self, "autoEnable"))
9008
+
9009
+ @auto_enable.setter
9010
+ def auto_enable(
9011
+ self,
9012
+ value: typing.Union[builtins.bool, _IResolvable_da3f097b],
9013
+ ) -> None:
9014
+ if __debug__:
9015
+ type_hints = typing.get_type_hints(_typecheckingstub__c9c68b5ed857f20db52a9ddd608779c26714ad57f3e5ec020cd2ec205b0b4686)
9016
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9017
+ jsii.set(self, "autoEnable", value)
9018
+
9019
+ @builtins.property
9020
+ @jsii.member(jsii_name="autoEnableStandards")
9021
+ def auto_enable_standards(self) -> typing.Optional[builtins.str]:
9022
+ '''Whether to automatically enable Security Hub default standards in new member accounts when they join the organization.'''
9023
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "autoEnableStandards"))
9024
+
9025
+ @auto_enable_standards.setter
9026
+ def auto_enable_standards(self, value: typing.Optional[builtins.str]) -> None:
9027
+ if __debug__:
9028
+ type_hints = typing.get_type_hints(_typecheckingstub__a91a9e8125723c3bbf2b823016143a56e3921498aeef3bea3e38ab2507456375)
9029
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9030
+ jsii.set(self, "autoEnableStandards", value)
9031
+
9032
+ @builtins.property
9033
+ @jsii.member(jsii_name="configurationType")
9034
+ def configuration_type(self) -> typing.Optional[builtins.str]:
9035
+ '''Indicates whether the organization uses local or central configuration.'''
9036
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "configurationType"))
9037
+
9038
+ @configuration_type.setter
9039
+ def configuration_type(self, value: typing.Optional[builtins.str]) -> None:
9040
+ if __debug__:
9041
+ type_hints = typing.get_type_hints(_typecheckingstub__a9716e72aa1123497cebad00869227a883554f1d22c3001478ca2aa367e4480e)
9042
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9043
+ jsii.set(self, "configurationType", value)
9044
+
9045
+
9046
+ @jsii.data_type(
9047
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnOrganizationConfigurationProps",
9048
+ jsii_struct_bases=[],
9049
+ name_mapping={
9050
+ "auto_enable": "autoEnable",
9051
+ "auto_enable_standards": "autoEnableStandards",
9052
+ "configuration_type": "configurationType",
9053
+ },
9054
+ )
9055
+ class CfnOrganizationConfigurationProps:
9056
+ def __init__(
9057
+ self,
9058
+ *,
9059
+ auto_enable: typing.Union[builtins.bool, _IResolvable_da3f097b],
9060
+ auto_enable_standards: typing.Optional[builtins.str] = None,
9061
+ configuration_type: typing.Optional[builtins.str] = None,
9062
+ ) -> None:
9063
+ '''Properties for defining a ``CfnOrganizationConfiguration``.
9064
+
9065
+ :param auto_enable: Whether to automatically enable Security Hub in new member accounts when they join the organization.
9066
+ :param auto_enable_standards: Whether to automatically enable Security Hub default standards in new member accounts when they join the organization.
9067
+ :param configuration_type: Indicates whether the organization uses local or central configuration.
9068
+
9069
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html
9070
+ :exampleMetadata: fixture=_generated
9071
+
9072
+ Example::
9073
+
9074
+ # The code below shows an example of how to instantiate this type.
9075
+ # The values are placeholders you should change.
9076
+ from aws_cdk import aws_securityhub as securityhub
9077
+
9078
+ cfn_organization_configuration_props = securityhub.CfnOrganizationConfigurationProps(
9079
+ auto_enable=False,
9080
+
9081
+ # the properties below are optional
9082
+ auto_enable_standards="autoEnableStandards",
9083
+ configuration_type="configurationType"
9084
+ )
9085
+ '''
9086
+ if __debug__:
9087
+ type_hints = typing.get_type_hints(_typecheckingstub__5ecf45ca90d45aaa80bedc86eb8694d0887c6098fd444f073808d0642111f565)
9088
+ check_type(argname="argument auto_enable", value=auto_enable, expected_type=type_hints["auto_enable"])
9089
+ check_type(argname="argument auto_enable_standards", value=auto_enable_standards, expected_type=type_hints["auto_enable_standards"])
9090
+ check_type(argname="argument configuration_type", value=configuration_type, expected_type=type_hints["configuration_type"])
9091
+ self._values: typing.Dict[builtins.str, typing.Any] = {
9092
+ "auto_enable": auto_enable,
9093
+ }
9094
+ if auto_enable_standards is not None:
9095
+ self._values["auto_enable_standards"] = auto_enable_standards
9096
+ if configuration_type is not None:
9097
+ self._values["configuration_type"] = configuration_type
9098
+
9099
+ @builtins.property
9100
+ def auto_enable(self) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
9101
+ '''Whether to automatically enable Security Hub in new member accounts when they join the organization.
9102
+
9103
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html#cfn-securityhub-organizationconfiguration-autoenable
9104
+ '''
9105
+ result = self._values.get("auto_enable")
9106
+ assert result is not None, "Required property 'auto_enable' is missing"
9107
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
9108
+
9109
+ @builtins.property
9110
+ def auto_enable_standards(self) -> typing.Optional[builtins.str]:
9111
+ '''Whether to automatically enable Security Hub default standards in new member accounts when they join the organization.
9112
+
9113
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html#cfn-securityhub-organizationconfiguration-autoenablestandards
9114
+ '''
9115
+ result = self._values.get("auto_enable_standards")
9116
+ return typing.cast(typing.Optional[builtins.str], result)
9117
+
9118
+ @builtins.property
9119
+ def configuration_type(self) -> typing.Optional[builtins.str]:
9120
+ '''Indicates whether the organization uses local or central configuration.
9121
+
9122
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html#cfn-securityhub-organizationconfiguration-configurationtype
9123
+ '''
9124
+ result = self._values.get("configuration_type")
9125
+ return typing.cast(typing.Optional[builtins.str], result)
9126
+
9127
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9128
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9129
+
9130
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9131
+ return not (rhs == self)
9132
+
9133
+ def __repr__(self) -> str:
9134
+ return "CfnOrganizationConfigurationProps(%s)" % ", ".join(
9135
+ k + "=" + repr(v) for k, v in self._values.items()
9136
+ )
9137
+
9138
+
9139
+ @jsii.implements(_IInspectable_c2943556)
9140
+ class CfnPolicyAssociation(
9141
+ _CfnResource_9df397a6,
9142
+ metaclass=jsii.JSIIMeta,
9143
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnPolicyAssociation",
9144
+ ):
9145
+ '''The AWS::SecurityHub::PolicyAssociation resource represents the AWS Security Hub Central Configuration Policy associations in your Target.
9146
+
9147
+ Only the AWS Security Hub delegated administrator can create the resouce from the home region.
9148
+
9149
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html
9150
+ :cloudformationResource: AWS::SecurityHub::PolicyAssociation
9151
+ :exampleMetadata: fixture=_generated
9152
+
9153
+ Example::
9154
+
9155
+ # The code below shows an example of how to instantiate this type.
9156
+ # The values are placeholders you should change.
9157
+ from aws_cdk import aws_securityhub as securityhub
9158
+
9159
+ cfn_policy_association = securityhub.CfnPolicyAssociation(self, "MyCfnPolicyAssociation",
9160
+ configuration_policy_id="configurationPolicyId",
9161
+ target_id="targetId",
9162
+ target_type="targetType"
9163
+ )
9164
+ '''
9165
+
9166
+ def __init__(
9167
+ self,
9168
+ scope: _constructs_77d1e7e8.Construct,
9169
+ id: builtins.str,
9170
+ *,
9171
+ configuration_policy_id: builtins.str,
9172
+ target_id: builtins.str,
9173
+ target_type: builtins.str,
9174
+ ) -> None:
9175
+ '''
9176
+ :param scope: Scope in which this resource is defined.
9177
+ :param id: Construct identifier for this resource (unique in its scope).
9178
+ :param configuration_policy_id: The universally unique identifier (UUID) of the configuration policy or a value of SELF_MANAGED_SECURITY_HUB for a self-managed configuration.
9179
+ :param target_id: The identifier of the target account, organizational unit, or the root.
9180
+ :param target_type: Indicates whether the target is an AWS account, organizational unit, or the organization root.
9181
+ '''
9182
+ if __debug__:
9183
+ type_hints = typing.get_type_hints(_typecheckingstub__692795b18a46bd27d463b04c85753cc984649b4661bf3ac69e7b6db22ea687f8)
9184
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
9185
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
9186
+ props = CfnPolicyAssociationProps(
9187
+ configuration_policy_id=configuration_policy_id,
9188
+ target_id=target_id,
9189
+ target_type=target_type,
9190
+ )
9191
+
9192
+ jsii.create(self.__class__, self, [scope, id, props])
9193
+
9194
+ @jsii.member(jsii_name="inspect")
9195
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
9196
+ '''Examines the CloudFormation resource and discloses attributes.
9197
+
9198
+ :param inspector: tree inspector to collect and process attributes.
9199
+ '''
9200
+ if __debug__:
9201
+ type_hints = typing.get_type_hints(_typecheckingstub__5584bafcc86f50800ea4518660b55277dffdf5f5ee8e121384b85ad191c00bfc)
9202
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
9203
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
9204
+
9205
+ @jsii.member(jsii_name="renderProperties")
9206
+ def _render_properties(
9207
+ self,
9208
+ props: typing.Mapping[builtins.str, typing.Any],
9209
+ ) -> typing.Mapping[builtins.str, typing.Any]:
9210
+ '''
9211
+ :param props: -
9212
+ '''
9213
+ if __debug__:
9214
+ type_hints = typing.get_type_hints(_typecheckingstub__df1c70255e827fd04e301f8328ff1e4b5740bd4582c8218af83b96f51a2cdd46)
9215
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
9216
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
9217
+
9218
+ @jsii.python.classproperty
9219
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
9220
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
9221
+ '''The CloudFormation resource type name for this resource class.'''
9222
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
9223
+
9224
+ @builtins.property
9225
+ @jsii.member(jsii_name="attrAssociationIdentifier")
9226
+ def attr_association_identifier(self) -> builtins.str:
9227
+ '''A unique identifier to indicates if the target has an association.
9228
+
9229
+ :cloudformationAttribute: AssociationIdentifier
9230
+ '''
9231
+ return typing.cast(builtins.str, jsii.get(self, "attrAssociationIdentifier"))
9232
+
9233
+ @builtins.property
9234
+ @jsii.member(jsii_name="attrAssociationStatus")
9235
+ def attr_association_status(self) -> builtins.str:
9236
+ '''The current status of the association between the specified target and the configuration.
9237
+
9238
+ :cloudformationAttribute: AssociationStatus
9239
+ '''
9240
+ return typing.cast(builtins.str, jsii.get(self, "attrAssociationStatus"))
9241
+
9242
+ @builtins.property
9243
+ @jsii.member(jsii_name="attrAssociationStatusMessage")
9244
+ def attr_association_status_message(self) -> builtins.str:
9245
+ '''An explanation for a FAILED value for AssociationStatus.
9246
+
9247
+ :cloudformationAttribute: AssociationStatusMessage
9248
+ '''
9249
+ return typing.cast(builtins.str, jsii.get(self, "attrAssociationStatusMessage"))
9250
+
9251
+ @builtins.property
9252
+ @jsii.member(jsii_name="attrAssociationType")
9253
+ def attr_association_type(self) -> builtins.str:
9254
+ '''Indicates whether the association between the specified target and the configuration was directly applied by the Security Hub delegated administrator or inherited from a parent.
9255
+
9256
+ :cloudformationAttribute: AssociationType
9257
+ '''
9258
+ return typing.cast(builtins.str, jsii.get(self, "attrAssociationType"))
9259
+
9260
+ @builtins.property
9261
+ @jsii.member(jsii_name="attrUpdatedAt")
9262
+ def attr_updated_at(self) -> builtins.str:
9263
+ '''The date and time, in UTC and ISO 8601 format, that the configuration policy association was last updated.
9264
+
9265
+ :cloudformationAttribute: UpdatedAt
9266
+ '''
9267
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
9268
+
9269
+ @builtins.property
9270
+ @jsii.member(jsii_name="cfnProperties")
9271
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
9272
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
9273
+
9274
+ @builtins.property
9275
+ @jsii.member(jsii_name="configurationPolicyId")
9276
+ def configuration_policy_id(self) -> builtins.str:
9277
+ '''The universally unique identifier (UUID) of the configuration policy or a value of SELF_MANAGED_SECURITY_HUB for a self-managed configuration.'''
9278
+ return typing.cast(builtins.str, jsii.get(self, "configurationPolicyId"))
9279
+
9280
+ @configuration_policy_id.setter
9281
+ def configuration_policy_id(self, value: builtins.str) -> None:
9282
+ if __debug__:
9283
+ type_hints = typing.get_type_hints(_typecheckingstub__099694d0e3019ff95f4caf646c1f0281841f787418a0d3d41abadbc38cec77cb)
9284
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9285
+ jsii.set(self, "configurationPolicyId", value)
9286
+
9287
+ @builtins.property
9288
+ @jsii.member(jsii_name="targetId")
9289
+ def target_id(self) -> builtins.str:
9290
+ '''The identifier of the target account, organizational unit, or the root.'''
9291
+ return typing.cast(builtins.str, jsii.get(self, "targetId"))
9292
+
9293
+ @target_id.setter
9294
+ def target_id(self, value: builtins.str) -> None:
9295
+ if __debug__:
9296
+ type_hints = typing.get_type_hints(_typecheckingstub__af8804051f98d2fff348049fe6c76b9cb9a5e095f2b7216509e1bbc6c1557271)
9297
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9298
+ jsii.set(self, "targetId", value)
9299
+
9300
+ @builtins.property
9301
+ @jsii.member(jsii_name="targetType")
9302
+ def target_type(self) -> builtins.str:
9303
+ '''Indicates whether the target is an AWS account, organizational unit, or the organization root.'''
9304
+ return typing.cast(builtins.str, jsii.get(self, "targetType"))
9305
+
9306
+ @target_type.setter
9307
+ def target_type(self, value: builtins.str) -> None:
9308
+ if __debug__:
9309
+ type_hints = typing.get_type_hints(_typecheckingstub__ecc5d3f7535d58c2be7c9d763790a7e3c9fe6b64d4feea0c9122267c1bb09e15)
9310
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9311
+ jsii.set(self, "targetType", value)
9312
+
9313
+
9314
+ @jsii.data_type(
9315
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnPolicyAssociationProps",
9316
+ jsii_struct_bases=[],
9317
+ name_mapping={
9318
+ "configuration_policy_id": "configurationPolicyId",
9319
+ "target_id": "targetId",
9320
+ "target_type": "targetType",
9321
+ },
9322
+ )
9323
+ class CfnPolicyAssociationProps:
9324
+ def __init__(
9325
+ self,
9326
+ *,
9327
+ configuration_policy_id: builtins.str,
9328
+ target_id: builtins.str,
9329
+ target_type: builtins.str,
9330
+ ) -> None:
9331
+ '''Properties for defining a ``CfnPolicyAssociation``.
9332
+
9333
+ :param configuration_policy_id: The universally unique identifier (UUID) of the configuration policy or a value of SELF_MANAGED_SECURITY_HUB for a self-managed configuration.
9334
+ :param target_id: The identifier of the target account, organizational unit, or the root.
9335
+ :param target_type: Indicates whether the target is an AWS account, organizational unit, or the organization root.
9336
+
9337
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html
9338
+ :exampleMetadata: fixture=_generated
9339
+
9340
+ Example::
9341
+
9342
+ # The code below shows an example of how to instantiate this type.
9343
+ # The values are placeholders you should change.
9344
+ from aws_cdk import aws_securityhub as securityhub
9345
+
9346
+ cfn_policy_association_props = securityhub.CfnPolicyAssociationProps(
9347
+ configuration_policy_id="configurationPolicyId",
9348
+ target_id="targetId",
9349
+ target_type="targetType"
9350
+ )
9351
+ '''
9352
+ if __debug__:
9353
+ type_hints = typing.get_type_hints(_typecheckingstub__a3aaebd41d827b42b51371d194682a0933ab2ac5e1a75e6cbbd1e269c3a37afc)
9354
+ check_type(argname="argument configuration_policy_id", value=configuration_policy_id, expected_type=type_hints["configuration_policy_id"])
9355
+ check_type(argname="argument target_id", value=target_id, expected_type=type_hints["target_id"])
9356
+ check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
7573
9357
  self._values: typing.Dict[builtins.str, typing.Any] = {
7574
- "filters": filters,
7575
- "group_by_attribute": group_by_attribute,
7576
- "name": name,
9358
+ "configuration_policy_id": configuration_policy_id,
9359
+ "target_id": target_id,
9360
+ "target_type": target_type,
7577
9361
  }
7578
9362
 
7579
9363
  @builtins.property
7580
- def filters(
7581
- self,
7582
- ) -> typing.Union[_IResolvable_da3f097b, CfnInsight.AwsSecurityFindingFiltersProperty]:
7583
- '''One or more attributes used to filter the findings included in the insight.
9364
+ def configuration_policy_id(self) -> builtins.str:
9365
+ '''The universally unique identifier (UUID) of the configuration policy or a value of SELF_MANAGED_SECURITY_HUB for a self-managed configuration.
7584
9366
 
7585
- The insight only includes findings that match the criteria defined in the filters. You can filter by up to ten finding attributes. For each attribute, you can provide up to 20 filter values.
7586
-
7587
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html#cfn-securityhub-insight-filters
9367
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html#cfn-securityhub-policyassociation-configurationpolicyid
7588
9368
  '''
7589
- result = self._values.get("filters")
7590
- assert result is not None, "Required property 'filters' is missing"
7591
- return typing.cast(typing.Union[_IResolvable_da3f097b, CfnInsight.AwsSecurityFindingFiltersProperty], result)
9369
+ result = self._values.get("configuration_policy_id")
9370
+ assert result is not None, "Required property 'configuration_policy_id' is missing"
9371
+ return typing.cast(builtins.str, result)
7592
9372
 
7593
9373
  @builtins.property
7594
- def group_by_attribute(self) -> builtins.str:
7595
- '''The grouping attribute for the insight's findings.
7596
-
7597
- 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.
9374
+ def target_id(self) -> builtins.str:
9375
+ '''The identifier of the target account, organizational unit, or the root.
7598
9376
 
7599
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html#cfn-securityhub-insight-groupbyattribute
9377
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html#cfn-securityhub-policyassociation-targetid
7600
9378
  '''
7601
- result = self._values.get("group_by_attribute")
7602
- assert result is not None, "Required property 'group_by_attribute' is missing"
9379
+ result = self._values.get("target_id")
9380
+ assert result is not None, "Required property 'target_id' is missing"
7603
9381
  return typing.cast(builtins.str, result)
7604
9382
 
7605
9383
  @builtins.property
7606
- def name(self) -> builtins.str:
7607
- '''The name of a Security Hub insight.
9384
+ def target_type(self) -> builtins.str:
9385
+ '''Indicates whether the target is an AWS account, organizational unit, or the organization root.
7608
9386
 
7609
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html#cfn-securityhub-insight-name
9387
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html#cfn-securityhub-policyassociation-targettype
7610
9388
  '''
7611
- result = self._values.get("name")
7612
- assert result is not None, "Required property 'name' is missing"
9389
+ result = self._values.get("target_type")
9390
+ assert result is not None, "Required property 'target_type' is missing"
7613
9391
  return typing.cast(builtins.str, result)
7614
9392
 
7615
9393
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
@@ -7619,7 +9397,7 @@ class CfnInsightProps:
7619
9397
  return not (rhs == self)
7620
9398
 
7621
9399
  def __repr__(self) -> str:
7622
- return "CfnInsightProps(%s)" % ", ".join(
9400
+ return "CfnPolicyAssociationProps(%s)" % ", ".join(
7623
9401
  k + "=" + repr(v) for k, v in self._values.items()
7624
9402
  )
7625
9403
 
@@ -8410,12 +10188,20 @@ class CfnStandardProps:
8410
10188
  __all__ = [
8411
10189
  "CfnAutomationRule",
8412
10190
  "CfnAutomationRuleProps",
10191
+ "CfnConfigurationPolicy",
10192
+ "CfnConfigurationPolicyProps",
8413
10193
  "CfnDelegatedAdmin",
8414
10194
  "CfnDelegatedAdminProps",
10195
+ "CfnFindingAggregator",
10196
+ "CfnFindingAggregatorProps",
8415
10197
  "CfnHub",
8416
10198
  "CfnHubProps",
8417
10199
  "CfnInsight",
8418
10200
  "CfnInsightProps",
10201
+ "CfnOrganizationConfiguration",
10202
+ "CfnOrganizationConfigurationProps",
10203
+ "CfnPolicyAssociation",
10204
+ "CfnPolicyAssociationProps",
8419
10205
  "CfnProductSubscription",
8420
10206
  "CfnProductSubscriptionProps",
8421
10207
  "CfnSecurityControl",
@@ -8655,6 +10441,119 @@ def _typecheckingstub__221241b44c93ea569fcf69aaaade0ce7cf31b7343bc3d072d74ccd168
8655
10441
  """Type checking stubs"""
8656
10442
  pass
8657
10443
 
10444
+ def _typecheckingstub__e2cee5cf3fe5ba0b354ff30ea357f97d4a69893bed692305ae2919f0061404d2(
10445
+ scope: _constructs_77d1e7e8.Construct,
10446
+ id: builtins.str,
10447
+ *,
10448
+ configuration_policy: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationPolicy.PolicyProperty, typing.Dict[builtins.str, typing.Any]]],
10449
+ name: builtins.str,
10450
+ description: typing.Optional[builtins.str] = None,
10451
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
10452
+ ) -> None:
10453
+ """Type checking stubs"""
10454
+ pass
10455
+
10456
+ def _typecheckingstub__7db746216d4af7625aa0207d7a7c29b228b046ca193581d4486931471769f9e7(
10457
+ inspector: _TreeInspector_488e0dd5,
10458
+ ) -> None:
10459
+ """Type checking stubs"""
10460
+ pass
10461
+
10462
+ def _typecheckingstub__66e713d67f1f54ace155bb5c7fe5334bde6b3843a28e97e26e40c575ec7d505e(
10463
+ props: typing.Mapping[builtins.str, typing.Any],
10464
+ ) -> None:
10465
+ """Type checking stubs"""
10466
+ pass
10467
+
10468
+ def _typecheckingstub__dcfe8504c7335f76a4bad5bb43755a142eab48d80958f837dfc86c94989b8b0b(
10469
+ value: typing.Union[_IResolvable_da3f097b, CfnConfigurationPolicy.PolicyProperty],
10470
+ ) -> None:
10471
+ """Type checking stubs"""
10472
+ pass
10473
+
10474
+ def _typecheckingstub__0c731f4e7d50837bdafa92a4f5cb8478dc20fafa27c5a4f08cdf841e2570899f(
10475
+ value: builtins.str,
10476
+ ) -> None:
10477
+ """Type checking stubs"""
10478
+ pass
10479
+
10480
+ def _typecheckingstub__04301850c858bba803007d4d9502ff9c879ed1e1d926fa157899bd92a915c3cd(
10481
+ value: typing.Optional[builtins.str],
10482
+ ) -> None:
10483
+ """Type checking stubs"""
10484
+ pass
10485
+
10486
+ def _typecheckingstub__418f84486ff1ec65f898c97538e438a38d2ee43b4f9ed6260595a25dfa039629(
10487
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
10488
+ ) -> None:
10489
+ """Type checking stubs"""
10490
+ pass
10491
+
10492
+ def _typecheckingstub__bb7172387b04074df24e1743dd558a99d470acadb8c73ad883b45213f409832e(
10493
+ *,
10494
+ value_type: builtins.str,
10495
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationPolicy.ParameterValueProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10496
+ ) -> None:
10497
+ """Type checking stubs"""
10498
+ pass
10499
+
10500
+ def _typecheckingstub__969ca8061fcd5bd0e97fbdd1aa2f0797cdbe22b447375480430ca26de8051846(
10501
+ *,
10502
+ boolean: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10503
+ double: typing.Optional[jsii.Number] = None,
10504
+ enum: typing.Optional[builtins.str] = None,
10505
+ enum_list: typing.Optional[typing.Sequence[builtins.str]] = None,
10506
+ integer: typing.Optional[jsii.Number] = None,
10507
+ integer_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[jsii.Number]]] = None,
10508
+ string: typing.Optional[builtins.str] = None,
10509
+ string_list: typing.Optional[typing.Sequence[builtins.str]] = None,
10510
+ ) -> None:
10511
+ """Type checking stubs"""
10512
+ pass
10513
+
10514
+ def _typecheckingstub__e1ba9b51d0a7fd087e8cf10fa5291c42d61f90148e1a8a190e3c90fecacd0e7a(
10515
+ *,
10516
+ security_hub: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationPolicy.SecurityHubPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10517
+ ) -> None:
10518
+ """Type checking stubs"""
10519
+ pass
10520
+
10521
+ def _typecheckingstub__e2e264804926f4cf652225b9fc8713e91d7c135436850ecde7193ccfd4464014(
10522
+ *,
10523
+ parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationPolicy.ParameterConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
10524
+ security_control_id: typing.Optional[builtins.str] = None,
10525
+ ) -> None:
10526
+ """Type checking stubs"""
10527
+ pass
10528
+
10529
+ def _typecheckingstub__8978e0c4327c8995530e22f049a9b31f96402b88be3e220ea4340c89d3a2e1d2(
10530
+ *,
10531
+ disabled_security_control_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
10532
+ enabled_security_control_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
10533
+ security_control_custom_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationPolicy.SecurityControlCustomParameterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
10534
+ ) -> None:
10535
+ """Type checking stubs"""
10536
+ pass
10537
+
10538
+ def _typecheckingstub__6a1f60581e7a327c6c6d837a42e963fe4a8810a6d9642040c0f78837b8533f0f(
10539
+ *,
10540
+ enabled_standard_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
10541
+ security_controls_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationPolicy.SecurityControlsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10542
+ service_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10543
+ ) -> None:
10544
+ """Type checking stubs"""
10545
+ pass
10546
+
10547
+ def _typecheckingstub__9df36e470a5cb19a48e0918f07ba5c7fe4f2f6e13983d94bef33b262d3aa6d74(
10548
+ *,
10549
+ configuration_policy: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationPolicy.PolicyProperty, typing.Dict[builtins.str, typing.Any]]],
10550
+ name: builtins.str,
10551
+ description: typing.Optional[builtins.str] = None,
10552
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
10553
+ ) -> None:
10554
+ """Type checking stubs"""
10555
+ pass
10556
+
8658
10557
  def _typecheckingstub__e27e329e801cb67f6ec71f03a054a574103f5946def22c1bfdcd99ba50827d58(
8659
10558
  scope: _constructs_77d1e7e8.Construct,
8660
10559
  id: builtins.str,
@@ -8689,6 +10588,48 @@ def _typecheckingstub__bccd0acf2d461662eef1addff325ba8fe883439d680f7762ea393681a
8689
10588
  """Type checking stubs"""
8690
10589
  pass
8691
10590
 
10591
+ def _typecheckingstub__def955d28b5fec6358172b72efd12a764fe7f7be8d0ea9076bc99608ed72dd3c(
10592
+ scope: _constructs_77d1e7e8.Construct,
10593
+ id: builtins.str,
10594
+ *,
10595
+ region_linking_mode: builtins.str,
10596
+ regions: typing.Optional[typing.Sequence[builtins.str]] = None,
10597
+ ) -> None:
10598
+ """Type checking stubs"""
10599
+ pass
10600
+
10601
+ def _typecheckingstub__a7329a558d2c83a1557a17b5d0d96aa45bb0f3f54c5f2f90a5cb6c75ff90bf2b(
10602
+ inspector: _TreeInspector_488e0dd5,
10603
+ ) -> None:
10604
+ """Type checking stubs"""
10605
+ pass
10606
+
10607
+ def _typecheckingstub__eca9c6b033a7a2d97a20e47bd85628a6592ed83b9fa515c784d7e1d8efddecd2(
10608
+ props: typing.Mapping[builtins.str, typing.Any],
10609
+ ) -> None:
10610
+ """Type checking stubs"""
10611
+ pass
10612
+
10613
+ def _typecheckingstub__475994d9cd8d46f8f3a69625c313f5aeede3069bc0a97c77f4287886450a34ba(
10614
+ value: builtins.str,
10615
+ ) -> None:
10616
+ """Type checking stubs"""
10617
+ pass
10618
+
10619
+ def _typecheckingstub__8df27b51aae55bb4c2c3ab84a0b047bdd2763b4077910af8afa3825bbe83283d(
10620
+ value: typing.Optional[typing.List[builtins.str]],
10621
+ ) -> None:
10622
+ """Type checking stubs"""
10623
+ pass
10624
+
10625
+ def _typecheckingstub__da8ea981397b9b6c6a280597905a46066379d6756790684f43ea4354282836a9(
10626
+ *,
10627
+ region_linking_mode: builtins.str,
10628
+ regions: typing.Optional[typing.Sequence[builtins.str]] = None,
10629
+ ) -> None:
10630
+ """Type checking stubs"""
10631
+ pass
10632
+
8692
10633
  def _typecheckingstub__b5258d6906cbc8ea3b7ed82ec2c832e2751a0a1255445e6f3e81ea5935e2defb(
8693
10634
  scope: _constructs_77d1e7e8.Construct,
8694
10635
  id: builtins.str,
@@ -8971,6 +10912,106 @@ def _typecheckingstub__592cb12c63690d3f829ab7f245b3d227f77eaa3657e0fd4c8452bc7d2
8971
10912
  """Type checking stubs"""
8972
10913
  pass
8973
10914
 
10915
+ def _typecheckingstub__186515c514aa6c3a2fef9e692700a118bb6ae2548e12249056898382ffeb0d85(
10916
+ scope: _constructs_77d1e7e8.Construct,
10917
+ id: builtins.str,
10918
+ *,
10919
+ auto_enable: typing.Union[builtins.bool, _IResolvable_da3f097b],
10920
+ auto_enable_standards: typing.Optional[builtins.str] = None,
10921
+ configuration_type: typing.Optional[builtins.str] = None,
10922
+ ) -> None:
10923
+ """Type checking stubs"""
10924
+ pass
10925
+
10926
+ def _typecheckingstub__8f961b20a9d500d9e5ab10dd27f9cb6ffa585dc6e18e6edd2dee650fe9889f32(
10927
+ inspector: _TreeInspector_488e0dd5,
10928
+ ) -> None:
10929
+ """Type checking stubs"""
10930
+ pass
10931
+
10932
+ def _typecheckingstub__61ea6b4977e8136acf137cb187f5d9389836485016c3f34ee676ac35063b0566(
10933
+ props: typing.Mapping[builtins.str, typing.Any],
10934
+ ) -> None:
10935
+ """Type checking stubs"""
10936
+ pass
10937
+
10938
+ def _typecheckingstub__c9c68b5ed857f20db52a9ddd608779c26714ad57f3e5ec020cd2ec205b0b4686(
10939
+ value: typing.Union[builtins.bool, _IResolvable_da3f097b],
10940
+ ) -> None:
10941
+ """Type checking stubs"""
10942
+ pass
10943
+
10944
+ def _typecheckingstub__a91a9e8125723c3bbf2b823016143a56e3921498aeef3bea3e38ab2507456375(
10945
+ value: typing.Optional[builtins.str],
10946
+ ) -> None:
10947
+ """Type checking stubs"""
10948
+ pass
10949
+
10950
+ def _typecheckingstub__a9716e72aa1123497cebad00869227a883554f1d22c3001478ca2aa367e4480e(
10951
+ value: typing.Optional[builtins.str],
10952
+ ) -> None:
10953
+ """Type checking stubs"""
10954
+ pass
10955
+
10956
+ def _typecheckingstub__5ecf45ca90d45aaa80bedc86eb8694d0887c6098fd444f073808d0642111f565(
10957
+ *,
10958
+ auto_enable: typing.Union[builtins.bool, _IResolvable_da3f097b],
10959
+ auto_enable_standards: typing.Optional[builtins.str] = None,
10960
+ configuration_type: typing.Optional[builtins.str] = None,
10961
+ ) -> None:
10962
+ """Type checking stubs"""
10963
+ pass
10964
+
10965
+ def _typecheckingstub__692795b18a46bd27d463b04c85753cc984649b4661bf3ac69e7b6db22ea687f8(
10966
+ scope: _constructs_77d1e7e8.Construct,
10967
+ id: builtins.str,
10968
+ *,
10969
+ configuration_policy_id: builtins.str,
10970
+ target_id: builtins.str,
10971
+ target_type: builtins.str,
10972
+ ) -> None:
10973
+ """Type checking stubs"""
10974
+ pass
10975
+
10976
+ def _typecheckingstub__5584bafcc86f50800ea4518660b55277dffdf5f5ee8e121384b85ad191c00bfc(
10977
+ inspector: _TreeInspector_488e0dd5,
10978
+ ) -> None:
10979
+ """Type checking stubs"""
10980
+ pass
10981
+
10982
+ def _typecheckingstub__df1c70255e827fd04e301f8328ff1e4b5740bd4582c8218af83b96f51a2cdd46(
10983
+ props: typing.Mapping[builtins.str, typing.Any],
10984
+ ) -> None:
10985
+ """Type checking stubs"""
10986
+ pass
10987
+
10988
+ def _typecheckingstub__099694d0e3019ff95f4caf646c1f0281841f787418a0d3d41abadbc38cec77cb(
10989
+ value: builtins.str,
10990
+ ) -> None:
10991
+ """Type checking stubs"""
10992
+ pass
10993
+
10994
+ def _typecheckingstub__af8804051f98d2fff348049fe6c76b9cb9a5e095f2b7216509e1bbc6c1557271(
10995
+ value: builtins.str,
10996
+ ) -> None:
10997
+ """Type checking stubs"""
10998
+ pass
10999
+
11000
+ def _typecheckingstub__ecc5d3f7535d58c2be7c9d763790a7e3c9fe6b64d4feea0c9122267c1bb09e15(
11001
+ value: builtins.str,
11002
+ ) -> None:
11003
+ """Type checking stubs"""
11004
+ pass
11005
+
11006
+ def _typecheckingstub__a3aaebd41d827b42b51371d194682a0933ab2ac5e1a75e6cbbd1e269c3a37afc(
11007
+ *,
11008
+ configuration_policy_id: builtins.str,
11009
+ target_id: builtins.str,
11010
+ target_type: builtins.str,
11011
+ ) -> None:
11012
+ """Type checking stubs"""
11013
+ pass
11014
+
8974
11015
  def _typecheckingstub__45ff00dc1d7d1ca799678f5a142f5b951b1d37a1f101efd45167c0d18d8a8593(
8975
11016
  scope: _constructs_77d1e7e8.Construct,
8976
11017
  id: builtins.str,