java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.imagebuilder.alpha.ComponentData
software.amazon.awscdk.services.imagebuilder.alpha.S3ComponentData
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.119.0 (build 1634eac)", date="2025-11-20T23:37:34.468Z") @Stability(Experimental) public abstract class S3ComponentData extends ComponentData
(experimental) Helper class for S3-based component data references, containing additional permission grant methods on the S3 object.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.imagebuilder.alpha.*;
 import software.amazon.awscdk.*;
 import software.amazon.awscdk.services.iam.*;
 import software.amazon.awscdk.interfaces.kms.*;
 DockerImage dockerImage;
 IGrantable grantable;
 IKeyRef keyRef;
 ILocalBundling localBundling;
 S3ComponentData s3ComponentData = S3ComponentData.fromAsset(this, "MyS3ComponentData", "path", AssetOptions.builder()
         .assetHash("assetHash")
         .assetHashType(AssetHashType.SOURCE)
         .bundling(BundlingOptions.builder()
                 .image(dockerImage)
                 // the properties below are optional
                 .bundlingFileAccess(BundlingFileAccess.VOLUME_COPY)
                 .command(List.of("command"))
                 .entrypoint(List.of("entrypoint"))
                 .environment(Map.of(
                         "environmentKey", "environment"))
                 .local(localBundling)
                 .network("network")
                 .outputType(BundlingOutput.ARCHIVED)
                 .platform("platform")
                 .securityOpt("securityOpt")
                 .user("user")
                 .volumes(List.of(DockerVolume.builder()
                         .containerPath("containerPath")
                         .hostPath("hostPath")
                         // the properties below are optional
                         .consistency(DockerVolumeConsistency.CONSISTENT)
                         .build()))
                 .volumesFrom(List.of("volumesFrom"))
                 .workingDirectory("workingDirectory")
                 .build())
         .deployTime(false)
         .displayName("displayName")
         .exclude(List.of("exclude"))
         .followSymlinks(SymlinkFollowMode.NEVER)
         .ignoreMode(IgnoreMode.GLOB)
         .readers(List.of(grantable))
         .sourceKMSKey(keyRef)
         .build());
 
  • Constructor Details

    • S3ComponentData

      protected S3ComponentData(software.amazon.jsii.JsiiObjectRef objRef)
    • S3ComponentData

      protected S3ComponentData(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • S3ComponentData

      @Stability(Experimental) protected S3ComponentData(@NotNull IBucket bucket, @NotNull String key)
      Parameters:
      bucket - This parameter is required.
      key - This parameter is required.
  • Method Details

    • grantPut

      @Stability(Experimental) @NotNull public Grant grantPut(@NotNull IGrantable grantee)
      (experimental) Grant put permissions to the given grantee for the component data in S3.

      Parameters:
      grantee - The principal. This parameter is required.
    • grantRead

      @Stability(Experimental) @NotNull public Grant grantRead(@NotNull IGrantable grantee)
      (experimental) Grant read permissions to the given grantee for the component data in S3.

      Parameters:
      grantee - The principal. This parameter is required.
    • getBucket

      @Stability(Experimental) @NotNull protected IBucket getBucket()
    • getIsS3Reference

      @Stability(Experimental) @NotNull public Boolean getIsS3Reference()
      (experimental) Indicates that the provided component data is an S3 reference.
      Specified by:
      getIsS3Reference in class ComponentData
    • getKey

      @Stability(Experimental) @NotNull protected String getKey()