aws-cdk-lib 2.211.0__py3-none-any.whl → 2.213.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 (47) hide show
  1. aws_cdk/__init__.py +398 -43
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.211.0.jsii.tgz → aws-cdk-lib@2.213.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +2 -0
  5. aws_cdk/aws_apigatewayv2/__init__.py +1798 -74
  6. aws_cdk/aws_appintegrations/__init__.py +395 -0
  7. aws_cdk/aws_arcregionswitch/__init__.py +118 -0
  8. aws_cdk/aws_batch/__init__.py +4 -4
  9. aws_cdk/aws_bedrock/__init__.py +18 -0
  10. aws_cdk/aws_billingconductor/__init__.py +3 -3
  11. aws_cdk/aws_cloudfront/__init__.py +19 -0
  12. aws_cdk/aws_codebuild/__init__.py +122 -0
  13. aws_cdk/aws_codepipeline/__init__.py +51 -50
  14. aws_cdk/aws_connect/__init__.py +40 -15
  15. aws_cdk/aws_deadline/__init__.py +16 -5
  16. aws_cdk/aws_dynamodb/__init__.py +477 -56
  17. aws_cdk/aws_ec2/__init__.py +266 -55
  18. aws_cdk/aws_ecs/__init__.py +7 -9
  19. aws_cdk/aws_eks/__init__.py +6 -4
  20. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  21. aws_cdk/aws_gameliftstreams/__init__.py +7 -6
  22. aws_cdk/aws_glue/__init__.py +18 -9
  23. aws_cdk/aws_guardduty/__init__.py +1233 -113
  24. aws_cdk/aws_iam/__init__.py +21 -6
  25. aws_cdk/aws_imagebuilder/__init__.py +34 -20
  26. aws_cdk/aws_inspectorv2/__init__.py +1516 -0
  27. aws_cdk/aws_ivs/__init__.py +1 -1
  28. aws_cdk/aws_lakeformation/__init__.py +1 -1
  29. aws_cdk/aws_lambda/__init__.py +6 -6
  30. aws_cdk/aws_omics/__init__.py +1 -1
  31. aws_cdk/aws_opensearchservice/__init__.py +128 -0
  32. aws_cdk/aws_pcs/__init__.py +16 -8
  33. aws_cdk/aws_quicksight/__init__.py +81 -83
  34. aws_cdk/aws_rds/__init__.py +31 -163
  35. aws_cdk/aws_s3express/__init__.py +7 -3
  36. aws_cdk/aws_s3tables/__init__.py +2 -2
  37. aws_cdk/aws_sagemaker/__init__.py +62 -20
  38. aws_cdk/aws_sqs/__init__.py +4 -3
  39. aws_cdk/aws_stepfunctions_tasks/__init__.py +16 -9
  40. aws_cdk/aws_synthetics/__init__.py +116 -0
  41. aws_cdk/cx_api/__init__.py +22 -0
  42. {aws_cdk_lib-2.211.0.dist-info → aws_cdk_lib-2.213.0.dist-info}/METADATA +329 -9
  43. {aws_cdk_lib-2.211.0.dist-info → aws_cdk_lib-2.213.0.dist-info}/RECORD +47 -47
  44. {aws_cdk_lib-2.211.0.dist-info → aws_cdk_lib-2.213.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.211.0.dist-info → aws_cdk_lib-2.213.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.211.0.dist-info → aws_cdk_lib-2.213.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.211.0.dist-info → aws_cdk_lib-2.213.0.dist-info}/top_level.txt +0 -0
@@ -9012,8 +9012,8 @@ class CfnJobDefinition(
9012
9012
  ) -> None:
9013
9013
  '''An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
9014
9014
 
9015
- :param cpu_architecture: The vCPU architecture. The default value is ``X86_64`` . Valid values are ``X86_64`` and ``ARM64`` . .. epigraph:: This parameter must be set to ``X86_64`` for Windows containers. > Fargate Spot is not supported for ``ARM64`` and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ``ARM64`` or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both ``FARGATE`` and ``FARGATE_SPOT`` compute environments to the same job queue.
9016
- :param operating_system_family: The operating system for the compute environment. Valid values are: ``LINUX`` (default), ``WINDOWS_SERVER_2019_CORE`` , ``WINDOWS_SERVER_2019_FULL`` , ``WINDOWS_SERVER_2022_CORE`` , and ``WINDOWS_SERVER_2022_FULL`` . .. epigraph:: The following parameters can’t be set for Windows containers: ``linuxParameters`` , ``privileged`` , ``user`` , ``ulimits`` , ``readonlyRootFilesystem`` , and ``efsVolumeConfiguration`` . > The AWS Batch Scheduler checks the compute environments that are attached to the job queue before registering a task definition with Fargate. In this scenario, the job queue is where the job is submitted. If the job requires a Windows container and the first compute environment is ``LINUX`` , the compute environment is skipped and the next compute environment is checked until a Windows-based compute environment is found. > Fargate Spot is not supported for ``ARM64`` and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ``ARM64`` or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both ``FARGATE`` and ``FARGATE_SPOT`` compute environments to the same job queue.
9015
+ :param cpu_architecture: The vCPU architecture. The default value is ``X86_64`` . Valid values are ``X86_64`` and ``ARM64`` . .. epigraph:: This parameter must be set to ``X86_64`` for Windows containers. > Fargate Spot is not supported on Windows-based containers on Fargate. A job queue will be blocked if a Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both ``FARGATE`` and ``FARGATE_SPOT`` compute environments to the same job queue.
9016
+ :param operating_system_family: The operating system for the compute environment. Valid values are: ``LINUX`` (default), ``WINDOWS_SERVER_2019_CORE`` , ``WINDOWS_SERVER_2019_FULL`` , ``WINDOWS_SERVER_2022_CORE`` , and ``WINDOWS_SERVER_2022_FULL`` . .. epigraph:: The following parameters can’t be set for Windows containers: ``linuxParameters`` , ``privileged`` , ``user`` , ``ulimits`` , ``readonlyRootFilesystem`` , and ``efsVolumeConfiguration`` . > The AWS Batch Scheduler checks the compute environments that are attached to the job queue before registering a task definition with Fargate. In this scenario, the job queue is where the job is submitted. If the job requires a Windows container and the first compute environment is ``LINUX`` , the compute environment is skipped and the next compute environment is checked until a Windows-based compute environment is found. > Fargate Spot is not supported on Windows-based containers on Fargate. A job queue will be blocked if a Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both ``FARGATE`` and ``FARGATE_SPOT`` compute environments to the same job queue.
9017
9017
 
9018
9018
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-runtimeplatform.html
9019
9019
  :exampleMetadata: fixture=_generated
@@ -9045,7 +9045,7 @@ class CfnJobDefinition(
9045
9045
 
9046
9046
  .. epigraph::
9047
9047
 
9048
- This parameter must be set to ``X86_64`` for Windows containers. > Fargate Spot is not supported for ``ARM64`` and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ``ARM64`` or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both ``FARGATE`` and ``FARGATE_SPOT`` compute environments to the same job queue.
9048
+ This parameter must be set to ``X86_64`` for Windows containers. > Fargate Spot is not supported on Windows-based containers on Fargate. A job queue will be blocked if a Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both ``FARGATE`` and ``FARGATE_SPOT`` compute environments to the same job queue.
9049
9049
 
9050
9050
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-runtimeplatform.html#cfn-batch-jobdefinition-runtimeplatform-cpuarchitecture
9051
9051
  '''
@@ -9059,7 +9059,7 @@ class CfnJobDefinition(
9059
9059
  Valid values are: ``LINUX`` (default), ``WINDOWS_SERVER_2019_CORE`` , ``WINDOWS_SERVER_2019_FULL`` , ``WINDOWS_SERVER_2022_CORE`` , and ``WINDOWS_SERVER_2022_FULL`` .
9060
9060
  .. epigraph::
9061
9061
 
9062
- The following parameters can’t be set for Windows containers: ``linuxParameters`` , ``privileged`` , ``user`` , ``ulimits`` , ``readonlyRootFilesystem`` , and ``efsVolumeConfiguration`` . > The AWS Batch Scheduler checks the compute environments that are attached to the job queue before registering a task definition with Fargate. In this scenario, the job queue is where the job is submitted. If the job requires a Windows container and the first compute environment is ``LINUX`` , the compute environment is skipped and the next compute environment is checked until a Windows-based compute environment is found. > Fargate Spot is not supported for ``ARM64`` and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ``ARM64`` or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both ``FARGATE`` and ``FARGATE_SPOT`` compute environments to the same job queue.
9062
+ The following parameters can’t be set for Windows containers: ``linuxParameters`` , ``privileged`` , ``user`` , ``ulimits`` , ``readonlyRootFilesystem`` , and ``efsVolumeConfiguration`` . > The AWS Batch Scheduler checks the compute environments that are attached to the job queue before registering a task definition with Fargate. In this scenario, the job queue is where the job is submitted. If the job requires a Windows container and the first compute environment is ``LINUX`` , the compute environment is skipped and the next compute environment is checked until a Windows-based compute environment is found. > Fargate Spot is not supported on Windows-based containers on Fargate. A job queue will be blocked if a Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both ``FARGATE`` and ``FARGATE_SPOT`` compute environments to the same job queue.
9063
9063
 
9064
9064
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-runtimeplatform.html#cfn-batch-jobdefinition-runtimeplatform-operatingsystemfamily
9065
9065
  '''
@@ -36281,6 +36281,12 @@ class FoundationModelIdentifier(
36281
36281
  '''
36282
36282
  return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_INSTANT_V1_2_100K"))
36283
36283
 
36284
+ @jsii.python.classproperty
36285
+ @jsii.member(jsii_name="ANTHROPIC_CLAUDE_OPUS_4_1_20250805_V1_0")
36286
+ def ANTHROPIC_CLAUDE_OPUS_4_1_20250805_V1_0(cls) -> "FoundationModelIdentifier":
36287
+ '''Base model "anthropic.claude-opus-4-1-20250805-v1:0".'''
36288
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "ANTHROPIC_CLAUDE_OPUS_4_1_20250805_V1_0"))
36289
+
36284
36290
  @jsii.python.classproperty
36285
36291
  @jsii.member(jsii_name="ANTHROPIC_CLAUDE_OPUS_4_20250514_V1_0")
36286
36292
  def ANTHROPIC_CLAUDE_OPUS_4_20250514_V1_0(cls) -> "FoundationModelIdentifier":
@@ -36656,6 +36662,18 @@ class FoundationModelIdentifier(
36656
36662
  '''Base model "mistral.mistral-small-2402-v1:0".'''
36657
36663
  return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "MISTRAL_SMALL_V0_1"))
36658
36664
 
36665
+ @jsii.python.classproperty
36666
+ @jsii.member(jsii_name="OPENAI_GPT_OSS_120B_1")
36667
+ def OPENAI_GPT_OSS_120_B_1(cls) -> "FoundationModelIdentifier":
36668
+ '''Base model "openai.gpt-oss-120b-1:0".'''
36669
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "OPENAI_GPT_OSS_120B_1"))
36670
+
36671
+ @jsii.python.classproperty
36672
+ @jsii.member(jsii_name="OPENAI_GPT_OSS_20B_1")
36673
+ def OPENAI_GPT_OSS_20_B_1(cls) -> "FoundationModelIdentifier":
36674
+ '''Base model "openai.gpt-oss-20b-1:0".'''
36675
+ return typing.cast("FoundationModelIdentifier", jsii.sget(cls, "OPENAI_GPT_OSS_20B_1"))
36676
+
36659
36677
  @jsii.python.classproperty
36660
36678
  @jsii.member(jsii_name="STABILITY_SD3_5_LARGE_V1_0")
36661
36679
  def STABILITY_SD3_5_LARGE_V1_0(cls) -> "FoundationModelIdentifier":
@@ -1271,11 +1271,11 @@ class CfnCustomLineItem(
1271
1271
  ) -> None:
1272
1272
  '''A representation of the line item filter for your custom line item.
1273
1273
 
1274
- You can use line item filters to include or exclude specific resource values from the billing group's total cost. For example, if you create a custom line item and you want to filter out a value, such as Savings Plan discounts, you can update ``LineItemFilter`` to exclude it.
1274
+ You can use line item filters to include or exclude specific resource values from the billing group's total cost. For example, if you create a custom line item and you want to filter out a value, such as Savings Plans discounts, you can update ``LineItemFilter`` to exclude it.
1275
1275
 
1276
1276
  :param attribute: The attribute of the line item filter. This specifies what attribute that you can filter on.
1277
1277
  :param match_option: The match criteria of the line item filter. This parameter specifies whether not to include the resource value from the billing group total cost.
1278
- :param values: The values of the line item filter. This specifies the values to filter on. Currently, you can only exclude Savings Plan discounts.
1278
+ :param values: The values of the line item filter. This specifies the values to filter on. Currently, you can only exclude Savings Plans discounts.
1279
1279
 
1280
1280
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-lineitemfilter.html
1281
1281
  :exampleMetadata: fixture=_generated
@@ -1331,7 +1331,7 @@ class CfnCustomLineItem(
1331
1331
  def values(self) -> typing.List[builtins.str]:
1332
1332
  '''The values of the line item filter.
1333
1333
 
1334
- This specifies the values to filter on. Currently, you can only exclude Savings Plan discounts.
1334
+ This specifies the values to filter on. Currently, you can only exclude Savings Plans discounts.
1335
1335
 
1336
1336
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-billingconductor-customlineitem-lineitemfilter.html#cfn-billingconductor-customlineitem-lineitemfilter-values
1337
1337
  '''
@@ -7191,6 +7191,7 @@ class CfnDistribution(
7191
7191
  "origin_protocol_policy": "originProtocolPolicy",
7192
7192
  "http_port": "httpPort",
7193
7193
  "https_port": "httpsPort",
7194
+ "ip_address_type": "ipAddressType",
7194
7195
  "origin_keepalive_timeout": "originKeepaliveTimeout",
7195
7196
  "origin_read_timeout": "originReadTimeout",
7196
7197
  "origin_ssl_protocols": "originSslProtocols",
@@ -7203,6 +7204,7 @@ class CfnDistribution(
7203
7204
  origin_protocol_policy: builtins.str,
7204
7205
  http_port: typing.Optional[jsii.Number] = None,
7205
7206
  https_port: typing.Optional[jsii.Number] = None,
7207
+ ip_address_type: typing.Optional[builtins.str] = None,
7206
7208
  origin_keepalive_timeout: typing.Optional[jsii.Number] = None,
7207
7209
  origin_read_timeout: typing.Optional[jsii.Number] = None,
7208
7210
  origin_ssl_protocols: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -7214,6 +7216,7 @@ class CfnDistribution(
7214
7216
  :param origin_protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Valid values are:. - ``http-only`` – CloudFront always uses HTTP to connect to the origin. - ``match-viewer`` – CloudFront connects to the origin using the same protocol that the viewer used to connect to CloudFront. - ``https-only`` – CloudFront always uses HTTPS to connect to the origin.
7215
7217
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on. Default: - 80
7216
7218
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on. Default: - 443
7219
+ :param ip_address_type:
7217
7220
  :param origin_keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 5 seconds. For more information, see `Keep-alive timeout (custom origins only) <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout>`_ in the *Amazon CloudFront Developer Guide* . Default: - 5
7218
7221
  :param origin_read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds. For more information, see `Response timeout <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout>`_ in the *Amazon CloudFront Developer Guide* . Default: - 30
7219
7222
  :param origin_ssl_protocols: Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include ``SSLv3`` , ``TLSv1`` , ``TLSv1.1`` , and ``TLSv1.2`` . For more information, see `Minimum Origin SSL Protocol <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginSSLProtocols>`_ in the *Amazon CloudFront Developer Guide* .
@@ -7233,6 +7236,7 @@ class CfnDistribution(
7233
7236
  # the properties below are optional
7234
7237
  http_port=123,
7235
7238
  https_port=123,
7239
+ ip_address_type="ipAddressType",
7236
7240
  origin_keepalive_timeout=123,
7237
7241
  origin_read_timeout=123,
7238
7242
  origin_ssl_protocols=["originSslProtocols"]
@@ -7243,6 +7247,7 @@ class CfnDistribution(
7243
7247
  check_type(argname="argument origin_protocol_policy", value=origin_protocol_policy, expected_type=type_hints["origin_protocol_policy"])
7244
7248
  check_type(argname="argument http_port", value=http_port, expected_type=type_hints["http_port"])
7245
7249
  check_type(argname="argument https_port", value=https_port, expected_type=type_hints["https_port"])
7250
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
7246
7251
  check_type(argname="argument origin_keepalive_timeout", value=origin_keepalive_timeout, expected_type=type_hints["origin_keepalive_timeout"])
7247
7252
  check_type(argname="argument origin_read_timeout", value=origin_read_timeout, expected_type=type_hints["origin_read_timeout"])
7248
7253
  check_type(argname="argument origin_ssl_protocols", value=origin_ssl_protocols, expected_type=type_hints["origin_ssl_protocols"])
@@ -7253,6 +7258,8 @@ class CfnDistribution(
7253
7258
  self._values["http_port"] = http_port
7254
7259
  if https_port is not None:
7255
7260
  self._values["https_port"] = https_port
7261
+ if ip_address_type is not None:
7262
+ self._values["ip_address_type"] = ip_address_type
7256
7263
  if origin_keepalive_timeout is not None:
7257
7264
  self._values["origin_keepalive_timeout"] = origin_keepalive_timeout
7258
7265
  if origin_read_timeout is not None:
@@ -7300,6 +7307,14 @@ class CfnDistribution(
7300
7307
  result = self._values.get("https_port")
7301
7308
  return typing.cast(typing.Optional[jsii.Number], result)
7302
7309
 
7310
+ @builtins.property
7311
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
7312
+ '''
7313
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-ipaddresstype
7314
+ '''
7315
+ result = self._values.get("ip_address_type")
7316
+ return typing.cast(typing.Optional[builtins.str], result)
7317
+
7303
7318
  @builtins.property
7304
7319
  def origin_keepalive_timeout(self) -> typing.Optional[jsii.Number]:
7305
7320
  '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
@@ -9966,6 +9981,7 @@ class CfnDistribution(
9966
9981
  # the properties below are optional
9967
9982
  http_port=123,
9968
9983
  https_port=123,
9984
+ ip_address_type="ipAddressType",
9969
9985
  origin_keepalive_timeout=123,
9970
9986
  origin_read_timeout=123,
9971
9987
  origin_ssl_protocols=["originSslProtocols"]
@@ -11242,6 +11258,7 @@ class CfnDistributionProps:
11242
11258
  # the properties below are optional
11243
11259
  http_port=123,
11244
11260
  https_port=123,
11261
+ ip_address_type="ipAddressType",
11245
11262
  origin_keepalive_timeout=123,
11246
11263
  origin_read_timeout=123,
11247
11264
  origin_ssl_protocols=["originSslProtocols"]
@@ -22937,6 +22954,7 @@ class OriginBindConfig:
22937
22954
  # the properties below are optional
22938
22955
  http_port=123,
22939
22956
  https_port=123,
22957
+ ip_address_type="ipAddressType",
22940
22958
  origin_keepalive_timeout=123,
22941
22959
  origin_read_timeout=123,
22942
22960
  origin_ssl_protocols=["originSslProtocols"]
@@ -30462,6 +30480,7 @@ def _typecheckingstub__4818766b050bad18cc83a1490771aa31b5eaddfe75b97673cb8c97008
30462
30480
  origin_protocol_policy: builtins.str,
30463
30481
  http_port: typing.Optional[jsii.Number] = None,
30464
30482
  https_port: typing.Optional[jsii.Number] = None,
30483
+ ip_address_type: typing.Optional[builtins.str] = None,
30465
30484
  origin_keepalive_timeout: typing.Optional[jsii.Number] = None,
30466
30485
  origin_read_timeout: typing.Optional[jsii.Number] = None,
30467
30486
  origin_ssl_protocols: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -3752,6 +3752,12 @@ class CfnProject(
3752
3752
  # the properties below are optional
3753
3753
  exclude_matched_pattern=False
3754
3754
  )]],
3755
+ pull_request_build_policy=codebuild.CfnProject.PullRequestBuildPolicyProperty(
3756
+ requires_comment_approval="requiresCommentApproval",
3757
+
3758
+ # the properties below are optional
3759
+ approver_roles=["approverRoles"]
3760
+ ),
3755
3761
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
3756
3762
  name="name",
3757
3763
 
@@ -5980,6 +5986,7 @@ class CfnProject(
5980
5986
  name_mapping={
5981
5987
  "build_type": "buildType",
5982
5988
  "filter_groups": "filterGroups",
5989
+ "pull_request_build_policy": "pullRequestBuildPolicy",
5983
5990
  "scope_configuration": "scopeConfiguration",
5984
5991
  "webhook": "webhook",
5985
5992
  },
@@ -5990,6 +5997,7 @@ class CfnProject(
5990
5997
  *,
5991
5998
  build_type: typing.Optional[builtins.str] = None,
5992
5999
  filter_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.WebhookFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]]]] = None,
6000
+ pull_request_build_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.PullRequestBuildPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5993
6001
  scope_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnProject.ScopeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5994
6002
  webhook: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5995
6003
  ) -> None:
@@ -6001,6 +6009,7 @@ class CfnProject(
6001
6009
 
6002
6010
  :param build_type: Specifies the type of build this webhook will trigger. Allowed values are:. - **BUILD** - A single build - **BUILD_BATCH** - A batch build
6003
6011
  :param filter_groups: A list of lists of ``WebhookFilter`` objects used to determine which webhook events are triggered. At least one ``WebhookFilter`` in the array must specify ``EVENT`` as its type.
6012
+ :param pull_request_build_policy:
6004
6013
  :param scope_configuration: Contains configuration information about the scope for a webhook.
6005
6014
  :param webhook: Specifies whether or not to begin automatically rebuilding the source code every time a code change is pushed to the repository.
6006
6015
 
@@ -6022,6 +6031,12 @@ class CfnProject(
6022
6031
  # the properties below are optional
6023
6032
  exclude_matched_pattern=False
6024
6033
  )]],
6034
+ pull_request_build_policy=codebuild.CfnProject.PullRequestBuildPolicyProperty(
6035
+ requires_comment_approval="requiresCommentApproval",
6036
+
6037
+ # the properties below are optional
6038
+ approver_roles=["approverRoles"]
6039
+ ),
6025
6040
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
6026
6041
  name="name",
6027
6042
 
@@ -6036,6 +6051,7 @@ class CfnProject(
6036
6051
  type_hints = typing.get_type_hints(_typecheckingstub__d2709928946ab49717544a38f5b4471ef55c9bf0ed8e39f24de9210b8c729a70)
6037
6052
  check_type(argname="argument build_type", value=build_type, expected_type=type_hints["build_type"])
6038
6053
  check_type(argname="argument filter_groups", value=filter_groups, expected_type=type_hints["filter_groups"])
6054
+ check_type(argname="argument pull_request_build_policy", value=pull_request_build_policy, expected_type=type_hints["pull_request_build_policy"])
6039
6055
  check_type(argname="argument scope_configuration", value=scope_configuration, expected_type=type_hints["scope_configuration"])
6040
6056
  check_type(argname="argument webhook", value=webhook, expected_type=type_hints["webhook"])
6041
6057
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -6043,6 +6059,8 @@ class CfnProject(
6043
6059
  self._values["build_type"] = build_type
6044
6060
  if filter_groups is not None:
6045
6061
  self._values["filter_groups"] = filter_groups
6062
+ if pull_request_build_policy is not None:
6063
+ self._values["pull_request_build_policy"] = pull_request_build_policy
6046
6064
  if scope_configuration is not None:
6047
6065
  self._values["scope_configuration"] = scope_configuration
6048
6066
  if webhook is not None:
@@ -6073,6 +6091,16 @@ class CfnProject(
6073
6091
  result = self._values.get("filter_groups")
6074
6092
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnProject.WebhookFilterProperty"]]]]]], result)
6075
6093
 
6094
+ @builtins.property
6095
+ def pull_request_build_policy(
6096
+ self,
6097
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnProject.PullRequestBuildPolicyProperty"]]:
6098
+ '''
6099
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-pullrequestbuildpolicy
6100
+ '''
6101
+ result = self._values.get("pull_request_build_policy")
6102
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnProject.PullRequestBuildPolicyProperty"]], result)
6103
+
6076
6104
  @builtins.property
6077
6105
  def scope_configuration(
6078
6106
  self,
@@ -6106,6 +6134,79 @@ class CfnProject(
6106
6134
  k + "=" + repr(v) for k, v in self._values.items()
6107
6135
  )
6108
6136
 
6137
+ @jsii.data_type(
6138
+ jsii_type="aws-cdk-lib.aws_codebuild.CfnProject.PullRequestBuildPolicyProperty",
6139
+ jsii_struct_bases=[],
6140
+ name_mapping={
6141
+ "requires_comment_approval": "requiresCommentApproval",
6142
+ "approver_roles": "approverRoles",
6143
+ },
6144
+ )
6145
+ class PullRequestBuildPolicyProperty:
6146
+ def __init__(
6147
+ self,
6148
+ *,
6149
+ requires_comment_approval: builtins.str,
6150
+ approver_roles: typing.Optional[typing.Sequence[builtins.str]] = None,
6151
+ ) -> None:
6152
+ '''
6153
+ :param requires_comment_approval:
6154
+ :param approver_roles:
6155
+
6156
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-pullrequestbuildpolicy.html
6157
+ :exampleMetadata: fixture=_generated
6158
+
6159
+ Example::
6160
+
6161
+ # The code below shows an example of how to instantiate this type.
6162
+ # The values are placeholders you should change.
6163
+ from aws_cdk import aws_codebuild as codebuild
6164
+
6165
+ pull_request_build_policy_property = codebuild.CfnProject.PullRequestBuildPolicyProperty(
6166
+ requires_comment_approval="requiresCommentApproval",
6167
+
6168
+ # the properties below are optional
6169
+ approver_roles=["approverRoles"]
6170
+ )
6171
+ '''
6172
+ if __debug__:
6173
+ type_hints = typing.get_type_hints(_typecheckingstub__dc1eee42ab44fe674f81f814cf0b3916fe0be36f2eb0f8f6b963c3bbd44441fd)
6174
+ check_type(argname="argument requires_comment_approval", value=requires_comment_approval, expected_type=type_hints["requires_comment_approval"])
6175
+ check_type(argname="argument approver_roles", value=approver_roles, expected_type=type_hints["approver_roles"])
6176
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6177
+ "requires_comment_approval": requires_comment_approval,
6178
+ }
6179
+ if approver_roles is not None:
6180
+ self._values["approver_roles"] = approver_roles
6181
+
6182
+ @builtins.property
6183
+ def requires_comment_approval(self) -> builtins.str:
6184
+ '''
6185
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-pullrequestbuildpolicy.html#cfn-codebuild-project-pullrequestbuildpolicy-requirescommentapproval
6186
+ '''
6187
+ result = self._values.get("requires_comment_approval")
6188
+ assert result is not None, "Required property 'requires_comment_approval' is missing"
6189
+ return typing.cast(builtins.str, result)
6190
+
6191
+ @builtins.property
6192
+ def approver_roles(self) -> typing.Optional[typing.List[builtins.str]]:
6193
+ '''
6194
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-pullrequestbuildpolicy.html#cfn-codebuild-project-pullrequestbuildpolicy-approverroles
6195
+ '''
6196
+ result = self._values.get("approver_roles")
6197
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6198
+
6199
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6200
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6201
+
6202
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6203
+ return not (rhs == self)
6204
+
6205
+ def __repr__(self) -> str:
6206
+ return "PullRequestBuildPolicyProperty(%s)" % ", ".join(
6207
+ k + "=" + repr(v) for k, v in self._values.items()
6208
+ )
6209
+
6109
6210
  @jsii.data_type(
6110
6211
  jsii_type="aws-cdk-lib.aws_codebuild.CfnProject.RegistryCredentialProperty",
6111
6212
  jsii_struct_bases=[],
@@ -7266,6 +7367,12 @@ class CfnProjectProps:
7266
7367
  # the properties below are optional
7267
7368
  exclude_matched_pattern=False
7268
7369
  )]],
7370
+ pull_request_build_policy=codebuild.CfnProject.PullRequestBuildPolicyProperty(
7371
+ requires_comment_approval="requiresCommentApproval",
7372
+
7373
+ # the properties below are optional
7374
+ approver_roles=["approverRoles"]
7375
+ ),
7269
7376
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
7270
7377
  name="name",
7271
7378
 
@@ -16713,6 +16820,12 @@ class SourceConfig:
16713
16820
  # the properties below are optional
16714
16821
  exclude_matched_pattern=False
16715
16822
  )]],
16823
+ pull_request_build_policy=codebuild.CfnProject.PullRequestBuildPolicyProperty(
16824
+ requires_comment_approval="requiresCommentApproval",
16825
+
16826
+ # the properties below are optional
16827
+ approver_roles=["approverRoles"]
16828
+ ),
16716
16829
  scope_configuration=codebuild.CfnProject.ScopeConfigurationProperty(
16717
16830
  name="name",
16718
16831
 
@@ -19690,12 +19803,21 @@ def _typecheckingstub__d2709928946ab49717544a38f5b4471ef55c9bf0ed8e39f24de9210b8
19690
19803
  *,
19691
19804
  build_type: typing.Optional[builtins.str] = None,
19692
19805
  filter_groups: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnProject.WebhookFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]]]] = None,
19806
+ pull_request_build_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnProject.PullRequestBuildPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19693
19807
  scope_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnProject.ScopeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19694
19808
  webhook: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
19695
19809
  ) -> None:
19696
19810
  """Type checking stubs"""
19697
19811
  pass
19698
19812
 
19813
+ def _typecheckingstub__dc1eee42ab44fe674f81f814cf0b3916fe0be36f2eb0f8f6b963c3bbd44441fd(
19814
+ *,
19815
+ requires_comment_approval: builtins.str,
19816
+ approver_roles: typing.Optional[typing.Sequence[builtins.str]] = None,
19817
+ ) -> None:
19818
+ """Type checking stubs"""
19819
+ pass
19820
+
19699
19821
  def _typecheckingstub__34506e4fd8833ff5e97909e986461de67b898a74b028bcfb34d1d8c370d767a9(
19700
19822
  *,
19701
19823
  credential: builtins.str,