All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awscdk.services.s3.assets.AssetProps Maven / Gradle / Ivy

There is a newer version: 1.204.0
Show newest version
package software.amazon.awscdk.services.s3.assets;

/**
 * EXPERIMENTAL
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.5.0 (build 46538f8)", date = "2020-05-21T11:01:45.886Z")
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.s3.assets.$Module.class, fqn = "@aws-cdk/aws-s3-assets.AssetProps")
@software.amazon.jsii.Jsii.Proxy(AssetProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface AssetProps extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.services.s3.assets.AssetOptions {

    /**
     * The disk location of the asset.
     * 

* The path should refer to one of the following: *

*

    *
  • A regular file or a .zip file, in which case the file will be uploaded as-is to S3.
  • *
  • A directory, in which case it will be archived into a .zip file and uploaded to S3.
  • *
*

* EXPERIMENTAL */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.String getPath(); /** * @return a {@link Builder} of {@link AssetProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link AssetProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder { private java.lang.String path; private java.util.List readers; private java.lang.String sourceHash; private java.util.List exclude; private software.amazon.awscdk.assets.FollowMode follow; /** * Sets the value of {@link AssetProps#getPath} * @param path The disk location of the asset. This parameter is required. * The path should refer to one of the following: *

*

    *
  • A regular file or a .zip file, in which case the file will be uploaded as-is to S3.
  • *
  • A directory, in which case it will be archived into a .zip file and uploaded to S3.
  • *
* @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder path(java.lang.String path) { this.path = path; return this; } /** * Sets the value of {@link AssetProps#getReaders} * @param readers A list of principals that should be able to read this asset from S3. * You can use asset.grantRead(principal) to grant read permissions later. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder readers(java.util.List readers) { this.readers = readers; return this; } /** * Sets the value of {@link AssetProps#getSourceHash} * @param sourceHash Custom source hash to use when identifying the specific version of the asset. * NOTE: the source hash is used in order to identify a specific revision of the asset, * and used for optimizing and caching deployment activities related to this asset such as * packaging, uploading to Amazon S3, etc. If you chose to customize the source hash, * you will need to make sure it is updated every time the source changes, or otherwise * it is possible that some deployments will not be invalidated. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder sourceHash(java.lang.String sourceHash) { this.sourceHash = sourceHash; return this; } /** * Sets the value of {@link AssetProps#getExclude} * @param exclude Glob patterns to exclude from the copy. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder exclude(java.util.List exclude) { this.exclude = exclude; return this; } /** * Sets the value of {@link AssetProps#getFollow} * @param follow A strategy for how to handle symlinks. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder follow(software.amazon.awscdk.assets.FollowMode follow) { this.follow = follow; return this; } /** * Builds the configured instance. * @return a new instance of {@link AssetProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public AssetProps build() { return new Jsii$Proxy(path, readers, sourceHash, exclude, follow); } } /** * An implementation for {@link AssetProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements AssetProps { private final java.lang.String path; private final java.util.List readers; private final java.lang.String sourceHash; private final java.util.List exclude; private final software.amazon.awscdk.assets.FollowMode follow; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.path = this.jsiiGet("path", java.lang.String.class); this.readers = this.jsiiGet("readers", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.IGrantable.class))); this.sourceHash = this.jsiiGet("sourceHash", java.lang.String.class); this.exclude = this.jsiiGet("exclude", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.follow = this.jsiiGet("follow", software.amazon.awscdk.assets.FollowMode.class); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ private Jsii$Proxy(final java.lang.String path, final java.util.List readers, final java.lang.String sourceHash, final java.util.List exclude, final software.amazon.awscdk.assets.FollowMode follow) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.path = java.util.Objects.requireNonNull(path, "path is required"); this.readers = readers; this.sourceHash = sourceHash; this.exclude = exclude; this.follow = follow; } @Override public java.lang.String getPath() { return this.path; } @Override public java.util.List getReaders() { return this.readers; } @Override public java.lang.String getSourceHash() { return this.sourceHash; } @Override public java.util.List getExclude() { return this.exclude; } @Override public software.amazon.awscdk.assets.FollowMode getFollow() { return this.follow; } @Override public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("path", om.valueToTree(this.getPath())); if (this.getReaders() != null) { data.set("readers", om.valueToTree(this.getReaders())); } if (this.getSourceHash() != null) { data.set("sourceHash", om.valueToTree(this.getSourceHash())); } if (this.getExclude() != null) { data.set("exclude", om.valueToTree(this.getExclude())); } if (this.getFollow() != null) { data.set("follow", om.valueToTree(this.getFollow())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-s3-assets.AssetProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; AssetProps.Jsii$Proxy that = (AssetProps.Jsii$Proxy) o; if (!path.equals(that.path)) return false; if (this.readers != null ? !this.readers.equals(that.readers) : that.readers != null) return false; if (this.sourceHash != null ? !this.sourceHash.equals(that.sourceHash) : that.sourceHash != null) return false; if (this.exclude != null ? !this.exclude.equals(that.exclude) : that.exclude != null) return false; return this.follow != null ? this.follow.equals(that.follow) : that.follow == null; } @Override public int hashCode() { int result = this.path.hashCode(); result = 31 * result + (this.readers != null ? this.readers.hashCode() : 0); result = 31 * result + (this.sourceHash != null ? this.sourceHash.hashCode() : 0); result = 31 * result + (this.exclude != null ? this.exclude.hashCode() : 0); result = 31 * result + (this.follow != null ? this.follow.hashCode() : 0); return result; } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy