aws-cdk-lib 2.154.1__py3-none-any.whl → 2.155.0__py3-none-any.whl

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

Potentially problematic release.


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

aws_cdk/_jsii/__init__.py CHANGED
@@ -20,7 +20,7 @@ import aws_cdk.cloud_assembly_schema._jsii
20
20
  import constructs._jsii
21
21
 
22
22
  __jsii_assembly__ = jsii.JSIIAssembly.load(
23
- "aws-cdk-lib", "2.154.1", __name__[0:-6], "aws-cdk-lib@2.154.1.jsii.tgz"
23
+ "aws-cdk-lib", "2.155.0", __name__[0:-6], "aws-cdk-lib@2.155.0.jsii.tgz"
24
24
  )
25
25
 
26
26
  __all__ = [
@@ -700,7 +700,7 @@ class Annotations(
700
700
  ) -> typing.List[_SynthesisMessage_b3ae3c62]:
701
701
  '''Get the set of matching errors of a given construct path and message.
702
702
 
703
- :param construct_path: the construct path to the error. Provide ``'*'`` to match all errors in the template.
703
+ :param construct_path: the construct path to the error, provide ``'*'`` to match all errors in the template.
704
704
  :param message: the error message as should be expected. This should be a string or Matcher object.
705
705
  '''
706
706
  if __debug__:
@@ -717,7 +717,7 @@ class Annotations(
717
717
  ) -> typing.List[_SynthesisMessage_b3ae3c62]:
718
718
  '''Get the set of matching infos of a given construct path and message.
719
719
 
720
- :param construct_path: the construct path to the info. Provide ``'*'`` to match all infos in the template.
720
+ :param construct_path: the construct path to the info, provide ``'*'`` to match all infos in the template.
721
721
  :param message: the info message as should be expected. This should be a string or Matcher object.
722
722
  '''
723
723
  if __debug__:
@@ -734,7 +734,7 @@ class Annotations(
734
734
  ) -> typing.List[_SynthesisMessage_b3ae3c62]:
735
735
  '''Get the set of matching warning of a given construct path and message.
736
736
 
737
- :param construct_path: the construct path to the warning. Provide ``'*'`` to match all warnings in the template.
737
+ :param construct_path: the construct path to the warning, provide ``'*'`` to match all warnings in the template.
738
738
  :param message: the warning message as should be expected. This should be a string or Matcher object.
739
739
  '''
740
740
  if __debug__:
@@ -747,7 +747,7 @@ class Annotations(
747
747
  def has_error(self, construct_path: builtins.str, message: typing.Any) -> None:
748
748
  '''Assert that an error with the given message exists in the synthesized CDK ``Stack``.
749
749
 
750
- :param construct_path: the construct path to the error. Provide ``'*'`` to match all errors in the template.
750
+ :param construct_path: the construct path to the error, provide ``'*'`` to match all errors in the template.
751
751
  :param message: the error message as should be expected. This should be a string or Matcher object.
752
752
  '''
753
753
  if __debug__:
@@ -760,7 +760,7 @@ class Annotations(
760
760
  def has_info(self, construct_path: builtins.str, message: typing.Any) -> None:
761
761
  '''Assert that an info with the given message exists in the synthesized CDK ``Stack``.
762
762
 
763
- :param construct_path: the construct path to the info. Provide ``'*'`` to match all info in the template.
763
+ :param construct_path: the construct path to the info, provide ``'*'`` to match all info in the template.
764
764
  :param message: the info message as should be expected. This should be a string or Matcher object.
765
765
  '''
766
766
  if __debug__:
@@ -773,7 +773,7 @@ class Annotations(
773
773
  def has_no_error(self, construct_path: builtins.str, message: typing.Any) -> None:
774
774
  '''Assert that an error with the given message does not exist in the synthesized CDK ``Stack``.
775
775
 
776
- :param construct_path: the construct path to the error. Provide ``'*'`` to match all errors in the template.
776
+ :param construct_path: the construct path to the error, provide ``'*'`` to match all errors in the template.
777
777
  :param message: the error message as should be expected. This should be a string or Matcher object.
778
778
  '''
779
779
  if __debug__:
@@ -786,7 +786,7 @@ class Annotations(
786
786
  def has_no_info(self, construct_path: builtins.str, message: typing.Any) -> None:
787
787
  '''Assert that an info with the given message does not exist in the synthesized CDK ``Stack``.
788
788
 
789
- :param construct_path: the construct path to the info. Provide ``'*'`` to match all info in the template.
789
+ :param construct_path: the construct path to the info, provide ``'*'`` to match all info in the template.
790
790
  :param message: the info message as should be expected. This should be a string or Matcher object.
791
791
  '''
792
792
  if __debug__:
@@ -799,7 +799,7 @@ class Annotations(
799
799
  def has_no_warning(self, construct_path: builtins.str, message: typing.Any) -> None:
800
800
  '''Assert that an warning with the given message does not exist in the synthesized CDK ``Stack``.
801
801
 
802
- :param construct_path: the construct path to the warning. Provide ``'*'`` to match all warnings in the template.
802
+ :param construct_path: the construct path to the warning, provide ``'*'`` to match all warnings in the template.
803
803
  :param message: the warning message as should be expected. This should be a string or Matcher object.
804
804
  '''
805
805
  if __debug__:
@@ -812,7 +812,7 @@ class Annotations(
812
812
  def has_warning(self, construct_path: builtins.str, message: typing.Any) -> None:
813
813
  '''Assert that an warning with the given message exists in the synthesized CDK ``Stack``.
814
814
 
815
- :param construct_path: the construct path to the warning. Provide ``'*'`` to match all warnings in the template.
815
+ :param construct_path: the construct path to the warning, provide ``'*'`` to match all warnings in the template.
816
816
  :param message: the warning message as should be expected. This should be a string or Matcher object.
817
817
  '''
818
818
  if __debug__:
@@ -1586,7 +1586,7 @@ class Template(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.assertions.Templa
1586
1586
  ) -> typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]:
1587
1587
  '''Get the set of matching Conditions that match the given properties in the CloudFormation template.
1588
1588
 
1589
- :param logical_id: the name of the condition. Provide ``'*'`` to match all conditions in the template.
1589
+ :param logical_id: the name of the condition, provide ``'*'`` to match all conditions in the template.
1590
1590
  :param props: by default, matches all Conditions in the template. When a literal object is provided, performs a partial match via ``Match.objectLike()``. Use the ``Match`` APIs to configure a different behaviour.
1591
1591
  '''
1592
1592
  if __debug__:
@@ -1603,7 +1603,7 @@ class Template(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.assertions.Templa
1603
1603
  ) -> typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]:
1604
1604
  '''Get the set of matching Mappings that match the given properties in the CloudFormation template.
1605
1605
 
1606
- :param logical_id: the name of the mapping. Provide ``'*'`` to match all mappings in the template.
1606
+ :param logical_id: the name of the mapping, provide ``'*'`` to match all mappings in the template.
1607
1607
  :param props: by default, matches all Mappings in the template. When a literal object is provided, performs a partial match via ``Match.objectLike()``. Use the ``Match`` APIs to configure a different behaviour.
1608
1608
  '''
1609
1609
  if __debug__:
@@ -1620,7 +1620,7 @@ class Template(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.assertions.Templa
1620
1620
  ) -> typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]:
1621
1621
  '''Get the set of matching Outputs that match the given properties in the CloudFormation template.
1622
1622
 
1623
- :param logical_id: the name of the output. Provide ``'*'`` to match all outputs in the template.
1623
+ :param logical_id: the name of the output, provide ``'*'`` to match all outputs in the template.
1624
1624
  :param props: by default, matches all Outputs in the template. When a literal object is provided, performs a partial match via ``Match.objectLike()``. Use the ``Match`` APIs to configure a different behaviour.
1625
1625
  '''
1626
1626
  if __debug__:
@@ -1637,7 +1637,7 @@ class Template(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.assertions.Templa
1637
1637
  ) -> typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]:
1638
1638
  '''Get the set of matching Parameters that match the given properties in the CloudFormation template.
1639
1639
 
1640
- :param logical_id: the name of the parameter. Provide ``'*'`` to match all parameters in the template.
1640
+ :param logical_id: the name of the parameter, provide ``'*'`` to match all parameters in the template.
1641
1641
  :param props: by default, matches all Parameters in the template. When a literal object is provided, performs a partial match via ``Match.objectLike()``. Use the ``Match`` APIs to configure a different behaviour.
1642
1642
  '''
1643
1643
  if __debug__:
@@ -1670,7 +1670,7 @@ class Template(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.assertions.Templa
1670
1670
  By default, performs partial matching on the resource, via the ``Match.objectLike()``.
1671
1671
  To configure different behavior, use other matchers in the ``Match`` class.
1672
1672
 
1673
- :param logical_id: the name of the mapping. Provide ``'*'`` to match all conditions in the template.
1673
+ :param logical_id: the name of the mapping, provide ``'*'`` to match all conditions in the template.
1674
1674
  :param props: the output as should be expected in the template.
1675
1675
  '''
1676
1676
  if __debug__:
@@ -1686,7 +1686,7 @@ class Template(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.assertions.Templa
1686
1686
  By default, performs partial matching on the resource, via the ``Match.objectLike()``.
1687
1687
  To configure different behavior, use other matchers in the ``Match`` class.
1688
1688
 
1689
- :param logical_id: the name of the mapping. Provide ``'*'`` to match all mappings in the template.
1689
+ :param logical_id: the name of the mapping, provide ``'*'`` to match all mappings in the template.
1690
1690
  :param props: the output as should be expected in the template.
1691
1691
  '''
1692
1692
  if __debug__:
@@ -1702,7 +1702,7 @@ class Template(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.assertions.Templa
1702
1702
  By default, performs partial matching on the resource, via the ``Match.objectLike()``.
1703
1703
  To configure different behavior, use other matchers in the ``Match`` class.
1704
1704
 
1705
- :param logical_id: the name of the output. Provide ``'*'`` to match all outputs in the template.
1705
+ :param logical_id: the name of the output, provide ``'*'`` to match all outputs in the template.
1706
1706
  :param props: the output as should be expected in the template.
1707
1707
  '''
1708
1708
  if __debug__:
@@ -1718,7 +1718,7 @@ class Template(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.assertions.Templa
1718
1718
  By default, performs partial matching on the parameter, via the ``Match.objectLike()``.
1719
1719
  To configure different behavior, use other matchers in the ``Match`` class.
1720
1720
 
1721
- :param logical_id: the name of the parameter. Provide ``'*'`` to match all parameters in the template.
1721
+ :param logical_id: the name of the parameter, provide ``'*'`` to match all parameters in the template.
1722
1722
  :param props: the parameter as should be expected in the template.
1723
1723
  '''
1724
1724
  if __debug__:
@@ -2321,7 +2321,7 @@ class CachePolicyProps:
2321
2321
  '''Properties for creating a Cache Policy.
2322
2322
 
2323
2323
  :param cache_policy_name: A unique name to identify the cache policy. The name must only include '-', '_', or alphanumeric characters. Default: - generated from the ``id``
2324
- :param comment: A comment to describe the cache policy. Default: - no comment
2324
+ :param comment: A comment to describe the cache policy. The comment cannot be longer than 128 characters. Default: - no comment
2325
2325
  :param cookie_behavior: Determines whether any cookies in viewer requests are included in the cache key and automatically included in requests that CloudFront sends to the origin. Default: CacheCookieBehavior.none()
2326
2326
  :param default_ttl: The default amount of time for objects to stay in the CloudFront cache. Only used when the origin does not send Cache-Control or Expires headers with the object. Default: - The greater of 1 day and ``minTtl``
2327
2327
  :param enable_accept_encoding_brotli: Whether to normalize and include the ``Accept-Encoding`` header in the cache key when the ``Accept-Encoding`` header is 'br'. Default: false
@@ -2406,6 +2406,8 @@ class CachePolicyProps:
2406
2406
  def comment(self) -> typing.Optional[builtins.str]:
2407
2407
  '''A comment to describe the cache policy.
2408
2408
 
2409
+ The comment cannot be longer than 128 characters.
2410
+
2409
2411
  :default: - no comment
2410
2412
  '''
2411
2413
  result = self._values.get("comment")
@@ -22691,7 +22693,7 @@ class CachePolicy(
22691
22693
  :param scope: -
22692
22694
  :param id: -
22693
22695
  :param cache_policy_name: A unique name to identify the cache policy. The name must only include '-', '_', or alphanumeric characters. Default: - generated from the ``id``
22694
- :param comment: A comment to describe the cache policy. Default: - no comment
22696
+ :param comment: A comment to describe the cache policy. The comment cannot be longer than 128 characters. Default: - no comment
22695
22697
  :param cookie_behavior: Determines whether any cookies in viewer requests are included in the cache key and automatically included in requests that CloudFront sends to the origin. Default: CacheCookieBehavior.none()
22696
22698
  :param default_ttl: The default amount of time for objects to stay in the CloudFront cache. Only used when the origin does not send Cache-Control or Expires headers with the object. Default: - The greater of 1 day and ``minTtl``
22697
22699
  :param enable_accept_encoding_brotli: Whether to normalize and include the ``Accept-Encoding`` header in the cache key when the ``Accept-Encoding`` header is 'br'. Default: false
@@ -309,15 +309,15 @@ a reserved capacity project. See [Fleet](#fleet) for more information.
309
309
 
310
310
  ## Images
311
311
 
312
- The CodeBuild library supports both Linux and Windows images via the
313
- `LinuxBuildImage` (or `LinuxArmBuildImage`), and `WindowsBuildImage` classes, respectively.
312
+ The CodeBuild library supports Linux, Windows, and Mac images via the
313
+ `LinuxBuildImage` (or `LinuxArmBuildImage`), `WindowsBuildImage`, and `MacBuildImage` classes, respectively.
314
314
  With the introduction of Lambda compute support, the `LinuxLambdaBuildImage ` (or `LinuxArmLambdaBuildImage`) class
315
315
  is available for specifying Lambda-compatible images.
316
316
 
317
317
  You can specify one of the predefined Windows/Linux images by using one
318
318
  of the constants such as `WindowsBuildImage.WIN_SERVER_CORE_2019_BASE`,
319
319
  `WindowsBuildImage.WINDOWS_BASE_2_0`, `LinuxBuildImage.STANDARD_2_0`,
320
- `LinuxBuildImage.AMAZON_LINUX_2_5`, `LinuxArmBuildImage.AMAZON_LINUX_2_ARM`,
320
+ `LinuxBuildImage.AMAZON_LINUX_2_5`, `MacBuildImage.BASE_14`, `LinuxArmBuildImage.AMAZON_LINUX_2_ARM`,
321
321
  `LinuxLambdaBuildImage.AMAZON_LINUX_2_NODE_18` or `LinuxArmLambdaBuildImage.AMAZON_LINUX_2_NODE_18`.
322
322
 
323
323
  Alternatively, you can specify a custom image using one of the static methods on
@@ -336,6 +336,12 @@ or one of the corresponding methods on `WindowsBuildImage`:
336
336
  * `WindowsBuildImage.fromEcrRepository(repo[, tag, imageType])`
337
337
  * `WindowsBuildImage.fromAsset(parent, id, props, [, imageType])`
338
338
 
339
+ or one of the corresponding methods on `MacBuildImage`:
340
+
341
+ * `MacBuildImage.fromDockerRegistry(image[, { secretsManagerCredentials }, imageType])`
342
+ * `MacBuildImage.fromEcrRepository(repo[, tag, imageType])`
343
+ * `MacBuildImage.fromAsset(parent, id, props, [, imageType])`
344
+
339
345
  or one of the corresponding methods on `LinuxArmBuildImage`:
340
346
 
341
347
  * `LinuxArmBuildImage.fromDockerRegistry(image[, { secretsManagerCredentials }])`
@@ -2162,7 +2168,7 @@ class CfnFleet(
2162
2168
  :param environment_type: The environment type of the compute fleet. - The environment type ``ARM_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type ``LINUX_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). - The environment type ``LINUX_GPU_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney). - The environment type ``WINDOWS_SERVER_2019_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland). - The environment type ``WINDOWS_SERVER_2022_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai). For more information, see `Build environment compute types <https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html>`_ in the *AWS CodeBuild user guide* .
2163
2169
  :param fleet_service_role: The service role associated with the compute fleet. For more information, see `Allow a user to add a permission policy for a fleet service role <https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html>`_ in the *AWS CodeBuild User Guide* .
2164
2170
  :param fleet_vpc_config: Information about the VPC configuration that AWS CodeBuild accesses.
2165
- :param image_id:
2171
+ :param image_id: The Amazon Machine Image (AMI) of the compute fleet.
2166
2172
  :param name: The name of the compute fleet.
2167
2173
  :param overflow_behavior: The compute fleet overflow behavior. - For overflow behavior ``QUEUE`` , your overflow builds need to wait on the existing fleet instance to become available. - For overflow behavior ``ON_DEMAND`` , your overflow builds run on CodeBuild on-demand. .. epigraph:: If you choose to set your overflow behavior to on-demand while creating a VPC-connected fleet, make sure that you add the required VPC permissions to your project service role. For more information, see `Example policy statement to allow CodeBuild access to AWS services required to create a VPC network interface <https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-create-vpc-network-interface>`_ .
2168
2174
  :param tags: A list of tag key and value pairs associated with this compute fleet. These tags are available for use by AWS services that support AWS CodeBuild compute fleet tags.
@@ -2311,6 +2317,7 @@ class CfnFleet(
2311
2317
  @builtins.property
2312
2318
  @jsii.member(jsii_name="imageId")
2313
2319
  def image_id(self) -> typing.Optional[builtins.str]:
2320
+ '''The Amazon Machine Image (AMI) of the compute fleet.'''
2314
2321
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "imageId"))
2315
2322
 
2316
2323
  @image_id.setter
@@ -2485,7 +2492,7 @@ class CfnFleetProps:
2485
2492
  :param environment_type: The environment type of the compute fleet. - The environment type ``ARM_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type ``LINUX_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). - The environment type ``LINUX_GPU_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney). - The environment type ``WINDOWS_SERVER_2019_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland). - The environment type ``WINDOWS_SERVER_2022_CONTAINER`` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai). For more information, see `Build environment compute types <https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html>`_ in the *AWS CodeBuild user guide* .
2486
2493
  :param fleet_service_role: The service role associated with the compute fleet. For more information, see `Allow a user to add a permission policy for a fleet service role <https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html>`_ in the *AWS CodeBuild User Guide* .
2487
2494
  :param fleet_vpc_config: Information about the VPC configuration that AWS CodeBuild accesses.
2488
- :param image_id:
2495
+ :param image_id: The Amazon Machine Image (AMI) of the compute fleet.
2489
2496
  :param name: The name of the compute fleet.
2490
2497
  :param overflow_behavior: The compute fleet overflow behavior. - For overflow behavior ``QUEUE`` , your overflow builds need to wait on the existing fleet instance to become available. - For overflow behavior ``ON_DEMAND`` , your overflow builds run on CodeBuild on-demand. .. epigraph:: If you choose to set your overflow behavior to on-demand while creating a VPC-connected fleet, make sure that you add the required VPC permissions to your project service role. For more information, see `Example policy statement to allow CodeBuild access to AWS services required to create a VPC network interface <https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-create-vpc-network-interface>`_ .
2491
2498
  :param tags: A list of tag key and value pairs associated with this compute fleet. These tags are available for use by AWS services that support AWS CodeBuild compute fleet tags.
@@ -2628,7 +2635,8 @@ class CfnFleetProps:
2628
2635
 
2629
2636
  @builtins.property
2630
2637
  def image_id(self) -> typing.Optional[builtins.str]:
2631
- '''
2638
+ '''The Amazon Machine Image (AMI) of the compute fleet.
2639
+
2632
2640
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html#cfn-codebuild-fleet-imageid
2633
2641
  '''
2634
2642
  result = self._values.get("image_id")
@@ -8154,7 +8162,7 @@ class DockerImageOptions:
8154
8162
  *,
8155
8163
  secrets_manager_credentials: typing.Optional[_ISecret_6e020e6a] = None,
8156
8164
  ) -> None:
8157
- '''The options when creating a CodeBuild Docker build image using ``LinuxBuildImage.fromDockerRegistry`` or ``WindowsBuildImage.fromDockerRegistry``.
8165
+ '''The options when creating a CodeBuild Docker build image using ``LinuxBuildImage.fromDockerRegistry``, ``WindowsBuildImage.fromDockerRegistry``, or ``MacBuildImage.fromDockerRegistry``.
8158
8166
 
8159
8167
  :param secrets_manager_credentials: The credentials, stored in Secrets Manager, used for accessing the repository holding the image, if the repository is private. Default: no credentials will be used (we assume the repository is public)
8160
8168
 
@@ -8332,6 +8340,8 @@ class EnvironmentType(enum.Enum):
8332
8340
  '''Windows Server 2019 container.'''
8333
8341
  WINDOWS_SERVER_2022_CONTAINER = "WINDOWS_SERVER_2022_CONTAINER"
8334
8342
  '''Windows Server 2022 container.'''
8343
+ MAC_ARM = "MAC_ARM"
8344
+ '''MacOS ARM container.'''
8335
8345
 
8336
8346
 
8337
8347
  @jsii.enum(jsii_type="aws-cdk-lib.aws_codebuild.EventAction")
@@ -11730,6 +11740,289 @@ class LoggingOptions:
11730
11740
  )
11731
11741
 
11732
11742
 
11743
+ @jsii.implements(IBuildImage)
11744
+ class MacBuildImage(
11745
+ metaclass=jsii.JSIIMeta,
11746
+ jsii_type="aws-cdk-lib.aws_codebuild.MacBuildImage",
11747
+ ):
11748
+ '''A CodeBuild image running ARM MacOS.
11749
+
11750
+ This class has a bunch of public constants that represent the most popular images.
11751
+
11752
+ You can also specify a custom image using one of the static methods:
11753
+
11754
+ - MacBuildImage.fromDockerRegistry(image[, { secretsManagerCredentials }])
11755
+ - MacBuildImage.fromEcrRepository(repo[, tag])
11756
+ - MacBuildImage.fromAsset(parent, id, props)
11757
+
11758
+ :see: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html
11759
+ :exampleMetadata: fixture=_generated
11760
+
11761
+ Example::
11762
+
11763
+ # The code below shows an example of how to instantiate this type.
11764
+ # The values are placeholders you should change.
11765
+ import aws_cdk as cdk
11766
+ from aws_cdk import aws_codebuild as codebuild
11767
+ from aws_cdk import aws_ecr_assets as ecr_assets
11768
+
11769
+ # network_mode: ecr_assets.NetworkMode
11770
+ # platform: ecr_assets.Platform
11771
+
11772
+ mac_build_image = codebuild.MacBuildImage.from_asset(self, "MyMacBuildImage",
11773
+ directory="directory",
11774
+
11775
+ # the properties below are optional
11776
+ asset_name="assetName",
11777
+ build_args={
11778
+ "build_args_key": "buildArgs"
11779
+ },
11780
+ build_secrets={
11781
+ "build_secrets_key": "buildSecrets"
11782
+ },
11783
+ build_ssh="buildSsh",
11784
+ cache_disabled=False,
11785
+ cache_from=[ecr_assets.DockerCacheOption(
11786
+ type="type",
11787
+
11788
+ # the properties below are optional
11789
+ params={
11790
+ "params_key": "params"
11791
+ }
11792
+ )],
11793
+ cache_to=ecr_assets.DockerCacheOption(
11794
+ type="type",
11795
+
11796
+ # the properties below are optional
11797
+ params={
11798
+ "params_key": "params"
11799
+ }
11800
+ ),
11801
+ exclude=["exclude"],
11802
+ extra_hash="extraHash",
11803
+ file="file",
11804
+ follow_symlinks=cdk.SymlinkFollowMode.NEVER,
11805
+ ignore_mode=cdk.IgnoreMode.GLOB,
11806
+ invalidation=ecr_assets.DockerImageAssetInvalidationOptions(
11807
+ build_args=False,
11808
+ build_secrets=False,
11809
+ build_ssh=False,
11810
+ extra_hash=False,
11811
+ file=False,
11812
+ network_mode=False,
11813
+ outputs=False,
11814
+ platform=False,
11815
+ repository_name=False,
11816
+ target=False
11817
+ ),
11818
+ network_mode=network_mode,
11819
+ outputs=["outputs"],
11820
+ platform=platform,
11821
+ target="target"
11822
+ )
11823
+ '''
11824
+
11825
+ @jsii.member(jsii_name="fromAsset")
11826
+ @builtins.classmethod
11827
+ def from_asset(
11828
+ cls,
11829
+ scope: _constructs_77d1e7e8.Construct,
11830
+ id: builtins.str,
11831
+ *,
11832
+ directory: builtins.str,
11833
+ asset_name: typing.Optional[builtins.str] = None,
11834
+ build_args: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11835
+ build_secrets: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
11836
+ build_ssh: typing.Optional[builtins.str] = None,
11837
+ cache_disabled: typing.Optional[builtins.bool] = None,
11838
+ cache_from: typing.Optional[typing.Sequence[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]]] = None,
11839
+ cache_to: typing.Optional[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]] = None,
11840
+ file: typing.Optional[builtins.str] = None,
11841
+ invalidation: typing.Optional[typing.Union[_DockerImageAssetInvalidationOptions_4deb8d45, typing.Dict[builtins.str, typing.Any]]] = None,
11842
+ network_mode: typing.Optional[_NetworkMode_897e5081] = None,
11843
+ outputs: typing.Optional[typing.Sequence[builtins.str]] = None,
11844
+ platform: typing.Optional[_Platform_d16f3cf1] = None,
11845
+ target: typing.Optional[builtins.str] = None,
11846
+ extra_hash: typing.Optional[builtins.str] = None,
11847
+ exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
11848
+ follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
11849
+ ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
11850
+ ) -> IBuildImage:
11851
+ '''Uses an Docker image asset as a ARM MacOS build image.
11852
+
11853
+ :param scope: -
11854
+ :param id: -
11855
+ :param directory: The directory where the Dockerfile is stored. Any directory inside with a name that matches the CDK output folder (cdk.out by default) will be excluded from the asset
11856
+ :param asset_name: Unique identifier of the docker image asset and its potential revisions. Required if using AppScopedStagingSynthesizer. Default: - no asset name
11857
+ :param build_args: Build args to pass to the ``docker build`` command. Since Docker build arguments are resolved before deployment, keys and values cannot refer to unresolved tokens (such as ``lambda.functionArn`` or ``queue.queueUrl``). Default: - no build args are passed
11858
+ :param build_secrets: Build secrets. Docker BuildKit must be enabled to use build secrets. Default: - no build secrets
11859
+ :param build_ssh: SSH agent socket or keys to pass to the ``docker build`` command. Docker BuildKit must be enabled to use the ssh flag Default: - no --ssh flag
11860
+ :param cache_disabled: Disable the cache and pass ``--no-cache`` to the ``docker build`` command. Default: - cache is used
11861
+ :param cache_from: Cache from options to pass to the ``docker build`` command. Default: - no cache from options are passed to the build command
11862
+ :param cache_to: Cache to options to pass to the ``docker build`` command. Default: - no cache to options are passed to the build command
11863
+ :param file: Path to the Dockerfile (relative to the directory). Default: 'Dockerfile'
11864
+ :param invalidation: Options to control which parameters are used to invalidate the asset hash. Default: - hash all parameters
11865
+ :param network_mode: Networking mode for the RUN commands during build. Support docker API 1.25+. Default: - no networking mode specified (the default networking mode ``NetworkMode.DEFAULT`` will be used)
11866
+ :param outputs: Outputs to pass to the ``docker build`` command. Default: - no outputs are passed to the build command (default outputs are used)
11867
+ :param platform: Platform to build for. *Requires Docker Buildx*. Default: - no platform specified (the current machine architecture will be used)
11868
+ :param target: Docker target to build to. Default: - no target
11869
+ :param extra_hash: Extra information to encode into the fingerprint (e.g. build instructions and other inputs). Default: - hash is only based on source content
11870
+ :param exclude: File paths matching the patterns will be excluded. See ``ignoreMode`` to set the matching behavior. Has no effect on Assets bundled using the ``bundling`` property. Default: - nothing is excluded
11871
+ :param follow_symlinks: A strategy for how to handle symlinks. Default: SymlinkFollowMode.NEVER
11872
+ :param ignore_mode: The ignore behavior to use for ``exclude`` patterns. Default: IgnoreMode.GLOB
11873
+ '''
11874
+ if __debug__:
11875
+ type_hints = typing.get_type_hints(_typecheckingstub__aa924aa0600b9706b95a62c612f337f8dde0f0df7d5d3b8c5b48b72793d2f035)
11876
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
11877
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
11878
+ props = _DockerImageAssetProps_6897287d(
11879
+ directory=directory,
11880
+ asset_name=asset_name,
11881
+ build_args=build_args,
11882
+ build_secrets=build_secrets,
11883
+ build_ssh=build_ssh,
11884
+ cache_disabled=cache_disabled,
11885
+ cache_from=cache_from,
11886
+ cache_to=cache_to,
11887
+ file=file,
11888
+ invalidation=invalidation,
11889
+ network_mode=network_mode,
11890
+ outputs=outputs,
11891
+ platform=platform,
11892
+ target=target,
11893
+ extra_hash=extra_hash,
11894
+ exclude=exclude,
11895
+ follow_symlinks=follow_symlinks,
11896
+ ignore_mode=ignore_mode,
11897
+ )
11898
+
11899
+ return typing.cast(IBuildImage, jsii.sinvoke(cls, "fromAsset", [scope, id, props]))
11900
+
11901
+ @jsii.member(jsii_name="fromDockerRegistry")
11902
+ @builtins.classmethod
11903
+ def from_docker_registry(
11904
+ cls,
11905
+ name: builtins.str,
11906
+ *,
11907
+ secrets_manager_credentials: typing.Optional[_ISecret_6e020e6a] = None,
11908
+ ) -> IBuildImage:
11909
+ '''Makes an ARM MacOS build image from a Docker Hub image.
11910
+
11911
+ :param name: -
11912
+ :param secrets_manager_credentials: The credentials, stored in Secrets Manager, used for accessing the repository holding the image, if the repository is private. Default: no credentials will be used (we assume the repository is public)
11913
+ '''
11914
+ if __debug__:
11915
+ type_hints = typing.get_type_hints(_typecheckingstub__3ced24ed51e6d3d02f373fa149177eaedab74dee6bcfb75fb774dc8c44de1400)
11916
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
11917
+ options = DockerImageOptions(
11918
+ secrets_manager_credentials=secrets_manager_credentials
11919
+ )
11920
+
11921
+ return typing.cast(IBuildImage, jsii.sinvoke(cls, "fromDockerRegistry", [name, options]))
11922
+
11923
+ @jsii.member(jsii_name="fromEcrRepository")
11924
+ @builtins.classmethod
11925
+ def from_ecr_repository(
11926
+ cls,
11927
+ repository: _IRepository_e6004aa6,
11928
+ tag_or_digest: typing.Optional[builtins.str] = None,
11929
+ ) -> IBuildImage:
11930
+ '''Makes an ARM MacOS build image from an ECR repository.
11931
+
11932
+ :param repository: -
11933
+ :param tag_or_digest: -
11934
+ '''
11935
+ if __debug__:
11936
+ type_hints = typing.get_type_hints(_typecheckingstub__86c63517f15ffab752d46ab62cdbf8292d45fa89a328c7481f83993a790eb5ee)
11937
+ check_type(argname="argument repository", value=repository, expected_type=type_hints["repository"])
11938
+ check_type(argname="argument tag_or_digest", value=tag_or_digest, expected_type=type_hints["tag_or_digest"])
11939
+ return typing.cast(IBuildImage, jsii.sinvoke(cls, "fromEcrRepository", [repository, tag_or_digest]))
11940
+
11941
+ @jsii.member(jsii_name="runScriptBuildspec")
11942
+ def run_script_buildspec(self, entrypoint: builtins.str) -> BuildSpec:
11943
+ '''Make a buildspec to run the indicated script.
11944
+
11945
+ :param entrypoint: -
11946
+ '''
11947
+ if __debug__:
11948
+ type_hints = typing.get_type_hints(_typecheckingstub__088f043d10fcd15701414055dc0a14f58d71044ecaba5c848f1c97225e6000fe)
11949
+ check_type(argname="argument entrypoint", value=entrypoint, expected_type=type_hints["entrypoint"])
11950
+ return typing.cast(BuildSpec, jsii.invoke(self, "runScriptBuildspec", [entrypoint]))
11951
+
11952
+ @jsii.member(jsii_name="validate")
11953
+ def validate(
11954
+ self,
11955
+ *,
11956
+ build_image: typing.Optional[IBuildImage] = None,
11957
+ certificate: typing.Optional[typing.Union[BuildEnvironmentCertificate, typing.Dict[builtins.str, typing.Any]]] = None,
11958
+ compute_type: typing.Optional[ComputeType] = None,
11959
+ environment_variables: typing.Optional[typing.Mapping[builtins.str, typing.Union[BuildEnvironmentVariable, typing.Dict[builtins.str, typing.Any]]]] = None,
11960
+ fleet: typing.Optional[IFleet] = None,
11961
+ privileged: typing.Optional[builtins.bool] = None,
11962
+ ) -> typing.List[builtins.str]:
11963
+ '''Allows the image a chance to validate whether the passed configuration is correct.
11964
+
11965
+ :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_1_0
11966
+ :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
11967
+ :param compute_type: The type of compute to use for this build. See the ``ComputeType`` enum for the possible values. Default: taken from ``#buildImage#defaultComputeType``
11968
+ :param environment_variables: The environment variables that your builds can use.
11969
+ :param fleet: Fleet resource for a reserved capacity CodeBuild project. Fleets allow for process builds or tests to run immediately and reduces build durations, by reserving compute resources for your projects. You will be charged for the resources in the fleet, even if they are idle. Default: - No fleet will be attached to the project, which will remain on-demand.
11970
+ :param privileged: Indicates how the project builds Docker images. Specify true to enable running the Docker daemon inside a Docker container. This value must be set to true only if this build project will be used to build Docker images, and the specified build environment image is not one provided by AWS CodeBuild with Docker support. Otherwise, all associated builds that attempt to interact with the Docker daemon will fail. Default: false
11971
+ '''
11972
+ build_environment = BuildEnvironment(
11973
+ build_image=build_image,
11974
+ certificate=certificate,
11975
+ compute_type=compute_type,
11976
+ environment_variables=environment_variables,
11977
+ fleet=fleet,
11978
+ privileged=privileged,
11979
+ )
11980
+
11981
+ return typing.cast(typing.List[builtins.str], jsii.invoke(self, "validate", [build_environment]))
11982
+
11983
+ @jsii.python.classproperty
11984
+ @jsii.member(jsii_name="BASE_14")
11985
+ def BASE_14(cls) -> IBuildImage:
11986
+ '''Corresponds to the standard CodeBuild image ``aws/codebuild/macos-arm-base:14``.'''
11987
+ return typing.cast(IBuildImage, jsii.sget(cls, "BASE_14"))
11988
+
11989
+ @builtins.property
11990
+ @jsii.member(jsii_name="defaultComputeType")
11991
+ def default_compute_type(self) -> ComputeType:
11992
+ '''The default ``ComputeType`` to use with this image, if one was not specified in ``BuildEnvironment#computeType`` explicitly.'''
11993
+ return typing.cast(ComputeType, jsii.get(self, "defaultComputeType"))
11994
+
11995
+ @builtins.property
11996
+ @jsii.member(jsii_name="imageId")
11997
+ def image_id(self) -> builtins.str:
11998
+ '''The Docker image identifier that the build environment uses.'''
11999
+ return typing.cast(builtins.str, jsii.get(self, "imageId"))
12000
+
12001
+ @builtins.property
12002
+ @jsii.member(jsii_name="type")
12003
+ def type(self) -> builtins.str:
12004
+ '''The type of build environment.'''
12005
+ return typing.cast(builtins.str, jsii.get(self, "type"))
12006
+
12007
+ @builtins.property
12008
+ @jsii.member(jsii_name="imagePullPrincipalType")
12009
+ def image_pull_principal_type(self) -> typing.Optional[ImagePullPrincipalType]:
12010
+ '''The type of principal that CodeBuild will use to pull this build Docker image.'''
12011
+ return typing.cast(typing.Optional[ImagePullPrincipalType], jsii.get(self, "imagePullPrincipalType"))
12012
+
12013
+ @builtins.property
12014
+ @jsii.member(jsii_name="repository")
12015
+ def repository(self) -> typing.Optional[_IRepository_e6004aa6]:
12016
+ '''An optional ECR repository that the image is hosted in.'''
12017
+ return typing.cast(typing.Optional[_IRepository_e6004aa6], jsii.get(self, "repository"))
12018
+
12019
+ @builtins.property
12020
+ @jsii.member(jsii_name="secretsManagerCredentials")
12021
+ def secrets_manager_credentials(self) -> typing.Optional[_ISecret_6e020e6a]:
12022
+ '''The secretsManagerCredentials for access to a private registry.'''
12023
+ return typing.cast(typing.Optional[_ISecret_6e020e6a], jsii.get(self, "secretsManagerCredentials"))
12024
+
12025
+
11733
12026
  class PhaseChangeEvent(
11734
12027
  metaclass=jsii.JSIIMeta,
11735
12028
  jsii_type="aws-cdk-lib.aws_codebuild.PhaseChangeEvent",
@@ -17051,6 +17344,7 @@ __all__ = [
17051
17344
  "LinuxLambdaBuildImage",
17052
17345
  "LocalCacheMode",
17053
17346
  "LoggingOptions",
17347
+ "MacBuildImage",
17054
17348
  "PhaseChangeEvent",
17055
17349
  "PipelineProject",
17056
17350
  "PipelineProjectProps",
@@ -18340,6 +18634,53 @@ def _typecheckingstub__8f582462b349e223e49bf3524c963794211ae94781bdfcfe2a00802c6
18340
18634
  """Type checking stubs"""
18341
18635
  pass
18342
18636
 
18637
+ def _typecheckingstub__aa924aa0600b9706b95a62c612f337f8dde0f0df7d5d3b8c5b48b72793d2f035(
18638
+ scope: _constructs_77d1e7e8.Construct,
18639
+ id: builtins.str,
18640
+ *,
18641
+ directory: builtins.str,
18642
+ asset_name: typing.Optional[builtins.str] = None,
18643
+ build_args: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
18644
+ build_secrets: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
18645
+ build_ssh: typing.Optional[builtins.str] = None,
18646
+ cache_disabled: typing.Optional[builtins.bool] = None,
18647
+ cache_from: typing.Optional[typing.Sequence[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]]] = None,
18648
+ cache_to: typing.Optional[typing.Union[_DockerCacheOption_58ef18ca, typing.Dict[builtins.str, typing.Any]]] = None,
18649
+ file: typing.Optional[builtins.str] = None,
18650
+ invalidation: typing.Optional[typing.Union[_DockerImageAssetInvalidationOptions_4deb8d45, typing.Dict[builtins.str, typing.Any]]] = None,
18651
+ network_mode: typing.Optional[_NetworkMode_897e5081] = None,
18652
+ outputs: typing.Optional[typing.Sequence[builtins.str]] = None,
18653
+ platform: typing.Optional[_Platform_d16f3cf1] = None,
18654
+ target: typing.Optional[builtins.str] = None,
18655
+ extra_hash: typing.Optional[builtins.str] = None,
18656
+ exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
18657
+ follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
18658
+ ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
18659
+ ) -> None:
18660
+ """Type checking stubs"""
18661
+ pass
18662
+
18663
+ def _typecheckingstub__3ced24ed51e6d3d02f373fa149177eaedab74dee6bcfb75fb774dc8c44de1400(
18664
+ name: builtins.str,
18665
+ *,
18666
+ secrets_manager_credentials: typing.Optional[_ISecret_6e020e6a] = None,
18667
+ ) -> None:
18668
+ """Type checking stubs"""
18669
+ pass
18670
+
18671
+ def _typecheckingstub__86c63517f15ffab752d46ab62cdbf8292d45fa89a328c7481f83993a790eb5ee(
18672
+ repository: _IRepository_e6004aa6,
18673
+ tag_or_digest: typing.Optional[builtins.str] = None,
18674
+ ) -> None:
18675
+ """Type checking stubs"""
18676
+ pass
18677
+
18678
+ def _typecheckingstub__088f043d10fcd15701414055dc0a14f58d71044ecaba5c848f1c97225e6000fe(
18679
+ entrypoint: builtins.str,
18680
+ ) -> None:
18681
+ """Type checking stubs"""
18682
+ pass
18683
+
18343
18684
  def _typecheckingstub__cad18ebbb1c05a6adb06360d9baca4a0658b2f85c2078bc257ed8d4f8467c35e(
18344
18685
  *,
18345
18686
  allow_all_outbound: typing.Optional[builtins.bool] = None,