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.126.0 (build 206d44b)", date="2026-02-03T13:58:34.851Z") @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());
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
    protected
    S3ComponentData(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    S3ComponentData(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected IBucket
     
    protected String
     
    (experimental) Grant put permissions to the given grantee for the component data in S3 [disable-awslint:no-grants].
    (experimental) Grant read permissions to the given grantee for the component data in S3 [disable-awslint:no-grants].
    (experimental) The rendered component data text, for use in CloudFormation.

    Methods inherited from class software.amazon.awscdk.services.imagebuilder.alpha.ComponentData

    fromAsset, fromAsset, fromComponentDocumentJsonObject, fromInline, fromJsonObject, fromS3

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • 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 [disable-awslint:no-grants].

      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 [disable-awslint:no-grants].

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

      @Stability(Experimental) @NotNull public ComponentDataConfig render()
      (experimental) The rendered component data text, for use in CloudFormation.
      Specified by:
      render in class ComponentData
    • getBucket

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

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