aws-cdk-lib 2.127.0__py3-none-any.whl → 2.129.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 (103) hide show
  1. aws_cdk/__init__.py +6 -10
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.127.0.jsii.tgz → aws-cdk-lib@2.129.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +6 -24
  5. aws_cdk/aws_amplify/__init__.py +1 -2
  6. aws_cdk/aws_appconfig/__init__.py +0 -16
  7. aws_cdk/aws_applicationautoscaling/__init__.py +55 -22
  8. aws_cdk/aws_appstream/__init__.py +14 -14
  9. aws_cdk/aws_appsync/__init__.py +334 -3
  10. aws_cdk/aws_autoscaling/__init__.py +11 -7
  11. aws_cdk/aws_batch/__init__.py +137 -16
  12. aws_cdk/aws_cleanrooms/__init__.py +1 -2
  13. aws_cdk/aws_cloudformation/__init__.py +2 -10
  14. aws_cdk/aws_cloudfront/__init__.py +15 -8
  15. aws_cdk/aws_cloudfront/experimental/__init__.py +22 -0
  16. aws_cdk/aws_cloudfront_origins/__init__.py +332 -0
  17. aws_cdk/aws_cloudtrail/__init__.py +12 -2
  18. aws_cdk/aws_cloudwatch/__init__.py +925 -133
  19. aws_cdk/aws_codedeploy/__init__.py +69 -0
  20. aws_cdk/aws_codepipeline/__init__.py +1461 -111
  21. aws_cdk/aws_codepipeline_actions/__init__.py +40 -34
  22. aws_cdk/aws_cognito/__init__.py +0 -9
  23. aws_cdk/aws_config/__init__.py +2 -2
  24. aws_cdk/aws_connect/__init__.py +6 -1
  25. aws_cdk/aws_controltower/__init__.py +527 -7
  26. aws_cdk/aws_datasync/__init__.py +2 -2
  27. aws_cdk/aws_directoryservice/__init__.py +2 -3
  28. aws_cdk/aws_dynamodb/__init__.py +7 -0
  29. aws_cdk/aws_ec2/__init__.py +117 -210
  30. aws_cdk/aws_ecs/__init__.py +537 -3
  31. aws_cdk/aws_eks/__init__.py +1 -1
  32. aws_cdk/aws_elasticache/__init__.py +27 -20
  33. aws_cdk/aws_elasticloadbalancingv2/__init__.py +3 -4
  34. aws_cdk/aws_emr/__init__.py +23 -3
  35. aws_cdk/aws_events_targets/__init__.py +64 -20
  36. aws_cdk/aws_fis/__init__.py +4 -4
  37. aws_cdk/aws_frauddetector/__init__.py +3 -3
  38. aws_cdk/aws_globalaccelerator/__init__.py +2 -6
  39. aws_cdk/aws_glue/__init__.py +84 -55
  40. aws_cdk/aws_groundstation/__init__.py +8 -12
  41. aws_cdk/aws_guardduty/__init__.py +74 -70
  42. aws_cdk/aws_iam/__init__.py +16 -23
  43. aws_cdk/aws_imagebuilder/__init__.py +178 -156
  44. aws_cdk/aws_internetmonitor/__init__.py +12 -10
  45. aws_cdk/aws_iot/__init__.py +17 -10
  46. aws_cdk/aws_iotevents/__init__.py +4 -4
  47. aws_cdk/aws_iotfleetwise/__init__.py +10 -5
  48. aws_cdk/aws_iottwinmaker/__init__.py +3 -5
  49. aws_cdk/aws_iotwireless/__init__.py +35 -23
  50. aws_cdk/aws_kendra/__init__.py +36 -15
  51. aws_cdk/aws_kinesisfirehose/__init__.py +155 -114
  52. aws_cdk/aws_lambda/__init__.py +175 -15
  53. aws_cdk/aws_lambda_nodejs/__init__.py +22 -0
  54. aws_cdk/aws_lightsail/__init__.py +14 -18
  55. aws_cdk/aws_logs/__init__.py +15 -15
  56. aws_cdk/aws_mediaconnect/__init__.py +5 -3
  57. aws_cdk/aws_medialive/__init__.py +3 -12
  58. aws_cdk/aws_mediapackagev2/__init__.py +287 -286
  59. aws_cdk/aws_mediatailor/__init__.py +2 -2
  60. aws_cdk/aws_memorydb/__init__.py +2 -2
  61. aws_cdk/aws_msk/__init__.py +6 -3
  62. aws_cdk/aws_mwaa/__init__.py +10 -5
  63. aws_cdk/aws_neptunegraph/__init__.py +84 -66
  64. aws_cdk/aws_networkfirewall/__init__.py +5 -8
  65. aws_cdk/aws_networkmanager/__init__.py +3 -3
  66. aws_cdk/aws_nimblestudio/__init__.py +2 -4
  67. aws_cdk/aws_opensearchservice/__init__.py +6 -7
  68. aws_cdk/aws_osis/__init__.py +1 -3
  69. aws_cdk/aws_pinpoint/__init__.py +5 -5
  70. aws_cdk/aws_pipes/__init__.py +5 -5
  71. aws_cdk/aws_quicksight/__init__.py +5 -10
  72. aws_cdk/aws_rds/__init__.py +38 -21
  73. aws_cdk/aws_redshift/__init__.py +9 -5
  74. aws_cdk/aws_redshiftserverless/__init__.py +62 -38
  75. aws_cdk/aws_rolesanywhere/__init__.py +41 -53
  76. aws_cdk/aws_route53/__init__.py +532 -6
  77. aws_cdk/aws_route53recoverycontrol/__init__.py +1 -3
  78. aws_cdk/aws_route53recoveryreadiness/__init__.py +2 -2
  79. aws_cdk/aws_route53resolver/__init__.py +1 -4
  80. aws_cdk/aws_s3/__init__.py +12 -6
  81. aws_cdk/aws_s3_deployment/__init__.py +29 -0
  82. aws_cdk/aws_s3objectlambda/__init__.py +7 -4
  83. aws_cdk/aws_s3outposts/__init__.py +1 -1
  84. aws_cdk/aws_sagemaker/__init__.py +195 -11
  85. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -3
  86. aws_cdk/aws_ses/__init__.py +166 -9
  87. aws_cdk/aws_sns/__init__.py +185 -38
  88. aws_cdk/aws_sqs/__init__.py +10 -12
  89. aws_cdk/aws_ssm/__init__.py +16 -16
  90. aws_cdk/aws_ssmincidents/__init__.py +1 -1
  91. aws_cdk/aws_synthetics/__init__.py +94 -21
  92. aws_cdk/aws_verifiedpermissions/__init__.py +1 -2
  93. aws_cdk/aws_vpclattice/__init__.py +8 -4
  94. aws_cdk/aws_wafv2/__init__.py +14 -59
  95. aws_cdk/aws_workspaces/__init__.py +5 -4
  96. aws_cdk/aws_workspacesweb/__init__.py +6 -12
  97. aws_cdk/triggers/__init__.py +22 -0
  98. {aws_cdk_lib-2.127.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/METADATA +1 -1
  99. {aws_cdk_lib-2.127.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/RECORD +103 -103
  100. {aws_cdk_lib-2.127.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/LICENSE +0 -0
  101. {aws_cdk_lib-2.127.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/NOTICE +0 -0
  102. {aws_cdk_lib-2.127.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/WHEEL +0 -0
  103. {aws_cdk_lib-2.127.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/top_level.txt +0 -0
@@ -360,7 +360,16 @@ replication_bucket = s3.Bucket(replication_stack, "ReplicationBucket",
360
360
 
361
361
  ## Variables
362
362
 
363
- The library supports the CodePipeline Variables feature.
363
+ Variables are key-value pairs that can be used to dynamically configure actions in your pipeline.
364
+
365
+ There are two types of variables, Action-level variables and Pipeline-level variables. Action-level
366
+ variables are produced when an action is executed. Pipeline-level variables are defined when the
367
+ pipeline is created and resolved at pipeline run time. You specify the Pipeline-level variables
368
+ when the pipeline is created, and you can provide values at the time of the pipeline execution.
369
+
370
+ ### Action-level variables
371
+
372
+ The library supports action-level variables.
364
373
  Each action class that emits variables has a separate variables interface,
365
374
  accessed as a property of the action instance called `variables`.
366
375
  You instantiate the action class and assign it to a local variable;
@@ -408,12 +417,99 @@ OtherAction(
408
417
  )
409
418
  ```
410
419
 
420
+ The following is an actual code example.
421
+
422
+ ```python
423
+ # source_action: codepipeline_actions.S3SourceAction
424
+ # source_output: codepipeline.Artifact
425
+ # deploy_bucket: s3.Bucket
426
+
427
+
428
+ codepipeline.Pipeline(self, "Pipeline",
429
+ stages=[codepipeline.StageProps(
430
+ stage_name="Source",
431
+ actions=[source_action]
432
+ ), codepipeline.StageProps(
433
+ stage_name="Deploy",
434
+ actions=[
435
+ codepipeline_actions.S3DeployAction(
436
+ action_name="DeployAction",
437
+ # can reference the variables
438
+ object_key=f"{sourceAction.variables.versionId}.txt",
439
+ input=source_output,
440
+ bucket=deploy_bucket
441
+ )
442
+ ]
443
+ )
444
+ ]
445
+ )
446
+ ```
447
+
411
448
  Check the documentation of the `aws-cdk-lib/aws-codepipeline-actions`
412
449
  for details on how to use the variables for each action class.
413
450
 
414
451
  See the [CodePipeline documentation](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-variables.html)
415
452
  for more details on how to use the variables feature.
416
453
 
454
+ ### Pipeline-level variables
455
+
456
+ You can add one or more variables at the pipeline level. You can reference
457
+ this value in the configuration of CodePipeline actions. You can add the
458
+ variable names, default values, and descriptions when you create the pipeline.
459
+ Variables are resolved at the time of execution.
460
+
461
+ Note that using pipeline-level variables in any kind of Source action is not supported.
462
+ Also, the variables can only be used with pipeline type V2.
463
+
464
+ ```python
465
+ # source_action: codepipeline_actions.S3SourceAction
466
+ # source_output: codepipeline.Artifact
467
+ # deploy_bucket: s3.Bucket
468
+
469
+
470
+ # Pipeline-level variable
471
+ variable = codepipeline.Variable(
472
+ variable_name="bucket-var",
473
+ description="description",
474
+ default_value="sample"
475
+ )
476
+
477
+ codepipeline.Pipeline(self, "Pipeline",
478
+ pipeline_type=codepipeline.PipelineType.V2,
479
+ variables=[variable],
480
+ stages=[codepipeline.StageProps(
481
+ stage_name="Source",
482
+ actions=[source_action]
483
+ ), codepipeline.StageProps(
484
+ stage_name="Deploy",
485
+ actions=[
486
+ codepipeline_actions.S3DeployAction(
487
+ action_name="DeployAction",
488
+ # can reference the variables
489
+ object_key=f"{variable.reference()}.txt",
490
+ input=source_output,
491
+ bucket=deploy_bucket
492
+ )
493
+ ]
494
+ )
495
+ ]
496
+ )
497
+ ```
498
+
499
+ Or append a variable to an existing pipeline:
500
+
501
+ ```python
502
+ # pipeline: codepipeline.Pipeline
503
+
504
+
505
+ variable = codepipeline.Variable(
506
+ variable_name="bucket-var",
507
+ description="description",
508
+ default_value="sample"
509
+ )
510
+ pipeline.add_variable(variable)
511
+ ```
512
+
417
513
  ## Events
418
514
 
419
515
  ### Using a pipeline as an event target
@@ -477,6 +573,75 @@ target = chatbot.SlackChannelConfiguration(self, "MySlackChannel",
477
573
  )
478
574
  rule = pipeline.notify_on_execution_state_change("NotifyOnExecutionStateChange", target)
479
575
  ```
576
+
577
+ ## Trigger
578
+
579
+ To trigger a pipeline with Git tags, specify the `triggers` property. When a Git tag is pushed,
580
+ your pipeline starts. You can filter with glob patterns. The `tagsExcludes` takes priority over
581
+ the `tagsIncludes`.
582
+
583
+ The triggers can only be used with pipeline type V2.
584
+
585
+ ```python
586
+ # source_action: codepipeline_actions.CodeStarConnectionsSourceAction
587
+ # build_action: codepipeline_actions.CodeBuildAction
588
+
589
+
590
+ codepipeline.Pipeline(self, "Pipeline",
591
+ pipeline_type=codepipeline.PipelineType.V2,
592
+ stages=[codepipeline.StageProps(
593
+ stage_name="Source",
594
+ actions=[source_action]
595
+ ), codepipeline.StageProps(
596
+ stage_name="Build",
597
+ actions=[build_action]
598
+ )
599
+ ],
600
+ triggers=[codepipeline.TriggerProps(
601
+ provider_type=codepipeline.ProviderType.CODE_STAR_SOURCE_CONNECTION,
602
+ git_configuration=codepipeline.GitConfiguration(
603
+ source_action=source_action,
604
+ push_filter=[codepipeline.GitPushFilter(
605
+ tags_excludes=["exclude1", "exclude2"],
606
+ tags_includes=["include*"]
607
+ )]
608
+ )
609
+ )]
610
+ )
611
+ ```
612
+
613
+ Or append a trigger to an existing pipeline:
614
+
615
+ ```python
616
+ # pipeline: codepipeline.Pipeline
617
+ # source_action: codepipeline_actions.CodeStarConnectionsSourceAction
618
+
619
+
620
+ pipeline.add_trigger(
621
+ provider_type=codepipeline.ProviderType.CODE_STAR_SOURCE_CONNECTION,
622
+ git_configuration=codepipeline.GitConfiguration(
623
+ source_action=source_action,
624
+ push_filter=[codepipeline.GitPushFilter(
625
+ tags_excludes=["exclude1", "exclude2"],
626
+ tags_includes=["include*"]
627
+ )]
628
+ )
629
+ )
630
+ ```
631
+
632
+ ## Migrating a pipeline type from V1 to V2
633
+
634
+ To migrate your pipeline type from V1 to V2, you just need to update the `pipelineType` property to `PipelineType.V2`.
635
+ This migration does not cause replacement of your pipeline.
636
+
637
+ ```python
638
+ codepipeline.Pipeline(self, "Pipeline",
639
+ pipeline_type=codepipeline.PipelineType.V2
640
+ )
641
+ ```
642
+
643
+ See the [CodePipeline documentation](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html)
644
+ for more details on the differences between each type.
480
645
  '''
481
646
  import abc
482
647
  import builtins
@@ -2138,7 +2303,9 @@ class CfnPipeline(
2138
2303
  ):
2139
2304
  '''The ``AWS::CodePipeline::Pipeline`` resource creates a CodePipeline pipeline that describes how software changes go through a release process.
2140
2305
 
2141
- For more information, see `What Is CodePipeline? <https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html>`_ in the *AWS CodePipeline User Guide* .
2306
+ For more information, see `What Is CodePipeline? <https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html>`_ in the *CodePipeline User Guide* .
2307
+
2308
+ For an example in YAML and JSON that contains the parameters in this reference, see `Examples <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#aws-resource-codepipeline-pipeline--examples>`_ .
2142
2309
 
2143
2310
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html
2144
2311
  :cloudformationResource: AWS::CodePipeline::Pipeline
@@ -2214,6 +2381,7 @@ class CfnPipeline(
2214
2381
  reason="reason",
2215
2382
  stage_name="stageName"
2216
2383
  )],
2384
+ execution_mode="executionMode",
2217
2385
  name="name",
2218
2386
  pipeline_type="pipelineType",
2219
2387
  restart_execution_on_update=False,
@@ -2229,7 +2397,26 @@ class CfnPipeline(
2229
2397
  source_action_name="sourceActionName",
2230
2398
 
2231
2399
  # the properties below are optional
2400
+ pull_request=[codepipeline.CfnPipeline.GitPullRequestFilterProperty(
2401
+ branches=codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
2402
+ excludes=["excludes"],
2403
+ includes=["includes"]
2404
+ ),
2405
+ events=["events"],
2406
+ file_paths=codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
2407
+ excludes=["excludes"],
2408
+ includes=["includes"]
2409
+ )
2410
+ )],
2232
2411
  push=[codepipeline.CfnPipeline.GitPushFilterProperty(
2412
+ branches=codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
2413
+ excludes=["excludes"],
2414
+ includes=["includes"]
2415
+ ),
2416
+ file_paths=codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
2417
+ excludes=["excludes"],
2418
+ includes=["includes"]
2419
+ ),
2233
2420
  tags=codepipeline.CfnPipeline.GitTagFilterCriteriaProperty(
2234
2421
  excludes=["excludes"],
2235
2422
  includes=["includes"]
@@ -2257,6 +2444,7 @@ class CfnPipeline(
2257
2444
  artifact_store: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.ArtifactStoreProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2258
2445
  artifact_stores: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.ArtifactStoreMapProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2259
2446
  disable_inbound_stage_transitions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.StageTransitionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2447
+ execution_mode: typing.Optional[builtins.str] = None,
2260
2448
  name: typing.Optional[builtins.str] = None,
2261
2449
  pipeline_type: typing.Optional[builtins.str] = None,
2262
2450
  restart_execution_on_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -2272,8 +2460,9 @@ class CfnPipeline(
2272
2460
  :param artifact_store: The S3 bucket where artifacts for the pipeline are stored. .. epigraph:: You must include either ``artifactStore`` or ``artifactStores`` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use ``artifactStores`` .
2273
2461
  :param artifact_stores: A mapping of ``artifactStore`` objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline. .. epigraph:: You must include either ``artifactStore`` or ``artifactStores`` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use ``artifactStores`` .
2274
2462
  :param disable_inbound_stage_transitions: Represents the input of a ``DisableStageTransition`` action.
2463
+ :param execution_mode: The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.
2275
2464
  :param name: The name of the pipeline.
2276
- :param pipeline_type: CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications. - V1 type pipelines have a JSON structure that contains standard pipeline, stage, and action-level parameters. - V2 type pipelines have the same structure as a V1 type, along with additional parameters for release safety and trigger configuration. .. epigraph:: Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs. For information about pricing for CodePipeline, see `Pricing <https://docs.aws.amazon.com/https://aws.amazon.com/codepipeline/pricing/>`_ . For information about which type of pipeline to choose, see `What type of pipeline is right for me? <https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html>`_ .
2465
+ :param pipeline_type: CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications. - V1 type pipelines have a JSON structure that contains standard pipeline, stage, and action-level parameters. - V2 type pipelines have the same structure as a V1 type, along with additional parameters for release safety and trigger configuration. .. epigraph:: Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs. For information about pricing for CodePipeline, see `Pricing <https://docs.aws.amazon.com/codepipeline/pricing/>`_ . For information about which type of pipeline to choose, see `What type of pipeline is right for me? <https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html>`_ .
2277
2466
  :param restart_execution_on_update: Indicates whether to rerun the CodePipeline pipeline after you update it.
2278
2467
  :param tags: Specifies the tags applied to the pipeline.
2279
2468
  :param triggers: The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline. .. epigraph:: When a trigger configuration is specified, default change detection for repository and branch commits is disabled.
@@ -2289,6 +2478,7 @@ class CfnPipeline(
2289
2478
  artifact_store=artifact_store,
2290
2479
  artifact_stores=artifact_stores,
2291
2480
  disable_inbound_stage_transitions=disable_inbound_stage_transitions,
2481
+ execution_mode=execution_mode,
2292
2482
  name=name,
2293
2483
  pipeline_type=pipeline_type,
2294
2484
  restart_execution_on_update=restart_execution_on_update,
@@ -2446,6 +2636,19 @@ class CfnPipeline(
2446
2636
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2447
2637
  jsii.set(self, "disableInboundStageTransitions", value)
2448
2638
 
2639
+ @builtins.property
2640
+ @jsii.member(jsii_name="executionMode")
2641
+ def execution_mode(self) -> typing.Optional[builtins.str]:
2642
+ '''The method that the pipeline will use to handle multiple executions.'''
2643
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "executionMode"))
2644
+
2645
+ @execution_mode.setter
2646
+ def execution_mode(self, value: typing.Optional[builtins.str]) -> None:
2647
+ if __debug__:
2648
+ type_hints = typing.get_type_hints(_typecheckingstub__472d85ae1c4eb5d13c62e60f6347b15da6be45b950e9ce0ab0c5a3d67951fda0)
2649
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2650
+ jsii.set(self, "executionMode", value)
2651
+
2449
2652
  @builtins.property
2450
2653
  @jsii.member(jsii_name="name")
2451
2654
  def name(self) -> typing.Optional[builtins.str]:
@@ -2570,6 +2773,10 @@ class CfnPipeline(
2570
2773
  ) -> None:
2571
2774
  '''Represents information about an action declaration.
2572
2775
 
2776
+ .. epigraph::
2777
+
2778
+ Documentation for the ``timeoutInMinutes`` parameter in the ``ActionDeclaration`` is not yet available for CloudFormation and CDK resources in CodePipeline. For more information about the configurable timeout for manual approval actions, see the `ActionDeclaration <https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ActionDeclaration.html>`_ in the CodePipeline API Reference.
2779
+
2573
2780
  :param action_type_id: Specifies the action type and the provider of the action.
2574
2781
  :param name: The action declaration's name.
2575
2782
  :param configuration: The action's configuration. These are key-value pairs that specify input values for an action. For more information, see `Action Structure Requirements in CodePipeline <https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements>`_ . For the list of configuration properties for the AWS CloudFormation action type in CodePipeline, see `Configuration Properties Reference <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html>`_ in the *AWS CloudFormation User Guide* . For template snippets with examples, see `Using Parameter Override Functions with CodePipeline Pipelines <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html>`_ in the *AWS CloudFormation User Guide* . The values can be represented in either JSON or YAML format. For example, the JSON configuration item format is as follows: *JSON:* ``"Configuration" : { Key : Value },``
@@ -3219,16 +3426,91 @@ class CfnPipeline(
3219
3426
  k + "=" + repr(v) for k, v in self._values.items()
3220
3427
  )
3221
3428
 
3429
+ @jsii.data_type(
3430
+ jsii_type="aws-cdk-lib.aws_codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty",
3431
+ jsii_struct_bases=[],
3432
+ name_mapping={"excludes": "excludes", "includes": "includes"},
3433
+ )
3434
+ class GitBranchFilterCriteriaProperty:
3435
+ def __init__(
3436
+ self,
3437
+ *,
3438
+ excludes: typing.Optional[typing.Sequence[builtins.str]] = None,
3439
+ includes: typing.Optional[typing.Sequence[builtins.str]] = None,
3440
+ ) -> None:
3441
+ '''The Git repository branches specified as filter criteria to start the pipeline.
3442
+
3443
+ :param excludes: The list of patterns of Git branches that, when a commit is pushed, are to be excluded from starting the pipeline.
3444
+ :param includes: The list of patterns of Git branches that, when a commit is pushed, are to be included as criteria that starts the pipeline.
3445
+
3446
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitbranchfiltercriteria.html
3447
+ :exampleMetadata: fixture=_generated
3448
+
3449
+ Example::
3450
+
3451
+ # The code below shows an example of how to instantiate this type.
3452
+ # The values are placeholders you should change.
3453
+ from aws_cdk import aws_codepipeline as codepipeline
3454
+
3455
+ git_branch_filter_criteria_property = codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
3456
+ excludes=["excludes"],
3457
+ includes=["includes"]
3458
+ )
3459
+ '''
3460
+ if __debug__:
3461
+ type_hints = typing.get_type_hints(_typecheckingstub__1d236727cda322520f3a703d9e848a434f71ca107e953aec5359ac063333d29b)
3462
+ check_type(argname="argument excludes", value=excludes, expected_type=type_hints["excludes"])
3463
+ check_type(argname="argument includes", value=includes, expected_type=type_hints["includes"])
3464
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3465
+ if excludes is not None:
3466
+ self._values["excludes"] = excludes
3467
+ if includes is not None:
3468
+ self._values["includes"] = includes
3469
+
3470
+ @builtins.property
3471
+ def excludes(self) -> typing.Optional[typing.List[builtins.str]]:
3472
+ '''The list of patterns of Git branches that, when a commit is pushed, are to be excluded from starting the pipeline.
3473
+
3474
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitbranchfiltercriteria.html#cfn-codepipeline-pipeline-gitbranchfiltercriteria-excludes
3475
+ '''
3476
+ result = self._values.get("excludes")
3477
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3478
+
3479
+ @builtins.property
3480
+ def includes(self) -> typing.Optional[typing.List[builtins.str]]:
3481
+ '''The list of patterns of Git branches that, when a commit is pushed, are to be included as criteria that starts the pipeline.
3482
+
3483
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitbranchfiltercriteria.html#cfn-codepipeline-pipeline-gitbranchfiltercriteria-includes
3484
+ '''
3485
+ result = self._values.get("includes")
3486
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3487
+
3488
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3489
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3490
+
3491
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3492
+ return not (rhs == self)
3493
+
3494
+ def __repr__(self) -> str:
3495
+ return "GitBranchFilterCriteriaProperty(%s)" % ", ".join(
3496
+ k + "=" + repr(v) for k, v in self._values.items()
3497
+ )
3498
+
3222
3499
  @jsii.data_type(
3223
3500
  jsii_type="aws-cdk-lib.aws_codepipeline.CfnPipeline.GitConfigurationProperty",
3224
3501
  jsii_struct_bases=[],
3225
- name_mapping={"source_action_name": "sourceActionName", "push": "push"},
3502
+ name_mapping={
3503
+ "source_action_name": "sourceActionName",
3504
+ "pull_request": "pullRequest",
3505
+ "push": "push",
3506
+ },
3226
3507
  )
3227
3508
  class GitConfigurationProperty:
3228
3509
  def __init__(
3229
3510
  self,
3230
3511
  *,
3231
3512
  source_action_name: builtins.str,
3513
+ pull_request: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.GitPullRequestFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3232
3514
  push: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.GitPushFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3233
3515
  ) -> None:
3234
3516
  '''A type of trigger configuration for Git-based source actions.
@@ -3238,7 +3520,8 @@ class CfnPipeline(
3238
3520
  You can specify the Git configuration trigger type for all third-party Git-based source actions that are supported by the ``CodeStarSourceConnection`` action type.
3239
3521
 
3240
3522
  :param source_action_name: The name of the pipeline source action where the trigger configuration, such as Git tags, is specified. The trigger configuration will start the pipeline upon the specified change only. .. epigraph:: You can only specify one trigger configuration per source action.
3241
- :param push: The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. .. epigraph:: Git tags is the only supported event type.
3523
+ :param pull_request: The field where the repository event that will start the pipeline is specified as pull requests.
3524
+ :param push: The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details.
3242
3525
 
3243
3526
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitconfiguration.html
3244
3527
  :exampleMetadata: fixture=_generated
@@ -3253,7 +3536,26 @@ class CfnPipeline(
3253
3536
  source_action_name="sourceActionName",
3254
3537
 
3255
3538
  # the properties below are optional
3539
+ pull_request=[codepipeline.CfnPipeline.GitPullRequestFilterProperty(
3540
+ branches=codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
3541
+ excludes=["excludes"],
3542
+ includes=["includes"]
3543
+ ),
3544
+ events=["events"],
3545
+ file_paths=codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
3546
+ excludes=["excludes"],
3547
+ includes=["includes"]
3548
+ )
3549
+ )],
3256
3550
  push=[codepipeline.CfnPipeline.GitPushFilterProperty(
3551
+ branches=codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
3552
+ excludes=["excludes"],
3553
+ includes=["includes"]
3554
+ ),
3555
+ file_paths=codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
3556
+ excludes=["excludes"],
3557
+ includes=["includes"]
3558
+ ),
3257
3559
  tags=codepipeline.CfnPipeline.GitTagFilterCriteriaProperty(
3258
3560
  excludes=["excludes"],
3259
3561
  includes=["includes"]
@@ -3264,10 +3566,13 @@ class CfnPipeline(
3264
3566
  if __debug__:
3265
3567
  type_hints = typing.get_type_hints(_typecheckingstub__76ac16c602eb78041b136170e0877a83865ceb0c0c451b7e61c00366edce50a8)
3266
3568
  check_type(argname="argument source_action_name", value=source_action_name, expected_type=type_hints["source_action_name"])
3569
+ check_type(argname="argument pull_request", value=pull_request, expected_type=type_hints["pull_request"])
3267
3570
  check_type(argname="argument push", value=push, expected_type=type_hints["push"])
3268
3571
  self._values: typing.Dict[builtins.str, typing.Any] = {
3269
3572
  "source_action_name": source_action_name,
3270
3573
  }
3574
+ if pull_request is not None:
3575
+ self._values["pull_request"] = pull_request
3271
3576
  if push is not None:
3272
3577
  self._values["push"] = push
3273
3578
 
@@ -3286,16 +3591,23 @@ class CfnPipeline(
3286
3591
  assert result is not None, "Required property 'source_action_name' is missing"
3287
3592
  return typing.cast(builtins.str, result)
3288
3593
 
3594
+ @builtins.property
3595
+ def pull_request(
3596
+ self,
3597
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitPullRequestFilterProperty"]]]]:
3598
+ '''The field where the repository event that will start the pipeline is specified as pull requests.
3599
+
3600
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitconfiguration.html#cfn-codepipeline-pipeline-gitconfiguration-pullrequest
3601
+ '''
3602
+ result = self._values.get("pull_request")
3603
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitPullRequestFilterProperty"]]]], result)
3604
+
3289
3605
  @builtins.property
3290
3606
  def push(
3291
3607
  self,
3292
3608
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitPushFilterProperty"]]]]:
3293
3609
  '''The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details.
3294
3610
 
3295
- .. epigraph::
3296
-
3297
- Git tags is the only supported event type.
3298
-
3299
3611
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitconfiguration.html#cfn-codepipeline-pipeline-gitconfiguration-push
3300
3612
  '''
3301
3613
  result = self._values.get("push")
@@ -3313,21 +3625,23 @@ class CfnPipeline(
3313
3625
  )
3314
3626
 
3315
3627
  @jsii.data_type(
3316
- jsii_type="aws-cdk-lib.aws_codepipeline.CfnPipeline.GitPushFilterProperty",
3628
+ jsii_type="aws-cdk-lib.aws_codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty",
3317
3629
  jsii_struct_bases=[],
3318
- name_mapping={"tags": "tags"},
3630
+ name_mapping={"excludes": "excludes", "includes": "includes"},
3319
3631
  )
3320
- class GitPushFilterProperty:
3632
+ class GitFilePathFilterCriteriaProperty:
3321
3633
  def __init__(
3322
3634
  self,
3323
3635
  *,
3324
- tags: typing.Optional[typing.Union["CfnPipeline.GitTagFilterCriteriaProperty", typing.Dict[builtins.str, typing.Any]]] = None,
3636
+ excludes: typing.Optional[typing.Sequence[builtins.str]] = None,
3637
+ includes: typing.Optional[typing.Sequence[builtins.str]] = None,
3325
3638
  ) -> None:
3326
- '''The event criteria that specify when a specified repository event will start the pipeline for the specified trigger configuration, such as the lists of Git tags to include and exclude.
3639
+ '''The Git repository file paths specified as filter criteria to start the pipeline.
3327
3640
 
3328
- :param tags: The field that contains the details for the Git tags trigger configuration.
3641
+ :param excludes: The list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.
3642
+ :param includes: The list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.
3329
3643
 
3330
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpushfilter.html
3644
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitfilepathfiltercriteria.html
3331
3645
  :exampleMetadata: fixture=_generated
3332
3646
 
3333
3647
  Example::
@@ -3336,30 +3650,38 @@ class CfnPipeline(
3336
3650
  # The values are placeholders you should change.
3337
3651
  from aws_cdk import aws_codepipeline as codepipeline
3338
3652
 
3339
- git_push_filter_property = codepipeline.CfnPipeline.GitPushFilterProperty(
3340
- tags=codepipeline.CfnPipeline.GitTagFilterCriteriaProperty(
3341
- excludes=["excludes"],
3342
- includes=["includes"]
3343
- )
3653
+ git_file_path_filter_criteria_property = codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
3654
+ excludes=["excludes"],
3655
+ includes=["includes"]
3344
3656
  )
3345
3657
  '''
3346
- if isinstance(tags, dict):
3347
- tags = CfnPipeline.GitTagFilterCriteriaProperty(**tags)
3348
3658
  if __debug__:
3349
- type_hints = typing.get_type_hints(_typecheckingstub__aace18192e6436301eeae21b4cd59bd8cb01b53eb17f6fcb74599b2f74f9ebd0)
3350
- check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3659
+ type_hints = typing.get_type_hints(_typecheckingstub__6e825f3cafba918e1c84a158f90d3bcbd543fab5a2e3990e2677d0de4ad794df)
3660
+ check_type(argname="argument excludes", value=excludes, expected_type=type_hints["excludes"])
3661
+ check_type(argname="argument includes", value=includes, expected_type=type_hints["includes"])
3351
3662
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3352
- if tags is not None:
3353
- self._values["tags"] = tags
3663
+ if excludes is not None:
3664
+ self._values["excludes"] = excludes
3665
+ if includes is not None:
3666
+ self._values["includes"] = includes
3354
3667
 
3355
3668
  @builtins.property
3356
- def tags(self) -> typing.Optional["CfnPipeline.GitTagFilterCriteriaProperty"]:
3357
- '''The field that contains the details for the Git tags trigger configuration.
3669
+ def excludes(self) -> typing.Optional[typing.List[builtins.str]]:
3670
+ '''The list of patterns of Git repository file paths that, when a commit is pushed, are to be excluded from starting the pipeline.
3358
3671
 
3359
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpushfilter.html#cfn-codepipeline-pipeline-gitpushfilter-tags
3672
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitfilepathfiltercriteria.html#cfn-codepipeline-pipeline-gitfilepathfiltercriteria-excludes
3360
3673
  '''
3361
- result = self._values.get("tags")
3362
- return typing.cast(typing.Optional["CfnPipeline.GitTagFilterCriteriaProperty"], result)
3674
+ result = self._values.get("excludes")
3675
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3676
+
3677
+ @builtins.property
3678
+ def includes(self) -> typing.Optional[typing.List[builtins.str]]:
3679
+ '''The list of patterns of Git repository file paths that, when a commit is pushed, are to be included as criteria that starts the pipeline.
3680
+
3681
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitfilepathfiltercriteria.html#cfn-codepipeline-pipeline-gitfilepathfiltercriteria-includes
3682
+ '''
3683
+ result = self._values.get("includes")
3684
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3363
3685
 
3364
3686
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3365
3687
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3368,28 +3690,34 @@ class CfnPipeline(
3368
3690
  return not (rhs == self)
3369
3691
 
3370
3692
  def __repr__(self) -> str:
3371
- return "GitPushFilterProperty(%s)" % ", ".join(
3693
+ return "GitFilePathFilterCriteriaProperty(%s)" % ", ".join(
3372
3694
  k + "=" + repr(v) for k, v in self._values.items()
3373
3695
  )
3374
3696
 
3375
3697
  @jsii.data_type(
3376
- jsii_type="aws-cdk-lib.aws_codepipeline.CfnPipeline.GitTagFilterCriteriaProperty",
3698
+ jsii_type="aws-cdk-lib.aws_codepipeline.CfnPipeline.GitPullRequestFilterProperty",
3377
3699
  jsii_struct_bases=[],
3378
- name_mapping={"excludes": "excludes", "includes": "includes"},
3700
+ name_mapping={
3701
+ "branches": "branches",
3702
+ "events": "events",
3703
+ "file_paths": "filePaths",
3704
+ },
3379
3705
  )
3380
- class GitTagFilterCriteriaProperty:
3706
+ class GitPullRequestFilterProperty:
3381
3707
  def __init__(
3382
3708
  self,
3383
3709
  *,
3384
- excludes: typing.Optional[typing.Sequence[builtins.str]] = None,
3385
- includes: typing.Optional[typing.Sequence[builtins.str]] = None,
3710
+ branches: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.GitBranchFilterCriteriaProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3711
+ events: typing.Optional[typing.Sequence[builtins.str]] = None,
3712
+ file_paths: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.GitFilePathFilterCriteriaProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3386
3713
  ) -> None:
3387
- '''The Git tags specified as filter criteria for whether a Git tag repository event will start the pipeline.
3714
+ '''The event criteria for the pull request trigger configuration, such as the lists of branches or file paths to include and exclude.
3388
3715
 
3389
- :param excludes: The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.
3390
- :param includes: The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.
3716
+ :param branches: The field that specifies to filter on branches for the pull request trigger configuration.
3717
+ :param events: The field that specifies which pull request events to filter on (opened, updated, closed) for the trigger configuration.
3718
+ :param file_paths: The field that specifies to filter on file paths for the pull request trigger configuration.
3391
3719
 
3392
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gittagfiltercriteria.html
3720
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpullrequestfilter.html
3393
3721
  :exampleMetadata: fixture=_generated
3394
3722
 
3395
3723
  Example::
@@ -3398,41 +3726,238 @@ class CfnPipeline(
3398
3726
  # The values are placeholders you should change.
3399
3727
  from aws_cdk import aws_codepipeline as codepipeline
3400
3728
 
3401
- git_tag_filter_criteria_property = codepipeline.CfnPipeline.GitTagFilterCriteriaProperty(
3402
- excludes=["excludes"],
3403
- includes=["includes"]
3729
+ git_pull_request_filter_property = codepipeline.CfnPipeline.GitPullRequestFilterProperty(
3730
+ branches=codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
3731
+ excludes=["excludes"],
3732
+ includes=["includes"]
3733
+ ),
3734
+ events=["events"],
3735
+ file_paths=codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
3736
+ excludes=["excludes"],
3737
+ includes=["includes"]
3738
+ )
3404
3739
  )
3405
3740
  '''
3406
3741
  if __debug__:
3407
- type_hints = typing.get_type_hints(_typecheckingstub__0011c01a814174b9712d97ce1aa7e9a05579a8de4bb3a1cdb0910216a0f71485)
3408
- check_type(argname="argument excludes", value=excludes, expected_type=type_hints["excludes"])
3409
- check_type(argname="argument includes", value=includes, expected_type=type_hints["includes"])
3742
+ type_hints = typing.get_type_hints(_typecheckingstub__bd17e19e4fde95da653023de121d5f908ce71830fcd4cd84611c860dd5585932)
3743
+ check_type(argname="argument branches", value=branches, expected_type=type_hints["branches"])
3744
+ check_type(argname="argument events", value=events, expected_type=type_hints["events"])
3745
+ check_type(argname="argument file_paths", value=file_paths, expected_type=type_hints["file_paths"])
3410
3746
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3411
- if excludes is not None:
3412
- self._values["excludes"] = excludes
3413
- if includes is not None:
3414
- self._values["includes"] = includes
3747
+ if branches is not None:
3748
+ self._values["branches"] = branches
3749
+ if events is not None:
3750
+ self._values["events"] = events
3751
+ if file_paths is not None:
3752
+ self._values["file_paths"] = file_paths
3415
3753
 
3416
3754
  @builtins.property
3417
- def excludes(self) -> typing.Optional[typing.List[builtins.str]]:
3418
- '''The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.
3755
+ def branches(
3756
+ self,
3757
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitBranchFilterCriteriaProperty"]]:
3758
+ '''The field that specifies to filter on branches for the pull request trigger configuration.
3419
3759
 
3420
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gittagfiltercriteria.html#cfn-codepipeline-pipeline-gittagfiltercriteria-excludes
3760
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpullrequestfilter.html#cfn-codepipeline-pipeline-gitpullrequestfilter-branches
3421
3761
  '''
3422
- result = self._values.get("excludes")
3423
- return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3762
+ result = self._values.get("branches")
3763
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitBranchFilterCriteriaProperty"]], result)
3424
3764
 
3425
3765
  @builtins.property
3426
- def includes(self) -> typing.Optional[typing.List[builtins.str]]:
3427
- '''The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.
3766
+ def events(self) -> typing.Optional[typing.List[builtins.str]]:
3767
+ '''The field that specifies which pull request events to filter on (opened, updated, closed) for the trigger configuration.
3428
3768
 
3429
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gittagfiltercriteria.html#cfn-codepipeline-pipeline-gittagfiltercriteria-includes
3769
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpullrequestfilter.html#cfn-codepipeline-pipeline-gitpullrequestfilter-events
3430
3770
  '''
3431
- result = self._values.get("includes")
3771
+ result = self._values.get("events")
3432
3772
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3433
3773
 
3434
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
3435
- return isinstance(rhs, self.__class__) and rhs._values == self._values
3774
+ @builtins.property
3775
+ def file_paths(
3776
+ self,
3777
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitFilePathFilterCriteriaProperty"]]:
3778
+ '''The field that specifies to filter on file paths for the pull request trigger configuration.
3779
+
3780
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpullrequestfilter.html#cfn-codepipeline-pipeline-gitpullrequestfilter-filepaths
3781
+ '''
3782
+ result = self._values.get("file_paths")
3783
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitFilePathFilterCriteriaProperty"]], result)
3784
+
3785
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3786
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3787
+
3788
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3789
+ return not (rhs == self)
3790
+
3791
+ def __repr__(self) -> str:
3792
+ return "GitPullRequestFilterProperty(%s)" % ", ".join(
3793
+ k + "=" + repr(v) for k, v in self._values.items()
3794
+ )
3795
+
3796
+ @jsii.data_type(
3797
+ jsii_type="aws-cdk-lib.aws_codepipeline.CfnPipeline.GitPushFilterProperty",
3798
+ jsii_struct_bases=[],
3799
+ name_mapping={
3800
+ "branches": "branches",
3801
+ "file_paths": "filePaths",
3802
+ "tags": "tags",
3803
+ },
3804
+ )
3805
+ class GitPushFilterProperty:
3806
+ def __init__(
3807
+ self,
3808
+ *,
3809
+ branches: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.GitBranchFilterCriteriaProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3810
+ file_paths: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPipeline.GitFilePathFilterCriteriaProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3811
+ tags: typing.Optional[typing.Union["CfnPipeline.GitTagFilterCriteriaProperty", typing.Dict[builtins.str, typing.Any]]] = None,
3812
+ ) -> None:
3813
+ '''The event criteria that specify when a specified repository event will start the pipeline for the specified trigger configuration, such as the lists of Git tags to include and exclude.
3814
+
3815
+ :param branches: The field that specifies to filter on branches for the push trigger configuration.
3816
+ :param file_paths: The field that specifies to filter on file paths for the push trigger configuration.
3817
+ :param tags: The field that contains the details for the Git tags trigger configuration.
3818
+
3819
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpushfilter.html
3820
+ :exampleMetadata: fixture=_generated
3821
+
3822
+ Example::
3823
+
3824
+ # The code below shows an example of how to instantiate this type.
3825
+ # The values are placeholders you should change.
3826
+ from aws_cdk import aws_codepipeline as codepipeline
3827
+
3828
+ git_push_filter_property = codepipeline.CfnPipeline.GitPushFilterProperty(
3829
+ branches=codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
3830
+ excludes=["excludes"],
3831
+ includes=["includes"]
3832
+ ),
3833
+ file_paths=codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
3834
+ excludes=["excludes"],
3835
+ includes=["includes"]
3836
+ ),
3837
+ tags=codepipeline.CfnPipeline.GitTagFilterCriteriaProperty(
3838
+ excludes=["excludes"],
3839
+ includes=["includes"]
3840
+ )
3841
+ )
3842
+ '''
3843
+ if isinstance(tags, dict):
3844
+ tags = CfnPipeline.GitTagFilterCriteriaProperty(**tags)
3845
+ if __debug__:
3846
+ type_hints = typing.get_type_hints(_typecheckingstub__aace18192e6436301eeae21b4cd59bd8cb01b53eb17f6fcb74599b2f74f9ebd0)
3847
+ check_type(argname="argument branches", value=branches, expected_type=type_hints["branches"])
3848
+ check_type(argname="argument file_paths", value=file_paths, expected_type=type_hints["file_paths"])
3849
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3850
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3851
+ if branches is not None:
3852
+ self._values["branches"] = branches
3853
+ if file_paths is not None:
3854
+ self._values["file_paths"] = file_paths
3855
+ if tags is not None:
3856
+ self._values["tags"] = tags
3857
+
3858
+ @builtins.property
3859
+ def branches(
3860
+ self,
3861
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitBranchFilterCriteriaProperty"]]:
3862
+ '''The field that specifies to filter on branches for the push trigger configuration.
3863
+
3864
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpushfilter.html#cfn-codepipeline-pipeline-gitpushfilter-branches
3865
+ '''
3866
+ result = self._values.get("branches")
3867
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitBranchFilterCriteriaProperty"]], result)
3868
+
3869
+ @builtins.property
3870
+ def file_paths(
3871
+ self,
3872
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitFilePathFilterCriteriaProperty"]]:
3873
+ '''The field that specifies to filter on file paths for the push trigger configuration.
3874
+
3875
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpushfilter.html#cfn-codepipeline-pipeline-gitpushfilter-filepaths
3876
+ '''
3877
+ result = self._values.get("file_paths")
3878
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnPipeline.GitFilePathFilterCriteriaProperty"]], result)
3879
+
3880
+ @builtins.property
3881
+ def tags(self) -> typing.Optional["CfnPipeline.GitTagFilterCriteriaProperty"]:
3882
+ '''The field that contains the details for the Git tags trigger configuration.
3883
+
3884
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpushfilter.html#cfn-codepipeline-pipeline-gitpushfilter-tags
3885
+ '''
3886
+ result = self._values.get("tags")
3887
+ return typing.cast(typing.Optional["CfnPipeline.GitTagFilterCriteriaProperty"], result)
3888
+
3889
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3890
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3891
+
3892
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3893
+ return not (rhs == self)
3894
+
3895
+ def __repr__(self) -> str:
3896
+ return "GitPushFilterProperty(%s)" % ", ".join(
3897
+ k + "=" + repr(v) for k, v in self._values.items()
3898
+ )
3899
+
3900
+ @jsii.data_type(
3901
+ jsii_type="aws-cdk-lib.aws_codepipeline.CfnPipeline.GitTagFilterCriteriaProperty",
3902
+ jsii_struct_bases=[],
3903
+ name_mapping={"excludes": "excludes", "includes": "includes"},
3904
+ )
3905
+ class GitTagFilterCriteriaProperty:
3906
+ def __init__(
3907
+ self,
3908
+ *,
3909
+ excludes: typing.Optional[typing.Sequence[builtins.str]] = None,
3910
+ includes: typing.Optional[typing.Sequence[builtins.str]] = None,
3911
+ ) -> None:
3912
+ '''The Git tags specified as filter criteria for whether a Git tag repository event will start the pipeline.
3913
+
3914
+ :param excludes: The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.
3915
+ :param includes: The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.
3916
+
3917
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gittagfiltercriteria.html
3918
+ :exampleMetadata: fixture=_generated
3919
+
3920
+ Example::
3921
+
3922
+ # The code below shows an example of how to instantiate this type.
3923
+ # The values are placeholders you should change.
3924
+ from aws_cdk import aws_codepipeline as codepipeline
3925
+
3926
+ git_tag_filter_criteria_property = codepipeline.CfnPipeline.GitTagFilterCriteriaProperty(
3927
+ excludes=["excludes"],
3928
+ includes=["includes"]
3929
+ )
3930
+ '''
3931
+ if __debug__:
3932
+ type_hints = typing.get_type_hints(_typecheckingstub__0011c01a814174b9712d97ce1aa7e9a05579a8de4bb3a1cdb0910216a0f71485)
3933
+ check_type(argname="argument excludes", value=excludes, expected_type=type_hints["excludes"])
3934
+ check_type(argname="argument includes", value=includes, expected_type=type_hints["includes"])
3935
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3936
+ if excludes is not None:
3937
+ self._values["excludes"] = excludes
3938
+ if includes is not None:
3939
+ self._values["includes"] = includes
3940
+
3941
+ @builtins.property
3942
+ def excludes(self) -> typing.Optional[typing.List[builtins.str]]:
3943
+ '''The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.
3944
+
3945
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gittagfiltercriteria.html#cfn-codepipeline-pipeline-gittagfiltercriteria-excludes
3946
+ '''
3947
+ result = self._values.get("excludes")
3948
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3949
+
3950
+ @builtins.property
3951
+ def includes(self) -> typing.Optional[typing.List[builtins.str]]:
3952
+ '''The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.
3953
+
3954
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gittagfiltercriteria.html#cfn-codepipeline-pipeline-gittagfiltercriteria-includes
3955
+ '''
3956
+ result = self._values.get("includes")
3957
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
3958
+
3959
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3960
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3436
3961
 
3437
3962
  def __ne__(self, rhs: typing.Any) -> builtins.bool:
3438
3963
  return not (rhs == self)
@@ -3595,7 +4120,26 @@ class CfnPipeline(
3595
4120
  source_action_name="sourceActionName",
3596
4121
 
3597
4122
  # the properties below are optional
4123
+ pull_request=[codepipeline.CfnPipeline.GitPullRequestFilterProperty(
4124
+ branches=codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
4125
+ excludes=["excludes"],
4126
+ includes=["includes"]
4127
+ ),
4128
+ events=["events"],
4129
+ file_paths=codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
4130
+ excludes=["excludes"],
4131
+ includes=["includes"]
4132
+ )
4133
+ )],
3598
4134
  push=[codepipeline.CfnPipeline.GitPushFilterProperty(
4135
+ branches=codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
4136
+ excludes=["excludes"],
4137
+ includes=["includes"]
4138
+ ),
4139
+ file_paths=codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
4140
+ excludes=["excludes"],
4141
+ includes=["includes"]
4142
+ ),
3599
4143
  tags=codepipeline.CfnPipeline.GitTagFilterCriteriaProperty(
3600
4144
  excludes=["excludes"],
3601
4145
  includes=["includes"]
@@ -3936,6 +4480,7 @@ class CfnPipeline(
3936
4480
  "artifact_store": "artifactStore",
3937
4481
  "artifact_stores": "artifactStores",
3938
4482
  "disable_inbound_stage_transitions": "disableInboundStageTransitions",
4483
+ "execution_mode": "executionMode",
3939
4484
  "name": "name",
3940
4485
  "pipeline_type": "pipelineType",
3941
4486
  "restart_execution_on_update": "restartExecutionOnUpdate",
@@ -3953,6 +4498,7 @@ class CfnPipelineProps:
3953
4498
  artifact_store: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ArtifactStoreProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3954
4499
  artifact_stores: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ArtifactStoreMapProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3955
4500
  disable_inbound_stage_transitions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.StageTransitionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4501
+ execution_mode: typing.Optional[builtins.str] = None,
3956
4502
  name: typing.Optional[builtins.str] = None,
3957
4503
  pipeline_type: typing.Optional[builtins.str] = None,
3958
4504
  restart_execution_on_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -3967,8 +4513,9 @@ class CfnPipelineProps:
3967
4513
  :param artifact_store: The S3 bucket where artifacts for the pipeline are stored. .. epigraph:: You must include either ``artifactStore`` or ``artifactStores`` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use ``artifactStores`` .
3968
4514
  :param artifact_stores: A mapping of ``artifactStore`` objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline. .. epigraph:: You must include either ``artifactStore`` or ``artifactStores`` in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use ``artifactStores`` .
3969
4515
  :param disable_inbound_stage_transitions: Represents the input of a ``DisableStageTransition`` action.
4516
+ :param execution_mode: The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.
3970
4517
  :param name: The name of the pipeline.
3971
- :param pipeline_type: CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications. - V1 type pipelines have a JSON structure that contains standard pipeline, stage, and action-level parameters. - V2 type pipelines have the same structure as a V1 type, along with additional parameters for release safety and trigger configuration. .. epigraph:: Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs. For information about pricing for CodePipeline, see `Pricing <https://docs.aws.amazon.com/https://aws.amazon.com/codepipeline/pricing/>`_ . For information about which type of pipeline to choose, see `What type of pipeline is right for me? <https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html>`_ .
4518
+ :param pipeline_type: CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications. - V1 type pipelines have a JSON structure that contains standard pipeline, stage, and action-level parameters. - V2 type pipelines have the same structure as a V1 type, along with additional parameters for release safety and trigger configuration. .. epigraph:: Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs. For information about pricing for CodePipeline, see `Pricing <https://docs.aws.amazon.com/codepipeline/pricing/>`_ . For information about which type of pipeline to choose, see `What type of pipeline is right for me? <https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html>`_ .
3972
4519
  :param restart_execution_on_update: Indicates whether to rerun the CodePipeline pipeline after you update it.
3973
4520
  :param tags: Specifies the tags applied to the pipeline.
3974
4521
  :param triggers: The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline. .. epigraph:: When a trigger configuration is specified, default change detection for repository and branch commits is disabled.
@@ -4047,6 +4594,7 @@ class CfnPipelineProps:
4047
4594
  reason="reason",
4048
4595
  stage_name="stageName"
4049
4596
  )],
4597
+ execution_mode="executionMode",
4050
4598
  name="name",
4051
4599
  pipeline_type="pipelineType",
4052
4600
  restart_execution_on_update=False,
@@ -4062,7 +4610,26 @@ class CfnPipelineProps:
4062
4610
  source_action_name="sourceActionName",
4063
4611
 
4064
4612
  # the properties below are optional
4613
+ pull_request=[codepipeline.CfnPipeline.GitPullRequestFilterProperty(
4614
+ branches=codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
4615
+ excludes=["excludes"],
4616
+ includes=["includes"]
4617
+ ),
4618
+ events=["events"],
4619
+ file_paths=codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
4620
+ excludes=["excludes"],
4621
+ includes=["includes"]
4622
+ )
4623
+ )],
4065
4624
  push=[codepipeline.CfnPipeline.GitPushFilterProperty(
4625
+ branches=codepipeline.CfnPipeline.GitBranchFilterCriteriaProperty(
4626
+ excludes=["excludes"],
4627
+ includes=["includes"]
4628
+ ),
4629
+ file_paths=codepipeline.CfnPipeline.GitFilePathFilterCriteriaProperty(
4630
+ excludes=["excludes"],
4631
+ includes=["includes"]
4632
+ ),
4066
4633
  tags=codepipeline.CfnPipeline.GitTagFilterCriteriaProperty(
4067
4634
  excludes=["excludes"],
4068
4635
  includes=["includes"]
@@ -4086,6 +4653,7 @@ class CfnPipelineProps:
4086
4653
  check_type(argname="argument artifact_store", value=artifact_store, expected_type=type_hints["artifact_store"])
4087
4654
  check_type(argname="argument artifact_stores", value=artifact_stores, expected_type=type_hints["artifact_stores"])
4088
4655
  check_type(argname="argument disable_inbound_stage_transitions", value=disable_inbound_stage_transitions, expected_type=type_hints["disable_inbound_stage_transitions"])
4656
+ check_type(argname="argument execution_mode", value=execution_mode, expected_type=type_hints["execution_mode"])
4089
4657
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
4090
4658
  check_type(argname="argument pipeline_type", value=pipeline_type, expected_type=type_hints["pipeline_type"])
4091
4659
  check_type(argname="argument restart_execution_on_update", value=restart_execution_on_update, expected_type=type_hints["restart_execution_on_update"])
@@ -4102,6 +4670,8 @@ class CfnPipelineProps:
4102
4670
  self._values["artifact_stores"] = artifact_stores
4103
4671
  if disable_inbound_stage_transitions is not None:
4104
4672
  self._values["disable_inbound_stage_transitions"] = disable_inbound_stage_transitions
4673
+ if execution_mode is not None:
4674
+ self._values["execution_mode"] = execution_mode
4105
4675
  if name is not None:
4106
4676
  self._values["name"] = name
4107
4677
  if pipeline_type is not None:
@@ -4179,6 +4749,17 @@ class CfnPipelineProps:
4179
4749
  result = self._values.get("disable_inbound_stage_transitions")
4180
4750
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnPipeline.StageTransitionProperty]]]], result)
4181
4751
 
4752
+ @builtins.property
4753
+ def execution_mode(self) -> typing.Optional[builtins.str]:
4754
+ '''The method that the pipeline will use to handle multiple executions.
4755
+
4756
+ The default mode is SUPERSEDED.
4757
+
4758
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-executionmode
4759
+ '''
4760
+ result = self._values.get("execution_mode")
4761
+ return typing.cast(typing.Optional[builtins.str], result)
4762
+
4182
4763
  @builtins.property
4183
4764
  def name(self) -> typing.Optional[builtins.str]:
4184
4765
  '''The name of the pipeline.
@@ -4199,7 +4780,7 @@ class CfnPipelineProps:
4199
4780
 
4200
4781
  Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs.
4201
4782
 
4202
- For information about pricing for CodePipeline, see `Pricing <https://docs.aws.amazon.com/https://aws.amazon.com/codepipeline/pricing/>`_ .
4783
+ For information about pricing for CodePipeline, see `Pricing <https://docs.aws.amazon.com/codepipeline/pricing/>`_ .
4203
4784
 
4204
4785
  For information about which type of pipeline to choose, see `What type of pipeline is right for me? <https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html>`_ .
4205
4786
 
@@ -5596,65 +6177,241 @@ class CustomActionRegistrationProps:
5596
6177
  )
5597
6178
 
5598
6179
 
5599
- class GlobalVariables(
5600
- metaclass=jsii.JSIIMeta,
5601
- jsii_type="aws-cdk-lib.aws_codepipeline.GlobalVariables",
5602
- ):
5603
- '''The CodePipeline variables that are global, not bound to a specific action.
6180
+ @jsii.data_type(
6181
+ jsii_type="aws-cdk-lib.aws_codepipeline.GitConfiguration",
6182
+ jsii_struct_bases=[],
6183
+ name_mapping={"source_action": "sourceAction", "push_filter": "pushFilter"},
6184
+ )
6185
+ class GitConfiguration:
6186
+ def __init__(
6187
+ self,
6188
+ *,
6189
+ source_action: "IAction",
6190
+ push_filter: typing.Optional[typing.Sequence[typing.Union["GitPushFilter", typing.Dict[builtins.str, typing.Any]]]] = None,
6191
+ ) -> None:
6192
+ '''Git configuration for trigger.
5604
6193
 
5605
- This class defines a bunch of static fields that represent the different variables.
5606
- These can be used can be used in any action configuration.
6194
+ :param source_action: The pipeline source action where the trigger configuration, such as Git tags. The trigger configuration will start the pipeline upon the specified change only. You can only specify one trigger configuration per source action. Since the provider for ``sourceAction`` must be ``CodeStarSourceConnection``, you can use ``CodeStarConnectionsSourceAction`` construct in ``aws-codepipeline-actions`` module.
6195
+ :param push_filter: The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details. Git tags is the only supported event type. The length must be less than or equal to 3. Default: - no filter.
5607
6196
 
5608
- :exampleMetadata: fixture=action infused
6197
+ :exampleMetadata: infused
5609
6198
 
5610
- Example::
6199
+ Example::
5611
6200
 
5612
- # OtherAction is some action type that produces variables, like EcrSourceAction
5613
- OtherAction(
5614
- # ...
5615
- config=codepipeline.GlobalVariables.execution_id,
5616
- action_name="otherAction"
5617
- )
5618
- '''
6201
+ # source_action: codepipeline_actions.CodeStarConnectionsSourceAction
6202
+ # build_action: codepipeline_actions.CodeBuildAction
6203
+
6204
+
6205
+ codepipeline.Pipeline(self, "Pipeline",
6206
+ pipeline_type=codepipeline.PipelineType.V2,
6207
+ stages=[codepipeline.StageProps(
6208
+ stage_name="Source",
6209
+ actions=[source_action]
6210
+ ), codepipeline.StageProps(
6211
+ stage_name="Build",
6212
+ actions=[build_action]
6213
+ )
6214
+ ],
6215
+ triggers=[codepipeline.TriggerProps(
6216
+ provider_type=codepipeline.ProviderType.CODE_STAR_SOURCE_CONNECTION,
6217
+ git_configuration=codepipeline.GitConfiguration(
6218
+ source_action=source_action,
6219
+ push_filter=[codepipeline.GitPushFilter(
6220
+ tags_excludes=["exclude1", "exclude2"],
6221
+ tags_includes=["include*"]
6222
+ )]
6223
+ )
6224
+ )]
6225
+ )
6226
+ '''
6227
+ if __debug__:
6228
+ type_hints = typing.get_type_hints(_typecheckingstub__9bf0379bb3fa72f7dc00a45de6a383d19d18294c73d73dabcbdb7240e76832bf)
6229
+ check_type(argname="argument source_action", value=source_action, expected_type=type_hints["source_action"])
6230
+ check_type(argname="argument push_filter", value=push_filter, expected_type=type_hints["push_filter"])
6231
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6232
+ "source_action": source_action,
6233
+ }
6234
+ if push_filter is not None:
6235
+ self._values["push_filter"] = push_filter
5619
6236
 
5620
- def __init__(self) -> None:
5621
- jsii.create(self.__class__, self, [])
6237
+ @builtins.property
6238
+ def source_action(self) -> "IAction":
6239
+ '''The pipeline source action where the trigger configuration, such as Git tags.
5622
6240
 
5623
- @jsii.python.classproperty
5624
- @jsii.member(jsii_name="executionId")
5625
- def EXECUTION_ID(cls) -> builtins.str:
5626
- '''The identifier of the current pipeline execution.'''
5627
- return typing.cast(builtins.str, jsii.sget(cls, "executionId"))
6241
+ The trigger configuration will start the pipeline upon the specified change only.
6242
+ You can only specify one trigger configuration per source action.
5628
6243
 
6244
+ Since the provider for ``sourceAction`` must be ``CodeStarSourceConnection``, you can use
6245
+ ``CodeStarConnectionsSourceAction`` construct in ``aws-codepipeline-actions`` module.
6246
+ '''
6247
+ result = self._values.get("source_action")
6248
+ assert result is not None, "Required property 'source_action' is missing"
6249
+ return typing.cast("IAction", result)
5629
6250
 
5630
- @jsii.interface(jsii_type="aws-cdk-lib.aws_codepipeline.IAction")
5631
- class IAction(typing_extensions.Protocol):
5632
- '''A Pipeline Action.
6251
+ @builtins.property
6252
+ def push_filter(self) -> typing.Optional[typing.List["GitPushFilter"]]:
6253
+ '''The field where the repository event that will start the pipeline, such as pushing Git tags, is specified with details.
5633
6254
 
5634
- If you want to implement this interface,
5635
- consider extending the ``Action`` class,
5636
- which contains some common logic.
5637
- '''
6255
+ Git tags is the only supported event type.
5638
6256
 
5639
- @builtins.property
5640
- @jsii.member(jsii_name="actionProperties")
5641
- def action_properties(self) -> ActionProperties:
5642
- '''The simple properties of the Action, like its Owner, name, etc.
6257
+ The length must be less than or equal to 3.
5643
6258
 
5644
- Note that this accessor will be called before the ``bind`` callback.
6259
+ :default: - no filter.
5645
6260
  '''
5646
- ...
6261
+ result = self._values.get("push_filter")
6262
+ return typing.cast(typing.Optional[typing.List["GitPushFilter"]], result)
5647
6263
 
5648
- @jsii.member(jsii_name="bind")
5649
- def bind(
5650
- self,
5651
- scope: _constructs_77d1e7e8.Construct,
5652
- stage: "IStage",
5653
- *,
5654
- bucket: _IBucket_42e086fd,
5655
- role: _IRole_235f5d8e,
5656
- ) -> ActionConfig:
5657
- '''The callback invoked when this Action is added to a Pipeline.
6264
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6265
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6266
+
6267
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6268
+ return not (rhs == self)
6269
+
6270
+ def __repr__(self) -> str:
6271
+ return "GitConfiguration(%s)" % ", ".join(
6272
+ k + "=" + repr(v) for k, v in self._values.items()
6273
+ )
6274
+
6275
+
6276
+ @jsii.data_type(
6277
+ jsii_type="aws-cdk-lib.aws_codepipeline.GitPushFilter",
6278
+ jsii_struct_bases=[],
6279
+ name_mapping={"tags_excludes": "tagsExcludes", "tags_includes": "tagsIncludes"},
6280
+ )
6281
+ class GitPushFilter:
6282
+ def __init__(
6283
+ self,
6284
+ *,
6285
+ tags_excludes: typing.Optional[typing.Sequence[builtins.str]] = None,
6286
+ tags_includes: typing.Optional[typing.Sequence[builtins.str]] = None,
6287
+ ) -> None:
6288
+ '''Git push filter for trigger.
6289
+
6290
+ :param tags_excludes: The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline. You can filter with glob patterns. The ``tagsExcludes`` takes priority over the ``tagsIncludes``. Maximum length of this array is 8. Default: - no tags.
6291
+ :param tags_includes: The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline. You can filter with glob patterns. The ``tagsExcludes`` takes priority over the ``tagsIncludes``. Maximum length of this array is 8. Default: - no tags.
6292
+
6293
+ :exampleMetadata: fixture=_generated
6294
+
6295
+ Example::
6296
+
6297
+ # The code below shows an example of how to instantiate this type.
6298
+ # The values are placeholders you should change.
6299
+ from aws_cdk import aws_codepipeline as codepipeline
6300
+
6301
+ git_push_filter = codepipeline.GitPushFilter(
6302
+ tags_excludes=["tagsExcludes"],
6303
+ tags_includes=["tagsIncludes"]
6304
+ )
6305
+ '''
6306
+ if __debug__:
6307
+ type_hints = typing.get_type_hints(_typecheckingstub__d2e5e6ae139c810aa752b8a8c7cd3040d883f9f3a67c8d3693f9ab842351804e)
6308
+ check_type(argname="argument tags_excludes", value=tags_excludes, expected_type=type_hints["tags_excludes"])
6309
+ check_type(argname="argument tags_includes", value=tags_includes, expected_type=type_hints["tags_includes"])
6310
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6311
+ if tags_excludes is not None:
6312
+ self._values["tags_excludes"] = tags_excludes
6313
+ if tags_includes is not None:
6314
+ self._values["tags_includes"] = tags_includes
6315
+
6316
+ @builtins.property
6317
+ def tags_excludes(self) -> typing.Optional[typing.List[builtins.str]]:
6318
+ '''The list of patterns of Git tags that, when pushed, are to be excluded from starting the pipeline.
6319
+
6320
+ You can filter with glob patterns. The ``tagsExcludes`` takes priority
6321
+ over the ``tagsIncludes``.
6322
+
6323
+ Maximum length of this array is 8.
6324
+
6325
+ :default: - no tags.
6326
+ '''
6327
+ result = self._values.get("tags_excludes")
6328
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6329
+
6330
+ @builtins.property
6331
+ def tags_includes(self) -> typing.Optional[typing.List[builtins.str]]:
6332
+ '''The list of patterns of Git tags that, when pushed, are to be included as criteria that starts the pipeline.
6333
+
6334
+ You can filter with glob patterns. The ``tagsExcludes`` takes priority
6335
+ over the ``tagsIncludes``.
6336
+
6337
+ Maximum length of this array is 8.
6338
+
6339
+ :default: - no tags.
6340
+ '''
6341
+ result = self._values.get("tags_includes")
6342
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6343
+
6344
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6345
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6346
+
6347
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6348
+ return not (rhs == self)
6349
+
6350
+ def __repr__(self) -> str:
6351
+ return "GitPushFilter(%s)" % ", ".join(
6352
+ k + "=" + repr(v) for k, v in self._values.items()
6353
+ )
6354
+
6355
+
6356
+ class GlobalVariables(
6357
+ metaclass=jsii.JSIIMeta,
6358
+ jsii_type="aws-cdk-lib.aws_codepipeline.GlobalVariables",
6359
+ ):
6360
+ '''The CodePipeline variables that are global, not bound to a specific action.
6361
+
6362
+ This class defines a bunch of static fields that represent the different variables.
6363
+ These can be used can be used in any action configuration.
6364
+
6365
+ :exampleMetadata: fixture=action infused
6366
+
6367
+ Example::
6368
+
6369
+ # OtherAction is some action type that produces variables, like EcrSourceAction
6370
+ OtherAction(
6371
+ # ...
6372
+ config=codepipeline.GlobalVariables.execution_id,
6373
+ action_name="otherAction"
6374
+ )
6375
+ '''
6376
+
6377
+ def __init__(self) -> None:
6378
+ jsii.create(self.__class__, self, [])
6379
+
6380
+ @jsii.python.classproperty
6381
+ @jsii.member(jsii_name="executionId")
6382
+ def EXECUTION_ID(cls) -> builtins.str:
6383
+ '''The identifier of the current pipeline execution.'''
6384
+ return typing.cast(builtins.str, jsii.sget(cls, "executionId"))
6385
+
6386
+
6387
+ @jsii.interface(jsii_type="aws-cdk-lib.aws_codepipeline.IAction")
6388
+ class IAction(typing_extensions.Protocol):
6389
+ '''A Pipeline Action.
6390
+
6391
+ If you want to implement this interface,
6392
+ consider extending the ``Action`` class,
6393
+ which contains some common logic.
6394
+ '''
6395
+
6396
+ @builtins.property
6397
+ @jsii.member(jsii_name="actionProperties")
6398
+ def action_properties(self) -> ActionProperties:
6399
+ '''The simple properties of the Action, like its Owner, name, etc.
6400
+
6401
+ Note that this accessor will be called before the ``bind`` callback.
6402
+ '''
6403
+ ...
6404
+
6405
+ @jsii.member(jsii_name="bind")
6406
+ def bind(
6407
+ self,
6408
+ scope: _constructs_77d1e7e8.Construct,
6409
+ stage: "IStage",
6410
+ *,
6411
+ bucket: _IBucket_42e086fd,
6412
+ role: _IRole_235f5d8e,
6413
+ ) -> ActionConfig:
6414
+ '''The callback invoked when this Action is added to a Pipeline.
5658
6415
 
5659
6416
  :param scope: the Construct tree scope the Action can use if it needs to create any resources.
5660
6417
  :param stage: the ``IStage`` this Action is being added to.
@@ -6421,10 +7178,13 @@ class Pipeline(
6421
7178
  cross_region_replication_buckets: typing.Optional[typing.Mapping[builtins.str, _IBucket_42e086fd]] = None,
6422
7179
  enable_key_rotation: typing.Optional[builtins.bool] = None,
6423
7180
  pipeline_name: typing.Optional[builtins.str] = None,
7181
+ pipeline_type: typing.Optional["PipelineType"] = None,
6424
7182
  restart_execution_on_update: typing.Optional[builtins.bool] = None,
6425
7183
  reuse_cross_region_support_stacks: typing.Optional[builtins.bool] = None,
6426
7184
  role: typing.Optional[_IRole_235f5d8e] = None,
6427
7185
  stages: typing.Optional[typing.Sequence[typing.Union["StageProps", typing.Dict[builtins.str, typing.Any]]]] = None,
7186
+ triggers: typing.Optional[typing.Sequence[typing.Union["TriggerProps", typing.Dict[builtins.str, typing.Any]]]] = None,
7187
+ variables: typing.Optional[typing.Sequence["Variable"]] = None,
6428
7188
  ) -> None:
6429
7189
  '''
6430
7190
  :param scope: -
@@ -6434,10 +7194,13 @@ class Pipeline(
6434
7194
  :param cross_region_replication_buckets: A map of region to S3 bucket name used for cross-region CodePipeline. For every Action that you specify targeting a different region than the Pipeline itself, if you don't provide an explicit Bucket for that region using this property, the construct will automatically create a Stack containing an S3 Bucket in that region. Default: - None.
6435
7195
  :param enable_key_rotation: Enable KMS key rotation for the generated KMS keys. By default KMS key rotation is disabled, but will add an additional $1/month for each year the key exists when enabled. Default: - false (key rotation is disabled)
6436
7196
  :param pipeline_name: Name of the pipeline. Default: - AWS CloudFormation generates an ID and uses that for the pipeline name.
7197
+ :param pipeline_type: Type of the pipeline. Default: - PipelineType.V1
6437
7198
  :param restart_execution_on_update: Indicates whether to rerun the AWS CodePipeline pipeline after you update it. Default: false
6438
7199
  :param reuse_cross_region_support_stacks: Reuse the same cross region support stack for all pipelines in the App. Default: - true (Use the same support stack for all pipelines in App)
6439
7200
  :param role: The IAM role to be assumed by this Pipeline. Default: a new IAM role will be created.
6440
7201
  :param stages: The list of Stages, in order, to create this Pipeline with. You can always add more Stages later by calling ``Pipeline#addStage``. Default: - None.
7202
+ :param triggers: The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline. When a trigger configuration is specified, default change detection for repository and branch commits is disabled. ``triggers`` can only be used when ``pipelineType`` is set to ``PipelineType.V2``. You can always add more triggers later by calling ``Pipeline#addTrigger``. Default: - No triggers
7203
+ :param variables: A list that defines the pipeline variables for a pipeline resource. ``variables`` can only be used when ``pipelineType`` is set to ``PipelineType.V2``. You can always add more variables later by calling ``Pipeline#addVariable``. Default: - No variables
6441
7204
  '''
6442
7205
  if __debug__:
6443
7206
  type_hints = typing.get_type_hints(_typecheckingstub__dccc82ea9bcac61a3fb8c34055734a04a1bee7f59ee6675fdade2d8b59a1477e)
@@ -6449,10 +7212,13 @@ class Pipeline(
6449
7212
  cross_region_replication_buckets=cross_region_replication_buckets,
6450
7213
  enable_key_rotation=enable_key_rotation,
6451
7214
  pipeline_name=pipeline_name,
7215
+ pipeline_type=pipeline_type,
6452
7216
  restart_execution_on_update=restart_execution_on_update,
6453
7217
  reuse_cross_region_support_stacks=reuse_cross_region_support_stacks,
6454
7218
  role=role,
6455
7219
  stages=stages,
7220
+ triggers=triggers,
7221
+ variables=variables,
6456
7222
  )
6457
7223
 
6458
7224
  jsii.create(self.__class__, self, [scope, id, props])
@@ -6519,6 +7285,39 @@ class Pipeline(
6519
7285
  check_type(argname="argument statement", value=statement, expected_type=type_hints["statement"])
6520
7286
  return typing.cast(None, jsii.invoke(self, "addToRolePolicy", [statement]))
6521
7287
 
7288
+ @jsii.member(jsii_name="addTrigger")
7289
+ def add_trigger(
7290
+ self,
7291
+ *,
7292
+ provider_type: "ProviderType",
7293
+ git_configuration: typing.Optional[typing.Union[GitConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
7294
+ ) -> "Trigger":
7295
+ '''Adds a new Trigger to this Pipeline.
7296
+
7297
+ :param provider_type: The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.
7298
+ :param git_configuration: Provides the filter criteria and the source stage for the repository event that starts the pipeline, such as Git tags. Default: - no configuration.
7299
+
7300
+ :return: the newly created trigger
7301
+ '''
7302
+ props = TriggerProps(
7303
+ provider_type=provider_type, git_configuration=git_configuration
7304
+ )
7305
+
7306
+ return typing.cast("Trigger", jsii.invoke(self, "addTrigger", [props]))
7307
+
7308
+ @jsii.member(jsii_name="addVariable")
7309
+ def add_variable(self, variable: "Variable") -> "Variable":
7310
+ '''Adds a new Variable to this Pipeline.
7311
+
7312
+ :param variable: Variable instance to add to this Pipeline.
7313
+
7314
+ :return: the newly created variable
7315
+ '''
7316
+ if __debug__:
7317
+ type_hints = typing.get_type_hints(_typecheckingstub__c66f0602ec2236194290f47b7ed526e674bccbeaddc91834fa37bdbea2e9dce2)
7318
+ check_type(argname="argument variable", value=variable, expected_type=type_hints["variable"])
7319
+ return typing.cast("Variable", jsii.invoke(self, "addVariable", [variable]))
7320
+
6522
7321
  @jsii.member(jsii_name="bindAsNotificationRuleSource")
6523
7322
  def bind_as_notification_rule_source(
6524
7323
  self,
@@ -6997,10 +7796,13 @@ class PipelineNotifyOnOptions(_NotificationRuleOptions_dff73281):
6997
7796
  "cross_region_replication_buckets": "crossRegionReplicationBuckets",
6998
7797
  "enable_key_rotation": "enableKeyRotation",
6999
7798
  "pipeline_name": "pipelineName",
7799
+ "pipeline_type": "pipelineType",
7000
7800
  "restart_execution_on_update": "restartExecutionOnUpdate",
7001
7801
  "reuse_cross_region_support_stacks": "reuseCrossRegionSupportStacks",
7002
7802
  "role": "role",
7003
7803
  "stages": "stages",
7804
+ "triggers": "triggers",
7805
+ "variables": "variables",
7004
7806
  },
7005
7807
  )
7006
7808
  class PipelineProps:
@@ -7012,10 +7814,13 @@ class PipelineProps:
7012
7814
  cross_region_replication_buckets: typing.Optional[typing.Mapping[builtins.str, _IBucket_42e086fd]] = None,
7013
7815
  enable_key_rotation: typing.Optional[builtins.bool] = None,
7014
7816
  pipeline_name: typing.Optional[builtins.str] = None,
7817
+ pipeline_type: typing.Optional["PipelineType"] = None,
7015
7818
  restart_execution_on_update: typing.Optional[builtins.bool] = None,
7016
7819
  reuse_cross_region_support_stacks: typing.Optional[builtins.bool] = None,
7017
7820
  role: typing.Optional[_IRole_235f5d8e] = None,
7018
7821
  stages: typing.Optional[typing.Sequence[typing.Union["StageProps", typing.Dict[builtins.str, typing.Any]]]] = None,
7822
+ triggers: typing.Optional[typing.Sequence[typing.Union["TriggerProps", typing.Dict[builtins.str, typing.Any]]]] = None,
7823
+ variables: typing.Optional[typing.Sequence["Variable"]] = None,
7019
7824
  ) -> None:
7020
7825
  '''
7021
7826
  :param artifact_bucket: The S3 bucket used by this Pipeline to store artifacts. Default: - A new S3 bucket will be created.
@@ -7023,10 +7828,13 @@ class PipelineProps:
7023
7828
  :param cross_region_replication_buckets: A map of region to S3 bucket name used for cross-region CodePipeline. For every Action that you specify targeting a different region than the Pipeline itself, if you don't provide an explicit Bucket for that region using this property, the construct will automatically create a Stack containing an S3 Bucket in that region. Default: - None.
7024
7829
  :param enable_key_rotation: Enable KMS key rotation for the generated KMS keys. By default KMS key rotation is disabled, but will add an additional $1/month for each year the key exists when enabled. Default: - false (key rotation is disabled)
7025
7830
  :param pipeline_name: Name of the pipeline. Default: - AWS CloudFormation generates an ID and uses that for the pipeline name.
7831
+ :param pipeline_type: Type of the pipeline. Default: - PipelineType.V1
7026
7832
  :param restart_execution_on_update: Indicates whether to rerun the AWS CodePipeline pipeline after you update it. Default: false
7027
7833
  :param reuse_cross_region_support_stacks: Reuse the same cross region support stack for all pipelines in the App. Default: - true (Use the same support stack for all pipelines in App)
7028
7834
  :param role: The IAM role to be assumed by this Pipeline. Default: a new IAM role will be created.
7029
7835
  :param stages: The list of Stages, in order, to create this Pipeline with. You can always add more Stages later by calling ``Pipeline#addStage``. Default: - None.
7836
+ :param triggers: The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline. When a trigger configuration is specified, default change detection for repository and branch commits is disabled. ``triggers`` can only be used when ``pipelineType`` is set to ``PipelineType.V2``. You can always add more triggers later by calling ``Pipeline#addTrigger``. Default: - No triggers
7837
+ :param variables: A list that defines the pipeline variables for a pipeline resource. ``variables`` can only be used when ``pipelineType`` is set to ``PipelineType.V2``. You can always add more variables later by calling ``Pipeline#addVariable``. Default: - No variables
7030
7838
 
7031
7839
  :exampleMetadata: infused
7032
7840
 
@@ -7072,10 +7880,13 @@ class PipelineProps:
7072
7880
  check_type(argname="argument cross_region_replication_buckets", value=cross_region_replication_buckets, expected_type=type_hints["cross_region_replication_buckets"])
7073
7881
  check_type(argname="argument enable_key_rotation", value=enable_key_rotation, expected_type=type_hints["enable_key_rotation"])
7074
7882
  check_type(argname="argument pipeline_name", value=pipeline_name, expected_type=type_hints["pipeline_name"])
7883
+ check_type(argname="argument pipeline_type", value=pipeline_type, expected_type=type_hints["pipeline_type"])
7075
7884
  check_type(argname="argument restart_execution_on_update", value=restart_execution_on_update, expected_type=type_hints["restart_execution_on_update"])
7076
7885
  check_type(argname="argument reuse_cross_region_support_stacks", value=reuse_cross_region_support_stacks, expected_type=type_hints["reuse_cross_region_support_stacks"])
7077
7886
  check_type(argname="argument role", value=role, expected_type=type_hints["role"])
7078
7887
  check_type(argname="argument stages", value=stages, expected_type=type_hints["stages"])
7888
+ check_type(argname="argument triggers", value=triggers, expected_type=type_hints["triggers"])
7889
+ check_type(argname="argument variables", value=variables, expected_type=type_hints["variables"])
7079
7890
  self._values: typing.Dict[builtins.str, typing.Any] = {}
7080
7891
  if artifact_bucket is not None:
7081
7892
  self._values["artifact_bucket"] = artifact_bucket
@@ -7087,6 +7898,8 @@ class PipelineProps:
7087
7898
  self._values["enable_key_rotation"] = enable_key_rotation
7088
7899
  if pipeline_name is not None:
7089
7900
  self._values["pipeline_name"] = pipeline_name
7901
+ if pipeline_type is not None:
7902
+ self._values["pipeline_type"] = pipeline_type
7090
7903
  if restart_execution_on_update is not None:
7091
7904
  self._values["restart_execution_on_update"] = restart_execution_on_update
7092
7905
  if reuse_cross_region_support_stacks is not None:
@@ -7095,6 +7908,10 @@ class PipelineProps:
7095
7908
  self._values["role"] = role
7096
7909
  if stages is not None:
7097
7910
  self._values["stages"] = stages
7911
+ if triggers is not None:
7912
+ self._values["triggers"] = triggers
7913
+ if variables is not None:
7914
+ self._values["variables"] = variables
7098
7915
 
7099
7916
  @builtins.property
7100
7917
  def artifact_bucket(self) -> typing.Optional[_IBucket_42e086fd]:
@@ -7163,6 +7980,17 @@ class PipelineProps:
7163
7980
  result = self._values.get("pipeline_name")
7164
7981
  return typing.cast(typing.Optional[builtins.str], result)
7165
7982
 
7983
+ @builtins.property
7984
+ def pipeline_type(self) -> typing.Optional["PipelineType"]:
7985
+ '''Type of the pipeline.
7986
+
7987
+ :default: - PipelineType.V1
7988
+
7989
+ :see: https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html
7990
+ '''
7991
+ result = self._values.get("pipeline_type")
7992
+ return typing.cast(typing.Optional["PipelineType"], result)
7993
+
7166
7994
  @builtins.property
7167
7995
  def restart_execution_on_update(self) -> typing.Optional[builtins.bool]:
7168
7996
  '''Indicates whether to rerun the AWS CodePipeline pipeline after you update it.
@@ -7201,6 +8029,33 @@ class PipelineProps:
7201
8029
  result = self._values.get("stages")
7202
8030
  return typing.cast(typing.Optional[typing.List["StageProps"]], result)
7203
8031
 
8032
+ @builtins.property
8033
+ def triggers(self) -> typing.Optional[typing.List["TriggerProps"]]:
8034
+ '''The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
8035
+
8036
+ When a trigger configuration is specified, default change detection for repository
8037
+ and branch commits is disabled.
8038
+
8039
+ ``triggers`` can only be used when ``pipelineType`` is set to ``PipelineType.V2``.
8040
+ You can always add more triggers later by calling ``Pipeline#addTrigger``.
8041
+
8042
+ :default: - No triggers
8043
+ '''
8044
+ result = self._values.get("triggers")
8045
+ return typing.cast(typing.Optional[typing.List["TriggerProps"]], result)
8046
+
8047
+ @builtins.property
8048
+ def variables(self) -> typing.Optional[typing.List["Variable"]]:
8049
+ '''A list that defines the pipeline variables for a pipeline resource.
8050
+
8051
+ ``variables`` can only be used when ``pipelineType`` is set to ``PipelineType.V2``.
8052
+ You can always add more variables later by calling ``Pipeline#addVariable``.
8053
+
8054
+ :default: - No variables
8055
+ '''
8056
+ result = self._values.get("variables")
8057
+ return typing.cast(typing.Optional[typing.List["Variable"]], result)
8058
+
7204
8059
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
7205
8060
  return isinstance(rhs, self.__class__) and rhs._values == self._values
7206
8061
 
@@ -7213,6 +8068,86 @@ class PipelineProps:
7213
8068
  )
7214
8069
 
7215
8070
 
8071
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_codepipeline.PipelineType")
8072
+ class PipelineType(enum.Enum):
8073
+ '''Pipeline types.
8074
+
8075
+ :exampleMetadata: infused
8076
+
8077
+ Example::
8078
+
8079
+ # source_action: codepipeline_actions.CodeStarConnectionsSourceAction
8080
+ # build_action: codepipeline_actions.CodeBuildAction
8081
+
8082
+
8083
+ codepipeline.Pipeline(self, "Pipeline",
8084
+ pipeline_type=codepipeline.PipelineType.V2,
8085
+ stages=[codepipeline.StageProps(
8086
+ stage_name="Source",
8087
+ actions=[source_action]
8088
+ ), codepipeline.StageProps(
8089
+ stage_name="Build",
8090
+ actions=[build_action]
8091
+ )
8092
+ ],
8093
+ triggers=[codepipeline.TriggerProps(
8094
+ provider_type=codepipeline.ProviderType.CODE_STAR_SOURCE_CONNECTION,
8095
+ git_configuration=codepipeline.GitConfiguration(
8096
+ source_action=source_action,
8097
+ push_filter=[codepipeline.GitPushFilter(
8098
+ tags_excludes=["exclude1", "exclude2"],
8099
+ tags_includes=["include*"]
8100
+ )]
8101
+ )
8102
+ )]
8103
+ )
8104
+ '''
8105
+
8106
+ V1 = "V1"
8107
+ '''V1 type.'''
8108
+ V2 = "V2"
8109
+ '''V2 type.'''
8110
+
8111
+
8112
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_codepipeline.ProviderType")
8113
+ class ProviderType(enum.Enum):
8114
+ '''Provider type for trigger.
8115
+
8116
+ :exampleMetadata: infused
8117
+
8118
+ Example::
8119
+
8120
+ # source_action: codepipeline_actions.CodeStarConnectionsSourceAction
8121
+ # build_action: codepipeline_actions.CodeBuildAction
8122
+
8123
+
8124
+ codepipeline.Pipeline(self, "Pipeline",
8125
+ pipeline_type=codepipeline.PipelineType.V2,
8126
+ stages=[codepipeline.StageProps(
8127
+ stage_name="Source",
8128
+ actions=[source_action]
8129
+ ), codepipeline.StageProps(
8130
+ stage_name="Build",
8131
+ actions=[build_action]
8132
+ )
8133
+ ],
8134
+ triggers=[codepipeline.TriggerProps(
8135
+ provider_type=codepipeline.ProviderType.CODE_STAR_SOURCE_CONNECTION,
8136
+ git_configuration=codepipeline.GitConfiguration(
8137
+ source_action=source_action,
8138
+ push_filter=[codepipeline.GitPushFilter(
8139
+ tags_excludes=["exclude1", "exclude2"],
8140
+ tags_includes=["include*"]
8141
+ )]
8142
+ )
8143
+ )]
8144
+ )
8145
+ '''
8146
+
8147
+ CODE_STAR_SOURCE_CONNECTION = "CODE_STAR_SOURCE_CONNECTION"
8148
+ '''CodeStarSourceConnection.'''
8149
+
8150
+
7216
8151
  @jsii.data_type(
7217
8152
  jsii_type="aws-cdk-lib.aws_codepipeline.StagePlacement",
7218
8153
  jsii_struct_bases=[],
@@ -7397,6 +8332,332 @@ class StageProps:
7397
8332
  )
7398
8333
 
7399
8334
 
8335
+ class Trigger(
8336
+ metaclass=jsii.JSIIMeta,
8337
+ jsii_type="aws-cdk-lib.aws_codepipeline.Trigger",
8338
+ ):
8339
+ '''Trigger.
8340
+
8341
+ :exampleMetadata: fixture=_generated
8342
+
8343
+ Example::
8344
+
8345
+ # The code below shows an example of how to instantiate this type.
8346
+ # The values are placeholders you should change.
8347
+ from aws_cdk import aws_codepipeline as codepipeline
8348
+
8349
+ # action: codepipeline.Action
8350
+
8351
+ trigger = codepipeline.Trigger(
8352
+ provider_type=codepipeline.ProviderType.CODE_STAR_SOURCE_CONNECTION,
8353
+
8354
+ # the properties below are optional
8355
+ git_configuration=codepipeline.GitConfiguration(
8356
+ source_action=action,
8357
+
8358
+ # the properties below are optional
8359
+ push_filter=[codepipeline.GitPushFilter(
8360
+ tags_excludes=["tagsExcludes"],
8361
+ tags_includes=["tagsIncludes"]
8362
+ )]
8363
+ )
8364
+ )
8365
+ '''
8366
+
8367
+ def __init__(
8368
+ self,
8369
+ *,
8370
+ provider_type: ProviderType,
8371
+ git_configuration: typing.Optional[typing.Union[GitConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
8372
+ ) -> None:
8373
+ '''
8374
+ :param provider_type: The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.
8375
+ :param git_configuration: Provides the filter criteria and the source stage for the repository event that starts the pipeline, such as Git tags. Default: - no configuration.
8376
+ '''
8377
+ props = TriggerProps(
8378
+ provider_type=provider_type, git_configuration=git_configuration
8379
+ )
8380
+
8381
+ jsii.create(self.__class__, self, [props])
8382
+
8383
+ @builtins.property
8384
+ @jsii.member(jsii_name="sourceAction")
8385
+ def source_action(self) -> typing.Optional[IAction]:
8386
+ '''The pipeline source action where the trigger configuration.'''
8387
+ return typing.cast(typing.Optional[IAction], jsii.get(self, "sourceAction"))
8388
+
8389
+
8390
+ @jsii.data_type(
8391
+ jsii_type="aws-cdk-lib.aws_codepipeline.TriggerProps",
8392
+ jsii_struct_bases=[],
8393
+ name_mapping={
8394
+ "provider_type": "providerType",
8395
+ "git_configuration": "gitConfiguration",
8396
+ },
8397
+ )
8398
+ class TriggerProps:
8399
+ def __init__(
8400
+ self,
8401
+ *,
8402
+ provider_type: ProviderType,
8403
+ git_configuration: typing.Optional[typing.Union[GitConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
8404
+ ) -> None:
8405
+ '''Properties of trigger.
8406
+
8407
+ :param provider_type: The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.
8408
+ :param git_configuration: Provides the filter criteria and the source stage for the repository event that starts the pipeline, such as Git tags. Default: - no configuration.
8409
+
8410
+ :exampleMetadata: infused
8411
+
8412
+ Example::
8413
+
8414
+ # pipeline: codepipeline.Pipeline
8415
+ # source_action: codepipeline_actions.CodeStarConnectionsSourceAction
8416
+
8417
+
8418
+ pipeline.add_trigger(
8419
+ provider_type=codepipeline.ProviderType.CODE_STAR_SOURCE_CONNECTION,
8420
+ git_configuration=codepipeline.GitConfiguration(
8421
+ source_action=source_action,
8422
+ push_filter=[codepipeline.GitPushFilter(
8423
+ tags_excludes=["exclude1", "exclude2"],
8424
+ tags_includes=["include*"]
8425
+ )]
8426
+ )
8427
+ )
8428
+ '''
8429
+ if isinstance(git_configuration, dict):
8430
+ git_configuration = GitConfiguration(**git_configuration)
8431
+ if __debug__:
8432
+ type_hints = typing.get_type_hints(_typecheckingstub__0e77c8b9601fdd47bfd2d43819e8d9a90e923d90d1d79bc31317a9a7e0dee535)
8433
+ check_type(argname="argument provider_type", value=provider_type, expected_type=type_hints["provider_type"])
8434
+ check_type(argname="argument git_configuration", value=git_configuration, expected_type=type_hints["git_configuration"])
8435
+ self._values: typing.Dict[builtins.str, typing.Any] = {
8436
+ "provider_type": provider_type,
8437
+ }
8438
+ if git_configuration is not None:
8439
+ self._values["git_configuration"] = git_configuration
8440
+
8441
+ @builtins.property
8442
+ def provider_type(self) -> ProviderType:
8443
+ '''The source provider for the event, such as connections configured for a repository with Git tags, for the specified trigger configuration.'''
8444
+ result = self._values.get("provider_type")
8445
+ assert result is not None, "Required property 'provider_type' is missing"
8446
+ return typing.cast(ProviderType, result)
8447
+
8448
+ @builtins.property
8449
+ def git_configuration(self) -> typing.Optional[GitConfiguration]:
8450
+ '''Provides the filter criteria and the source stage for the repository event that starts the pipeline, such as Git tags.
8451
+
8452
+ :default: - no configuration.
8453
+ '''
8454
+ result = self._values.get("git_configuration")
8455
+ return typing.cast(typing.Optional[GitConfiguration], result)
8456
+
8457
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8458
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8459
+
8460
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8461
+ return not (rhs == self)
8462
+
8463
+ def __repr__(self) -> str:
8464
+ return "TriggerProps(%s)" % ", ".join(
8465
+ k + "=" + repr(v) for k, v in self._values.items()
8466
+ )
8467
+
8468
+
8469
+ class Variable(
8470
+ metaclass=jsii.JSIIMeta,
8471
+ jsii_type="aws-cdk-lib.aws_codepipeline.Variable",
8472
+ ):
8473
+ '''Pipeline-Level variable.
8474
+
8475
+ :exampleMetadata: infused
8476
+
8477
+ Example::
8478
+
8479
+ # source_action: codepipeline_actions.S3SourceAction
8480
+ # source_output: codepipeline.Artifact
8481
+ # deploy_bucket: s3.Bucket
8482
+
8483
+
8484
+ # Pipeline-level variable
8485
+ variable = codepipeline.Variable(
8486
+ variable_name="bucket-var",
8487
+ description="description",
8488
+ default_value="sample"
8489
+ )
8490
+
8491
+ codepipeline.Pipeline(self, "Pipeline",
8492
+ pipeline_type=codepipeline.PipelineType.V2,
8493
+ variables=[variable],
8494
+ stages=[codepipeline.StageProps(
8495
+ stage_name="Source",
8496
+ actions=[source_action]
8497
+ ), codepipeline.StageProps(
8498
+ stage_name="Deploy",
8499
+ actions=[
8500
+ codepipeline_actions.S3DeployAction(
8501
+ action_name="DeployAction",
8502
+ # can reference the variables
8503
+ object_key=f"{variable.reference()}.txt",
8504
+ input=source_output,
8505
+ bucket=deploy_bucket
8506
+ )
8507
+ ]
8508
+ )
8509
+ ]
8510
+ )
8511
+ '''
8512
+
8513
+ def __init__(
8514
+ self,
8515
+ *,
8516
+ variable_name: builtins.str,
8517
+ default_value: typing.Optional[builtins.str] = None,
8518
+ description: typing.Optional[builtins.str] = None,
8519
+ ) -> None:
8520
+ '''
8521
+ :param variable_name: The name of a pipeline-level variable.
8522
+ :param default_value: The default value of a pipeline-level variable. Default: - No default value.
8523
+ :param description: The description of a pipeline-level variable. It's used to add additional context about the variable, and not being used at time when pipeline executes. Default: - No description.
8524
+ '''
8525
+ props = VariableProps(
8526
+ variable_name=variable_name,
8527
+ default_value=default_value,
8528
+ description=description,
8529
+ )
8530
+
8531
+ jsii.create(self.__class__, self, [props])
8532
+
8533
+ @jsii.member(jsii_name="reference")
8534
+ def reference(self) -> builtins.str:
8535
+ '''Reference the variable name at Pipeline actions.
8536
+
8537
+ :return: The variable name in a format that can be referenced at Pipeline actions
8538
+ '''
8539
+ return typing.cast(builtins.str, jsii.invoke(self, "reference", []))
8540
+
8541
+ @builtins.property
8542
+ @jsii.member(jsii_name="variableName")
8543
+ def variable_name(self) -> builtins.str:
8544
+ '''The name of a pipeline-level variable.'''
8545
+ return typing.cast(builtins.str, jsii.get(self, "variableName"))
8546
+
8547
+
8548
+ @jsii.data_type(
8549
+ jsii_type="aws-cdk-lib.aws_codepipeline.VariableProps",
8550
+ jsii_struct_bases=[],
8551
+ name_mapping={
8552
+ "variable_name": "variableName",
8553
+ "default_value": "defaultValue",
8554
+ "description": "description",
8555
+ },
8556
+ )
8557
+ class VariableProps:
8558
+ def __init__(
8559
+ self,
8560
+ *,
8561
+ variable_name: builtins.str,
8562
+ default_value: typing.Optional[builtins.str] = None,
8563
+ description: typing.Optional[builtins.str] = None,
8564
+ ) -> None:
8565
+ '''Properties of pipeline-level variable.
8566
+
8567
+ :param variable_name: The name of a pipeline-level variable.
8568
+ :param default_value: The default value of a pipeline-level variable. Default: - No default value.
8569
+ :param description: The description of a pipeline-level variable. It's used to add additional context about the variable, and not being used at time when pipeline executes. Default: - No description.
8570
+
8571
+ :exampleMetadata: infused
8572
+
8573
+ Example::
8574
+
8575
+ # source_action: codepipeline_actions.S3SourceAction
8576
+ # source_output: codepipeline.Artifact
8577
+ # deploy_bucket: s3.Bucket
8578
+
8579
+
8580
+ # Pipeline-level variable
8581
+ variable = codepipeline.Variable(
8582
+ variable_name="bucket-var",
8583
+ description="description",
8584
+ default_value="sample"
8585
+ )
8586
+
8587
+ codepipeline.Pipeline(self, "Pipeline",
8588
+ pipeline_type=codepipeline.PipelineType.V2,
8589
+ variables=[variable],
8590
+ stages=[codepipeline.StageProps(
8591
+ stage_name="Source",
8592
+ actions=[source_action]
8593
+ ), codepipeline.StageProps(
8594
+ stage_name="Deploy",
8595
+ actions=[
8596
+ codepipeline_actions.S3DeployAction(
8597
+ action_name="DeployAction",
8598
+ # can reference the variables
8599
+ object_key=f"{variable.reference()}.txt",
8600
+ input=source_output,
8601
+ bucket=deploy_bucket
8602
+ )
8603
+ ]
8604
+ )
8605
+ ]
8606
+ )
8607
+ '''
8608
+ if __debug__:
8609
+ type_hints = typing.get_type_hints(_typecheckingstub__a98b171eab4c5eaadb5c59d8cb50bc5cfedba458e43c6e91a962ebcc7aa7cdb6)
8610
+ check_type(argname="argument variable_name", value=variable_name, expected_type=type_hints["variable_name"])
8611
+ check_type(argname="argument default_value", value=default_value, expected_type=type_hints["default_value"])
8612
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
8613
+ self._values: typing.Dict[builtins.str, typing.Any] = {
8614
+ "variable_name": variable_name,
8615
+ }
8616
+ if default_value is not None:
8617
+ self._values["default_value"] = default_value
8618
+ if description is not None:
8619
+ self._values["description"] = description
8620
+
8621
+ @builtins.property
8622
+ def variable_name(self) -> builtins.str:
8623
+ '''The name of a pipeline-level variable.'''
8624
+ result = self._values.get("variable_name")
8625
+ assert result is not None, "Required property 'variable_name' is missing"
8626
+ return typing.cast(builtins.str, result)
8627
+
8628
+ @builtins.property
8629
+ def default_value(self) -> typing.Optional[builtins.str]:
8630
+ '''The default value of a pipeline-level variable.
8631
+
8632
+ :default: - No default value.
8633
+ '''
8634
+ result = self._values.get("default_value")
8635
+ return typing.cast(typing.Optional[builtins.str], result)
8636
+
8637
+ @builtins.property
8638
+ def description(self) -> typing.Optional[builtins.str]:
8639
+ '''The description of a pipeline-level variable.
8640
+
8641
+ It's used to add additional context
8642
+ about the variable, and not being used at time when pipeline executes.
8643
+
8644
+ :default: - No description.
8645
+ '''
8646
+ result = self._values.get("description")
8647
+ return typing.cast(typing.Optional[builtins.str], result)
8648
+
8649
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8650
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8651
+
8652
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8653
+ return not (rhs == self)
8654
+
8655
+ def __repr__(self) -> str:
8656
+ return "VariableProps(%s)" % ", ".join(
8657
+ k + "=" + repr(v) for k, v in self._values.items()
8658
+ )
8659
+
8660
+
7400
8661
  @jsii.implements(IAction)
7401
8662
  class Action(
7402
8663
  metaclass=jsii.JSIIAbstractClass,
@@ -7707,6 +8968,8 @@ __all__ = [
7707
8968
  "CustomActionProperty",
7708
8969
  "CustomActionRegistration",
7709
8970
  "CustomActionRegistrationProps",
8971
+ "GitConfiguration",
8972
+ "GitPushFilter",
7710
8973
  "GlobalVariables",
7711
8974
  "IAction",
7712
8975
  "IPipeline",
@@ -7715,9 +8978,15 @@ __all__ = [
7715
8978
  "PipelineNotificationEvents",
7716
8979
  "PipelineNotifyOnOptions",
7717
8980
  "PipelineProps",
8981
+ "PipelineType",
8982
+ "ProviderType",
7718
8983
  "StageOptions",
7719
8984
  "StagePlacement",
7720
8985
  "StageProps",
8986
+ "Trigger",
8987
+ "TriggerProps",
8988
+ "Variable",
8989
+ "VariableProps",
7721
8990
  ]
7722
8991
 
7723
8992
  publication.publish()
@@ -7949,6 +9218,7 @@ def _typecheckingstub__43ae22b404f50a75462f3d5423718be3ca300d4e4e15354489d856039
7949
9218
  artifact_store: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ArtifactStoreProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7950
9219
  artifact_stores: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ArtifactStoreMapProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7951
9220
  disable_inbound_stage_transitions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.StageTransitionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
9221
+ execution_mode: typing.Optional[builtins.str] = None,
7952
9222
  name: typing.Optional[builtins.str] = None,
7953
9223
  pipeline_type: typing.Optional[builtins.str] = None,
7954
9224
  restart_execution_on_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -8001,6 +9271,12 @@ def _typecheckingstub__a8171e6979490d73c864965d74418184aa66850b94084357d00f5bac7
8001
9271
  """Type checking stubs"""
8002
9272
  pass
8003
9273
 
9274
+ def _typecheckingstub__472d85ae1c4eb5d13c62e60f6347b15da6be45b950e9ce0ab0c5a3d67951fda0(
9275
+ value: typing.Optional[builtins.str],
9276
+ ) -> None:
9277
+ """Type checking stubs"""
9278
+ pass
9279
+
8004
9280
  def _typecheckingstub__2b2610baf2075574499b5c3a30d307e832f359e9aa154becdcd51b0b886e97cf(
8005
9281
  value: typing.Optional[builtins.str],
8006
9282
  ) -> None:
@@ -8095,16 +9371,44 @@ def _typecheckingstub__947de613103ce26163068b14d3b93b5c2d7f86d29fa6fc5cbd1509b11
8095
9371
  """Type checking stubs"""
8096
9372
  pass
8097
9373
 
9374
+ def _typecheckingstub__1d236727cda322520f3a703d9e848a434f71ca107e953aec5359ac063333d29b(
9375
+ *,
9376
+ excludes: typing.Optional[typing.Sequence[builtins.str]] = None,
9377
+ includes: typing.Optional[typing.Sequence[builtins.str]] = None,
9378
+ ) -> None:
9379
+ """Type checking stubs"""
9380
+ pass
9381
+
8098
9382
  def _typecheckingstub__76ac16c602eb78041b136170e0877a83865ceb0c0c451b7e61c00366edce50a8(
8099
9383
  *,
8100
9384
  source_action_name: builtins.str,
9385
+ pull_request: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.GitPullRequestFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8101
9386
  push: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.GitPushFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8102
9387
  ) -> None:
8103
9388
  """Type checking stubs"""
8104
9389
  pass
8105
9390
 
9391
+ def _typecheckingstub__6e825f3cafba918e1c84a158f90d3bcbd543fab5a2e3990e2677d0de4ad794df(
9392
+ *,
9393
+ excludes: typing.Optional[typing.Sequence[builtins.str]] = None,
9394
+ includes: typing.Optional[typing.Sequence[builtins.str]] = None,
9395
+ ) -> None:
9396
+ """Type checking stubs"""
9397
+ pass
9398
+
9399
+ def _typecheckingstub__bd17e19e4fde95da653023de121d5f908ce71830fcd4cd84611c860dd5585932(
9400
+ *,
9401
+ branches: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.GitBranchFilterCriteriaProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9402
+ events: typing.Optional[typing.Sequence[builtins.str]] = None,
9403
+ file_paths: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.GitFilePathFilterCriteriaProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9404
+ ) -> None:
9405
+ """Type checking stubs"""
9406
+ pass
9407
+
8106
9408
  def _typecheckingstub__aace18192e6436301eeae21b4cd59bd8cb01b53eb17f6fcb74599b2f74f9ebd0(
8107
9409
  *,
9410
+ branches: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.GitBranchFilterCriteriaProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9411
+ file_paths: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.GitFilePathFilterCriteriaProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8108
9412
  tags: typing.Optional[typing.Union[CfnPipeline.GitTagFilterCriteriaProperty, typing.Dict[builtins.str, typing.Any]]] = None,
8109
9413
  ) -> None:
8110
9414
  """Type checking stubs"""
@@ -8173,6 +9477,7 @@ def _typecheckingstub__34b7cf6aaa1cc98db41892b9b8499f74092bf6b5f7f4050d1bd7642f7
8173
9477
  artifact_store: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ArtifactStoreProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8174
9478
  artifact_stores: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.ArtifactStoreMapProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8175
9479
  disable_inbound_stage_transitions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPipeline.StageTransitionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
9480
+ execution_mode: typing.Optional[builtins.str] = None,
8176
9481
  name: typing.Optional[builtins.str] = None,
8177
9482
  pipeline_type: typing.Optional[builtins.str] = None,
8178
9483
  restart_execution_on_update: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -8357,6 +9662,22 @@ def _typecheckingstub__65e227e2024e22ec4a8340ba1d5e7057772fcde85f4031d00361f79aa
8357
9662
  """Type checking stubs"""
8358
9663
  pass
8359
9664
 
9665
+ def _typecheckingstub__9bf0379bb3fa72f7dc00a45de6a383d19d18294c73d73dabcbdb7240e76832bf(
9666
+ *,
9667
+ source_action: IAction,
9668
+ push_filter: typing.Optional[typing.Sequence[typing.Union[GitPushFilter, typing.Dict[builtins.str, typing.Any]]]] = None,
9669
+ ) -> None:
9670
+ """Type checking stubs"""
9671
+ pass
9672
+
9673
+ def _typecheckingstub__d2e5e6ae139c810aa752b8a8c7cd3040d883f9f3a67c8d3693f9ab842351804e(
9674
+ *,
9675
+ tags_excludes: typing.Optional[typing.Sequence[builtins.str]] = None,
9676
+ tags_includes: typing.Optional[typing.Sequence[builtins.str]] = None,
9677
+ ) -> None:
9678
+ """Type checking stubs"""
9679
+ pass
9680
+
8360
9681
  def _typecheckingstub__5ac49c0e0a6597fa486597c011a67a04f9a1915fcc8f997bb6e6c4b0af2ee57d(
8361
9682
  scope: _constructs_77d1e7e8.Construct,
8362
9683
  stage: IStage,
@@ -8494,10 +9815,13 @@ def _typecheckingstub__dccc82ea9bcac61a3fb8c34055734a04a1bee7f59ee6675fdade2d8b5
8494
9815
  cross_region_replication_buckets: typing.Optional[typing.Mapping[builtins.str, _IBucket_42e086fd]] = None,
8495
9816
  enable_key_rotation: typing.Optional[builtins.bool] = None,
8496
9817
  pipeline_name: typing.Optional[builtins.str] = None,
9818
+ pipeline_type: typing.Optional[PipelineType] = None,
8497
9819
  restart_execution_on_update: typing.Optional[builtins.bool] = None,
8498
9820
  reuse_cross_region_support_stacks: typing.Optional[builtins.bool] = None,
8499
9821
  role: typing.Optional[_IRole_235f5d8e] = None,
8500
9822
  stages: typing.Optional[typing.Sequence[typing.Union[StageProps, typing.Dict[builtins.str, typing.Any]]]] = None,
9823
+ triggers: typing.Optional[typing.Sequence[typing.Union[TriggerProps, typing.Dict[builtins.str, typing.Any]]]] = None,
9824
+ variables: typing.Optional[typing.Sequence[Variable]] = None,
8501
9825
  ) -> None:
8502
9826
  """Type checking stubs"""
8503
9827
  pass
@@ -8516,6 +9840,12 @@ def _typecheckingstub__7e85fb888993feed0e311ee7eff01c41ae2b8d2c859471c3e8abd51dd
8516
9840
  """Type checking stubs"""
8517
9841
  pass
8518
9842
 
9843
+ def _typecheckingstub__c66f0602ec2236194290f47b7ed526e674bccbeaddc91834fa37bdbea2e9dce2(
9844
+ variable: Variable,
9845
+ ) -> None:
9846
+ """Type checking stubs"""
9847
+ pass
9848
+
8519
9849
  def _typecheckingstub__426062ddd10eb07a3be4ad55dd0fe3c2b81732bcdb5a244b2ec7d40db4605efc(
8520
9850
  _scope: _constructs_77d1e7e8.Construct,
8521
9851
  ) -> None:
@@ -8625,10 +9955,13 @@ def _typecheckingstub__22f00fc379808105702c3f59369205afd36025a51e45bcaf5d1cec0a3
8625
9955
  cross_region_replication_buckets: typing.Optional[typing.Mapping[builtins.str, _IBucket_42e086fd]] = None,
8626
9956
  enable_key_rotation: typing.Optional[builtins.bool] = None,
8627
9957
  pipeline_name: typing.Optional[builtins.str] = None,
9958
+ pipeline_type: typing.Optional[PipelineType] = None,
8628
9959
  restart_execution_on_update: typing.Optional[builtins.bool] = None,
8629
9960
  reuse_cross_region_support_stacks: typing.Optional[builtins.bool] = None,
8630
9961
  role: typing.Optional[_IRole_235f5d8e] = None,
8631
9962
  stages: typing.Optional[typing.Sequence[typing.Union[StageProps, typing.Dict[builtins.str, typing.Any]]]] = None,
9963
+ triggers: typing.Optional[typing.Sequence[typing.Union[TriggerProps, typing.Dict[builtins.str, typing.Any]]]] = None,
9964
+ variables: typing.Optional[typing.Sequence[Variable]] = None,
8632
9965
  ) -> None:
8633
9966
  """Type checking stubs"""
8634
9967
  pass
@@ -8651,6 +9984,23 @@ def _typecheckingstub__6abc7556098f83ba3d73e92b8d6098aeb43f50e6fc7a58af7d194bb4f
8651
9984
  """Type checking stubs"""
8652
9985
  pass
8653
9986
 
9987
+ def _typecheckingstub__0e77c8b9601fdd47bfd2d43819e8d9a90e923d90d1d79bc31317a9a7e0dee535(
9988
+ *,
9989
+ provider_type: ProviderType,
9990
+ git_configuration: typing.Optional[typing.Union[GitConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
9991
+ ) -> None:
9992
+ """Type checking stubs"""
9993
+ pass
9994
+
9995
+ def _typecheckingstub__a98b171eab4c5eaadb5c59d8cb50bc5cfedba458e43c6e91a962ebcc7aa7cdb6(
9996
+ *,
9997
+ variable_name: builtins.str,
9998
+ default_value: typing.Optional[builtins.str] = None,
9999
+ description: typing.Optional[builtins.str] = None,
10000
+ ) -> None:
10001
+ """Type checking stubs"""
10002
+ pass
10003
+
8654
10004
  def _typecheckingstub__74f62b0d88fd176d196b7a472610f641266a6df9a34453a50f26d3e0e2424260(
8655
10005
  scope: _constructs_77d1e7e8.Construct,
8656
10006
  stage: IStage,