aws-cdk-lib 2.140.0__py3-none-any.whl → 2.141.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.
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.140.0.jsii.tgz → aws-cdk-lib@2.141.0.jsii.tgz} +0 -0
- aws_cdk/aws_bedrock/__init__.py +51 -41
- aws_cdk/aws_cloudtrail/__init__.py +13 -4
- aws_cdk/aws_connectcampaigns/__init__.py +2 -2
- aws_cdk/aws_datasync/__init__.py +51 -56
- aws_cdk/aws_dynamodb/__init__.py +410 -0
- aws_cdk/aws_ec2/__init__.py +90 -40
- aws_cdk/aws_ecr/__init__.py +32 -7
- aws_cdk/aws_entityresolution/__init__.py +6 -2
- aws_cdk/aws_fms/__init__.py +7 -7
- aws_cdk/aws_gamelift/__init__.py +261 -160
- aws_cdk/aws_ivs/__init__.py +1 -3
- aws_cdk/aws_kms/__init__.py +11 -5
- aws_cdk/aws_location/__init__.py +8 -4
- aws_cdk/aws_oam/__init__.py +45 -11
- aws_cdk/aws_omics/__init__.py +4 -4
- aws_cdk/aws_paymentcryptography/__init__.py +128 -48
- aws_cdk/aws_pinpoint/__init__.py +7 -5
- aws_cdk/aws_qbusiness/__init__.py +620 -294
- aws_cdk/aws_quicksight/__init__.py +103 -40
- aws_cdk/aws_rds/__init__.py +38 -8
- aws_cdk/aws_route53profiles/__init__.py +49 -49
- aws_cdk/aws_sagemaker/__init__.py +30 -30
- aws_cdk/aws_ses/__init__.py +9 -9
- aws_cdk/aws_transfer/__init__.py +4 -4
- aws_cdk/aws_voiceid/__init__.py +2 -2
- {aws_cdk_lib-2.140.0.dist-info → aws_cdk_lib-2.141.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.140.0.dist-info → aws_cdk_lib-2.141.0.dist-info}/RECORD +33 -33
- {aws_cdk_lib-2.140.0.dist-info → aws_cdk_lib-2.141.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.140.0.dist-info → aws_cdk_lib-2.141.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.140.0.dist-info → aws_cdk_lib-2.141.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.140.0.dist-info → aws_cdk_lib-2.141.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_ec2/__init__.py
CHANGED
|
@@ -9389,7 +9389,6 @@ class CfnCustomerGateway(
|
|
|
9389
9389
|
|
|
9390
9390
|
# the properties below are optional
|
|
9391
9391
|
bgp_asn=123,
|
|
9392
|
-
bgp_asn_extended=123,
|
|
9393
9392
|
certificate_arn="certificateArn",
|
|
9394
9393
|
device_name="deviceName",
|
|
9395
9394
|
tags=[CfnTag(
|
|
@@ -9407,7 +9406,6 @@ class CfnCustomerGateway(
|
|
|
9407
9406
|
ip_address: builtins.str,
|
|
9408
9407
|
type: builtins.str,
|
|
9409
9408
|
bgp_asn: typing.Optional[jsii.Number] = None,
|
|
9410
|
-
bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
9411
9409
|
certificate_arn: typing.Optional[builtins.str] = None,
|
|
9412
9410
|
device_name: typing.Optional[builtins.str] = None,
|
|
9413
9411
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -9418,7 +9416,6 @@ class CfnCustomerGateway(
|
|
|
9418
9416
|
:param ip_address: IPv4 address for the customer gateway device's outside interface. The address must be static.
|
|
9419
9417
|
:param type: The type of VPN connection that this customer gateway supports ( ``ipsec.1`` ).
|
|
9420
9418
|
:param bgp_asn: For devices that support BGP, the customer gateway's BGP ASN. Default: 65000 Default: - 65000
|
|
9421
|
-
:param bgp_asn_extended:
|
|
9422
9419
|
:param certificate_arn: The Amazon Resource Name (ARN) for the customer gateway certificate.
|
|
9423
9420
|
:param device_name: The name of customer gateway device.
|
|
9424
9421
|
:param tags: One or more tags for the customer gateway.
|
|
@@ -9431,7 +9428,6 @@ class CfnCustomerGateway(
|
|
|
9431
9428
|
ip_address=ip_address,
|
|
9432
9429
|
type=type,
|
|
9433
9430
|
bgp_asn=bgp_asn,
|
|
9434
|
-
bgp_asn_extended=bgp_asn_extended,
|
|
9435
9431
|
certificate_arn=certificate_arn,
|
|
9436
9432
|
device_name=device_name,
|
|
9437
9433
|
tags=tags,
|
|
@@ -9528,18 +9524,6 @@ class CfnCustomerGateway(
|
|
|
9528
9524
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9529
9525
|
jsii.set(self, "bgpAsn", value)
|
|
9530
9526
|
|
|
9531
|
-
@builtins.property
|
|
9532
|
-
@jsii.member(jsii_name="bgpAsnExtended")
|
|
9533
|
-
def bgp_asn_extended(self) -> typing.Optional[jsii.Number]:
|
|
9534
|
-
return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "bgpAsnExtended"))
|
|
9535
|
-
|
|
9536
|
-
@bgp_asn_extended.setter
|
|
9537
|
-
def bgp_asn_extended(self, value: typing.Optional[jsii.Number]) -> None:
|
|
9538
|
-
if __debug__:
|
|
9539
|
-
type_hints = typing.get_type_hints(_typecheckingstub__f41644d25c48e5c3c87a361ba478bdb4a18bf473fe1582fa35c6311f6d5284d8)
|
|
9540
|
-
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9541
|
-
jsii.set(self, "bgpAsnExtended", value)
|
|
9542
|
-
|
|
9543
9527
|
@builtins.property
|
|
9544
9528
|
@jsii.member(jsii_name="certificateArn")
|
|
9545
9529
|
def certificate_arn(self) -> typing.Optional[builtins.str]:
|
|
@@ -9587,7 +9571,6 @@ class CfnCustomerGateway(
|
|
|
9587
9571
|
"ip_address": "ipAddress",
|
|
9588
9572
|
"type": "type",
|
|
9589
9573
|
"bgp_asn": "bgpAsn",
|
|
9590
|
-
"bgp_asn_extended": "bgpAsnExtended",
|
|
9591
9574
|
"certificate_arn": "certificateArn",
|
|
9592
9575
|
"device_name": "deviceName",
|
|
9593
9576
|
"tags": "tags",
|
|
@@ -9600,7 +9583,6 @@ class CfnCustomerGatewayProps:
|
|
|
9600
9583
|
ip_address: builtins.str,
|
|
9601
9584
|
type: builtins.str,
|
|
9602
9585
|
bgp_asn: typing.Optional[jsii.Number] = None,
|
|
9603
|
-
bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
9604
9586
|
certificate_arn: typing.Optional[builtins.str] = None,
|
|
9605
9587
|
device_name: typing.Optional[builtins.str] = None,
|
|
9606
9588
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -9610,7 +9592,6 @@ class CfnCustomerGatewayProps:
|
|
|
9610
9592
|
:param ip_address: IPv4 address for the customer gateway device's outside interface. The address must be static.
|
|
9611
9593
|
:param type: The type of VPN connection that this customer gateway supports ( ``ipsec.1`` ).
|
|
9612
9594
|
:param bgp_asn: For devices that support BGP, the customer gateway's BGP ASN. Default: 65000 Default: - 65000
|
|
9613
|
-
:param bgp_asn_extended:
|
|
9614
9595
|
:param certificate_arn: The Amazon Resource Name (ARN) for the customer gateway certificate.
|
|
9615
9596
|
:param device_name: The name of customer gateway device.
|
|
9616
9597
|
:param tags: One or more tags for the customer gateway.
|
|
@@ -9630,7 +9611,6 @@ class CfnCustomerGatewayProps:
|
|
|
9630
9611
|
|
|
9631
9612
|
# the properties below are optional
|
|
9632
9613
|
bgp_asn=123,
|
|
9633
|
-
bgp_asn_extended=123,
|
|
9634
9614
|
certificate_arn="certificateArn",
|
|
9635
9615
|
device_name="deviceName",
|
|
9636
9616
|
tags=[CfnTag(
|
|
@@ -9644,7 +9624,6 @@ class CfnCustomerGatewayProps:
|
|
|
9644
9624
|
check_type(argname="argument ip_address", value=ip_address, expected_type=type_hints["ip_address"])
|
|
9645
9625
|
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
9646
9626
|
check_type(argname="argument bgp_asn", value=bgp_asn, expected_type=type_hints["bgp_asn"])
|
|
9647
|
-
check_type(argname="argument bgp_asn_extended", value=bgp_asn_extended, expected_type=type_hints["bgp_asn_extended"])
|
|
9648
9627
|
check_type(argname="argument certificate_arn", value=certificate_arn, expected_type=type_hints["certificate_arn"])
|
|
9649
9628
|
check_type(argname="argument device_name", value=device_name, expected_type=type_hints["device_name"])
|
|
9650
9629
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
@@ -9654,8 +9633,6 @@ class CfnCustomerGatewayProps:
|
|
|
9654
9633
|
}
|
|
9655
9634
|
if bgp_asn is not None:
|
|
9656
9635
|
self._values["bgp_asn"] = bgp_asn
|
|
9657
|
-
if bgp_asn_extended is not None:
|
|
9658
|
-
self._values["bgp_asn_extended"] = bgp_asn_extended
|
|
9659
9636
|
if certificate_arn is not None:
|
|
9660
9637
|
self._values["certificate_arn"] = certificate_arn
|
|
9661
9638
|
if device_name is not None:
|
|
@@ -9698,14 +9675,6 @@ class CfnCustomerGatewayProps:
|
|
|
9698
9675
|
result = self._values.get("bgp_asn")
|
|
9699
9676
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
9700
9677
|
|
|
9701
|
-
@builtins.property
|
|
9702
|
-
def bgp_asn_extended(self) -> typing.Optional[jsii.Number]:
|
|
9703
|
-
'''
|
|
9704
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html#cfn-ec2-customergateway-bgpasnextended
|
|
9705
|
-
'''
|
|
9706
|
-
result = self._values.get("bgp_asn_extended")
|
|
9707
|
-
return typing.cast(typing.Optional[jsii.Number], result)
|
|
9708
|
-
|
|
9709
9678
|
@builtins.property
|
|
9710
9679
|
def certificate_arn(self) -> typing.Optional[builtins.str]:
|
|
9711
9680
|
'''The Amazon Resource Name (ARN) for the customer gateway certificate.
|
|
@@ -19455,6 +19424,15 @@ class CfnInstance(
|
|
|
19455
19424
|
'''
|
|
19456
19425
|
return typing.cast(builtins.str, jsii.get(self, "attrPublicIp"))
|
|
19457
19426
|
|
|
19427
|
+
@builtins.property
|
|
19428
|
+
@jsii.member(jsii_name="attrState")
|
|
19429
|
+
def attr_state(self) -> _IResolvable_da3f097b:
|
|
19430
|
+
'''The current state of the instance.
|
|
19431
|
+
|
|
19432
|
+
:cloudformationAttribute: State
|
|
19433
|
+
'''
|
|
19434
|
+
return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrState"))
|
|
19435
|
+
|
|
19458
19436
|
@builtins.property
|
|
19459
19437
|
@jsii.member(jsii_name="attrVpcId")
|
|
19460
19438
|
def attr_vpc_id(self) -> builtins.str:
|
|
@@ -21758,6 +21736,76 @@ class CfnInstance(
|
|
|
21758
21736
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
21759
21737
|
)
|
|
21760
21738
|
|
|
21739
|
+
@jsii.data_type(
|
|
21740
|
+
jsii_type="aws-cdk-lib.aws_ec2.CfnInstance.StateProperty",
|
|
21741
|
+
jsii_struct_bases=[],
|
|
21742
|
+
name_mapping={"code": "code", "name": "name"},
|
|
21743
|
+
)
|
|
21744
|
+
class StateProperty:
|
|
21745
|
+
def __init__(
|
|
21746
|
+
self,
|
|
21747
|
+
*,
|
|
21748
|
+
code: typing.Optional[builtins.str] = None,
|
|
21749
|
+
name: typing.Optional[builtins.str] = None,
|
|
21750
|
+
) -> None:
|
|
21751
|
+
'''The current state of the instance.
|
|
21752
|
+
|
|
21753
|
+
:param code: The state of the instance as a 16-bit unsigned integer.
|
|
21754
|
+
:param name: The current state of the instance.
|
|
21755
|
+
|
|
21756
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-state.html
|
|
21757
|
+
:exampleMetadata: fixture=_generated
|
|
21758
|
+
|
|
21759
|
+
Example::
|
|
21760
|
+
|
|
21761
|
+
# The code below shows an example of how to instantiate this type.
|
|
21762
|
+
# The values are placeholders you should change.
|
|
21763
|
+
from aws_cdk import aws_ec2 as ec2
|
|
21764
|
+
|
|
21765
|
+
state_property = ec2.CfnInstance.StateProperty(
|
|
21766
|
+
code="code",
|
|
21767
|
+
name="name"
|
|
21768
|
+
)
|
|
21769
|
+
'''
|
|
21770
|
+
if __debug__:
|
|
21771
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9846fa72cbaae139f4b014952902793cafe1392ee629b0862fc35909f9ec8da2)
|
|
21772
|
+
check_type(argname="argument code", value=code, expected_type=type_hints["code"])
|
|
21773
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
21774
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
21775
|
+
if code is not None:
|
|
21776
|
+
self._values["code"] = code
|
|
21777
|
+
if name is not None:
|
|
21778
|
+
self._values["name"] = name
|
|
21779
|
+
|
|
21780
|
+
@builtins.property
|
|
21781
|
+
def code(self) -> typing.Optional[builtins.str]:
|
|
21782
|
+
'''The state of the instance as a 16-bit unsigned integer.
|
|
21783
|
+
|
|
21784
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-state.html#cfn-ec2-instance-state-code
|
|
21785
|
+
'''
|
|
21786
|
+
result = self._values.get("code")
|
|
21787
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
21788
|
+
|
|
21789
|
+
@builtins.property
|
|
21790
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
21791
|
+
'''The current state of the instance.
|
|
21792
|
+
|
|
21793
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-state.html#cfn-ec2-instance-state-name
|
|
21794
|
+
'''
|
|
21795
|
+
result = self._values.get("name")
|
|
21796
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
21797
|
+
|
|
21798
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
21799
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
21800
|
+
|
|
21801
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
21802
|
+
return not (rhs == self)
|
|
21803
|
+
|
|
21804
|
+
def __repr__(self) -> str:
|
|
21805
|
+
return "StateProperty(%s)" % ", ".join(
|
|
21806
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
21807
|
+
)
|
|
21808
|
+
|
|
21761
21809
|
@jsii.data_type(
|
|
21762
21810
|
jsii_type="aws-cdk-lib.aws_ec2.CfnInstance.VolumeProperty",
|
|
21763
21811
|
jsii_struct_bases=[],
|
|
@@ -27765,7 +27813,7 @@ class CfnLaunchTemplate(
|
|
|
27765
27813
|
:param connection_tracking_specification: A connection tracking specification for the network interface.
|
|
27766
27814
|
:param delete_on_termination: Indicates whether the network interface is deleted when the instance is terminated.
|
|
27767
27815
|
:param description: A description for the network interface.
|
|
27768
|
-
:param device_index: The device index for the network interface attachment.
|
|
27816
|
+
:param device_index: The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.
|
|
27769
27817
|
:param ena_srd_specification: The ENA Express configuration for the network interface.
|
|
27770
27818
|
:param groups: The IDs of one or more security groups.
|
|
27771
27819
|
:param interface_type: The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` . For more information, see `Elastic Fabric Adapter <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html>`_ in the *Amazon Elastic Compute Cloud User Guide* . If you are not creating an EFA, specify ``interface`` or omit this parameter. Valid values: ``interface`` | ``efa``
|
|
@@ -27966,6 +28014,8 @@ class CfnLaunchTemplate(
|
|
|
27966
28014
|
def device_index(self) -> typing.Optional[jsii.Number]:
|
|
27967
28015
|
'''The device index for the network interface attachment.
|
|
27968
28016
|
|
|
28017
|
+
Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.
|
|
28018
|
+
|
|
27969
28019
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex
|
|
27970
28020
|
'''
|
|
27971
28021
|
result = self._values.get("device_index")
|
|
@@ -95028,7 +95078,6 @@ def _typecheckingstub__16b41182e007e05b84fd0c97afc1e26001e78a56de2eb5b10c9f809de
|
|
|
95028
95078
|
ip_address: builtins.str,
|
|
95029
95079
|
type: builtins.str,
|
|
95030
95080
|
bgp_asn: typing.Optional[jsii.Number] = None,
|
|
95031
|
-
bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
95032
95081
|
certificate_arn: typing.Optional[builtins.str] = None,
|
|
95033
95082
|
device_name: typing.Optional[builtins.str] = None,
|
|
95034
95083
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -95066,12 +95115,6 @@ def _typecheckingstub__84dfb7d1775bd2bb124f990570c9a2ef23fafd01744cfe248fcb36056
|
|
|
95066
95115
|
"""Type checking stubs"""
|
|
95067
95116
|
pass
|
|
95068
95117
|
|
|
95069
|
-
def _typecheckingstub__f41644d25c48e5c3c87a361ba478bdb4a18bf473fe1582fa35c6311f6d5284d8(
|
|
95070
|
-
value: typing.Optional[jsii.Number],
|
|
95071
|
-
) -> None:
|
|
95072
|
-
"""Type checking stubs"""
|
|
95073
|
-
pass
|
|
95074
|
-
|
|
95075
95118
|
def _typecheckingstub__4a4b900e840c5be3a2b16a5177f91335cf813daeca359e549a639cb05a03ac63(
|
|
95076
95119
|
value: typing.Optional[builtins.str],
|
|
95077
95120
|
) -> None:
|
|
@@ -95095,7 +95138,6 @@ def _typecheckingstub__b0ef9a2e3e2b6937b21db500a1cd795126e924d9b920931a413ecdb66
|
|
|
95095
95138
|
ip_address: builtins.str,
|
|
95096
95139
|
type: builtins.str,
|
|
95097
95140
|
bgp_asn: typing.Optional[jsii.Number] = None,
|
|
95098
|
-
bgp_asn_extended: typing.Optional[jsii.Number] = None,
|
|
95099
95141
|
certificate_arn: typing.Optional[builtins.str] = None,
|
|
95100
95142
|
device_name: typing.Optional[builtins.str] = None,
|
|
95101
95143
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -96943,6 +96985,14 @@ def _typecheckingstub__3246e3302ff8df6b195439adc5ead244f95f45eca29b97351de498153
|
|
|
96943
96985
|
"""Type checking stubs"""
|
|
96944
96986
|
pass
|
|
96945
96987
|
|
|
96988
|
+
def _typecheckingstub__9846fa72cbaae139f4b014952902793cafe1392ee629b0862fc35909f9ec8da2(
|
|
96989
|
+
*,
|
|
96990
|
+
code: typing.Optional[builtins.str] = None,
|
|
96991
|
+
name: typing.Optional[builtins.str] = None,
|
|
96992
|
+
) -> None:
|
|
96993
|
+
"""Type checking stubs"""
|
|
96994
|
+
pass
|
|
96995
|
+
|
|
96946
96996
|
def _typecheckingstub__b979ff4b2e7bc79429f0409f1fb60a5125a9cda71770a0324082ebc0a6c50756(
|
|
96947
96997
|
*,
|
|
96948
96998
|
device: builtins.str,
|
aws_cdk/aws_ecr/__init__.py
CHANGED
|
@@ -219,6 +219,27 @@ repository.add_to_resource_policy(iam.PolicyStatement(
|
|
|
219
219
|
principals=[iam.AnyPrincipal()]
|
|
220
220
|
))
|
|
221
221
|
```
|
|
222
|
+
|
|
223
|
+
## CloudWatch event rules
|
|
224
|
+
|
|
225
|
+
You can publish repository events to a CloudWatch event rule with `onEvent`:
|
|
226
|
+
|
|
227
|
+
```python
|
|
228
|
+
import aws_cdk.aws_lambda as lambda_
|
|
229
|
+
from aws_cdk.aws_events_targets import LambdaFunction
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
repo = ecr.Repository(self, "Repo")
|
|
233
|
+
lambda_handler = lambda_.Function(self, "LambdaFunction",
|
|
234
|
+
runtime=lambda_.Runtime.PYTHON_3_12,
|
|
235
|
+
code=lambda_.Code.from_inline("# dummy func"),
|
|
236
|
+
handler="index.handler"
|
|
237
|
+
)
|
|
238
|
+
|
|
239
|
+
repo.on_event("OnEventTargetLambda",
|
|
240
|
+
target=LambdaFunction(lambda_handler)
|
|
241
|
+
)
|
|
242
|
+
```
|
|
222
243
|
'''
|
|
223
244
|
from pkgutil import extend_path
|
|
224
245
|
__path__ = extend_path(__path__, __name__)
|
|
@@ -4664,15 +4685,19 @@ class Repository(
|
|
|
4664
4685
|
|
|
4665
4686
|
Example::
|
|
4666
4687
|
|
|
4667
|
-
import aws_cdk.
|
|
4688
|
+
import aws_cdk.aws_lambda as lambda_
|
|
4689
|
+
from aws_cdk.aws_events_targets import LambdaFunction
|
|
4668
4690
|
|
|
4669
4691
|
|
|
4670
|
-
|
|
4671
|
-
|
|
4672
|
-
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
4692
|
+
repo = ecr.Repository(self, "Repo")
|
|
4693
|
+
lambda_handler = lambda_.Function(self, "LambdaFunction",
|
|
4694
|
+
runtime=lambda_.Runtime.PYTHON_3_12,
|
|
4695
|
+
code=lambda_.Code.from_inline("# dummy func"),
|
|
4696
|
+
handler="index.handler"
|
|
4697
|
+
)
|
|
4698
|
+
|
|
4699
|
+
repo.on_event("OnEventTargetLambda",
|
|
4700
|
+
target=LambdaFunction(lambda_handler)
|
|
4676
4701
|
)
|
|
4677
4702
|
'''
|
|
4678
4703
|
|
|
@@ -2912,7 +2912,7 @@ class CfnPolicyStatement(
|
|
|
2912
2912
|
:param statement_id: A statement identifier that differentiates the statement from others in the same policy.
|
|
2913
2913
|
:param action: The action that the principal can use on the resource. For example, ``entityresolution:GetIdMappingJob`` , ``entityresolution:GetMatchingJob`` .
|
|
2914
2914
|
:param condition: A set of condition keys that you can use in key policies.
|
|
2915
|
-
:param effect: Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ).
|
|
2915
|
+
:param effect: Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ). .. epigraph:: If you set the value of the ``effect`` parameter to ``Deny`` for the ``AddPolicyStatement`` operation, you must also set the value of the ``effect`` parameter in the ``policy`` to ``Deny`` for the ``PutPolicy`` operation.
|
|
2916
2916
|
:param principal: The AWS service or AWS account that can access the resource defined as ARN.
|
|
2917
2917
|
'''
|
|
2918
2918
|
if __debug__:
|
|
@@ -3073,7 +3073,7 @@ class CfnPolicyStatementProps:
|
|
|
3073
3073
|
:param statement_id: A statement identifier that differentiates the statement from others in the same policy.
|
|
3074
3074
|
:param action: The action that the principal can use on the resource. For example, ``entityresolution:GetIdMappingJob`` , ``entityresolution:GetMatchingJob`` .
|
|
3075
3075
|
:param condition: A set of condition keys that you can use in key policies.
|
|
3076
|
-
:param effect: Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ).
|
|
3076
|
+
:param effect: Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ). .. epigraph:: If you set the value of the ``effect`` parameter to ``Deny`` for the ``AddPolicyStatement`` operation, you must also set the value of the ``effect`` parameter in the ``policy`` to ``Deny`` for the ``PutPolicy`` operation.
|
|
3077
3077
|
:param principal: The AWS service or AWS account that can access the resource defined as ARN.
|
|
3078
3078
|
|
|
3079
3079
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html
|
|
@@ -3161,6 +3161,10 @@ class CfnPolicyStatementProps:
|
|
|
3161
3161
|
def effect(self) -> typing.Optional[builtins.str]:
|
|
3162
3162
|
'''Determines whether the permissions specified in the policy are to be allowed ( ``Allow`` ) or denied ( ``Deny`` ).
|
|
3163
3163
|
|
|
3164
|
+
.. epigraph::
|
|
3165
|
+
|
|
3166
|
+
If you set the value of the ``effect`` parameter to ``Deny`` for the ``AddPolicyStatement`` operation, you must also set the value of the ``effect`` parameter in the ``policy`` to ``Deny`` for the ``PutPolicy`` operation.
|
|
3167
|
+
|
|
3164
3168
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html#cfn-entityresolution-policystatement-effect
|
|
3165
3169
|
'''
|
|
3166
3170
|
result = self._values.get("effect")
|
aws_cdk/aws_fms/__init__.py
CHANGED
|
@@ -348,7 +348,7 @@ class CfnPolicy(
|
|
|
348
348
|
:param delete_all_policy_resources: Used when deleting a policy. If ``true`` , Firewall Manager performs cleanup according to the policy type. For AWS WAF and Shield Advanced policies, Firewall Manager does the following: - Deletes rule groups created by Firewall Manager - Removes web ACLs from in-scope resources - Deletes web ACLs that contain no rules or rule groups For security group policies, Firewall Manager does the following for each security group in the policy: - Disassociates the security group from in-scope resources - Deletes the security group if it was created through Firewall Manager and if it's no longer associated with any resources through another policy After the cleanup, in-scope resources are no longer protected by web ACLs in this policy. Protection of out-of-scope resources remains unchanged. Scope is determined by tags that you create and accounts that you associate with the policy. When creating the policy, if you specify that only resources in specific accounts or with specific tags are in scope of the policy, those accounts and resources are handled by the policy. All others are out of scope. If you don't specify tags or accounts, all resources are in scope.
|
|
349
349
|
:param exclude_map: Specifies the AWS account IDs and AWS Organizations organizational units (OUs) to exclude from the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time. You can specify inclusions or exclusions, but not both. If you specify an ``IncludeMap`` , AWS Firewall Manager applies the policy to all accounts specified by the ``IncludeMap`` , and does not evaluate any ``ExcludeMap`` specifications. If you do not specify an ``IncludeMap`` , then Firewall Manager applies the policy to all accounts except for those specified by the ``ExcludeMap`` . You can specify account IDs, OUs, or a combination: - Specify account IDs by setting the key to ``ACCOUNT`` . For example, the following is a valid map: ``{“ACCOUNT” : [“accountID1”, “accountID2”]}`` . - Specify OUs by setting the key to ``ORGUNIT`` . For example, the following is a valid map: ``{“ORGUNIT” : [“ouid111”, “ouid112”]}`` . - Specify accounts and OUs together in a single map, separated with a comma. For example, the following is a valid map: ``{“ACCOUNT” : [“accountID1”, “accountID2”], “ORGUNIT” : [“ouid111”, “ouid112”]}`` .
|
|
350
350
|
:param include_map: Specifies the AWS account IDs and AWS Organizations organizational units (OUs) to include in the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time. You can specify inclusions or exclusions, but not both. If you specify an ``IncludeMap`` , AWS Firewall Manager applies the policy to all accounts specified by the ``IncludeMap`` , and does not evaluate any ``ExcludeMap`` specifications. If you do not specify an ``IncludeMap`` , then Firewall Manager applies the policy to all accounts except for those specified by the ``ExcludeMap`` . You can specify account IDs, OUs, or a combination: - Specify account IDs by setting the key to ``ACCOUNT`` . For example, the following is a valid map: ``{“ACCOUNT” : [“accountID1”, “accountID2”]}`` . - Specify OUs by setting the key to ``ORGUNIT`` . For example, the following is a valid map: ``{“ORGUNIT” : [“ouid111”, “ouid112”]}`` . - Specify accounts and OUs together in a single map, separated with a comma. For example, the following is a valid map: ``{“ACCOUNT” : [“accountID1”, “accountID2”], “ORGUNIT” : [“ouid111”, “ouid112”]}`` .
|
|
351
|
-
:param policy_description:
|
|
351
|
+
:param policy_description: Your description of the AWS Firewall Manager policy.
|
|
352
352
|
:param resources_clean_up: Indicates whether AWS Firewall Manager should automatically remove protections from resources that leave the policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected customer resource when the customer resource leaves policy scope. By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. This option is not available for Shield Advanced or AWS WAF Classic policies.
|
|
353
353
|
:param resource_set_ids: The unique identifiers of the resource sets used by the policy.
|
|
354
354
|
:param resource_tags: An array of ``ResourceTag`` objects, used to explicitly include resources in the policy scope or explicitly exclude them. If this isn't set, then tags aren't used to modify policy scope. See also ``ExcludeResourceTags`` .
|
|
@@ -563,7 +563,7 @@ class CfnPolicy(
|
|
|
563
563
|
@builtins.property
|
|
564
564
|
@jsii.member(jsii_name="policyDescription")
|
|
565
565
|
def policy_description(self) -> typing.Optional[builtins.str]:
|
|
566
|
-
'''
|
|
566
|
+
'''Your description of the AWS Firewall Manager policy.'''
|
|
567
567
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "policyDescription"))
|
|
568
568
|
|
|
569
569
|
@policy_description.setter
|
|
@@ -821,7 +821,7 @@ class CfnPolicy(
|
|
|
821
821
|
network_firewall_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicy.NetworkFirewallPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
822
822
|
third_party_firewall_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicy.ThirdPartyFirewallPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
823
823
|
) -> None:
|
|
824
|
-
'''Contains the
|
|
824
|
+
'''Contains the settings to configure a network ACL policy, a AWS Network Firewall firewall policy deployment model, or a third-party firewall policy.
|
|
825
825
|
|
|
826
826
|
:param network_firewall_policy: Defines the deployment model to use for the firewall policy.
|
|
827
827
|
:param third_party_firewall_policy: Defines the policy options for a third-party firewall policy.
|
|
@@ -1055,7 +1055,7 @@ class CfnPolicy(
|
|
|
1055
1055
|
|
|
1056
1056
|
:param type: The service that the policy is using to protect the resources. This specifies the type of policy that is created, either an AWS WAF policy, a Shield Advanced policy, or a security group policy. For security group policies, Firewall Manager supports one security group for each common policy and for each content audit policy. This is an adjustable limit that you can increase by contacting AWS Support .
|
|
1057
1057
|
:param managed_service_data: Details about the service that are specific to the service type, in JSON format. - Example: ``DNS_FIREWALL`` ``"{\\"type\\":\\"DNS_FIREWALL\\",\\"preProcessRuleGroups\\":[{\\"ruleGroupId\\":\\"rslvr-frg-1\\",\\"priority\\":10}],\\"postProcessRuleGroups\\":[{\\"ruleGroupId\\":\\"rslvr-frg-2\\",\\"priority\\":9911}]}"`` .. epigraph:: Valid values for ``preProcessRuleGroups`` are between 1 and 99. Valid values for ``postProcessRuleGroups`` are between 9901 and 10000. - Example: ``NETWORK_FIREWALL`` - Centralized deployment model ``"{\\"type\\":\\"NETWORK_FIREWALL\\",\\"awsNetworkFirewallConfig\\":{\\"networkFirewallStatelessRuleGroupReferences\\":[{\\"resourceARN\\":\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\\",\\"priority\\":1}],\\"networkFirewallStatelessDefaultActions\\":[\\"aws:forward_to_sfe\\",\\"customActionName\\"],\\"networkFirewallStatelessFragmentDefaultActions\\":[\\"aws:forward_to_sfe\\",\\"customActionName\\"],\\"networkFirewallStatelessCustomActions\\":[{\\"actionName\\":\\"customActionName\\",\\"actionDefinition\\":{\\"publishMetricAction\\":{\\"dimensions\\":[{\\"value\\":\\"metricdimensionvalue\\"}]}}}],\\"networkFirewallStatefulRuleGroupReferences\\":[{\\"resourceARN\\":\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\\"}],\\"networkFirewallLoggingConfiguration\\":{\\"logDestinationConfigs\\":[{\\"logDestinationType\\":\\"S3\\",\\"logType\\":\\"ALERT\\",\\"logDestination\\":{\\"bucketName\\":\\"s3-bucket-name\\"}},{\\"logDestinationType\\":\\"S3\\",\\"logType\\":\\"FLOW\\",\\"logDestination\\":{\\"bucketName\\":\\"s3-bucket-name\\"}}],\\"overrideExistingConfig\\":true}},\\"firewallDeploymentModel\\":{\\"centralizedFirewallDeploymentModel\\":{\\"centralizedFirewallOrchestrationConfig\\":{\\"inspectionVpcIds\\":[{\\"resourceId\\":\\"vpc-1234\\",\\"accountId\\":\\"123456789011\\"}],\\"firewallCreationConfig\\":{\\"endpointLocation\\":{\\"availabilityZoneConfigList\\":[{\\"availabilityZoneId\\":null,\\"availabilityZoneName\\":\\"us-east-1a\\",\\"allowedIPV4CidrList\\":[\\"10.0.0.0/28\\"]}]}},\\"allowedIPV4CidrList\\":[]}}}}"`` To use the distributed deployment model, you must set `FirewallDeploymentModel <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-networkfirewallpolicy.html>`_ to ``DISTRIBUTED`` . - Example: ``NETWORK_FIREWALL`` - Distributed deployment model with automatic Availability Zone configuration ``"{\\"type\\":\\"NETWORK_FIREWALL\\",\\"networkFirewallStatelessRuleGroupReferences\\":[{\\"resourceARN\\":\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\\",\\"priority\\":1}],\\"networkFirewallStatelessDefaultActions\\":[\\"aws:forward_to_sfe\\",\\"customActionName\\"],\\"networkFirewallStatelessFragmentDefaultActions\\":[\\"aws:forward_to_sfe\\",\\"customActionName\\"],\\"networkFirewallStatelessCustomActions\\":[{\\"actionName\\":\\"customActionName\\",\\"actionDefinition\\":{\\"publishMetricAction\\":{\\"dimensions\\":[{\\"value\\":\\"metricdimensionvalue\\"}]}}}],\\"networkFirewallStatefulRuleGroupReferences\\":[{\\"resourceARN\\":\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\\"}],\\"networkFirewallOrchestrationConfig\\":{\\"singleFirewallEndpointPerVPC\\":false,\\"allowedIPV4CidrList\\":[\\"10.0.0.0/28\\",\\"192.168.0.0/28\\"],\\"routeManagementAction\\":\\"OFF\\"},\\"networkFirewallLoggingConfiguration\\":{\\"logDestinationConfigs\\":[{\\"logDestinationType\\":\\"S3\\",\\"logType\\":\\"ALERT\\",\\"logDestination\\":{\\"bucketName\\":\\"s3-bucket-name\\"}},{\\"logDestinationType\\":\\"S3\\",\\"logType\\":\\"FLOW\\",\\"logDestination\\":{\\"bucketName\\":\\"s3-bucket-name\\"}}],\\"overrideExistingConfig\\":true}}"`` With automatic Availbility Zone configuration, Firewall Manager chooses which Availability Zones to create the endpoints in. To use the distributed deployment model, you must set `FirewallDeploymentModel <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-networkfirewallpolicy.html>`_ to ``DISTRIBUTED`` . - Example: ``NETWORK_FIREWALL`` - Distributed deployment model with automatic Availability Zone configuration and route management ``"{\\"type\\":\\"NETWORK_FIREWALL\\",\\"networkFirewallStatelessRuleGroupReferences\\":[{\\"resourceARN\\":\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\\",\\"priority\\":1}],\\"networkFirewallStatelessDefaultActions\\":[\\"aws:forward_to_sfe\\",\\"customActionName\\"],\\"networkFirewallStatelessFragmentDefaultActions\\":[\\"aws:forward_to_sfe\\",\\"customActionName\\"],\\"networkFirewallStatelessCustomActions\\":[{\\"actionName\\":\\"customActionName\\",\\"actionDefinition\\":{\\"publishMetricAction\\":{\\"dimensions\\":[{\\"value\\":\\"metricdimensionvalue\\"}]}}}],\\"networkFirewallStatefulRuleGroupReferences\\":[{\\"resourceARN\\":\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\\"}],\\"networkFirewallOrchestrationConfig\\":{\\"singleFirewallEndpointPerVPC\\":false,\\"allowedIPV4CidrList\\":[\\"10.0.0.0/28\\",\\"192.168.0.0/28\\"],\\"routeManagementAction\\":\\"MONITOR\\",\\"routeManagementTargetTypes\\":[\\"InternetGateway\\"]},\\"networkFirewallLoggingConfiguration\\":{\\"logDestinationConfigs\\":[{\\"logDestinationType\\":\\"S3\\",\\"logType\\":\\"ALERT\\",\\"logDestination\\":{\\"bucketName\\":\\"s3-bucket-name\\"}},{\\"logDestinationType\\":\\"S3\\",\\"logType\\": \\"FLOW\\",\\"logDestination\\":{\\"bucketName\\":\\"s3-bucket-name\\"}}],\\"overrideExistingConfig\\":true}}"`` To use the distributed deployment model, you must set `FirewallDeploymentModel <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-networkfirewallpolicy.html>`_ to ``DISTRIBUTED`` . - Example: ``NETWORK_FIREWALL`` - Distributed deployment model with custom Availability Zone configuration ``"{\\"type\\":\\"NETWORK_FIREWALL\\",\\"networkFirewallStatelessRuleGroupReferences\\":[{\\"resourceARN\\":\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\\",\\"priority\\":1}],\\"networkFirewallStatelessDefaultActions\\":[\\"aws:forward_to_sfe\\",\\"customActionName\\"],\\"networkFirewallStatelessFragmentDefaultActions\\":[\\"aws:forward_to_sfe\\",\\"fragmentcustomactionname\\"],\\"networkFirewallStatelessCustomActions\\":[{\\"actionName\\":\\"customActionName\\", \\"actionDefinition\\":{\\"publishMetricAction\\":{\\"dimensions\\":[{\\"value\\":\\"metricdimensionvalue\\"}]}}},{\\"actionName\\":\\"fragmentcustomactionname\\",\\"actionDefinition\\":{\\"publishMetricAction\\":{\\"dimensions\\":[{\\"value\\":\\"fragmentmetricdimensionvalue\\"}]}}}],\\"networkFirewallStatefulRuleGroupReferences\\":[{\\"resourceARN\\":\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\\"}],\\"networkFirewallOrchestrationConfig\\":{\\"firewallCreationConfig\\":{ \\"endpointLocation\\":{\\"availabilityZoneConfigList\\":[{\\"availabilityZoneName\\":\\"us-east-1a\\",\\"allowedIPV4CidrList\\":[\\"10.0.0.0/28\\"]},{\\"availabilityZoneName\\":\\"us-east-1b\\",\\"allowedIPV4CidrList\\":[ \\"10.0.0.0/28\\"]}]} },\\"singleFirewallEndpointPerVPC\\":false,\\"allowedIPV4CidrList\\":null,\\"routeManagementAction\\":\\"OFF\\",\\"networkFirewallLoggingConfiguration\\":{\\"logDestinationConfigs\\":[{\\"logDestinationType\\":\\"S3\\",\\"logType\\":\\"ALERT\\",\\"logDestination\\":{\\"bucketName\\":\\"s3-bucket-name\\"}},{\\"logDestinationType\\":\\"S3\\",\\"logType\\":\\"FLOW\\",\\"logDestination\\":{\\"bucketName\\":\\"s3-bucket-name\\"}}],\\"overrideExistingConfig\\":boolean}}"`` With custom Availability Zone configuration, you define which specific Availability Zones to create endpoints in by configuring ``firewallCreationConfig`` . To configure the Availability Zones in ``firewallCreationConfig`` , specify either the ``availabilityZoneName`` or ``availabilityZoneId`` parameter, not both parameters. To use the distributed deployment model, you must set `FirewallDeploymentModel <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-networkfirewallpolicy.html>`_ to ``DISTRIBUTED`` . - Example: ``NETWORK_FIREWALL`` - Distributed deployment model with custom Availability Zone configuration and route management ``"{\\"type\\":\\"NETWORK_FIREWALL\\",\\"networkFirewallStatelessRuleGroupReferences\\":[{\\"resourceARN\\":\\"arn:aws:network-firewall:us-east-1:123456789011:stateless-rulegroup/test\\",\\"priority\\":1}],\\"networkFirewallStatelessDefaultActions\\":[\\"aws:forward_to_sfe\\",\\"customActionName\\"],\\"networkFirewallStatelessFragmentDefaultActions\\":[\\"aws:forward_to_sfe\\",\\"fragmentcustomactionname\\"],\\"networkFirewallStatelessCustomActions\\":[{\\"actionName\\":\\"customActionName\\",\\"actionDefinition\\":{\\"publishMetricAction\\":{\\"dimensions\\":[{\\"value\\":\\"metricdimensionvalue\\"}]}}},{\\"actionName\\":\\"fragmentcustomactionname\\",\\"actionDefinition\\":{\\"publishMetricAction\\":{\\"dimensions\\":[{\\"value\\":\\"fragmentmetricdimensionvalue\\"}]}}}],\\"networkFirewallStatefulRuleGroupReferences\\":[{\\"resourceARN\\":\\"arn:aws:network-firewall:us-east-1:123456789011:stateful-rulegroup/test\\"}],\\"networkFirewallOrchestrationConfig\\":{\\"firewallCreationConfig\\":{\\"endpointLocation\\":{\\"availabilityZoneConfigList\\":[{\\"availabilityZoneName\\":\\"us-east-1a\\",\\"allowedIPV4CidrList\\":[\\"10.0.0.0/28\\"]},{\\"availabilityZoneName\\":\\"us-east-1b\\",\\"allowedIPV4CidrList\\":[\\"10.0.0.0/28\\"]}]}},\\"singleFirewallEndpointPerVPC\\":false,\\"allowedIPV4CidrList\\":null,\\"routeManagementAction\\":\\"MONITOR\\",\\"routeManagementTargetTypes\\":[\\"InternetGateway\\"],\\"routeManagementConfig\\":{\\"allowCrossAZTrafficIfNoEndpoint\\":true}},\\"networkFirewallLoggingConfiguration\\":{\\"logDestinationConfigs\\":[{\\"logDestinationType\\":\\"S3\\",\\"logType\\":\\"ALERT\\",\\"logDestination\\":{\\"bucketName\\":\\"s3-bucket-name\\"}},{\\"logDestinationType\\":\\"S3\\",\\"logType\\":\\"FLOW\\",\\"logDestination\\":{\\"bucketName\\":\\"s3-bucket-name\\"}}],\\"overrideExistingConfig\\":boolean}}"`` To use the distributed deployment model, you must set `FirewallDeploymentModel <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-networkfirewallpolicy.html>`_ to ``DISTRIBUTED`` . - Specification for ``SHIELD_ADVANCED`` for Amazon CloudFront distributions ``"{\\"type\\":\\"SHIELD_ADVANCED\\",\\"automaticResponseConfiguration\\": {\\"automaticResponseStatus\\":\\"ENABLED|IGNORED|DISABLED\\", \\"automaticResponseAction\\":\\"BLOCK|COUNT\\"}, \\"overrideCustomerWebaclClassic\\":true|false, \\"optimizeUnassociatedWebACL\\":true|false}"`` For example: ``"{\\"type\\":\\"SHIELD_ADVANCED\\",\\"automaticResponseConfiguration\\": {\\"automaticResponseStatus\\":\\"ENABLED\\", \\"automaticResponseAction\\":\\"COUNT\\"}}"`` The default value for ``automaticResponseStatus`` is ``IGNORED`` . The value for ``automaticResponseAction`` is only required when ``automaticResponseStatus`` is set to ``ENABLED`` . The default value for ``overrideCustomerWebaclClassic`` is ``false`` . For other resource types that you can protect with a Shield Advanced policy, this ``ManagedServiceData`` configuration is an empty string. - Example: ``THIRD_PARTY_FIREWALL`` - Centralized deployment model Replace ``THIRD_PARTY_FIREWALL_NAME`` with the name of the third-party firewall. ``"{ \\"type\\":\\"THIRD_PARTY_FIREWALL\\", \\"thirdPartyFirewall\\":\\"\\THIRD_PARTY_FIREWALL_NAME\\", \\"thirdPartyFirewallConfig\\":{ \\"thirdPartyFirewallPolicyList\\":[\\"global-1\\"] },\\"firewallDeploymentModel\\":{\\"centralizedFirewallDeploymentModel\\":{\\"centralizedFirewallOrchestrationConfig\\":{\\"inspectionVpcIds\\":[{\\"resourceId\\":\\"vpc-1234\\",\\"accountId\\":\\"123456789011\\"}],\\"firewallCreationConfig\\":{\\"endpointLocation\\":{\\"availabilityZoneConfigList\\":[{\\"availabilityZoneId\\":null,\\"availabilityZoneName\\":\\"us-east-1a\\",\\"allowedIPV4CidrList\\":[\\"10.0.0.0/28\\"]}]}},\\"allowedIPV4CidrList\\":[]}}}}"`` To use the distributed deployment model, you must set `FirewallDeploymentModel <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-thirdpartyfirewallpolicy.html>`_ to ``CENTRALIZED`` . - Example: ``THIRD_PARTY_FIREWALL`` - Distributed deployment model Replace ``THIRD_PARTY_FIREWALL_NAME`` with the name of the third-party firewall. ``"{\\"type\\":\\"THIRD_PARTY_FIREWALL\\",\\"thirdPartyFirewall\\":\\"THIRD_PARTY_FIREWALL_NAME\\",\\"thirdPartyFirewallConfig\\":{\\"thirdPartyFirewallPolicyList\\":[\\"global-1\\"] },\\"firewallDeploymentModel\\":{ \\"distributedFirewallDeploymentModel\\":{ \\"distributedFirewallOrchestrationConfig\\":{\\"firewallCreationConfig\\":{\\"endpointLocation\\":{ \\"availabilityZoneConfigList\\":[ {\\"availabilityZoneName\\":\\"${AvailabilityZone}\\" } ] } }, \\"allowedIPV4CidrList\\":[ ] } } } }"`` To use the distributed deployment model, you must set `FirewallDeploymentModel <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-thirdpartyfirewallpolicy.html>`_ to ``DISTRIBUTED`` . - Example: ``WAFV2`` ``"{\\"type\\":\\"WAFV2\\",\\"preProcessRuleGroups\\":[{\\"ruleGroupArn\\":null,\\"overrideAction\\":{\\"type\\":\\"NONE\\"},\\"managedRuleGroupIdentifier\\":{\\"version\\":null,\\"vendorName\\":\\"AWS\\",\\"managedRuleGroupName\\":\\"AWSManagedRulesAmazonIpReputationList\\"},\\"ruleGroupType\\":\\"ManagedRuleGroup\\",\\"excludeRules\\":[{\\"name\\":\\"NoUserAgent_HEADER\\"}]}],\\"postProcessRuleGroups\\":[],\\"defaultAction\\":{\\"type\\":\\"ALLOW\\"},\\"overrideCustomerWebACLAssociation\\":false,\\"loggingConfiguration\\":{\\"logDestinationConfigs\\":[\\"arn:aws:firehose:us-west-2:12345678912:deliverystream/aws-waf-logs-fms-admin-destination\\"],\\"redactedFields\\":[{\\"redactedFieldType\\":\\"SingleHeader\\",\\"redactedFieldValue\\":\\"Cookies\\"},{\\"redactedFieldType\\":\\"Method\\"}]},\\"optimizeUnassociatedWebACL\\":true}"`` In the ``loggingConfiguration`` , you can specify one ``logDestinationConfigs`` , you can optionally provide up to 20 ``redactedFields`` , and the ``RedactedFieldType`` must be one of ``URI`` , ``QUERY_STRING`` , ``HEADER`` , or ``METHOD`` . - Example: ``AWS WAF Classic`` ``"{\\"type\\": \\"WAF\\", \\"ruleGroups\\": [{\\"id\\":\\"12345678-1bcd-9012-efga-0987654321ab\\", \\"overrideAction\\" : {\\"type\\": \\"COUNT\\"}}], \\"defaultAction\\": {\\"type\\": \\"BLOCK\\"}}"`` - Example: ``WAFV2`` - AWS Firewall Manager support for AWS WAF managed rule group versioning ``"{\\"type\\":\\"WAFV2\\",\\"preProcessRuleGroups\\":[{\\"ruleGroupArn\\":null,\\"overrideAction\\":{\\"type\\":\\"NONE\\"},\\"managedRuleGroupIdentifier\\":{\\"versionEnabled\\":true,\\"version\\":\\"Version_2.0\\",\\"vendorName\\":\\"AWS\\",\\"managedRuleGroupName\\":\\"AWSManagedRulesCommonRuleSet\\"},\\"ruleGroupType\\":\\"ManagedRuleGroup\\",\\"excludeRules\\":[{\\"name\\":\\"NoUserAgent_HEADER\\"}]}],\\"postProcessRuleGroups\\":[],\\"defaultAction\\":{\\"type\\":\\"ALLOW\\"},\\"overrideCustomerWebACLAssociation\\":false,\\"loggingConfiguration\\":{\\"logDestinationConfigs\\":[\\"arn:aws:firehose:us-west-2:12345678912:deliverystream/aws-waf-logs-fms-admin-destination\\"],\\"redactedFields\\":[{\\"redactedFieldType\\":\\"SingleHeader\\",\\"redactedFieldValue\\":\\"Cookies\\"},{\\"redactedFieldType\\":\\"Method\\"}]}}"`` To use a specific version of a AWS WAF managed rule group in your Firewall Manager policy, you must set ``versionEnabled`` to ``true`` , and set ``version`` to the version you'd like to use. If you don't set ``versionEnabled`` to ``true`` , or if you omit ``versionEnabled`` , then Firewall Manager uses the default version of the AWS WAF managed rule group. - Example: ``SECURITY_GROUPS_COMMON`` ``"{\\"type\\":\\"SECURITY_GROUPS_COMMON\\",\\"revertManualSecurityGroupChanges\\":false,\\"exclusiveResourceSecurityGroupManagement\\":false, \\"applyToAllEC2InstanceENIs\\":false,\\"securityGroups\\":[{\\"id\\":\\" sg-000e55995d61a06bd\\"}]}"`` - Example: Shared VPCs. Apply the preceding policy to resources in shared VPCs as well as to those in VPCs that the account owns ``"{\\"type\\":\\"SECURITY_GROUPS_COMMON\\",\\"revertManualSecurityGroupChanges\\":false,\\"exclusiveResourceSecurityGroupManagement\\":false, \\"applyToAllEC2InstanceENIs\\":false,\\"includeSharedVPC\\":true,\\"securityGroups\\":[{\\"id\\":\\" sg-000e55995d61a06bd\\"}]}"`` - Example: ``SECURITY_GROUPS_CONTENT_AUDIT`` ``"{\\"type\\":\\"SECURITY_GROUPS_CONTENT_AUDIT\\",\\"securityGroups\\":[{\\"id\\":\\"sg-000e55995d61a06bd\\"}],\\"securityGroupAction\\":{\\"type\\":\\"ALLOW\\"}}"`` The security group action for content audit can be ``ALLOW`` or ``DENY`` . For ``ALLOW`` , all in-scope security group rules must be within the allowed range of the policy's security group rules. For ``DENY`` , all in-scope security group rules must not contain a value or a range that matches a rule value or range in the policy security group. - Example: ``SECURITY_GROUPS_USAGE_AUDIT`` ``"{\\"type\\":\\"SECURITY_GROUPS_USAGE_AUDIT\\",\\"deleteUnusedSecurityGroups\\":true,\\"coalesceRedundantSecurityGroups\\":true}"``
|
|
1058
|
-
:param policy_option: Contains the Network Firewall firewall policy
|
|
1058
|
+
:param policy_option: Contains the settings to configure a network ACL policy, a AWS Network Firewall firewall policy deployment model, or a third-party firewall policy.
|
|
1059
1059
|
|
|
1060
1060
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-securityservicepolicydata.html
|
|
1061
1061
|
:exampleMetadata: fixture=_generated
|
|
@@ -1218,7 +1218,7 @@ class CfnPolicy(
|
|
|
1218
1218
|
def policy_option(
|
|
1219
1219
|
self,
|
|
1220
1220
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPolicy.PolicyOptionProperty"]]:
|
|
1221
|
-
'''Contains the Network Firewall firewall policy
|
|
1221
|
+
'''Contains the settings to configure a network ACL policy, a AWS Network Firewall firewall policy deployment model, or a third-party firewall policy.
|
|
1222
1222
|
|
|
1223
1223
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fms-policy-securityservicepolicydata.html#cfn-fms-policy-securityservicepolicydata-policyoption
|
|
1224
1224
|
'''
|
|
@@ -1337,7 +1337,7 @@ class CfnPolicyProps:
|
|
|
1337
1337
|
:param delete_all_policy_resources: Used when deleting a policy. If ``true`` , Firewall Manager performs cleanup according to the policy type. For AWS WAF and Shield Advanced policies, Firewall Manager does the following: - Deletes rule groups created by Firewall Manager - Removes web ACLs from in-scope resources - Deletes web ACLs that contain no rules or rule groups For security group policies, Firewall Manager does the following for each security group in the policy: - Disassociates the security group from in-scope resources - Deletes the security group if it was created through Firewall Manager and if it's no longer associated with any resources through another policy After the cleanup, in-scope resources are no longer protected by web ACLs in this policy. Protection of out-of-scope resources remains unchanged. Scope is determined by tags that you create and accounts that you associate with the policy. When creating the policy, if you specify that only resources in specific accounts or with specific tags are in scope of the policy, those accounts and resources are handled by the policy. All others are out of scope. If you don't specify tags or accounts, all resources are in scope.
|
|
1338
1338
|
:param exclude_map: Specifies the AWS account IDs and AWS Organizations organizational units (OUs) to exclude from the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time. You can specify inclusions or exclusions, but not both. If you specify an ``IncludeMap`` , AWS Firewall Manager applies the policy to all accounts specified by the ``IncludeMap`` , and does not evaluate any ``ExcludeMap`` specifications. If you do not specify an ``IncludeMap`` , then Firewall Manager applies the policy to all accounts except for those specified by the ``ExcludeMap`` . You can specify account IDs, OUs, or a combination: - Specify account IDs by setting the key to ``ACCOUNT`` . For example, the following is a valid map: ``{“ACCOUNT” : [“accountID1”, “accountID2”]}`` . - Specify OUs by setting the key to ``ORGUNIT`` . For example, the following is a valid map: ``{“ORGUNIT” : [“ouid111”, “ouid112”]}`` . - Specify accounts and OUs together in a single map, separated with a comma. For example, the following is a valid map: ``{“ACCOUNT” : [“accountID1”, “accountID2”], “ORGUNIT” : [“ouid111”, “ouid112”]}`` .
|
|
1339
1339
|
:param include_map: Specifies the AWS account IDs and AWS Organizations organizational units (OUs) to include in the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time. You can specify inclusions or exclusions, but not both. If you specify an ``IncludeMap`` , AWS Firewall Manager applies the policy to all accounts specified by the ``IncludeMap`` , and does not evaluate any ``ExcludeMap`` specifications. If you do not specify an ``IncludeMap`` , then Firewall Manager applies the policy to all accounts except for those specified by the ``ExcludeMap`` . You can specify account IDs, OUs, or a combination: - Specify account IDs by setting the key to ``ACCOUNT`` . For example, the following is a valid map: ``{“ACCOUNT” : [“accountID1”, “accountID2”]}`` . - Specify OUs by setting the key to ``ORGUNIT`` . For example, the following is a valid map: ``{“ORGUNIT” : [“ouid111”, “ouid112”]}`` . - Specify accounts and OUs together in a single map, separated with a comma. For example, the following is a valid map: ``{“ACCOUNT” : [“accountID1”, “accountID2”], “ORGUNIT” : [“ouid111”, “ouid112”]}`` .
|
|
1340
|
-
:param policy_description:
|
|
1340
|
+
:param policy_description: Your description of the AWS Firewall Manager policy.
|
|
1341
1341
|
:param resources_clean_up: Indicates whether AWS Firewall Manager should automatically remove protections from resources that leave the policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected customer resource when the customer resource leaves policy scope. By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. This option is not available for Shield Advanced or AWS WAF Classic policies.
|
|
1342
1342
|
:param resource_set_ids: The unique identifiers of the resource sets used by the policy.
|
|
1343
1343
|
:param resource_tags: An array of ``ResourceTag`` objects, used to explicitly include resources in the policy scope or explicitly exclude them. If this isn't set, then tags aren't used to modify policy scope. See also ``ExcludeResourceTags`` .
|
|
@@ -1663,7 +1663,7 @@ class CfnPolicyProps:
|
|
|
1663
1663
|
|
|
1664
1664
|
@builtins.property
|
|
1665
1665
|
def policy_description(self) -> typing.Optional[builtins.str]:
|
|
1666
|
-
'''
|
|
1666
|
+
'''Your description of the AWS Firewall Manager policy.
|
|
1667
1667
|
|
|
1668
1668
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-policydescription
|
|
1669
1669
|
'''
|