
software.amazon.awscdk.services.ecr.assets.TarballImageAsset Maven / Gradle / Ivy
package software.amazon.awscdk.services.ecr.assets;
/**
* An asset that represents a Docker image.
*
* The image will loaded from an existing tarball and uploaded to an ECR repository.
*
* Example:
*
*
* import software.amazon.awscdk.services.ecr.assets.TarballImageAsset;
* TarballImageAsset asset = TarballImageAsset.Builder.create(this, "MyBuildImage")
* .tarballFile("local-image.tar")
* .build();
*
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.63.2 (build a8a8833)", date = "2022-08-17T17:31:13.766Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.ecr.assets.$Module.class, fqn = "@aws-cdk/aws-ecr-assets.TarballImageAsset")
public class TarballImageAsset extends software.amazon.awscdk.core.Construct implements software.amazon.awscdk.assets.IAsset {
protected TarballImageAsset(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected TarballImageAsset(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param scope This parameter is required.
* @param id This parameter is required.
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public TarballImageAsset(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ecr.assets.TarballImageAssetProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") });
}
/**
* A hash of this asset, which is available at construction time.
*
* As this is a plain string, it
* can be used in construct IDs in order to enforce creation of a new resource when the content
* hash has changed.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getAssetHash() {
return software.amazon.jsii.Kernel.get(this, "assetHash", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* (deprecated) A hash of the source of this asset, which is available at construction time.
*
* As this is a plain
* string, it can be used in construct IDs in order to enforce creation of a new resource when
* the content hash has changed.
*
* @deprecated use assetHash
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public @org.jetbrains.annotations.NotNull java.lang.String getSourceHash() {
return software.amazon.jsii.Kernel.get(this, "sourceHash", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The full URI of the image (including a tag).
*
* Use this reference to pull
* the asset.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.lang.String getImageUri() {
return software.amazon.jsii.Kernel.get(this, "imageUri", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The full URI of the image (including a tag).
*
* Use this reference to pull
* the asset.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setImageUri(final @org.jetbrains.annotations.NotNull java.lang.String value) {
software.amazon.jsii.Kernel.set(this, "imageUri", java.util.Objects.requireNonNull(value, "imageUri is required"));
}
/**
* Repository where the image is stored.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ecr.IRepository getRepository() {
return software.amazon.jsii.Kernel.get(this, "repository", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecr.IRepository.class));
}
/**
* Repository where the image is stored.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public void setRepository(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ecr.IRepository value) {
software.amazon.jsii.Kernel.set(this, "repository", java.util.Objects.requireNonNull(value, "repository is required"));
}
/**
* A fluent builder for {@link software.amazon.awscdk.services.ecr.assets.TarballImageAsset}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope This parameter is required.
* @param id This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create(final software.constructs.Construct scope, final java.lang.String id) {
return new Builder(scope, id);
}
private final software.constructs.Construct scope;
private final java.lang.String id;
private final software.amazon.awscdk.services.ecr.assets.TarballImageAssetProps.Builder props;
private Builder(final software.constructs.Construct scope, final java.lang.String id) {
this.scope = scope;
this.id = id;
this.props = new software.amazon.awscdk.services.ecr.assets.TarballImageAssetProps.Builder();
}
/**
* Absolute path to the tarball.
*
* It is recommended to to use the script running directory (e.g. __dirname
* in Node.js projects or dirname of __file__
in Python) if your tarball
* is located as a resource inside your project.
*
* @return {@code this}
* @param tarballFile Absolute path to the tarball. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder tarballFile(final java.lang.String tarballFile) {
this.props.tarballFile(tarballFile);
return this;
}
/**
* @returns a newly built instance of {@link software.amazon.awscdk.services.ecr.assets.TarballImageAsset}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public software.amazon.awscdk.services.ecr.assets.TarballImageAsset build() {
return new software.amazon.awscdk.services.ecr.assets.TarballImageAsset(
this.scope,
this.id,
this.props.build()
);
}
}
}