aws-cdk-lib 2.154.1__py3-none-any.whl → 2.156.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 (37) hide show
  1. aws_cdk/__init__.py +2 -2
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.154.1.jsii.tgz → aws-cdk-lib@2.156.0.jsii.tgz} +0 -0
  4. aws_cdk/assertions/__init__.py +17 -17
  5. aws_cdk/aws_bedrock/__init__.py +22 -4
  6. aws_cdk/aws_cloudfront/__init__.py +654 -59
  7. aws_cdk/aws_cloudfront_origins/__init__.py +2034 -91
  8. aws_cdk/aws_codebuild/__init__.py +349 -8
  9. aws_cdk/aws_docdb/__init__.py +78 -6
  10. aws_cdk/aws_ec2/__init__.py +250 -61
  11. aws_cdk/aws_ecs/__init__.py +18 -14
  12. aws_cdk/aws_ecs_patterns/__init__.py +129 -11
  13. aws_cdk/aws_eks/__init__.py +74 -8
  14. aws_cdk/aws_elasticloadbalancingv2/__init__.py +22 -46
  15. aws_cdk/aws_events/__init__.py +40 -14
  16. aws_cdk/aws_events_targets/__init__.py +357 -0
  17. aws_cdk/aws_iam/__init__.py +7 -8
  18. aws_cdk/aws_ivs/__init__.py +10 -8
  19. aws_cdk/aws_kms/__init__.py +89 -10
  20. aws_cdk/aws_lambda/__init__.py +38 -23
  21. aws_cdk/aws_lambda_event_sources/__init__.py +27 -0
  22. aws_cdk/aws_rds/__init__.py +12 -0
  23. aws_cdk/aws_s3/__init__.py +13 -14
  24. aws_cdk/aws_secretsmanager/__init__.py +3 -2
  25. aws_cdk/aws_ses/__init__.py +7 -7
  26. aws_cdk/aws_ssmcontacts/__init__.py +12 -0
  27. aws_cdk/aws_stepfunctions/__init__.py +12 -14
  28. aws_cdk/aws_stepfunctions_tasks/__init__.py +178 -41
  29. aws_cdk/aws_synthetics/__init__.py +26 -0
  30. aws_cdk/custom_resources/__init__.py +106 -1
  31. aws_cdk/cx_api/__init__.py +16 -0
  32. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/METADATA +1 -1
  33. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/RECORD +37 -37
  34. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/LICENSE +0 -0
  35. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/NOTICE +0 -0
  36. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/WHEEL +0 -0
  37. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/top_level.txt +0 -0
@@ -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")
@@ -10822,7 +10832,7 @@ class LinuxArmBuildImage(
10822
10832
  fleet: typing.Optional[IFleet] = None,
10823
10833
  privileged: typing.Optional[builtins.bool] = None,
10824
10834
  ) -> typing.List[builtins.str]:
10825
- '''Validates by checking the BuildEnvironment computeType as aarch64 images only support ComputeType.SMALL and ComputeType.LARGE.
10835
+ '''Validates by checking the BuildEnvironments' images are not Lambda ComputeTypes.
10826
10836
 
10827
10837
  :param build_image: The image used for the builds. Default: LinuxBuildImage.STANDARD_1_0
10828
10838
  :param certificate: The location of the PEM-encoded certificate for the build project. Default: - No external certificate is added to the project
@@ -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,