com.cloudsnorkel.cdk.github.runners.ImageBuilderAsset Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cdk.github.runners Show documentation
Show all versions of cdk.github.runners Show documentation
CDK construct to create GitHub Actions self-hosted runners. A webhook listens to events and creates ephemeral runners on the fly.
package com.cloudsnorkel.cdk.github.runners;
/**
* (experimental) An asset including file or directory to place inside the built image.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-14T02:42:19.518Z")
@software.amazon.jsii.Jsii(module = com.cloudsnorkel.cdk.github.runners.$Module.class, fqn = "@cloudsnorkel/cdk-github-runners.ImageBuilderAsset")
@software.amazon.jsii.Jsii.Proxy(ImageBuilderAsset.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface ImageBuilderAsset extends software.amazon.jsii.JsiiSerializable {
/**
* (experimental) Asset to place in the image.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@org.jetbrains.annotations.NotNull software.amazon.awscdk.services.s3.assets.Asset getAsset();
/**
* (experimental) Path to place asset in the image.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@org.jetbrains.annotations.NotNull java.lang.String getPath();
/**
* @return a {@link Builder} of {@link ImageBuilderAsset}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link ImageBuilderAsset}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static final class Builder implements software.amazon.jsii.Builder {
software.amazon.awscdk.services.s3.assets.Asset asset;
java.lang.String path;
/**
* Sets the value of {@link ImageBuilderAsset#getAsset}
* @param asset Asset to place in the image. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder asset(software.amazon.awscdk.services.s3.assets.Asset asset) {
this.asset = asset;
return this;
}
/**
* Sets the value of {@link ImageBuilderAsset#getPath}
* @param path Path to place asset in the image. This parameter is required.
* @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;
}
/**
* Builds the configured instance.
* @return a new instance of {@link ImageBuilderAsset}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public ImageBuilderAsset build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link ImageBuilderAsset}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ImageBuilderAsset {
private final software.amazon.awscdk.services.s3.assets.Asset asset;
private final java.lang.String path;
/**
* 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.asset = software.amazon.jsii.Kernel.get(this, "asset", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.s3.assets.Asset.class));
this.path = software.amazon.jsii.Kernel.get(this, "path", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.asset = java.util.Objects.requireNonNull(builder.asset, "asset is required");
this.path = java.util.Objects.requireNonNull(builder.path, "path is required");
}
@Override
public final software.amazon.awscdk.services.s3.assets.Asset getAsset() {
return this.asset;
}
@Override
public final java.lang.String getPath() {
return this.path;
}
@Override
@software.amazon.jsii.Internal
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("asset", om.valueToTree(this.getAsset()));
data.set("path", om.valueToTree(this.getPath()));
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@cloudsnorkel/cdk-github-runners.ImageBuilderAsset"));
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 final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ImageBuilderAsset.Jsii$Proxy that = (ImageBuilderAsset.Jsii$Proxy) o;
if (!asset.equals(that.asset)) return false;
return this.path.equals(that.path);
}
@Override
public final int hashCode() {
int result = this.asset.hashCode();
result = 31 * result + (this.path.hashCode());
return result;
}
}
}