io.github.randyridgley.cdk.datalake.constructs.GlueJobProperties Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cdk-datalake-constructs Show documentation
Show all versions of cdk-datalake-constructs Show documentation
AWS CDK Constructs that can be used to create datalakes/meshes and more
package io.github.randyridgley.cdk.datalake.constructs;
/**
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.58.0 (build f8ba112)", date = "2022-05-10T19:23:44.613Z")
@software.amazon.jsii.Jsii(module = io.github.randyridgley.cdk.datalake.constructs.$Module.class, fqn = "@randyridgley/cdk-datalake-constructs.GlueJobProperties")
@software.amazon.jsii.Jsii.Proxy(GlueJobProperties.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface GlueJobProperties extends software.amazon.jsii.JsiiSerializable {
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull software.amazon.awscdk.services.s3.IBucket getDeploymentBucket();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getJobScript();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull io.github.randyridgley.cdk.datalake.constructs.GlueJobType getJobType();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getName();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull io.github.randyridgley.cdk.datalake.constructs.GlueWorkerType getWorkerType();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getDescription() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable io.github.randyridgley.cdk.datalake.constructs.GlueVersion getGlueVersion() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.Map getJobArgs() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMaxCapacity() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMaxConcurrentRuns() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getMaxRetries() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getNumberOfWorkers() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getReadAccessBuckets() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getRoleName() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getTimeout() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getWriteAccessBuckets() {
return null;
}
/**
* @return a {@link Builder} of {@link GlueJobProperties}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link GlueJobProperties}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
software.amazon.awscdk.services.s3.IBucket deploymentBucket;
java.lang.String jobScript;
io.github.randyridgley.cdk.datalake.constructs.GlueJobType jobType;
java.lang.String name;
io.github.randyridgley.cdk.datalake.constructs.GlueWorkerType workerType;
java.lang.String description;
io.github.randyridgley.cdk.datalake.constructs.GlueVersion glueVersion;
java.util.Map jobArgs;
java.lang.Number maxCapacity;
java.lang.Number maxConcurrentRuns;
java.lang.Number maxRetries;
java.lang.Number numberOfWorkers;
java.util.List readAccessBuckets;
java.lang.String roleName;
java.lang.Number timeout;
java.util.List writeAccessBuckets;
/**
* Sets the value of {@link GlueJobProperties#getDeploymentBucket}
* @param deploymentBucket the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder deploymentBucket(software.amazon.awscdk.services.s3.IBucket deploymentBucket) {
this.deploymentBucket = deploymentBucket;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getJobScript}
* @param jobScript the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder jobScript(java.lang.String jobScript) {
this.jobScript = jobScript;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getJobType}
* @param jobType the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder jobType(io.github.randyridgley.cdk.datalake.constructs.GlueJobType jobType) {
this.jobType = jobType;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getName}
* @param name the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder name(java.lang.String name) {
this.name = name;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getWorkerType}
* @param workerType the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder workerType(io.github.randyridgley.cdk.datalake.constructs.GlueWorkerType workerType) {
this.workerType = workerType;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getDescription}
* @param description the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder description(java.lang.String description) {
this.description = description;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getGlueVersion}
* @param glueVersion the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder glueVersion(io.github.randyridgley.cdk.datalake.constructs.GlueVersion glueVersion) {
this.glueVersion = glueVersion;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getJobArgs}
* @param jobArgs the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder jobArgs(java.util.Map jobArgs) {
this.jobArgs = jobArgs;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getMaxCapacity}
* @param maxCapacity the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder maxCapacity(java.lang.Number maxCapacity) {
this.maxCapacity = maxCapacity;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getMaxConcurrentRuns}
* @param maxConcurrentRuns the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder maxConcurrentRuns(java.lang.Number maxConcurrentRuns) {
this.maxConcurrentRuns = maxConcurrentRuns;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getMaxRetries}
* @param maxRetries the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder maxRetries(java.lang.Number maxRetries) {
this.maxRetries = maxRetries;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getNumberOfWorkers}
* @param numberOfWorkers the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder numberOfWorkers(java.lang.Number numberOfWorkers) {
this.numberOfWorkers = numberOfWorkers;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getReadAccessBuckets}
* @param readAccessBuckets the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder readAccessBuckets(java.util.List extends software.amazon.awscdk.services.s3.IBucket> readAccessBuckets) {
this.readAccessBuckets = (java.util.List)readAccessBuckets;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getRoleName}
* @param roleName the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder roleName(java.lang.String roleName) {
this.roleName = roleName;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getTimeout}
* @param timeout the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder timeout(java.lang.Number timeout) {
this.timeout = timeout;
return this;
}
/**
* Sets the value of {@link GlueJobProperties#getWriteAccessBuckets}
* @param writeAccessBuckets the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder writeAccessBuckets(java.util.List extends software.amazon.awscdk.services.s3.IBucket> writeAccessBuckets) {
this.writeAccessBuckets = (java.util.List)writeAccessBuckets;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link GlueJobProperties}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public GlueJobProperties build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link GlueJobProperties}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements GlueJobProperties {
private final software.amazon.awscdk.services.s3.IBucket deploymentBucket;
private final java.lang.String jobScript;
private final io.github.randyridgley.cdk.datalake.constructs.GlueJobType jobType;
private final java.lang.String name;
private final io.github.randyridgley.cdk.datalake.constructs.GlueWorkerType workerType;
private final java.lang.String description;
private final io.github.randyridgley.cdk.datalake.constructs.GlueVersion glueVersion;
private final java.util.Map jobArgs;
private final java.lang.Number maxCapacity;
private final java.lang.Number maxConcurrentRuns;
private final java.lang.Number maxRetries;
private final java.lang.Number numberOfWorkers;
private final java.util.List readAccessBuckets;
private final java.lang.String roleName;
private final java.lang.Number timeout;
private final java.util.List writeAccessBuckets;
/**
* 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.deploymentBucket = software.amazon.jsii.Kernel.get(this, "deploymentBucket", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.s3.IBucket.class));
this.jobScript = software.amazon.jsii.Kernel.get(this, "jobScript", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.jobType = software.amazon.jsii.Kernel.get(this, "jobType", software.amazon.jsii.NativeType.forClass(io.github.randyridgley.cdk.datalake.constructs.GlueJobType.class));
this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.workerType = software.amazon.jsii.Kernel.get(this, "workerType", software.amazon.jsii.NativeType.forClass(io.github.randyridgley.cdk.datalake.constructs.GlueWorkerType.class));
this.description = software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.glueVersion = software.amazon.jsii.Kernel.get(this, "glueVersion", software.amazon.jsii.NativeType.forClass(io.github.randyridgley.cdk.datalake.constructs.GlueVersion.class));
this.jobArgs = software.amazon.jsii.Kernel.get(this, "jobArgs", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
this.maxCapacity = software.amazon.jsii.Kernel.get(this, "maxCapacity", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.maxConcurrentRuns = software.amazon.jsii.Kernel.get(this, "maxConcurrentRuns", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.maxRetries = software.amazon.jsii.Kernel.get(this, "maxRetries", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.numberOfWorkers = software.amazon.jsii.Kernel.get(this, "numberOfWorkers", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.readAccessBuckets = software.amazon.jsii.Kernel.get(this, "readAccessBuckets", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.s3.IBucket.class)));
this.roleName = software.amazon.jsii.Kernel.get(this, "roleName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.timeout = software.amazon.jsii.Kernel.get(this, "timeout", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.writeAccessBuckets = software.amazon.jsii.Kernel.get(this, "writeAccessBuckets", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.s3.IBucket.class)));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
@SuppressWarnings("unchecked")
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.deploymentBucket = java.util.Objects.requireNonNull(builder.deploymentBucket, "deploymentBucket is required");
this.jobScript = java.util.Objects.requireNonNull(builder.jobScript, "jobScript is required");
this.jobType = java.util.Objects.requireNonNull(builder.jobType, "jobType is required");
this.name = java.util.Objects.requireNonNull(builder.name, "name is required");
this.workerType = java.util.Objects.requireNonNull(builder.workerType, "workerType is required");
this.description = builder.description;
this.glueVersion = builder.glueVersion;
this.jobArgs = builder.jobArgs;
this.maxCapacity = builder.maxCapacity;
this.maxConcurrentRuns = builder.maxConcurrentRuns;
this.maxRetries = builder.maxRetries;
this.numberOfWorkers = builder.numberOfWorkers;
this.readAccessBuckets = (java.util.List)builder.readAccessBuckets;
this.roleName = builder.roleName;
this.timeout = builder.timeout;
this.writeAccessBuckets = (java.util.List)builder.writeAccessBuckets;
}
@Override
public final software.amazon.awscdk.services.s3.IBucket getDeploymentBucket() {
return this.deploymentBucket;
}
@Override
public final java.lang.String getJobScript() {
return this.jobScript;
}
@Override
public final io.github.randyridgley.cdk.datalake.constructs.GlueJobType getJobType() {
return this.jobType;
}
@Override
public final java.lang.String getName() {
return this.name;
}
@Override
public final io.github.randyridgley.cdk.datalake.constructs.GlueWorkerType getWorkerType() {
return this.workerType;
}
@Override
public final java.lang.String getDescription() {
return this.description;
}
@Override
public final io.github.randyridgley.cdk.datalake.constructs.GlueVersion getGlueVersion() {
return this.glueVersion;
}
@Override
public final java.util.Map getJobArgs() {
return this.jobArgs;
}
@Override
public final java.lang.Number getMaxCapacity() {
return this.maxCapacity;
}
@Override
public final java.lang.Number getMaxConcurrentRuns() {
return this.maxConcurrentRuns;
}
@Override
public final java.lang.Number getMaxRetries() {
return this.maxRetries;
}
@Override
public final java.lang.Number getNumberOfWorkers() {
return this.numberOfWorkers;
}
@Override
public final java.util.List getReadAccessBuckets() {
return this.readAccessBuckets;
}
@Override
public final java.lang.String getRoleName() {
return this.roleName;
}
@Override
public final java.lang.Number getTimeout() {
return this.timeout;
}
@Override
public final java.util.List getWriteAccessBuckets() {
return this.writeAccessBuckets;
}
@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("deploymentBucket", om.valueToTree(this.getDeploymentBucket()));
data.set("jobScript", om.valueToTree(this.getJobScript()));
data.set("jobType", om.valueToTree(this.getJobType()));
data.set("name", om.valueToTree(this.getName()));
data.set("workerType", om.valueToTree(this.getWorkerType()));
if (this.getDescription() != null) {
data.set("description", om.valueToTree(this.getDescription()));
}
if (this.getGlueVersion() != null) {
data.set("glueVersion", om.valueToTree(this.getGlueVersion()));
}
if (this.getJobArgs() != null) {
data.set("jobArgs", om.valueToTree(this.getJobArgs()));
}
if (this.getMaxCapacity() != null) {
data.set("maxCapacity", om.valueToTree(this.getMaxCapacity()));
}
if (this.getMaxConcurrentRuns() != null) {
data.set("maxConcurrentRuns", om.valueToTree(this.getMaxConcurrentRuns()));
}
if (this.getMaxRetries() != null) {
data.set("maxRetries", om.valueToTree(this.getMaxRetries()));
}
if (this.getNumberOfWorkers() != null) {
data.set("numberOfWorkers", om.valueToTree(this.getNumberOfWorkers()));
}
if (this.getReadAccessBuckets() != null) {
data.set("readAccessBuckets", om.valueToTree(this.getReadAccessBuckets()));
}
if (this.getRoleName() != null) {
data.set("roleName", om.valueToTree(this.getRoleName()));
}
if (this.getTimeout() != null) {
data.set("timeout", om.valueToTree(this.getTimeout()));
}
if (this.getWriteAccessBuckets() != null) {
data.set("writeAccessBuckets", om.valueToTree(this.getWriteAccessBuckets()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@randyridgley/cdk-datalake-constructs.GlueJobProperties"));
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;
GlueJobProperties.Jsii$Proxy that = (GlueJobProperties.Jsii$Proxy) o;
if (!deploymentBucket.equals(that.deploymentBucket)) return false;
if (!jobScript.equals(that.jobScript)) return false;
if (!jobType.equals(that.jobType)) return false;
if (!name.equals(that.name)) return false;
if (!workerType.equals(that.workerType)) return false;
if (this.description != null ? !this.description.equals(that.description) : that.description != null) return false;
if (this.glueVersion != null ? !this.glueVersion.equals(that.glueVersion) : that.glueVersion != null) return false;
if (this.jobArgs != null ? !this.jobArgs.equals(that.jobArgs) : that.jobArgs != null) return false;
if (this.maxCapacity != null ? !this.maxCapacity.equals(that.maxCapacity) : that.maxCapacity != null) return false;
if (this.maxConcurrentRuns != null ? !this.maxConcurrentRuns.equals(that.maxConcurrentRuns) : that.maxConcurrentRuns != null) return false;
if (this.maxRetries != null ? !this.maxRetries.equals(that.maxRetries) : that.maxRetries != null) return false;
if (this.numberOfWorkers != null ? !this.numberOfWorkers.equals(that.numberOfWorkers) : that.numberOfWorkers != null) return false;
if (this.readAccessBuckets != null ? !this.readAccessBuckets.equals(that.readAccessBuckets) : that.readAccessBuckets != null) return false;
if (this.roleName != null ? !this.roleName.equals(that.roleName) : that.roleName != null) return false;
if (this.timeout != null ? !this.timeout.equals(that.timeout) : that.timeout != null) return false;
return this.writeAccessBuckets != null ? this.writeAccessBuckets.equals(that.writeAccessBuckets) : that.writeAccessBuckets == null;
}
@Override
public final int hashCode() {
int result = this.deploymentBucket.hashCode();
result = 31 * result + (this.jobScript.hashCode());
result = 31 * result + (this.jobType.hashCode());
result = 31 * result + (this.name.hashCode());
result = 31 * result + (this.workerType.hashCode());
result = 31 * result + (this.description != null ? this.description.hashCode() : 0);
result = 31 * result + (this.glueVersion != null ? this.glueVersion.hashCode() : 0);
result = 31 * result + (this.jobArgs != null ? this.jobArgs.hashCode() : 0);
result = 31 * result + (this.maxCapacity != null ? this.maxCapacity.hashCode() : 0);
result = 31 * result + (this.maxConcurrentRuns != null ? this.maxConcurrentRuns.hashCode() : 0);
result = 31 * result + (this.maxRetries != null ? this.maxRetries.hashCode() : 0);
result = 31 * result + (this.numberOfWorkers != null ? this.numberOfWorkers.hashCode() : 0);
result = 31 * result + (this.readAccessBuckets != null ? this.readAccessBuckets.hashCode() : 0);
result = 31 * result + (this.roleName != null ? this.roleName.hashCode() : 0);
result = 31 * result + (this.timeout != null ? this.timeout.hashCode() : 0);
result = 31 * result + (this.writeAccessBuckets != null ? this.writeAccessBuckets.hashCode() : 0);
return result;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy