aws-cdk-lib 2.178.2__py3-none-any.whl → 2.180.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (70) hide show
  1. aws_cdk/__init__.py +83 -41
  2. aws_cdk/_jsii/__init__.py +1 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.178.2.jsii.tgz → aws-cdk-lib@2.180.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +47 -0
  5. aws_cdk/aws_apigateway/__init__.py +176 -35
  6. aws_cdk/aws_apigatewayv2/__init__.py +151 -32
  7. aws_cdk/aws_apigatewayv2_integrations/__init__.py +348 -0
  8. aws_cdk/aws_applicationautoscaling/__init__.py +8 -8
  9. aws_cdk/aws_appsync/__init__.py +10 -7
  10. aws_cdk/aws_backup/__init__.py +89 -0
  11. aws_cdk/aws_batch/__init__.py +89 -50
  12. aws_cdk/aws_bedrock/__init__.py +506 -62
  13. aws_cdk/aws_cloudfront/__init__.py +1037 -146
  14. aws_cdk/aws_cloudfront_origins/__init__.py +1338 -144
  15. aws_cdk/aws_cloudtrail/__init__.py +4 -8
  16. aws_cdk/aws_cloudwatch/__init__.py +1 -1
  17. aws_cdk/aws_codebuild/__init__.py +218 -2
  18. aws_cdk/aws_codepipeline/__init__.py +113 -28
  19. aws_cdk/aws_codepipeline_actions/__init__.py +554 -63
  20. aws_cdk/aws_codestar/__init__.py +2 -1
  21. aws_cdk/aws_cognito/__init__.py +676 -29
  22. aws_cdk/aws_connect/__init__.py +257 -0
  23. aws_cdk/aws_datasync/__init__.py +279 -50
  24. aws_cdk/aws_deadline/__init__.py +683 -6
  25. aws_cdk/aws_directoryservice/__init__.py +9 -4
  26. aws_cdk/aws_dlm/__init__.py +2 -2
  27. aws_cdk/aws_dms/__init__.py +3 -3
  28. aws_cdk/aws_dynamodb/__init__.py +0 -54
  29. aws_cdk/aws_ec2/__init__.py +402 -130
  30. aws_cdk/aws_ecs/__init__.py +28 -43
  31. aws_cdk/aws_efs/__init__.py +1 -1
  32. aws_cdk/aws_eks/__init__.py +560 -182
  33. aws_cdk/aws_elasticloadbalancingv2/__init__.py +112 -27
  34. aws_cdk/aws_emrcontainers/__init__.py +44 -1
  35. aws_cdk/aws_events/__init__.py +17 -26
  36. aws_cdk/aws_events_targets/__init__.py +303 -16
  37. aws_cdk/aws_fms/__init__.py +5 -5
  38. aws_cdk/aws_fsx/__init__.py +5 -4
  39. aws_cdk/aws_glue/__init__.py +161 -0
  40. aws_cdk/aws_groundstation/__init__.py +23 -1
  41. aws_cdk/aws_iam/__init__.py +15 -15
  42. aws_cdk/aws_iot/__init__.py +7 -0
  43. aws_cdk/aws_ivs/__init__.py +254 -77
  44. aws_cdk/aws_kinesis/__init__.py +689 -35
  45. aws_cdk/aws_lambda/__init__.py +10 -15
  46. aws_cdk/aws_lambda_event_sources/__init__.py +175 -2
  47. aws_cdk/aws_logs/__init__.py +62 -13
  48. aws_cdk/aws_medialive/__init__.py +314 -4
  49. aws_cdk/aws_opensearchserverless/__init__.py +19 -0
  50. aws_cdk/aws_pinpoint/__init__.py +14 -9
  51. aws_cdk/aws_rds/__init__.py +246 -82
  52. aws_cdk/aws_s3/__init__.py +287 -9
  53. aws_cdk/aws_s3objectlambda/__init__.py +2 -2
  54. aws_cdk/aws_ses/__init__.py +228 -8
  55. aws_cdk/aws_ssm/__init__.py +4 -5
  56. aws_cdk/aws_stepfunctions/__init__.py +301 -70
  57. aws_cdk/aws_stepfunctions_tasks/__init__.py +269 -163
  58. aws_cdk/aws_supportapp/__init__.py +7 -7
  59. aws_cdk/aws_transfer/__init__.py +820 -2
  60. aws_cdk/aws_wafv2/__init__.py +17 -9
  61. aws_cdk/custom_resources/__init__.py +23 -26
  62. aws_cdk/cx_api/__init__.py +16 -0
  63. aws_cdk/pipelines/__init__.py +2 -2
  64. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.180.0.dist-info}/METADATA +1 -2
  65. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.180.0.dist-info}/RECORD +69 -70
  66. aws_cdk/lambda_layer_kubectl/__init__.py +0 -107
  67. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.180.0.dist-info}/LICENSE +0 -0
  68. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.180.0.dist-info}/NOTICE +0 -0
  69. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.180.0.dist-info}/WHEEL +0 -0
  70. {aws_cdk_lib-2.178.2.dist-info → aws_cdk_lib-2.180.0.dist-info}/top_level.txt +0 -0
@@ -1400,7 +1400,8 @@ manual_approval_action = codepipeline_actions.ManualApprovalAction(
1400
1400
  notification_topic=sns.Topic(self, "Topic"), # optional
1401
1401
  notify_emails=["some_email@example.com"
1402
1402
  ], # optional
1403
- additional_information="additional info"
1403
+ additional_information="additional info", # optional
1404
+ timeout=Duration.minutes(10)
1404
1405
  )
1405
1406
  approve_stage.add_action(manual_approval_action)
1406
1407
  ```
@@ -1578,6 +1579,103 @@ pipeline.add_stage(
1578
1579
 
1579
1580
  See [the AWS documentation](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-StepFunctions.html)
1580
1581
  for information on Action structure reference.
1582
+
1583
+ ## Compute
1584
+
1585
+ ### Commands
1586
+
1587
+ The Commands action allows you to run shell commands in a virtual compute instance. When you run the action, commands
1588
+ specified in the action configuration are run in a separate container. All artifacts that are specified as input
1589
+ artifacts to a CodeBuild action are available inside of the container running the commands. This action allows you
1590
+ to specify commands without first creating a CodeBuild project.
1591
+
1592
+ ```python
1593
+ # Source action
1594
+ bucket = s3.Bucket(self, "SourceBucket",
1595
+ versioned=True
1596
+ )
1597
+ source_artifact = codepipeline.Artifact("SourceArtifact")
1598
+ source_action = codepipeline_actions.S3SourceAction(
1599
+ action_name="Source",
1600
+ output=source_artifact,
1601
+ bucket=bucket,
1602
+ bucket_key="my.zip"
1603
+ )
1604
+
1605
+ # Commands action
1606
+ output_artifact = codepipeline.Artifact("OutputArtifact")
1607
+ commands_action = codepipeline_actions.CommandsAction(
1608
+ action_name="Commands",
1609
+ commands=["echo \"some commands\""
1610
+ ],
1611
+ input=source_artifact,
1612
+ output=output_artifact
1613
+ )
1614
+
1615
+ pipeline = codepipeline.Pipeline(self, "Pipeline",
1616
+ stages=[codepipeline.StageProps(
1617
+ stage_name="Source",
1618
+ actions=[source_action]
1619
+ ), codepipeline.StageProps(
1620
+ stage_name="Commands",
1621
+ actions=[commands_action]
1622
+ )
1623
+ ]
1624
+ )
1625
+ ```
1626
+
1627
+ If you want to filter the files to be included in the output artifact, you can specify their paths as the second
1628
+ argument to `Artifact`.
1629
+
1630
+ ```python
1631
+ # source_artifact: codepipeline.Artifact
1632
+
1633
+
1634
+ # filter files to be included in the output artifact
1635
+ output_artifact = codepipeline.Artifact("OutputArtifact", ["my-dir/**/*"])
1636
+ commands_action = codepipeline_actions.CommandsAction(
1637
+ action_name="Commands",
1638
+ commands=["mkdir -p my-dir", "echo \"HelloWorld\" > my-dir/file.txt"
1639
+ ],
1640
+ input=source_artifact,
1641
+ output=output_artifact
1642
+ )
1643
+ ```
1644
+
1645
+ You can also specify the `outputVariables` property in the `CommandsAction` to emit environment variables that can be used
1646
+ in subsequent actions. The variables are those defined in your shell commands or exported as defaults by the CodeBuild service.
1647
+ For a reference of CodeBuild environment variables, see
1648
+ [Environment variables in build environments](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html)
1649
+ in the CodeBuild User Guide.
1650
+
1651
+ To use the output variables in a subsequent action, you can use the `variable` method on the action:
1652
+
1653
+ ```python
1654
+ # source_artifact: codepipeline.Artifact
1655
+ # output_artifact: codepipeline.Artifact
1656
+
1657
+
1658
+ commands_action = codepipeline_actions.CommandsAction(
1659
+ action_name="Commands",
1660
+ commands=["export MY_OUTPUT=my-key"
1661
+ ],
1662
+ input=source_artifact,
1663
+ output=output_artifact,
1664
+ output_variables=["MY_OUTPUT", "CODEBUILD_BUILD_ID"]
1665
+ )
1666
+
1667
+ # Deploy action
1668
+ deploy_action = codepipeline_actions.S3DeployAction(
1669
+ action_name="DeployAction",
1670
+ extract=True,
1671
+ input=output_artifact,
1672
+ bucket=s3.Bucket(self, "DeployBucket"),
1673
+ object_key=commands_action.variable("MY_OUTPUT")
1674
+ )
1675
+ ```
1676
+
1677
+ See [the AWS documentation](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-Commands.html)
1678
+ for more details about using Commands action in CodePipeline.
1581
1679
  '''
1582
1680
  from pkgutil import extend_path
1583
1681
  __path__ = extend_path(__path__, __name__)
@@ -1678,13 +1776,16 @@ class Action(
1678
1776
  category: _ActionCategory_0e233e69,
1679
1777
  provider: builtins.str,
1680
1778
  account: typing.Optional[builtins.str] = None,
1779
+ commands: typing.Optional[typing.Sequence[builtins.str]] = None,
1681
1780
  inputs: typing.Optional[typing.Sequence[_Artifact_0cb05964]] = None,
1682
1781
  outputs: typing.Optional[typing.Sequence[_Artifact_0cb05964]] = None,
1782
+ output_variables: typing.Optional[typing.Sequence[builtins.str]] = None,
1683
1783
  owner: typing.Optional[builtins.str] = None,
1684
1784
  region: typing.Optional[builtins.str] = None,
1685
1785
  resource: typing.Optional[_IResource_c80c4260] = None,
1686
1786
  role: typing.Optional[_IRole_235f5d8e] = None,
1687
1787
  run_order: typing.Optional[jsii.Number] = None,
1788
+ timeout: typing.Optional[_Duration_4839e8c3] = None,
1688
1789
  variables_namespace: typing.Optional[builtins.str] = None,
1689
1790
  version: typing.Optional[builtins.str] = None,
1690
1791
  ) -> None:
@@ -1694,13 +1795,16 @@ class Action(
1694
1795
  :param category: The category of the action. The category defines which action type the owner (the entity that performs the action) performs.
1695
1796
  :param provider: The service provider that the action calls.
1696
1797
  :param account: The account the Action is supposed to live in. For Actions backed by resources, this is inferred from the Stack ``resource`` is part of. However, some Actions, like the CloudFormation ones, are not backed by any resource, and they still might want to be cross-account. In general, a concrete Action class should specify either ``resource``, or ``account`` - but not both.
1798
+ :param commands: Shell commands for the Commands action to run. Default: - no commands
1697
1799
  :param inputs:
1698
1800
  :param outputs:
1801
+ :param output_variables: The names of the variables in your environment that you want to export. Default: - no output variables
1699
1802
  :param owner:
1700
1803
  :param region: The AWS region the given Action resides in. Note that a cross-region Pipeline requires replication buckets to function correctly. You can provide their names with the ``PipelineProps#crossRegionReplicationBuckets`` property. If you don't, the CodePipeline Construct will create new Stacks in your CDK app containing those buckets, that you will need to ``cdk deploy`` before deploying the main, Pipeline-containing Stack. Default: the Action resides in the same region as the Pipeline
1701
1804
  :param resource: The optional resource that is backing this Action. This is used for automatically handling Actions backed by resources from a different account and/or region.
1702
1805
  :param role:
1703
1806
  :param run_order: The order in which AWS CodePipeline runs this action. For more information, see the AWS CodePipeline User Guide. https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements
1807
+ :param timeout: A timeout duration that can be applied against the ActionType’s default timeout value specified in Quotas for AWS CodePipeline. This attribute is available only to the ``ManualApprovalAction``. It is configurable up to 86400 minutes (60 days) with a minimum value of 5 minutes. Default: - default timeout value defined by each ActionType
1704
1808
  :param variables_namespace: The name of the namespace to use for variables emitted by this action. Default: - a name will be generated, based on the stage and action names
1705
1809
  :param version:
1706
1810
  '''
@@ -1710,13 +1814,16 @@ class Action(
1710
1814
  category=category,
1711
1815
  provider=provider,
1712
1816
  account=account,
1817
+ commands=commands,
1713
1818
  inputs=inputs,
1714
1819
  outputs=outputs,
1820
+ output_variables=output_variables,
1715
1821
  owner=owner,
1716
1822
  region=region,
1717
1823
  resource=resource,
1718
1824
  role=role,
1719
1825
  run_order=run_order,
1826
+ timeout=timeout,
1720
1827
  variables_namespace=variables_namespace,
1721
1828
  version=version,
1722
1829
  )
@@ -6720,6 +6827,332 @@ class CodeStarSourceVariables:
6720
6827
  )
6721
6828
 
6722
6829
 
6830
+ class CommandsAction(
6831
+ Action,
6832
+ metaclass=jsii.JSIIMeta,
6833
+ jsii_type="aws-cdk-lib.aws_codepipeline_actions.CommandsAction",
6834
+ ):
6835
+ '''CodePipeline compute action that uses AWS Commands.
6836
+
6837
+ :exampleMetadata: infused
6838
+
6839
+ Example::
6840
+
6841
+ # source_artifact: codepipeline.Artifact
6842
+ # output_artifact: codepipeline.Artifact
6843
+
6844
+
6845
+ commands_action = codepipeline_actions.CommandsAction(
6846
+ action_name="Commands",
6847
+ commands=["export MY_OUTPUT=my-key"
6848
+ ],
6849
+ input=source_artifact,
6850
+ output=output_artifact,
6851
+ output_variables=["MY_OUTPUT", "CODEBUILD_BUILD_ID"]
6852
+ )
6853
+
6854
+ # Deploy action
6855
+ deploy_action = codepipeline_actions.S3DeployAction(
6856
+ action_name="DeployAction",
6857
+ extract=True,
6858
+ input=output_artifact,
6859
+ bucket=s3.Bucket(self, "DeployBucket"),
6860
+ object_key=commands_action.variable("MY_OUTPUT")
6861
+ )
6862
+ '''
6863
+
6864
+ def __init__(
6865
+ self,
6866
+ *,
6867
+ commands: typing.Sequence[builtins.str],
6868
+ input: _Artifact_0cb05964,
6869
+ extra_inputs: typing.Optional[typing.Sequence[_Artifact_0cb05964]] = None,
6870
+ output: typing.Optional[_Artifact_0cb05964] = None,
6871
+ output_variables: typing.Optional[typing.Sequence[builtins.str]] = None,
6872
+ role: typing.Optional[_IRole_235f5d8e] = None,
6873
+ action_name: builtins.str,
6874
+ run_order: typing.Optional[jsii.Number] = None,
6875
+ variables_namespace: typing.Optional[builtins.str] = None,
6876
+ ) -> None:
6877
+ '''
6878
+ :param commands: Shell commands for the Commands action to run. All formats are supported except multi-line formats. The length of the commands array must be between 1 and 50.
6879
+ :param input: The source to use as input for this action.
6880
+ :param extra_inputs: The list of additional input artifacts for this action. Default: - no extra inputs
6881
+ :param output: The output artifact for this action. You can filter files that you want to export as the output artifact for the action. Default: - no output artifact
6882
+ :param output_variables: The names of the variables in your environment that you want to export. These variables can be referenced in other actions by using the ``variable`` method of this class. Default: - No output variables are exported
6883
+ :param role: The Role in which context's this Action will be executing in. The Pipeline's Role will assume this Role (the required permissions for that will be granted automatically) right before executing this Action. This Action will be passed into your ``IAction.bind`` method in the ``ActionBindOptions.role`` property. Default: a new Role will be generated
6884
+ :param action_name: The physical, human-readable name of the Action. Note that Action names must be unique within a single Stage.
6885
+ :param run_order: The runOrder property for this Action. RunOrder determines the relative order in which multiple Actions in the same Stage execute. Default: 1
6886
+ :param variables_namespace: The name of the namespace to use for variables emitted by this action. Default: - a name will be generated, based on the stage and action names, if any of the action's variables were referenced - otherwise, no namespace will be set
6887
+ '''
6888
+ props = CommandsActionProps(
6889
+ commands=commands,
6890
+ input=input,
6891
+ extra_inputs=extra_inputs,
6892
+ output=output,
6893
+ output_variables=output_variables,
6894
+ role=role,
6895
+ action_name=action_name,
6896
+ run_order=run_order,
6897
+ variables_namespace=variables_namespace,
6898
+ )
6899
+
6900
+ jsii.create(self.__class__, self, [props])
6901
+
6902
+ @jsii.member(jsii_name="bound")
6903
+ def _bound(
6904
+ self,
6905
+ scope: _constructs_77d1e7e8.Construct,
6906
+ stage: _IStage_415fc571,
6907
+ *,
6908
+ bucket: _IBucket_42e086fd,
6909
+ role: _IRole_235f5d8e,
6910
+ ) -> _ActionConfig_846fc217:
6911
+ '''This is a renamed version of the ``IAction.bind`` method.
6912
+
6913
+ :param scope: -
6914
+ :param stage: -
6915
+ :param bucket:
6916
+ :param role:
6917
+ '''
6918
+ if __debug__:
6919
+ type_hints = typing.get_type_hints(_typecheckingstub__bbe79ee7c34315f68e6df88d72bfe72e659a27a9fec26929b6ecfa2c9489e62d)
6920
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
6921
+ check_type(argname="argument stage", value=stage, expected_type=type_hints["stage"])
6922
+ options = _ActionBindOptions_3a612254(bucket=bucket, role=role)
6923
+
6924
+ return typing.cast(_ActionConfig_846fc217, jsii.invoke(self, "bound", [scope, stage, options]))
6925
+
6926
+ @jsii.member(jsii_name="variable")
6927
+ def variable(self, variable_name: builtins.str) -> builtins.str:
6928
+ '''Reference a CodePipeline variable exported in the Commands action.
6929
+
6930
+ :param variable_name: the name of the variable exported by ``outputVariables``.
6931
+
6932
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html
6933
+ '''
6934
+ if __debug__:
6935
+ type_hints = typing.get_type_hints(_typecheckingstub__f4edb851cf8ea72119d980b99b9e14e11af9c8f5ebca0f3de5a9d841fd93b27f)
6936
+ check_type(argname="argument variable_name", value=variable_name, expected_type=type_hints["variable_name"])
6937
+ return typing.cast(builtins.str, jsii.invoke(self, "variable", [variable_name]))
6938
+
6939
+
6940
+ @jsii.data_type(
6941
+ jsii_type="aws-cdk-lib.aws_codepipeline_actions.CommandsActionProps",
6942
+ jsii_struct_bases=[_CommonAwsActionProps_8b809bb6],
6943
+ name_mapping={
6944
+ "action_name": "actionName",
6945
+ "run_order": "runOrder",
6946
+ "variables_namespace": "variablesNamespace",
6947
+ "role": "role",
6948
+ "commands": "commands",
6949
+ "input": "input",
6950
+ "extra_inputs": "extraInputs",
6951
+ "output": "output",
6952
+ "output_variables": "outputVariables",
6953
+ },
6954
+ )
6955
+ class CommandsActionProps(_CommonAwsActionProps_8b809bb6):
6956
+ def __init__(
6957
+ self,
6958
+ *,
6959
+ action_name: builtins.str,
6960
+ run_order: typing.Optional[jsii.Number] = None,
6961
+ variables_namespace: typing.Optional[builtins.str] = None,
6962
+ role: typing.Optional[_IRole_235f5d8e] = None,
6963
+ commands: typing.Sequence[builtins.str],
6964
+ input: _Artifact_0cb05964,
6965
+ extra_inputs: typing.Optional[typing.Sequence[_Artifact_0cb05964]] = None,
6966
+ output: typing.Optional[_Artifact_0cb05964] = None,
6967
+ output_variables: typing.Optional[typing.Sequence[builtins.str]] = None,
6968
+ ) -> None:
6969
+ '''Construction properties of the ``CommandsAction``.
6970
+
6971
+ :param action_name: The physical, human-readable name of the Action. Note that Action names must be unique within a single Stage.
6972
+ :param run_order: The runOrder property for this Action. RunOrder determines the relative order in which multiple Actions in the same Stage execute. Default: 1
6973
+ :param variables_namespace: The name of the namespace to use for variables emitted by this action. Default: - a name will be generated, based on the stage and action names, if any of the action's variables were referenced - otherwise, no namespace will be set
6974
+ :param role: The Role in which context's this Action will be executing in. The Pipeline's Role will assume this Role (the required permissions for that will be granted automatically) right before executing this Action. This Action will be passed into your ``IAction.bind`` method in the ``ActionBindOptions.role`` property. Default: a new Role will be generated
6975
+ :param commands: Shell commands for the Commands action to run. All formats are supported except multi-line formats. The length of the commands array must be between 1 and 50.
6976
+ :param input: The source to use as input for this action.
6977
+ :param extra_inputs: The list of additional input artifacts for this action. Default: - no extra inputs
6978
+ :param output: The output artifact for this action. You can filter files that you want to export as the output artifact for the action. Default: - no output artifact
6979
+ :param output_variables: The names of the variables in your environment that you want to export. These variables can be referenced in other actions by using the ``variable`` method of this class. Default: - No output variables are exported
6980
+
6981
+ :exampleMetadata: infused
6982
+
6983
+ Example::
6984
+
6985
+ # source_artifact: codepipeline.Artifact
6986
+ # output_artifact: codepipeline.Artifact
6987
+
6988
+
6989
+ commands_action = codepipeline_actions.CommandsAction(
6990
+ action_name="Commands",
6991
+ commands=["export MY_OUTPUT=my-key"
6992
+ ],
6993
+ input=source_artifact,
6994
+ output=output_artifact,
6995
+ output_variables=["MY_OUTPUT", "CODEBUILD_BUILD_ID"]
6996
+ )
6997
+
6998
+ # Deploy action
6999
+ deploy_action = codepipeline_actions.S3DeployAction(
7000
+ action_name="DeployAction",
7001
+ extract=True,
7002
+ input=output_artifact,
7003
+ bucket=s3.Bucket(self, "DeployBucket"),
7004
+ object_key=commands_action.variable("MY_OUTPUT")
7005
+ )
7006
+ '''
7007
+ if __debug__:
7008
+ type_hints = typing.get_type_hints(_typecheckingstub__21385ddbb3031b453940ecb11b8a645ed20dfca73333fe16ee187494d8459395)
7009
+ check_type(argname="argument action_name", value=action_name, expected_type=type_hints["action_name"])
7010
+ check_type(argname="argument run_order", value=run_order, expected_type=type_hints["run_order"])
7011
+ check_type(argname="argument variables_namespace", value=variables_namespace, expected_type=type_hints["variables_namespace"])
7012
+ check_type(argname="argument role", value=role, expected_type=type_hints["role"])
7013
+ check_type(argname="argument commands", value=commands, expected_type=type_hints["commands"])
7014
+ check_type(argname="argument input", value=input, expected_type=type_hints["input"])
7015
+ check_type(argname="argument extra_inputs", value=extra_inputs, expected_type=type_hints["extra_inputs"])
7016
+ check_type(argname="argument output", value=output, expected_type=type_hints["output"])
7017
+ check_type(argname="argument output_variables", value=output_variables, expected_type=type_hints["output_variables"])
7018
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7019
+ "action_name": action_name,
7020
+ "commands": commands,
7021
+ "input": input,
7022
+ }
7023
+ if run_order is not None:
7024
+ self._values["run_order"] = run_order
7025
+ if variables_namespace is not None:
7026
+ self._values["variables_namespace"] = variables_namespace
7027
+ if role is not None:
7028
+ self._values["role"] = role
7029
+ if extra_inputs is not None:
7030
+ self._values["extra_inputs"] = extra_inputs
7031
+ if output is not None:
7032
+ self._values["output"] = output
7033
+ if output_variables is not None:
7034
+ self._values["output_variables"] = output_variables
7035
+
7036
+ @builtins.property
7037
+ def action_name(self) -> builtins.str:
7038
+ '''The physical, human-readable name of the Action.
7039
+
7040
+ Note that Action names must be unique within a single Stage.
7041
+ '''
7042
+ result = self._values.get("action_name")
7043
+ assert result is not None, "Required property 'action_name' is missing"
7044
+ return typing.cast(builtins.str, result)
7045
+
7046
+ @builtins.property
7047
+ def run_order(self) -> typing.Optional[jsii.Number]:
7048
+ '''The runOrder property for this Action.
7049
+
7050
+ RunOrder determines the relative order in which multiple Actions in the same Stage execute.
7051
+
7052
+ :default: 1
7053
+
7054
+ :see: https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html
7055
+ '''
7056
+ result = self._values.get("run_order")
7057
+ return typing.cast(typing.Optional[jsii.Number], result)
7058
+
7059
+ @builtins.property
7060
+ def variables_namespace(self) -> typing.Optional[builtins.str]:
7061
+ '''The name of the namespace to use for variables emitted by this action.
7062
+
7063
+ :default:
7064
+
7065
+ - a name will be generated, based on the stage and action names,
7066
+ if any of the action's variables were referenced - otherwise,
7067
+ no namespace will be set
7068
+ '''
7069
+ result = self._values.get("variables_namespace")
7070
+ return typing.cast(typing.Optional[builtins.str], result)
7071
+
7072
+ @builtins.property
7073
+ def role(self) -> typing.Optional[_IRole_235f5d8e]:
7074
+ '''The Role in which context's this Action will be executing in.
7075
+
7076
+ The Pipeline's Role will assume this Role
7077
+ (the required permissions for that will be granted automatically)
7078
+ right before executing this Action.
7079
+ This Action will be passed into your ``IAction.bind``
7080
+ method in the ``ActionBindOptions.role`` property.
7081
+
7082
+ :default: a new Role will be generated
7083
+ '''
7084
+ result = self._values.get("role")
7085
+ return typing.cast(typing.Optional[_IRole_235f5d8e], result)
7086
+
7087
+ @builtins.property
7088
+ def commands(self) -> typing.List[builtins.str]:
7089
+ '''Shell commands for the Commands action to run.
7090
+
7091
+ All formats are supported except multi-line formats.
7092
+
7093
+ The length of the commands array must be between 1 and 50.
7094
+ '''
7095
+ result = self._values.get("commands")
7096
+ assert result is not None, "Required property 'commands' is missing"
7097
+ return typing.cast(typing.List[builtins.str], result)
7098
+
7099
+ @builtins.property
7100
+ def input(self) -> _Artifact_0cb05964:
7101
+ '''The source to use as input for this action.'''
7102
+ result = self._values.get("input")
7103
+ assert result is not None, "Required property 'input' is missing"
7104
+ return typing.cast(_Artifact_0cb05964, result)
7105
+
7106
+ @builtins.property
7107
+ def extra_inputs(self) -> typing.Optional[typing.List[_Artifact_0cb05964]]:
7108
+ '''The list of additional input artifacts for this action.
7109
+
7110
+ :default: - no extra inputs
7111
+ '''
7112
+ result = self._values.get("extra_inputs")
7113
+ return typing.cast(typing.Optional[typing.List[_Artifact_0cb05964]], result)
7114
+
7115
+ @builtins.property
7116
+ def output(self) -> typing.Optional[_Artifact_0cb05964]:
7117
+ '''The output artifact for this action.
7118
+
7119
+ You can filter files that you want to export as the output artifact for the action.
7120
+
7121
+ :default: - no output artifact
7122
+
7123
+ Example::
7124
+
7125
+ codepipeline.Artifact("CommandsArtifact", ["my-dir/**"])
7126
+ '''
7127
+ result = self._values.get("output")
7128
+ return typing.cast(typing.Optional[_Artifact_0cb05964], result)
7129
+
7130
+ @builtins.property
7131
+ def output_variables(self) -> typing.Optional[typing.List[builtins.str]]:
7132
+ '''The names of the variables in your environment that you want to export.
7133
+
7134
+ These variables can be referenced in other actions by using the ``variable`` method
7135
+ of this class.
7136
+
7137
+ :default: - No output variables are exported
7138
+
7139
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html
7140
+ '''
7141
+ result = self._values.get("output_variables")
7142
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
7143
+
7144
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7145
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7146
+
7147
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7148
+ return not (rhs == self)
7149
+
7150
+ def __repr__(self) -> str:
7151
+ return "CommandsActionProps(%s)" % ", ".join(
7152
+ k + "=" + repr(v) for k, v in self._values.items()
7153
+ )
7154
+
7155
+
6723
7156
  @jsii.data_type(
6724
7157
  jsii_type="aws-cdk-lib.aws_codepipeline_actions.CommonCloudFormationStackSetOptions",
6725
7158
  jsii_struct_bases=[],
@@ -9157,6 +9590,7 @@ class ManualApprovalAction(
9157
9590
  external_entity_link: typing.Optional[builtins.str] = None,
9158
9591
  notification_topic: typing.Optional[_ITopic_9eca4852] = None,
9159
9592
  notify_emails: typing.Optional[typing.Sequence[builtins.str]] = None,
9593
+ timeout: typing.Optional[_Duration_4839e8c3] = None,
9160
9594
  role: typing.Optional[_IRole_235f5d8e] = None,
9161
9595
  action_name: builtins.str,
9162
9596
  run_order: typing.Optional[jsii.Number] = None,
@@ -9167,6 +9601,7 @@ class ManualApprovalAction(
9167
9601
  :param external_entity_link: URL you want to provide to the reviewer as part of the approval request. Default: - the approval request will not have an external link
9168
9602
  :param notification_topic: Optional SNS topic to send notifications to when an approval is pending.
9169
9603
  :param notify_emails: A list of email addresses to subscribe to notifications when this Action is pending approval. If this has been provided, but not ``notificationTopic``, a new Topic will be created.
9604
+ :param timeout: A timeout duration. It is configurable up to 86400 minutes (60 days) with a minimum value of 5 minutes. Default: - 10080 minutes (7 days)
9170
9605
  :param role: The Role in which context's this Action will be executing in. The Pipeline's Role will assume this Role (the required permissions for that will be granted automatically) right before executing this Action. This Action will be passed into your ``IAction.bind`` method in the ``ActionBindOptions.role`` property. Default: a new Role will be generated
9171
9606
  :param action_name: The physical, human-readable name of the Action. Note that Action names must be unique within a single Stage.
9172
9607
  :param run_order: The runOrder property for this Action. RunOrder determines the relative order in which multiple Actions in the same Stage execute. Default: 1
@@ -9177,6 +9612,7 @@ class ManualApprovalAction(
9177
9612
  external_entity_link=external_entity_link,
9178
9613
  notification_topic=notification_topic,
9179
9614
  notify_emails=notify_emails,
9615
+ timeout=timeout,
9180
9616
  role=role,
9181
9617
  action_name=action_name,
9182
9618
  run_order=run_order,
@@ -9241,6 +9677,7 @@ class ManualApprovalAction(
9241
9677
  "external_entity_link": "externalEntityLink",
9242
9678
  "notification_topic": "notificationTopic",
9243
9679
  "notify_emails": "notifyEmails",
9680
+ "timeout": "timeout",
9244
9681
  },
9245
9682
  )
9246
9683
  class ManualApprovalActionProps(_CommonAwsActionProps_8b809bb6):
@@ -9255,6 +9692,7 @@ class ManualApprovalActionProps(_CommonAwsActionProps_8b809bb6):
9255
9692
  external_entity_link: typing.Optional[builtins.str] = None,
9256
9693
  notification_topic: typing.Optional[_ITopic_9eca4852] = None,
9257
9694
  notify_emails: typing.Optional[typing.Sequence[builtins.str]] = None,
9695
+ timeout: typing.Optional[_Duration_4839e8c3] = None,
9258
9696
  ) -> None:
9259
9697
  '''Construction properties of the ``ManualApprovalAction``.
9260
9698
 
@@ -9266,6 +9704,7 @@ class ManualApprovalActionProps(_CommonAwsActionProps_8b809bb6):
9266
9704
  :param external_entity_link: URL you want to provide to the reviewer as part of the approval request. Default: - the approval request will not have an external link
9267
9705
  :param notification_topic: Optional SNS topic to send notifications to when an approval is pending.
9268
9706
  :param notify_emails: A list of email addresses to subscribe to notifications when this Action is pending approval. If this has been provided, but not ``notificationTopic``, a new Topic will be created.
9707
+ :param timeout: A timeout duration. It is configurable up to 86400 minutes (60 days) with a minimum value of 5 minutes. Default: - 10080 minutes (7 days)
9269
9708
 
9270
9709
  :exampleMetadata: infused
9271
9710
 
@@ -9291,6 +9730,7 @@ class ManualApprovalActionProps(_CommonAwsActionProps_8b809bb6):
9291
9730
  check_type(argname="argument external_entity_link", value=external_entity_link, expected_type=type_hints["external_entity_link"])
9292
9731
  check_type(argname="argument notification_topic", value=notification_topic, expected_type=type_hints["notification_topic"])
9293
9732
  check_type(argname="argument notify_emails", value=notify_emails, expected_type=type_hints["notify_emails"])
9733
+ check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
9294
9734
  self._values: typing.Dict[builtins.str, typing.Any] = {
9295
9735
  "action_name": action_name,
9296
9736
  }
@@ -9308,6 +9748,8 @@ class ManualApprovalActionProps(_CommonAwsActionProps_8b809bb6):
9308
9748
  self._values["notification_topic"] = notification_topic
9309
9749
  if notify_emails is not None:
9310
9750
  self._values["notify_emails"] = notify_emails
9751
+ if timeout is not None:
9752
+ self._values["timeout"] = timeout
9311
9753
 
9312
9754
  @builtins.property
9313
9755
  def action_name(self) -> builtins.str:
@@ -9391,6 +9833,19 @@ class ManualApprovalActionProps(_CommonAwsActionProps_8b809bb6):
9391
9833
  result = self._values.get("notify_emails")
9392
9834
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
9393
9835
 
9836
+ @builtins.property
9837
+ def timeout(self) -> typing.Optional[_Duration_4839e8c3]:
9838
+ '''A timeout duration.
9839
+
9840
+ It is configurable up to 86400 minutes (60 days) with a minimum value of 5 minutes.
9841
+
9842
+ :default: - 10080 minutes (7 days)
9843
+
9844
+ :see: https://docs.aws.amazon.com/codepipeline/latest/userguide/limits.html
9845
+ '''
9846
+ result = self._values.get("timeout")
9847
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
9848
+
9394
9849
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
9395
9850
  return isinstance(rhs, self.__class__) and rhs._values == self._values
9396
9851
 
@@ -9473,28 +9928,26 @@ class S3DeployAction(
9473
9928
 
9474
9929
  Example::
9475
9930
 
9476
- # source_action: codepipeline_actions.S3SourceAction
9477
- # source_output: codepipeline.Artifact
9478
- # deploy_bucket: s3.Bucket
9931
+ # source_artifact: codepipeline.Artifact
9932
+ # output_artifact: codepipeline.Artifact
9479
9933
 
9480
9934
 
9481
- codepipeline.Pipeline(self, "Pipeline",
9482
- stages=[codepipeline.StageProps(
9483
- stage_name="Source",
9484
- actions=[source_action]
9485
- ), codepipeline.StageProps(
9486
- stage_name="Deploy",
9487
- actions=[
9488
- codepipeline_actions.S3DeployAction(
9489
- action_name="DeployAction",
9490
- # can reference the variables
9491
- object_key=f"{sourceAction.variables.versionId}.txt",
9492
- input=source_output,
9493
- bucket=deploy_bucket
9494
- )
9495
- ]
9496
- )
9497
- ]
9935
+ commands_action = codepipeline_actions.CommandsAction(
9936
+ action_name="Commands",
9937
+ commands=["export MY_OUTPUT=my-key"
9938
+ ],
9939
+ input=source_artifact,
9940
+ output=output_artifact,
9941
+ output_variables=["MY_OUTPUT", "CODEBUILD_BUILD_ID"]
9942
+ )
9943
+
9944
+ # Deploy action
9945
+ deploy_action = codepipeline_actions.S3DeployAction(
9946
+ action_name="DeployAction",
9947
+ extract=True,
9948
+ input=output_artifact,
9949
+ bucket=s3.Bucket(self, "DeployBucket"),
9950
+ object_key=commands_action.variable("MY_OUTPUT")
9498
9951
  )
9499
9952
  '''
9500
9953
 
@@ -9618,28 +10071,26 @@ class S3DeployActionProps(_CommonAwsActionProps_8b809bb6):
9618
10071
 
9619
10072
  Example::
9620
10073
 
9621
- # source_action: codepipeline_actions.S3SourceAction
9622
- # source_output: codepipeline.Artifact
9623
- # deploy_bucket: s3.Bucket
10074
+ # source_artifact: codepipeline.Artifact
10075
+ # output_artifact: codepipeline.Artifact
9624
10076
 
9625
10077
 
9626
- codepipeline.Pipeline(self, "Pipeline",
9627
- stages=[codepipeline.StageProps(
9628
- stage_name="Source",
9629
- actions=[source_action]
9630
- ), codepipeline.StageProps(
9631
- stage_name="Deploy",
9632
- actions=[
9633
- codepipeline_actions.S3DeployAction(
9634
- action_name="DeployAction",
9635
- # can reference the variables
9636
- object_key=f"{sourceAction.variables.versionId}.txt",
9637
- input=source_output,
9638
- bucket=deploy_bucket
9639
- )
9640
- ]
9641
- )
9642
- ]
10078
+ commands_action = codepipeline_actions.CommandsAction(
10079
+ action_name="Commands",
10080
+ commands=["export MY_OUTPUT=my-key"
10081
+ ],
10082
+ input=source_artifact,
10083
+ output=output_artifact,
10084
+ output_variables=["MY_OUTPUT", "CODEBUILD_BUILD_ID"]
10085
+ )
10086
+
10087
+ # Deploy action
10088
+ deploy_action = codepipeline_actions.S3DeployAction(
10089
+ action_name="DeployAction",
10090
+ extract=True,
10091
+ input=output_artifact,
10092
+ bucket=s3.Bucket(self, "DeployBucket"),
10093
+ object_key=commands_action.variable("MY_OUTPUT")
9643
10094
  )
9644
10095
  '''
9645
10096
  if __debug__:
@@ -9820,25 +10271,28 @@ class S3SourceAction(
9820
10271
 
9821
10272
  Example::
9822
10273
 
9823
- import aws_cdk.aws_cloudtrail as cloudtrail
9824
-
9825
10274
  # source_bucket: s3.Bucket
9826
10275
 
9827
- source_output = codepipeline.Artifact()
10276
+ # later:
10277
+ # project: codebuild.PipelineProject
9828
10278
  key = "some/key.zip"
9829
- trail = cloudtrail.Trail(self, "CloudTrail")
9830
- trail.add_s3_event_selector([cloudtrail.S3EventSelector(
9831
- bucket=source_bucket,
9832
- object_prefix=key
9833
- )],
9834
- read_write_type=cloudtrail.ReadWriteType.WRITE_ONLY
9835
- )
10279
+ source_output = codepipeline.Artifact()
9836
10280
  source_action = codepipeline_actions.S3SourceAction(
9837
10281
  action_name="S3Source",
9838
10282
  bucket_key=key,
9839
10283
  bucket=source_bucket,
9840
10284
  output=source_output,
9841
- trigger=codepipeline_actions.S3Trigger.EVENTS
10285
+ variables_namespace="MyNamespace"
10286
+ )
10287
+ codepipeline_actions.CodeBuildAction(
10288
+ action_name="CodeBuild",
10289
+ project=project,
10290
+ input=source_output,
10291
+ environment_variables={
10292
+ "VERSION_ID": codebuild.BuildEnvironmentVariable(
10293
+ value=source_action.variables.version_id
10294
+ )
10295
+ }
9842
10296
  )
9843
10297
  '''
9844
10298
 
@@ -9950,25 +10404,28 @@ class S3SourceActionProps(_CommonAwsActionProps_8b809bb6):
9950
10404
 
9951
10405
  Example::
9952
10406
 
9953
- import aws_cdk.aws_cloudtrail as cloudtrail
9954
-
9955
10407
  # source_bucket: s3.Bucket
9956
10408
 
9957
- source_output = codepipeline.Artifact()
10409
+ # later:
10410
+ # project: codebuild.PipelineProject
9958
10411
  key = "some/key.zip"
9959
- trail = cloudtrail.Trail(self, "CloudTrail")
9960
- trail.add_s3_event_selector([cloudtrail.S3EventSelector(
9961
- bucket=source_bucket,
9962
- object_prefix=key
9963
- )],
9964
- read_write_type=cloudtrail.ReadWriteType.WRITE_ONLY
9965
- )
10412
+ source_output = codepipeline.Artifact()
9966
10413
  source_action = codepipeline_actions.S3SourceAction(
9967
10414
  action_name="S3Source",
9968
10415
  bucket_key=key,
9969
10416
  bucket=source_bucket,
9970
10417
  output=source_output,
9971
- trigger=codepipeline_actions.S3Trigger.EVENTS
10418
+ variables_namespace="MyNamespace"
10419
+ )
10420
+ codepipeline_actions.CodeBuildAction(
10421
+ action_name="CodeBuild",
10422
+ project=project,
10423
+ input=source_output,
10424
+ environment_variables={
10425
+ "VERSION_ID": codebuild.BuildEnvironmentVariable(
10426
+ value=source_action.variables.version_id
10427
+ )
10428
+ }
9972
10429
  )
9973
10430
  '''
9974
10431
  if __debug__:
@@ -12145,6 +12602,8 @@ __all__ = [
12145
12602
  "CodeStarConnectionsSourceAction",
12146
12603
  "CodeStarConnectionsSourceActionProps",
12147
12604
  "CodeStarSourceVariables",
12605
+ "CommandsAction",
12606
+ "CommandsActionProps",
12148
12607
  "CommonCloudFormationStackSetOptions",
12149
12608
  "EcrSourceAction",
12150
12609
  "EcrSourceActionProps",
@@ -12582,6 +13041,37 @@ def _typecheckingstub__cafaad91c3e2208fbf7ad428836c6a672d42b11ef090e05536df65ea9
12582
13041
  """Type checking stubs"""
12583
13042
  pass
12584
13043
 
13044
+ def _typecheckingstub__bbe79ee7c34315f68e6df88d72bfe72e659a27a9fec26929b6ecfa2c9489e62d(
13045
+ scope: _constructs_77d1e7e8.Construct,
13046
+ stage: _IStage_415fc571,
13047
+ *,
13048
+ bucket: _IBucket_42e086fd,
13049
+ role: _IRole_235f5d8e,
13050
+ ) -> None:
13051
+ """Type checking stubs"""
13052
+ pass
13053
+
13054
+ def _typecheckingstub__f4edb851cf8ea72119d980b99b9e14e11af9c8f5ebca0f3de5a9d841fd93b27f(
13055
+ variable_name: builtins.str,
13056
+ ) -> None:
13057
+ """Type checking stubs"""
13058
+ pass
13059
+
13060
+ def _typecheckingstub__21385ddbb3031b453940ecb11b8a645ed20dfca73333fe16ee187494d8459395(
13061
+ *,
13062
+ action_name: builtins.str,
13063
+ run_order: typing.Optional[jsii.Number] = None,
13064
+ variables_namespace: typing.Optional[builtins.str] = None,
13065
+ role: typing.Optional[_IRole_235f5d8e] = None,
13066
+ commands: typing.Sequence[builtins.str],
13067
+ input: _Artifact_0cb05964,
13068
+ extra_inputs: typing.Optional[typing.Sequence[_Artifact_0cb05964]] = None,
13069
+ output: typing.Optional[_Artifact_0cb05964] = None,
13070
+ output_variables: typing.Optional[typing.Sequence[builtins.str]] = None,
13071
+ ) -> None:
13072
+ """Type checking stubs"""
13073
+ pass
13074
+
12585
13075
  def _typecheckingstub__2410584584bdbc5570942e28fb48b74fa12d17853f6fde7bdcddfd923102e537(
12586
13076
  *,
12587
13077
  failure_tolerance_percentage: typing.Optional[jsii.Number] = None,
@@ -12811,6 +13301,7 @@ def _typecheckingstub__c0df3ee447df61616e40150270a600545e86dd4118230e7dc4127cf7e
12811
13301
  external_entity_link: typing.Optional[builtins.str] = None,
12812
13302
  notification_topic: typing.Optional[_ITopic_9eca4852] = None,
12813
13303
  notify_emails: typing.Optional[typing.Sequence[builtins.str]] = None,
13304
+ timeout: typing.Optional[_Duration_4839e8c3] = None,
12814
13305
  ) -> None:
12815
13306
  """Type checking stubs"""
12816
13307
  pass