aws-cdk-lib 2.194.0__py3-none-any.whl → 2.196.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/__init__.py +435 -20
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.194.0.jsii.tgz → aws-cdk-lib@2.196.0.jsii.tgz} +0 -0
- aws_cdk/aws_acmpca/__init__.py +1 -1
- aws_cdk/aws_amazonmq/__init__.py +2 -2
- aws_cdk/aws_apigateway/__init__.py +208 -70
- aws_cdk/aws_apigatewayv2/__init__.py +155 -24
- aws_cdk/aws_appconfig/__init__.py +24 -0
- aws_cdk/aws_applicationautoscaling/__init__.py +6 -0
- aws_cdk/aws_appmesh/__init__.py +42 -0
- aws_cdk/aws_appsync/__init__.py +92 -20
- aws_cdk/aws_autoscaling/__init__.py +24 -0
- aws_cdk/aws_backup/__init__.py +53 -14
- aws_cdk/aws_batch/__init__.py +72 -0
- aws_cdk/aws_bedrock/__init__.py +1201 -18
- aws_cdk/aws_budgets/__init__.py +569 -0
- aws_cdk/aws_certificatemanager/__init__.py +21 -0
- aws_cdk/aws_chatbot/__init__.py +6 -0
- aws_cdk/aws_cloudfront/__init__.py +277 -120
- aws_cdk/aws_cloudfront/experimental/__init__.py +6 -0
- aws_cdk/aws_cloudtrail/__init__.py +6 -0
- aws_cdk/aws_cloudwatch/__init__.py +18 -0
- aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
- aws_cdk/aws_codebuild/__init__.py +48 -0
- aws_cdk/aws_codecommit/__init__.py +6 -0
- aws_cdk/aws_codedeploy/__init__.py +63 -0
- aws_cdk/aws_codeguruprofiler/__init__.py +6 -0
- aws_cdk/aws_codepipeline/__init__.py +114 -0
- aws_cdk/aws_codepipeline_actions/__init__.py +4 -4
- aws_cdk/aws_codestarnotifications/__init__.py +6 -0
- aws_cdk/aws_cognito/__init__.py +215 -10
- aws_cdk/aws_cognito_identitypool/__init__.py +6 -0
- aws_cdk/aws_config/__init__.py +36 -0
- aws_cdk/aws_datazone/__init__.py +1013 -100
- aws_cdk/aws_docdb/__init__.py +27 -3
- aws_cdk/aws_dsql/__init__.py +29 -12
- aws_cdk/aws_dynamodb/__init__.py +25 -11
- aws_cdk/aws_ec2/__init__.py +408 -23
- aws_cdk/aws_ecr/__init__.py +22 -14
- aws_cdk/aws_ecr_assets/__init__.py +6 -0
- aws_cdk/aws_ecs/__init__.py +116 -34
- aws_cdk/aws_ecs_patterns/__init__.py +58 -0
- aws_cdk/aws_efs/__init__.py +12 -0
- aws_cdk/aws_eks/__init__.py +42 -0
- aws_cdk/aws_elasticloadbalancing/__init__.py +6 -0
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +112 -9
- aws_cdk/aws_elasticsearch/__init__.py +9 -0
- aws_cdk/aws_events/__init__.py +36 -0
- aws_cdk/aws_events_targets/__init__.py +10 -10
- aws_cdk/aws_fsx/__init__.py +8 -3
- aws_cdk/aws_globalaccelerator/__init__.py +18 -0
- aws_cdk/aws_iam/__init__.py +66 -0
- aws_cdk/aws_imagebuilder/__init__.py +181 -26
- aws_cdk/aws_inspector/__init__.py +6 -0
- aws_cdk/aws_kinesis/__init__.py +19 -1
- aws_cdk/aws_kinesisanalytics/__init__.py +7 -7
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +7 -7
- aws_cdk/aws_kinesisfirehose/__init__.py +6 -0
- aws_cdk/aws_kms/__init__.py +16 -4
- aws_cdk/aws_lambda/__init__.py +76 -6
- aws_cdk/aws_lambda_nodejs/__init__.py +6 -0
- aws_cdk/aws_logs/__init__.py +155 -12
- aws_cdk/aws_medialive/__init__.py +4 -6
- aws_cdk/aws_mediatailor/__init__.py +115 -0
- aws_cdk/aws_oam/__init__.py +43 -10
- aws_cdk/aws_opensearchservice/__init__.py +12 -0
- aws_cdk/aws_qbusiness/__init__.py +2 -2
- aws_cdk/aws_quicksight/__init__.py +22 -22
- aws_cdk/aws_rds/__init__.py +347 -36
- aws_cdk/aws_redshiftserverless/__init__.py +7 -7
- aws_cdk/aws_route53/__init__.py +735 -33
- aws_cdk/aws_route53_targets/__init__.py +62 -1
- aws_cdk/aws_route53profiles/__init__.py +1 -1
- aws_cdk/aws_s3/__init__.py +37 -10
- aws_cdk/aws_s3_deployment/__init__.py +6 -0
- aws_cdk/aws_s3_notifications/__init__.py +5 -5
- aws_cdk/aws_sagemaker/__init__.py +452 -8
- aws_cdk/aws_scheduler/__init__.py +12 -0
- aws_cdk/aws_secretsmanager/__init__.py +24 -0
- aws_cdk/aws_servicecatalog/__init__.py +24 -0
- aws_cdk/aws_servicediscovery/__init__.py +48 -0
- aws_cdk/aws_ses/__init__.py +133 -33
- aws_cdk/aws_signer/__init__.py +6 -0
- aws_cdk/aws_sns/__init__.py +18 -0
- aws_cdk/aws_sns_subscriptions/__init__.py +6 -0
- aws_cdk/aws_sqs/__init__.py +12 -0
- aws_cdk/aws_ssm/__init__.py +12 -0
- aws_cdk/aws_ssmcontacts/__init__.py +53 -2
- aws_cdk/aws_ssmguiconnect/__init__.py +544 -0
- aws_cdk/aws_stepfunctions/__init__.py +153 -7
- aws_cdk/aws_stepfunctions_tasks/__init__.py +46 -10
- aws_cdk/aws_synthetics/__init__.py +32 -0
- aws_cdk/aws_verifiedpermissions/__init__.py +168 -3
- aws_cdk/aws_vpclattice/__init__.py +3 -1
- aws_cdk/aws_wisdom/__init__.py +6 -4
- aws_cdk/cloud_assembly_schema/__init__.py +7 -1
- aws_cdk/custom_resources/__init__.py +18 -0
- aws_cdk/cx_api/__init__.py +33 -0
- aws_cdk/lambda_layer_awscli/__init__.py +6 -0
- aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
- aws_cdk/pipelines/__init__.py +10 -10
- aws_cdk/triggers/__init__.py +6 -0
- {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/METADATA +84 -6
- {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/RECORD +108 -107
- {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/top_level.txt +0 -0
aws_cdk/__init__.py
CHANGED
|
@@ -173,8 +173,8 @@ class MyNestedStack(cfn.NestedStack):
|
|
|
173
173
|
s3.Bucket(self, "NestedBucket")
|
|
174
174
|
|
|
175
175
|
class MyParentStack(Stack):
|
|
176
|
-
def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None):
|
|
177
|
-
super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation)
|
|
176
|
+
def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None, propertyInjectors=None):
|
|
177
|
+
super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation, propertyInjectors=propertyInjectors)
|
|
178
178
|
|
|
179
179
|
MyNestedStack(self, "Nested1")
|
|
180
180
|
MyNestedStack(self, "Nested2")
|
|
@@ -1499,6 +1499,84 @@ warning by the `id`.
|
|
|
1499
1499
|
Annotations.of(self).acknowledge_warning("IAM:Group:MaxPoliciesExceeded", "Account has quota increased to 20")
|
|
1500
1500
|
```
|
|
1501
1501
|
|
|
1502
|
+
## Blueprint Property Injection
|
|
1503
|
+
|
|
1504
|
+
The goal of Blueprint Property Injection is to provide builders an automatic way to set default property values.
|
|
1505
|
+
|
|
1506
|
+
Construct authors can declare that a Construct can have it properties injected by adding `@propertyInjectable`
|
|
1507
|
+
class decorator and specifying `PROPERTY_INJECTION_ID` readonly property.
|
|
1508
|
+
All L2 Constructs will support Property Injection so organizations can write injectors to set their Construct Props.
|
|
1509
|
+
|
|
1510
|
+
Organizations can set default property values to a Construct by writing Injectors for builders to consume.
|
|
1511
|
+
|
|
1512
|
+
Here is a simple example of an Injector for APiKey that sets enabled to false.
|
|
1513
|
+
|
|
1514
|
+
```python
|
|
1515
|
+
@jsii.implements(IPropertyInjector)
|
|
1516
|
+
class ApiKeyPropsInjector:
|
|
1517
|
+
|
|
1518
|
+
def __init__(self):
|
|
1519
|
+
self.construct_unique_id = api.ApiKey.PROPERTY_INJECTION_ID
|
|
1520
|
+
|
|
1521
|
+
def inject(self, original_props, *, scope, id):
|
|
1522
|
+
return api.ApiKeyProps(
|
|
1523
|
+
enabled=False,
|
|
1524
|
+
api_key_name=original_props.api_key_name,
|
|
1525
|
+
customer_id=original_props.customer_id,
|
|
1526
|
+
default_cors_preflight_options=original_props.default_cors_preflight_options,
|
|
1527
|
+
default_integration=original_props.default_integration,
|
|
1528
|
+
default_method_options=original_props.default_method_options,
|
|
1529
|
+
description=original_props.description,
|
|
1530
|
+
generate_distinct_id=original_props.generate_distinct_id,
|
|
1531
|
+
resources=original_props.resources,
|
|
1532
|
+
stages=original_props.stages,
|
|
1533
|
+
value=original_props.value
|
|
1534
|
+
)
|
|
1535
|
+
```
|
|
1536
|
+
|
|
1537
|
+
Some notes:
|
|
1538
|
+
|
|
1539
|
+
* ApiKey must have a `PROPERTY_INJECTION_ID` property, in addition to having `@propertyInjectable` class decorator.
|
|
1540
|
+
* We set ApiKeyProps.enabled to false, if it is not provided; otherwise it would use the value that was passed in.
|
|
1541
|
+
* It is also possible to force ApiKeyProps.enabled to false, and not provide a way for the builders to overwrite it.
|
|
1542
|
+
|
|
1543
|
+
Here is an example of how builders can use the injector the org created.
|
|
1544
|
+
|
|
1545
|
+
```python
|
|
1546
|
+
stack = Stack(app, "my-stack",
|
|
1547
|
+
property_injectors=[ApiKeyPropsInjector()]
|
|
1548
|
+
)
|
|
1549
|
+
api.ApiKey(stack, "my-api-key")
|
|
1550
|
+
```
|
|
1551
|
+
|
|
1552
|
+
This is equivalent to:
|
|
1553
|
+
|
|
1554
|
+
```python
|
|
1555
|
+
stack = Stack(app, "my-stack")
|
|
1556
|
+
api.ApiKey(stack, "my-api-key",
|
|
1557
|
+
enabled=False
|
|
1558
|
+
)
|
|
1559
|
+
```
|
|
1560
|
+
|
|
1561
|
+
Some notes:
|
|
1562
|
+
|
|
1563
|
+
* We attach the injectors to Stack in this example, but we can also attach them to App or Stage.
|
|
1564
|
+
* All the ApiKey created in the scope of stack will get `enabled: false`.
|
|
1565
|
+
* Builders can overwrite the default value with `new ApiKey(stack, 'my-api-key', {enabled: true});`
|
|
1566
|
+
|
|
1567
|
+
If you specify two or more injectors for the same Constructs, the last one is in effect. In the example below, `ApiKeyPropsInjector` will never be applied.
|
|
1568
|
+
|
|
1569
|
+
```python
|
|
1570
|
+
stack = Stack(app, "my-stack",
|
|
1571
|
+
property_injectors=[
|
|
1572
|
+
ApiKeyPropsInjector(),
|
|
1573
|
+
AnotherApiKeyPropsInjector()
|
|
1574
|
+
]
|
|
1575
|
+
)
|
|
1576
|
+
```
|
|
1577
|
+
|
|
1578
|
+
For more information, please see the [RFC](https://github.com/aws/aws-cdk-rfcs/blob/main/text/0693-property-injection.md).
|
|
1579
|
+
|
|
1502
1580
|
<!--END CORE DOCUMENTATION-->
|
|
1503
1581
|
'''
|
|
1504
1582
|
from pkgutil import extend_path
|
|
@@ -1834,6 +1912,7 @@ class Annotations(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Annotations"):
|
|
|
1834
1912
|
"outdir": "outdir",
|
|
1835
1913
|
"policy_validation_beta1": "policyValidationBeta1",
|
|
1836
1914
|
"post_cli_context": "postCliContext",
|
|
1915
|
+
"property_injectors": "propertyInjectors",
|
|
1837
1916
|
"stack_traces": "stackTraces",
|
|
1838
1917
|
"tree_metadata": "treeMetadata",
|
|
1839
1918
|
},
|
|
@@ -1849,6 +1928,7 @@ class AppProps:
|
|
|
1849
1928
|
outdir: typing.Optional[builtins.str] = None,
|
|
1850
1929
|
policy_validation_beta1: typing.Optional[typing.Sequence["IPolicyValidationPluginBeta1"]] = None,
|
|
1851
1930
|
post_cli_context: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
1931
|
+
property_injectors: typing.Optional[typing.Sequence["IPropertyInjector"]] = None,
|
|
1852
1932
|
stack_traces: typing.Optional[builtins.bool] = None,
|
|
1853
1933
|
tree_metadata: typing.Optional[builtins.bool] = None,
|
|
1854
1934
|
) -> None:
|
|
@@ -1861,6 +1941,7 @@ class AppProps:
|
|
|
1861
1941
|
:param outdir: The output directory into which to emit synthesized artifacts. You should never need to set this value. By default, the value you pass to the CLI's ``--output`` flag will be used, and if you change it to a different directory the CLI will fail to pick up the generated Cloud Assembly. This property is intended for internal and testing use. Default: - If this value is *not* set, considers the environment variable ``CDK_OUTDIR``. If ``CDK_OUTDIR`` is not defined, uses a temp directory.
|
|
1862
1942
|
:param policy_validation_beta1: Validation plugins to run after synthesis. Default: - no validation plugins
|
|
1863
1943
|
:param post_cli_context: Additional context values for the application. Context provided here has precedence over context set by: - The CLI via --context - The ``context`` key in ``cdk.json`` - The ``AppProps.context`` property This property is recommended over the ``AppProps.context`` property since you can make final decision over which context value to take in your app. Context can be read from any construct using ``node.getContext(key)``. Default: - no additional context
|
|
1944
|
+
:param property_injectors: A list of IPropertyInjector attached to this App. Default: - no PropertyInjectors
|
|
1864
1945
|
:param stack_traces: Include construct creation stack trace in the ``aws:cdk:trace`` metadata key of all constructs. Default: true stack traces are included unless ``aws:cdk:disable-stack-trace`` is set in the context.
|
|
1865
1946
|
:param tree_metadata: Include construct tree metadata as part of the Cloud Assembly. Default: true
|
|
1866
1947
|
|
|
@@ -1888,6 +1969,7 @@ class AppProps:
|
|
|
1888
1969
|
check_type(argname="argument outdir", value=outdir, expected_type=type_hints["outdir"])
|
|
1889
1970
|
check_type(argname="argument policy_validation_beta1", value=policy_validation_beta1, expected_type=type_hints["policy_validation_beta1"])
|
|
1890
1971
|
check_type(argname="argument post_cli_context", value=post_cli_context, expected_type=type_hints["post_cli_context"])
|
|
1972
|
+
check_type(argname="argument property_injectors", value=property_injectors, expected_type=type_hints["property_injectors"])
|
|
1891
1973
|
check_type(argname="argument stack_traces", value=stack_traces, expected_type=type_hints["stack_traces"])
|
|
1892
1974
|
check_type(argname="argument tree_metadata", value=tree_metadata, expected_type=type_hints["tree_metadata"])
|
|
1893
1975
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
@@ -1905,6 +1987,8 @@ class AppProps:
|
|
|
1905
1987
|
self._values["policy_validation_beta1"] = policy_validation_beta1
|
|
1906
1988
|
if post_cli_context is not None:
|
|
1907
1989
|
self._values["post_cli_context"] = post_cli_context
|
|
1990
|
+
if property_injectors is not None:
|
|
1991
|
+
self._values["property_injectors"] = property_injectors
|
|
1908
1992
|
if stack_traces is not None:
|
|
1909
1993
|
self._values["stack_traces"] = stack_traces
|
|
1910
1994
|
if tree_metadata is not None:
|
|
@@ -2026,6 +2110,15 @@ class AppProps:
|
|
|
2026
2110
|
result = self._values.get("post_cli_context")
|
|
2027
2111
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
|
|
2028
2112
|
|
|
2113
|
+
@builtins.property
|
|
2114
|
+
def property_injectors(self) -> typing.Optional[typing.List["IPropertyInjector"]]:
|
|
2115
|
+
'''A list of IPropertyInjector attached to this App.
|
|
2116
|
+
|
|
2117
|
+
:default: - no PropertyInjectors
|
|
2118
|
+
'''
|
|
2119
|
+
result = self._values.get("property_injectors")
|
|
2120
|
+
return typing.cast(typing.Optional[typing.List["IPropertyInjector"]], result)
|
|
2121
|
+
|
|
2029
2122
|
@builtins.property
|
|
2030
2123
|
def stack_traces(self) -> typing.Optional[builtins.bool]:
|
|
2031
2124
|
'''Include construct creation stack trace in the ``aws:cdk:trace`` metadata key of all constructs.
|
|
@@ -16410,6 +16503,75 @@ class _IPostProcessorProxy:
|
|
|
16410
16503
|
typing.cast(typing.Any, IPostProcessor).__jsii_proxy_class__ = lambda : _IPostProcessorProxy
|
|
16411
16504
|
|
|
16412
16505
|
|
|
16506
|
+
@jsii.interface(jsii_type="aws-cdk-lib.IPropertyInjector")
|
|
16507
|
+
class IPropertyInjector(typing_extensions.Protocol):
|
|
16508
|
+
'''This interface define an inject function that operates on a Construct's Property.
|
|
16509
|
+
|
|
16510
|
+
The Construct must have a constructUniqueId to uniquely identify itself.
|
|
16511
|
+
'''
|
|
16512
|
+
|
|
16513
|
+
@builtins.property
|
|
16514
|
+
@jsii.member(jsii_name="constructUniqueId")
|
|
16515
|
+
def construct_unique_id(self) -> builtins.str:
|
|
16516
|
+
'''The unique Id of the Construct class.'''
|
|
16517
|
+
...
|
|
16518
|
+
|
|
16519
|
+
@jsii.member(jsii_name="inject")
|
|
16520
|
+
def inject(
|
|
16521
|
+
self,
|
|
16522
|
+
original_props: typing.Any,
|
|
16523
|
+
*,
|
|
16524
|
+
id: builtins.str,
|
|
16525
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
16526
|
+
) -> typing.Any:
|
|
16527
|
+
'''The injector to be applied to the constructor properties of the Construct.
|
|
16528
|
+
|
|
16529
|
+
:param original_props: -
|
|
16530
|
+
:param id: id from the Construct constructor.
|
|
16531
|
+
:param scope: scope from the constructor.
|
|
16532
|
+
'''
|
|
16533
|
+
...
|
|
16534
|
+
|
|
16535
|
+
|
|
16536
|
+
class _IPropertyInjectorProxy:
|
|
16537
|
+
'''This interface define an inject function that operates on a Construct's Property.
|
|
16538
|
+
|
|
16539
|
+
The Construct must have a constructUniqueId to uniquely identify itself.
|
|
16540
|
+
'''
|
|
16541
|
+
|
|
16542
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.IPropertyInjector"
|
|
16543
|
+
|
|
16544
|
+
@builtins.property
|
|
16545
|
+
@jsii.member(jsii_name="constructUniqueId")
|
|
16546
|
+
def construct_unique_id(self) -> builtins.str:
|
|
16547
|
+
'''The unique Id of the Construct class.'''
|
|
16548
|
+
return typing.cast(builtins.str, jsii.get(self, "constructUniqueId"))
|
|
16549
|
+
|
|
16550
|
+
@jsii.member(jsii_name="inject")
|
|
16551
|
+
def inject(
|
|
16552
|
+
self,
|
|
16553
|
+
original_props: typing.Any,
|
|
16554
|
+
*,
|
|
16555
|
+
id: builtins.str,
|
|
16556
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
16557
|
+
) -> typing.Any:
|
|
16558
|
+
'''The injector to be applied to the constructor properties of the Construct.
|
|
16559
|
+
|
|
16560
|
+
:param original_props: -
|
|
16561
|
+
:param id: id from the Construct constructor.
|
|
16562
|
+
:param scope: scope from the constructor.
|
|
16563
|
+
'''
|
|
16564
|
+
if __debug__:
|
|
16565
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a84c13d89fffb1ee8026280d3071636f041aaa121bab44f9659e3255feca881d)
|
|
16566
|
+
check_type(argname="argument original_props", value=original_props, expected_type=type_hints["original_props"])
|
|
16567
|
+
context = InjectionContext(id=id, scope=scope)
|
|
16568
|
+
|
|
16569
|
+
return typing.cast(typing.Any, jsii.invoke(self, "inject", [original_props, context]))
|
|
16570
|
+
|
|
16571
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
16572
|
+
typing.cast(typing.Any, IPropertyInjector).__jsii_proxy_class__ = lambda : _IPropertyInjectorProxy
|
|
16573
|
+
|
|
16574
|
+
|
|
16413
16575
|
@jsii.interface(jsii_type="aws-cdk-lib.IResolvable")
|
|
16414
16576
|
class IResolvable(typing_extensions.Protocol):
|
|
16415
16577
|
'''Interface for values that can be resolvable later.
|
|
@@ -17708,6 +17870,74 @@ class _IgnoreStrategyProxy(IgnoreStrategy):
|
|
|
17708
17870
|
typing.cast(typing.Any, IgnoreStrategy).__jsii_proxy_class__ = lambda : _IgnoreStrategyProxy
|
|
17709
17871
|
|
|
17710
17872
|
|
|
17873
|
+
@jsii.data_type(
|
|
17874
|
+
jsii_type="aws-cdk-lib.InjectionContext",
|
|
17875
|
+
jsii_struct_bases=[],
|
|
17876
|
+
name_mapping={"id": "id", "scope": "scope"},
|
|
17877
|
+
)
|
|
17878
|
+
class InjectionContext:
|
|
17879
|
+
def __init__(
|
|
17880
|
+
self,
|
|
17881
|
+
*,
|
|
17882
|
+
id: builtins.str,
|
|
17883
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
17884
|
+
) -> None:
|
|
17885
|
+
'''This defines the values needed for Injection.
|
|
17886
|
+
|
|
17887
|
+
:param id: id from the Construct constructor.
|
|
17888
|
+
:param scope: scope from the constructor.
|
|
17889
|
+
|
|
17890
|
+
:exampleMetadata: fixture=_generated
|
|
17891
|
+
|
|
17892
|
+
Example::
|
|
17893
|
+
|
|
17894
|
+
# The code below shows an example of how to instantiate this type.
|
|
17895
|
+
# The values are placeholders you should change.
|
|
17896
|
+
import aws_cdk as cdk
|
|
17897
|
+
import constructs as constructs
|
|
17898
|
+
|
|
17899
|
+
# construct: constructs.Construct
|
|
17900
|
+
|
|
17901
|
+
injection_context = cdk.InjectionContext(
|
|
17902
|
+
id="id",
|
|
17903
|
+
scope=construct
|
|
17904
|
+
)
|
|
17905
|
+
'''
|
|
17906
|
+
if __debug__:
|
|
17907
|
+
type_hints = typing.get_type_hints(_typecheckingstub__474d9096cc3297bd5f64e3e487372aedd71d529e93d80a946aa117f0e0f8bc5b)
|
|
17908
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
17909
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
17910
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
17911
|
+
"id": id,
|
|
17912
|
+
"scope": scope,
|
|
17913
|
+
}
|
|
17914
|
+
|
|
17915
|
+
@builtins.property
|
|
17916
|
+
def id(self) -> builtins.str:
|
|
17917
|
+
'''id from the Construct constructor.'''
|
|
17918
|
+
result = self._values.get("id")
|
|
17919
|
+
assert result is not None, "Required property 'id' is missing"
|
|
17920
|
+
return typing.cast(builtins.str, result)
|
|
17921
|
+
|
|
17922
|
+
@builtins.property
|
|
17923
|
+
def scope(self) -> _constructs_77d1e7e8.Construct:
|
|
17924
|
+
'''scope from the constructor.'''
|
|
17925
|
+
result = self._values.get("scope")
|
|
17926
|
+
assert result is not None, "Required property 'scope' is missing"
|
|
17927
|
+
return typing.cast(_constructs_77d1e7e8.Construct, result)
|
|
17928
|
+
|
|
17929
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
17930
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
17931
|
+
|
|
17932
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
17933
|
+
return not (rhs == self)
|
|
17934
|
+
|
|
17935
|
+
def __repr__(self) -> str:
|
|
17936
|
+
return "InjectionContext(%s)" % ", ".join(
|
|
17937
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
17938
|
+
)
|
|
17939
|
+
|
|
17940
|
+
|
|
17711
17941
|
@jsii.implements(IResolvable)
|
|
17712
17942
|
class Intrinsic(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Intrinsic"):
|
|
17713
17943
|
'''Token subclass that represents values intrinsic to the target document language.
|
|
@@ -19344,6 +19574,92 @@ class PolicyViolationBeta1:
|
|
|
19344
19574
|
)
|
|
19345
19575
|
|
|
19346
19576
|
|
|
19577
|
+
class PropertyInjectors(
|
|
19578
|
+
metaclass=jsii.JSIIMeta,
|
|
19579
|
+
jsii_type="aws-cdk-lib.PropertyInjectors",
|
|
19580
|
+
):
|
|
19581
|
+
'''This is a collection of ProjectInjectors assigned to this scope.
|
|
19582
|
+
|
|
19583
|
+
It is keyed by constructUniqueId. There can be only one ProjectInjector for a constructUniqueId.
|
|
19584
|
+
|
|
19585
|
+
:exampleMetadata: fixture=_generated
|
|
19586
|
+
|
|
19587
|
+
Example::
|
|
19588
|
+
|
|
19589
|
+
# The code below shows an example of how to instantiate this type.
|
|
19590
|
+
# The values are placeholders you should change.
|
|
19591
|
+
import aws_cdk as cdk
|
|
19592
|
+
|
|
19593
|
+
property_injectors = cdk.PropertyInjectors.of(self)
|
|
19594
|
+
'''
|
|
19595
|
+
|
|
19596
|
+
@jsii.member(jsii_name="hasPropertyInjectors")
|
|
19597
|
+
@builtins.classmethod
|
|
19598
|
+
def has_property_injectors(cls, x: typing.Any) -> builtins.bool:
|
|
19599
|
+
'''Return whether the given object has a PropertyInjectors property.
|
|
19600
|
+
|
|
19601
|
+
We do attribute detection since we can't reliably use 'instanceof'.
|
|
19602
|
+
|
|
19603
|
+
:param x: -
|
|
19604
|
+
'''
|
|
19605
|
+
if __debug__:
|
|
19606
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4200e15e2cc09377aa6dd49e79c545a26e8c65589955f7210d145afb4881fcc5)
|
|
19607
|
+
check_type(argname="argument x", value=x, expected_type=type_hints["x"])
|
|
19608
|
+
return typing.cast(builtins.bool, jsii.sinvoke(cls, "hasPropertyInjectors", [x]))
|
|
19609
|
+
|
|
19610
|
+
@jsii.member(jsii_name="of")
|
|
19611
|
+
@builtins.classmethod
|
|
19612
|
+
def of(cls, scope: _constructs_77d1e7e8.IConstruct) -> "PropertyInjectors":
|
|
19613
|
+
'''Returns the ``PropertyInjectors`` object associated with a construct scope.
|
|
19614
|
+
|
|
19615
|
+
If ``PropertyInjectors`` object doesn't exist on this scope, then it creates one and attaches it to scope.
|
|
19616
|
+
|
|
19617
|
+
:param scope: The scope for which these PropertyInjectors will apply.
|
|
19618
|
+
'''
|
|
19619
|
+
if __debug__:
|
|
19620
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d558bd5d62319107ba8d7aec423cb982f18f533d7f90939b4576ae5cabe237e6)
|
|
19621
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
19622
|
+
return typing.cast("PropertyInjectors", jsii.sinvoke(cls, "of", [scope]))
|
|
19623
|
+
|
|
19624
|
+
@jsii.member(jsii_name="add")
|
|
19625
|
+
def add(self, *props_injectors: IPropertyInjector) -> None:
|
|
19626
|
+
'''Add a list of IPropertyInjectors to this collection of PropertyInjectors.
|
|
19627
|
+
|
|
19628
|
+
:param props_injectors: - a list of IPropertyInjector.
|
|
19629
|
+
'''
|
|
19630
|
+
if __debug__:
|
|
19631
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b15ed456b528cac4ffc455783d09279b63e060419397678acf12dc8a07323ae9)
|
|
19632
|
+
check_type(argname="argument props_injectors", value=props_injectors, expected_type=typing.Tuple[type_hints["props_injectors"], ...]) # pyright: ignore [reportGeneralTypeIssues]
|
|
19633
|
+
return typing.cast(None, jsii.invoke(self, "add", [*props_injectors]))
|
|
19634
|
+
|
|
19635
|
+
@jsii.member(jsii_name="for")
|
|
19636
|
+
def for_(self, unique_id: builtins.str) -> typing.Optional[IPropertyInjector]:
|
|
19637
|
+
'''Get the PropertyInjector that is registered to the Construct's uniqueId.
|
|
19638
|
+
|
|
19639
|
+
:param unique_id: - the construct uniqueId.
|
|
19640
|
+
|
|
19641
|
+
:return: - the IPropertyInjector for that construct uniqueId
|
|
19642
|
+
'''
|
|
19643
|
+
if __debug__:
|
|
19644
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ba79b618f23d72687ff58834f8d791bcc5f41fb49c8301987bb45eee4378958b)
|
|
19645
|
+
check_type(argname="argument unique_id", value=unique_id, expected_type=type_hints["unique_id"])
|
|
19646
|
+
return typing.cast(typing.Optional[IPropertyInjector], jsii.invoke(self, "for", [unique_id]))
|
|
19647
|
+
|
|
19648
|
+
@jsii.member(jsii_name="supportedClasses")
|
|
19649
|
+
def supported_classes(self) -> typing.List[builtins.str]:
|
|
19650
|
+
'''This returns a list of the Constructs that are supporting by this PropertyInjectors.
|
|
19651
|
+
|
|
19652
|
+
:return: a list of string showing the supported Constructs.
|
|
19653
|
+
'''
|
|
19654
|
+
return typing.cast(typing.List[builtins.str], jsii.invoke(self, "supportedClasses", []))
|
|
19655
|
+
|
|
19656
|
+
@builtins.property
|
|
19657
|
+
@jsii.member(jsii_name="scope")
|
|
19658
|
+
def scope(self) -> _constructs_77d1e7e8.IConstruct:
|
|
19659
|
+
'''The scope attached to Injectors.'''
|
|
19660
|
+
return typing.cast(_constructs_77d1e7e8.IConstruct, jsii.get(self, "scope"))
|
|
19661
|
+
|
|
19662
|
+
|
|
19347
19663
|
class Reference(
|
|
19348
19664
|
Intrinsic,
|
|
19349
19665
|
metaclass=jsii.JSIIAbstractClass,
|
|
@@ -21410,6 +21726,7 @@ class Stack(
|
|
|
21410
21726
|
env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
21411
21727
|
notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
21412
21728
|
permissions_boundary: typing.Optional[PermissionsBoundary] = None,
|
|
21729
|
+
property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
|
|
21413
21730
|
stack_name: typing.Optional[builtins.str] = None,
|
|
21414
21731
|
suppress_template_indentation: typing.Optional[builtins.bool] = None,
|
|
21415
21732
|
synthesizer: typing.Optional[IStackSynthesizer] = None,
|
|
@@ -21426,6 +21743,7 @@ class Stack(
|
|
|
21426
21743
|
:param env: The AWS environment (account/region) where this stack will be deployed. Set the ``region``/``account`` fields of ``env`` to either a concrete value to select the indicated environment (recommended for production stacks), or to the values of environment variables ``CDK_DEFAULT_REGION``/``CDK_DEFAULT_ACCOUNT`` to let the target environment depend on the AWS credentials/configuration that the CDK CLI is executed under (recommended for development stacks). If the ``Stack`` is instantiated inside a ``Stage``, any undefined ``region``/``account`` fields from ``env`` will default to the same field on the encompassing ``Stage``, if configured there. If either ``region`` or ``account`` are not set nor inherited from ``Stage``, the Stack will be considered "*environment-agnostic*"". Environment-agnostic stacks can be deployed to any environment but may not be able to take advantage of all features of the CDK. For example, they will not be able to use environmental context lookups such as ``ec2.Vpc.fromLookup`` and will not automatically translate Service Principals to the right format based on the environment's AWS partition, and other such enhancements. Default: - The environment of the containing ``Stage`` if available, otherwise create the stack will be environment-agnostic.
|
|
21427
21744
|
:param notification_arns: SNS Topic ARNs that will receive stack events. Default: - no notfication arns.
|
|
21428
21745
|
:param permissions_boundary: Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. Default: - no permissions boundary is applied
|
|
21746
|
+
:param property_injectors: A list of IPropertyInjector attached to this Stack. Default: - no PropertyInjectors
|
|
21429
21747
|
:param stack_name: Name to deploy the stack with. Default: - Derived from construct path.
|
|
21430
21748
|
:param suppress_template_indentation: Enable this flag to suppress indentation in generated CloudFormation templates. If not specified, the value of the ``@aws-cdk/core:suppressTemplateIndentation`` context key will be used. If that is not specified, then the default value ``false`` will be used. Default: - the value of ``@aws-cdk/core:suppressTemplateIndentation``, or ``false`` if that is not set.
|
|
21431
21749
|
:param synthesizer: Synthesis method to use while deploying this stack. The Stack Synthesizer controls aspects of synthesis and deployment, like how assets are referenced and what IAM roles to use. For more information, see the README of the main CDK package. If not specified, the ``defaultStackSynthesizer`` from ``App`` will be used. If that is not specified, ``DefaultStackSynthesizer`` is used if ``@aws-cdk/core:newStyleStackSynthesis`` is set to ``true`` or the CDK major version is v2. In CDK v1 ``LegacyStackSynthesizer`` is the default if no other synthesizer is specified. Default: - The synthesizer specified on ``App``, or ``DefaultStackSynthesizer`` otherwise.
|
|
@@ -21443,6 +21761,7 @@ class Stack(
|
|
|
21443
21761
|
env=env,
|
|
21444
21762
|
notification_arns=notification_arns,
|
|
21445
21763
|
permissions_boundary=permissions_boundary,
|
|
21764
|
+
property_injectors=property_injectors,
|
|
21446
21765
|
stack_name=stack_name,
|
|
21447
21766
|
suppress_template_indentation=suppress_template_indentation,
|
|
21448
21767
|
synthesizer=synthesizer,
|
|
@@ -22103,6 +22422,7 @@ class Stack(
|
|
|
22103
22422
|
"env": "env",
|
|
22104
22423
|
"notification_arns": "notificationArns",
|
|
22105
22424
|
"permissions_boundary": "permissionsBoundary",
|
|
22425
|
+
"property_injectors": "propertyInjectors",
|
|
22106
22426
|
"stack_name": "stackName",
|
|
22107
22427
|
"suppress_template_indentation": "suppressTemplateIndentation",
|
|
22108
22428
|
"synthesizer": "synthesizer",
|
|
@@ -22120,6 +22440,7 @@ class StackProps:
|
|
|
22120
22440
|
env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
22121
22441
|
notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
22122
22442
|
permissions_boundary: typing.Optional[PermissionsBoundary] = None,
|
|
22443
|
+
property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
|
|
22123
22444
|
stack_name: typing.Optional[builtins.str] = None,
|
|
22124
22445
|
suppress_template_indentation: typing.Optional[builtins.bool] = None,
|
|
22125
22446
|
synthesizer: typing.Optional[IStackSynthesizer] = None,
|
|
@@ -22133,6 +22454,7 @@ class StackProps:
|
|
|
22133
22454
|
:param env: The AWS environment (account/region) where this stack will be deployed. Set the ``region``/``account`` fields of ``env`` to either a concrete value to select the indicated environment (recommended for production stacks), or to the values of environment variables ``CDK_DEFAULT_REGION``/``CDK_DEFAULT_ACCOUNT`` to let the target environment depend on the AWS credentials/configuration that the CDK CLI is executed under (recommended for development stacks). If the ``Stack`` is instantiated inside a ``Stage``, any undefined ``region``/``account`` fields from ``env`` will default to the same field on the encompassing ``Stage``, if configured there. If either ``region`` or ``account`` are not set nor inherited from ``Stage``, the Stack will be considered "*environment-agnostic*"". Environment-agnostic stacks can be deployed to any environment but may not be able to take advantage of all features of the CDK. For example, they will not be able to use environmental context lookups such as ``ec2.Vpc.fromLookup`` and will not automatically translate Service Principals to the right format based on the environment's AWS partition, and other such enhancements. Default: - The environment of the containing ``Stage`` if available, otherwise create the stack will be environment-agnostic.
|
|
22134
22455
|
:param notification_arns: SNS Topic ARNs that will receive stack events. Default: - no notfication arns.
|
|
22135
22456
|
:param permissions_boundary: Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. Default: - no permissions boundary is applied
|
|
22457
|
+
:param property_injectors: A list of IPropertyInjector attached to this Stack. Default: - no PropertyInjectors
|
|
22136
22458
|
:param stack_name: Name to deploy the stack with. Default: - Derived from construct path.
|
|
22137
22459
|
:param suppress_template_indentation: Enable this flag to suppress indentation in generated CloudFormation templates. If not specified, the value of the ``@aws-cdk/core:suppressTemplateIndentation`` context key will be used. If that is not specified, then the default value ``false`` will be used. Default: - the value of ``@aws-cdk/core:suppressTemplateIndentation``, or ``false`` if that is not set.
|
|
22138
22460
|
:param synthesizer: Synthesis method to use while deploying this stack. The Stack Synthesizer controls aspects of synthesis and deployment, like how assets are referenced and what IAM roles to use. For more information, see the README of the main CDK package. If not specified, the ``defaultStackSynthesizer`` from ``App`` will be used. If that is not specified, ``DefaultStackSynthesizer`` is used if ``@aws-cdk/core:newStyleStackSynthesis`` is set to ``true`` or the CDK major version is v2. In CDK v1 ``LegacyStackSynthesizer`` is the default if no other synthesizer is specified. Default: - The synthesizer specified on ``App``, or ``DefaultStackSynthesizer`` otherwise.
|
|
@@ -22143,26 +22465,29 @@ class StackProps:
|
|
|
22143
22465
|
|
|
22144
22466
|
Example::
|
|
22145
22467
|
|
|
22146
|
-
|
|
22147
|
-
|
|
22148
|
-
|
|
22149
|
-
|
|
22150
|
-
|
|
22151
|
-
|
|
22152
|
-
|
|
22153
|
-
|
|
22154
|
-
|
|
22155
|
-
replicas=[dynamodb.ReplicaTableProps(region="us-east-1"), dynamodb.ReplicaTableProps(region="us-east-2")
|
|
22156
|
-
]
|
|
22468
|
+
stack1 = Stack(app, "Stack1",
|
|
22469
|
+
env=Environment(
|
|
22470
|
+
region="us-east-1"
|
|
22471
|
+
),
|
|
22472
|
+
cross_region_references=True
|
|
22473
|
+
)
|
|
22474
|
+
cert = acm.Certificate(stack1, "Cert",
|
|
22475
|
+
domain_name="*.example.com",
|
|
22476
|
+
validation=acm.CertificateValidation.from_dns(route53.PublicHostedZone.from_hosted_zone_id(stack1, "Zone", "Z0329774B51CGXTDQV3X"))
|
|
22157
22477
|
)
|
|
22158
22478
|
|
|
22159
|
-
|
|
22160
|
-
|
|
22161
|
-
|
|
22162
|
-
|
|
22163
|
-
|
|
22164
|
-
|
|
22165
|
-
|
|
22479
|
+
stack2 = Stack(app, "Stack2",
|
|
22480
|
+
env=Environment(
|
|
22481
|
+
region="us-east-2"
|
|
22482
|
+
),
|
|
22483
|
+
cross_region_references=True
|
|
22484
|
+
)
|
|
22485
|
+
cloudfront.Distribution(stack2, "Distribution",
|
|
22486
|
+
default_behavior=cloudfront.BehaviorOptions(
|
|
22487
|
+
origin=origins.HttpOrigin("example.com")
|
|
22488
|
+
),
|
|
22489
|
+
domain_names=["dev.example.com"],
|
|
22490
|
+
certificate=cert
|
|
22166
22491
|
)
|
|
22167
22492
|
'''
|
|
22168
22493
|
if isinstance(env, dict):
|
|
@@ -22175,6 +22500,7 @@ class StackProps:
|
|
|
22175
22500
|
check_type(argname="argument env", value=env, expected_type=type_hints["env"])
|
|
22176
22501
|
check_type(argname="argument notification_arns", value=notification_arns, expected_type=type_hints["notification_arns"])
|
|
22177
22502
|
check_type(argname="argument permissions_boundary", value=permissions_boundary, expected_type=type_hints["permissions_boundary"])
|
|
22503
|
+
check_type(argname="argument property_injectors", value=property_injectors, expected_type=type_hints["property_injectors"])
|
|
22178
22504
|
check_type(argname="argument stack_name", value=stack_name, expected_type=type_hints["stack_name"])
|
|
22179
22505
|
check_type(argname="argument suppress_template_indentation", value=suppress_template_indentation, expected_type=type_hints["suppress_template_indentation"])
|
|
22180
22506
|
check_type(argname="argument synthesizer", value=synthesizer, expected_type=type_hints["synthesizer"])
|
|
@@ -22193,6 +22519,8 @@ class StackProps:
|
|
|
22193
22519
|
self._values["notification_arns"] = notification_arns
|
|
22194
22520
|
if permissions_boundary is not None:
|
|
22195
22521
|
self._values["permissions_boundary"] = permissions_boundary
|
|
22522
|
+
if property_injectors is not None:
|
|
22523
|
+
self._values["property_injectors"] = property_injectors
|
|
22196
22524
|
if stack_name is not None:
|
|
22197
22525
|
self._values["stack_name"] = stack_name
|
|
22198
22526
|
if suppress_template_indentation is not None:
|
|
@@ -22327,6 +22655,15 @@ class StackProps:
|
|
|
22327
22655
|
result = self._values.get("permissions_boundary")
|
|
22328
22656
|
return typing.cast(typing.Optional[PermissionsBoundary], result)
|
|
22329
22657
|
|
|
22658
|
+
@builtins.property
|
|
22659
|
+
def property_injectors(self) -> typing.Optional[typing.List[IPropertyInjector]]:
|
|
22660
|
+
'''A list of IPropertyInjector attached to this Stack.
|
|
22661
|
+
|
|
22662
|
+
:default: - no PropertyInjectors
|
|
22663
|
+
'''
|
|
22664
|
+
result = self._values.get("property_injectors")
|
|
22665
|
+
return typing.cast(typing.Optional[typing.List[IPropertyInjector]], result)
|
|
22666
|
+
|
|
22330
22667
|
@builtins.property
|
|
22331
22668
|
def stack_name(self) -> typing.Optional[builtins.str]:
|
|
22332
22669
|
'''Name to deploy the stack with.
|
|
@@ -22965,6 +23302,7 @@ class Stage(
|
|
|
22965
23302
|
outdir: typing.Optional[builtins.str] = None,
|
|
22966
23303
|
permissions_boundary: typing.Optional[PermissionsBoundary] = None,
|
|
22967
23304
|
policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
|
|
23305
|
+
property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
|
|
22968
23306
|
stage_name: typing.Optional[builtins.str] = None,
|
|
22969
23307
|
) -> None:
|
|
22970
23308
|
'''
|
|
@@ -22974,6 +23312,7 @@ class Stage(
|
|
|
22974
23312
|
:param outdir: The output directory into which to emit synthesized artifacts. Can only be specified if this stage is the root stage (the app). If this is specified and this stage is nested within another stage, an error will be thrown. Default: - for nested stages, outdir will be determined as a relative directory to the outdir of the app. For apps, if outdir is not specified, a temporary directory will be created.
|
|
22975
23313
|
:param permissions_boundary: Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. Be aware that this feature uses Aspects, and the Aspects are applied at the Stack level with a priority of ``MUTATING`` (if the feature flag ``@aws-cdk/core:aspectPrioritiesMutating`` is set) or ``DEFAULT`` (if the flag is not set). This is relevant if you are both using your own Aspects to assign Permissions Boundaries, as well as specifying this property. The Aspect added by this property will overwrite the Permissions Boundary assigned by your own Aspect if both: (a) your Aspect has a lower or equal priority to the automatic Aspect, and (b) your Aspect is applied *above* the Stack level. If either of those conditions are not true, your own Aspect will win. We recommend assigning Permissions Boundaries only using the provided APIs, and not using custom Aspects. Default: - no permissions boundary is applied
|
|
22976
23314
|
:param policy_validation_beta1: Validation plugins to run during synthesis. If any plugin reports any violation, synthesis will be interrupted and the report displayed to the user. Default: - no validation plugins are used
|
|
23315
|
+
:param property_injectors: A list of IPropertyInjector attached to this Stage. Default: - no PropertyInjectors
|
|
22977
23316
|
:param stage_name: Name of this stage. Default: - Derived from the id.
|
|
22978
23317
|
'''
|
|
22979
23318
|
if __debug__:
|
|
@@ -22985,6 +23324,7 @@ class Stage(
|
|
|
22985
23324
|
outdir=outdir,
|
|
22986
23325
|
permissions_boundary=permissions_boundary,
|
|
22987
23326
|
policy_validation_beta1=policy_validation_beta1,
|
|
23327
|
+
property_injectors=property_injectors,
|
|
22988
23328
|
stage_name=stage_name,
|
|
22989
23329
|
)
|
|
22990
23330
|
|
|
@@ -23121,6 +23461,7 @@ class Stage(
|
|
|
23121
23461
|
"outdir": "outdir",
|
|
23122
23462
|
"permissions_boundary": "permissionsBoundary",
|
|
23123
23463
|
"policy_validation_beta1": "policyValidationBeta1",
|
|
23464
|
+
"property_injectors": "propertyInjectors",
|
|
23124
23465
|
"stage_name": "stageName",
|
|
23125
23466
|
},
|
|
23126
23467
|
)
|
|
@@ -23132,6 +23473,7 @@ class StageProps:
|
|
|
23132
23473
|
outdir: typing.Optional[builtins.str] = None,
|
|
23133
23474
|
permissions_boundary: typing.Optional[PermissionsBoundary] = None,
|
|
23134
23475
|
policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
|
|
23476
|
+
property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
|
|
23135
23477
|
stage_name: typing.Optional[builtins.str] = None,
|
|
23136
23478
|
) -> None:
|
|
23137
23479
|
'''Initialization props for a stage.
|
|
@@ -23140,6 +23482,7 @@ class StageProps:
|
|
|
23140
23482
|
:param outdir: The output directory into which to emit synthesized artifacts. Can only be specified if this stage is the root stage (the app). If this is specified and this stage is nested within another stage, an error will be thrown. Default: - for nested stages, outdir will be determined as a relative directory to the outdir of the app. For apps, if outdir is not specified, a temporary directory will be created.
|
|
23141
23483
|
:param permissions_boundary: Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. Be aware that this feature uses Aspects, and the Aspects are applied at the Stack level with a priority of ``MUTATING`` (if the feature flag ``@aws-cdk/core:aspectPrioritiesMutating`` is set) or ``DEFAULT`` (if the flag is not set). This is relevant if you are both using your own Aspects to assign Permissions Boundaries, as well as specifying this property. The Aspect added by this property will overwrite the Permissions Boundary assigned by your own Aspect if both: (a) your Aspect has a lower or equal priority to the automatic Aspect, and (b) your Aspect is applied *above* the Stack level. If either of those conditions are not true, your own Aspect will win. We recommend assigning Permissions Boundaries only using the provided APIs, and not using custom Aspects. Default: - no permissions boundary is applied
|
|
23142
23484
|
:param policy_validation_beta1: Validation plugins to run during synthesis. If any plugin reports any violation, synthesis will be interrupted and the report displayed to the user. Default: - no validation plugins are used
|
|
23485
|
+
:param property_injectors: A list of IPropertyInjector attached to this Stage. Default: - no PropertyInjectors
|
|
23143
23486
|
:param stage_name: Name of this stage. Default: - Derived from the id.
|
|
23144
23487
|
|
|
23145
23488
|
:exampleMetadata: infused
|
|
@@ -23171,6 +23514,7 @@ class StageProps:
|
|
|
23171
23514
|
check_type(argname="argument outdir", value=outdir, expected_type=type_hints["outdir"])
|
|
23172
23515
|
check_type(argname="argument permissions_boundary", value=permissions_boundary, expected_type=type_hints["permissions_boundary"])
|
|
23173
23516
|
check_type(argname="argument policy_validation_beta1", value=policy_validation_beta1, expected_type=type_hints["policy_validation_beta1"])
|
|
23517
|
+
check_type(argname="argument property_injectors", value=property_injectors, expected_type=type_hints["property_injectors"])
|
|
23174
23518
|
check_type(argname="argument stage_name", value=stage_name, expected_type=type_hints["stage_name"])
|
|
23175
23519
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
23176
23520
|
if env is not None:
|
|
@@ -23181,6 +23525,8 @@ class StageProps:
|
|
|
23181
23525
|
self._values["permissions_boundary"] = permissions_boundary
|
|
23182
23526
|
if policy_validation_beta1 is not None:
|
|
23183
23527
|
self._values["policy_validation_beta1"] = policy_validation_beta1
|
|
23528
|
+
if property_injectors is not None:
|
|
23529
|
+
self._values["property_injectors"] = property_injectors
|
|
23184
23530
|
if stage_name is not None:
|
|
23185
23531
|
self._values["stage_name"] = stage_name
|
|
23186
23532
|
|
|
@@ -23272,6 +23618,15 @@ class StageProps:
|
|
|
23272
23618
|
result = self._values.get("policy_validation_beta1")
|
|
23273
23619
|
return typing.cast(typing.Optional[typing.List[IPolicyValidationPluginBeta1]], result)
|
|
23274
23620
|
|
|
23621
|
+
@builtins.property
|
|
23622
|
+
def property_injectors(self) -> typing.Optional[typing.List[IPropertyInjector]]:
|
|
23623
|
+
'''A list of IPropertyInjector attached to this Stage.
|
|
23624
|
+
|
|
23625
|
+
:default: - no PropertyInjectors
|
|
23626
|
+
'''
|
|
23627
|
+
result = self._values.get("property_injectors")
|
|
23628
|
+
return typing.cast(typing.Optional[typing.List[IPropertyInjector]], result)
|
|
23629
|
+
|
|
23275
23630
|
@builtins.property
|
|
23276
23631
|
def stage_name(self) -> typing.Optional[builtins.str]:
|
|
23277
23632
|
'''Name of this stage.
|
|
@@ -28334,6 +28689,7 @@ class App(Stage, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.App"):
|
|
|
28334
28689
|
outdir: typing.Optional[builtins.str] = None,
|
|
28335
28690
|
policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
|
|
28336
28691
|
post_cli_context: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
28692
|
+
property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
|
|
28337
28693
|
stack_traces: typing.Optional[builtins.bool] = None,
|
|
28338
28694
|
tree_metadata: typing.Optional[builtins.bool] = None,
|
|
28339
28695
|
) -> None:
|
|
@@ -28346,6 +28702,7 @@ class App(Stage, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.App"):
|
|
|
28346
28702
|
:param outdir: The output directory into which to emit synthesized artifacts. You should never need to set this value. By default, the value you pass to the CLI's ``--output`` flag will be used, and if you change it to a different directory the CLI will fail to pick up the generated Cloud Assembly. This property is intended for internal and testing use. Default: - If this value is *not* set, considers the environment variable ``CDK_OUTDIR``. If ``CDK_OUTDIR`` is not defined, uses a temp directory.
|
|
28347
28703
|
:param policy_validation_beta1: Validation plugins to run after synthesis. Default: - no validation plugins
|
|
28348
28704
|
:param post_cli_context: Additional context values for the application. Context provided here has precedence over context set by: - The CLI via --context - The ``context`` key in ``cdk.json`` - The ``AppProps.context`` property This property is recommended over the ``AppProps.context`` property since you can make final decision over which context value to take in your app. Context can be read from any construct using ``node.getContext(key)``. Default: - no additional context
|
|
28705
|
+
:param property_injectors: A list of IPropertyInjector attached to this App. Default: - no PropertyInjectors
|
|
28349
28706
|
:param stack_traces: Include construct creation stack trace in the ``aws:cdk:trace`` metadata key of all constructs. Default: true stack traces are included unless ``aws:cdk:disable-stack-trace`` is set in the context.
|
|
28350
28707
|
:param tree_metadata: Include construct tree metadata as part of the Cloud Assembly. Default: true
|
|
28351
28708
|
'''
|
|
@@ -28357,6 +28714,7 @@ class App(Stage, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.App"):
|
|
|
28357
28714
|
outdir=outdir,
|
|
28358
28715
|
policy_validation_beta1=policy_validation_beta1,
|
|
28359
28716
|
post_cli_context=post_cli_context,
|
|
28717
|
+
property_injectors=property_injectors,
|
|
28360
28718
|
stack_traces=stack_traces,
|
|
28361
28719
|
tree_metadata=tree_metadata,
|
|
28362
28720
|
)
|
|
@@ -34792,6 +35150,12 @@ class CustomResource(
|
|
|
34792
35150
|
check_type(argname="argument attribute_name", value=attribute_name, expected_type=type_hints["attribute_name"])
|
|
34793
35151
|
return typing.cast(builtins.str, jsii.invoke(self, "getAttString", [attribute_name]))
|
|
34794
35152
|
|
|
35153
|
+
@jsii.python.classproperty
|
|
35154
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
35155
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
35156
|
+
'''Uniquely identifies this class.'''
|
|
35157
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
35158
|
+
|
|
34795
35159
|
@builtins.property
|
|
34796
35160
|
@jsii.member(jsii_name="ref")
|
|
34797
35161
|
def ref(self) -> builtins.str:
|
|
@@ -37159,6 +37523,7 @@ __all__ = [
|
|
|
37159
37523
|
"IPolicyValidationContextBeta1",
|
|
37160
37524
|
"IPolicyValidationPluginBeta1",
|
|
37161
37525
|
"IPostProcessor",
|
|
37526
|
+
"IPropertyInjector",
|
|
37162
37527
|
"IResolvable",
|
|
37163
37528
|
"IResolveContext",
|
|
37164
37529
|
"IResource",
|
|
@@ -37177,6 +37542,7 @@ __all__ = [
|
|
|
37177
37542
|
"ITokenResolver",
|
|
37178
37543
|
"IgnoreMode",
|
|
37179
37544
|
"IgnoreStrategy",
|
|
37545
|
+
"InjectionContext",
|
|
37180
37546
|
"Intrinsic",
|
|
37181
37547
|
"IntrinsicProps",
|
|
37182
37548
|
"JsonNull",
|
|
@@ -37197,6 +37563,7 @@ __all__ = [
|
|
|
37197
37563
|
"PolicyValidationReportStatusBeta1",
|
|
37198
37564
|
"PolicyViolatingResourceBeta1",
|
|
37199
37565
|
"PolicyViolationBeta1",
|
|
37566
|
+
"PropertyInjectors",
|
|
37200
37567
|
"Reference",
|
|
37201
37568
|
"RemovalPolicies",
|
|
37202
37569
|
"RemovalPolicy",
|
|
@@ -37504,6 +37871,7 @@ __all__ = [
|
|
|
37504
37871
|
"aws_sqs",
|
|
37505
37872
|
"aws_ssm",
|
|
37506
37873
|
"aws_ssmcontacts",
|
|
37874
|
+
"aws_ssmguiconnect",
|
|
37507
37875
|
"aws_ssmincidents",
|
|
37508
37876
|
"aws_ssmquicksetup",
|
|
37509
37877
|
"aws_sso",
|
|
@@ -37801,6 +38169,7 @@ from . import aws_sns_subscriptions
|
|
|
37801
38169
|
from . import aws_sqs
|
|
37802
38170
|
from . import aws_ssm
|
|
37803
38171
|
from . import aws_ssmcontacts
|
|
38172
|
+
from . import aws_ssmguiconnect
|
|
37804
38173
|
from . import aws_ssmincidents
|
|
37805
38174
|
from . import aws_ssmquicksetup
|
|
37806
38175
|
from . import aws_sso
|
|
@@ -37900,6 +38269,7 @@ def _typecheckingstub__ef2fee5e91b22ed9e2b91aa309be73835ddfb834f19eb3d41540c7e38
|
|
|
37900
38269
|
outdir: typing.Optional[builtins.str] = None,
|
|
37901
38270
|
policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
|
|
37902
38271
|
post_cli_context: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
38272
|
+
property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
|
|
37903
38273
|
stack_traces: typing.Optional[builtins.bool] = None,
|
|
37904
38274
|
tree_metadata: typing.Optional[builtins.bool] = None,
|
|
37905
38275
|
) -> None:
|
|
@@ -39669,6 +40039,15 @@ def _typecheckingstub__421f2755d7e81609d225eb32560b6f8749147026d0e9c4a8130c5421a
|
|
|
39669
40039
|
"""Type checking stubs"""
|
|
39670
40040
|
pass
|
|
39671
40041
|
|
|
40042
|
+
def _typecheckingstub__a84c13d89fffb1ee8026280d3071636f041aaa121bab44f9659e3255feca881d(
|
|
40043
|
+
original_props: typing.Any,
|
|
40044
|
+
*,
|
|
40045
|
+
id: builtins.str,
|
|
40046
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
40047
|
+
) -> None:
|
|
40048
|
+
"""Type checking stubs"""
|
|
40049
|
+
pass
|
|
40050
|
+
|
|
39672
40051
|
def _typecheckingstub__09341b9d2d6a06b3937530fa96a1bcb7562ccdf5246e5563a8a552ec1f8c0fa5(
|
|
39673
40052
|
context: IResolveContext,
|
|
39674
40053
|
) -> None:
|
|
@@ -39824,6 +40203,14 @@ def _typecheckingstub__639820bc3ab9fb78a31dec5d3d916a2befafc70af8c041b6e444ac075
|
|
|
39824
40203
|
"""Type checking stubs"""
|
|
39825
40204
|
pass
|
|
39826
40205
|
|
|
40206
|
+
def _typecheckingstub__474d9096cc3297bd5f64e3e487372aedd71d529e93d80a946aa117f0e0f8bc5b(
|
|
40207
|
+
*,
|
|
40208
|
+
id: builtins.str,
|
|
40209
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
40210
|
+
) -> None:
|
|
40211
|
+
"""Type checking stubs"""
|
|
40212
|
+
pass
|
|
40213
|
+
|
|
39827
40214
|
def _typecheckingstub__4fdfa4eddae987229a9f6236b6c0b78b4d7e291c17d32a624ad710cd632917ff(
|
|
39828
40215
|
value: typing.Any,
|
|
39829
40216
|
*,
|
|
@@ -40044,6 +40431,30 @@ def _typecheckingstub__2f965066f077908d4839609b519c39167a0b14e83374fbf4bb1601ab5
|
|
|
40044
40431
|
"""Type checking stubs"""
|
|
40045
40432
|
pass
|
|
40046
40433
|
|
|
40434
|
+
def _typecheckingstub__4200e15e2cc09377aa6dd49e79c545a26e8c65589955f7210d145afb4881fcc5(
|
|
40435
|
+
x: typing.Any,
|
|
40436
|
+
) -> None:
|
|
40437
|
+
"""Type checking stubs"""
|
|
40438
|
+
pass
|
|
40439
|
+
|
|
40440
|
+
def _typecheckingstub__d558bd5d62319107ba8d7aec423cb982f18f533d7f90939b4576ae5cabe237e6(
|
|
40441
|
+
scope: _constructs_77d1e7e8.IConstruct,
|
|
40442
|
+
) -> None:
|
|
40443
|
+
"""Type checking stubs"""
|
|
40444
|
+
pass
|
|
40445
|
+
|
|
40446
|
+
def _typecheckingstub__b15ed456b528cac4ffc455783d09279b63e060419397678acf12dc8a07323ae9(
|
|
40447
|
+
*props_injectors: IPropertyInjector,
|
|
40448
|
+
) -> None:
|
|
40449
|
+
"""Type checking stubs"""
|
|
40450
|
+
pass
|
|
40451
|
+
|
|
40452
|
+
def _typecheckingstub__ba79b618f23d72687ff58834f8d791bcc5f41fb49c8301987bb45eee4378958b(
|
|
40453
|
+
unique_id: builtins.str,
|
|
40454
|
+
) -> None:
|
|
40455
|
+
"""Type checking stubs"""
|
|
40456
|
+
pass
|
|
40457
|
+
|
|
40047
40458
|
def _typecheckingstub__151f083e00bfac139cbf164b9069ab02924a37639eb1b7b58edc3dee3fdf3279(
|
|
40048
40459
|
value: typing.Any,
|
|
40049
40460
|
target: _constructs_77d1e7e8.IConstruct,
|
|
@@ -40359,6 +40770,7 @@ def _typecheckingstub__835828a2dac25cb8eb22f32985554296e8bd61463c8cc32bb2df4c1f4
|
|
|
40359
40770
|
env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
40360
40771
|
notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
40361
40772
|
permissions_boundary: typing.Optional[PermissionsBoundary] = None,
|
|
40773
|
+
property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
|
|
40362
40774
|
stack_name: typing.Optional[builtins.str] = None,
|
|
40363
40775
|
suppress_template_indentation: typing.Optional[builtins.bool] = None,
|
|
40364
40776
|
synthesizer: typing.Optional[IStackSynthesizer] = None,
|
|
@@ -40484,6 +40896,7 @@ def _typecheckingstub__a36aaf4edf2967c8ed36d2cad24d023f14778db721379dffbd74eb6dd
|
|
|
40484
40896
|
env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
40485
40897
|
notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
40486
40898
|
permissions_boundary: typing.Optional[PermissionsBoundary] = None,
|
|
40899
|
+
property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
|
|
40487
40900
|
stack_name: typing.Optional[builtins.str] = None,
|
|
40488
40901
|
suppress_template_indentation: typing.Optional[builtins.bool] = None,
|
|
40489
40902
|
synthesizer: typing.Optional[IStackSynthesizer] = None,
|
|
@@ -40571,6 +40984,7 @@ def _typecheckingstub__c0677d374e192ff51310cb5059d45186fd8a854f0c4f6485ff9ec9692
|
|
|
40571
40984
|
outdir: typing.Optional[builtins.str] = None,
|
|
40572
40985
|
permissions_boundary: typing.Optional[PermissionsBoundary] = None,
|
|
40573
40986
|
policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
|
|
40987
|
+
property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
|
|
40574
40988
|
stage_name: typing.Optional[builtins.str] = None,
|
|
40575
40989
|
) -> None:
|
|
40576
40990
|
"""Type checking stubs"""
|
|
@@ -40594,6 +41008,7 @@ def _typecheckingstub__c519a1aa0534921a8dfdfa69ddc24b52c09a7eb52fc889f7fb96b737e
|
|
|
40594
41008
|
outdir: typing.Optional[builtins.str] = None,
|
|
40595
41009
|
permissions_boundary: typing.Optional[PermissionsBoundary] = None,
|
|
40596
41010
|
policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
|
|
41011
|
+
property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
|
|
40597
41012
|
stage_name: typing.Optional[builtins.str] = None,
|
|
40598
41013
|
) -> None:
|
|
40599
41014
|
"""Type checking stubs"""
|