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

io.github.cdklabs.cdkawssagemakerrolemanager.ActivityProps Maven / Gradle / Ivy

There is a newer version: 0.0.30
Show newest version
package io.github.cdklabs.cdkawssagemakerrolemanager;

/**
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.84.0 (build 5404dcf)", date = "2023-06-18T00:22:41.591Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdkawssagemakerrolemanager.$Module.class, fqn = "@cdklabs/cdk-aws-sagemaker-role-manager.ActivityProps")
@software.amazon.jsii.Jsii.Proxy(ActivityProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface ActivityProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * (experimental) Name of the SageMaker Activity.
     * 

* This name will be used to name the IAM policy that is created from this Activity. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.String getActivityName(); /** * (experimental) Whether the activity supports customization for kms data keys and volume keys. *

* Default: - false */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.Boolean getIsCustomizationAvailableForKMS(); /** * (experimental) Whether the activity supports customization for vpc subnets and vpc security groups. *

* Default: - false */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.Boolean getIsCustomizationAvailableForVPC(); /** * (experimental) Names of the Athena workgroups to give query permissions. *

* Default: - none */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getAthenaWorkgroupNames() { return null; } /** * (experimental) ECR Repositories to give image pull permissions. *

* Default: - none */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getEcrRepositories() { return null; } /** * (experimental) Names of the Glue Databases to give permissions to search tables. *

* Default: - none */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getGlueDatabaseNames() { return null; } /** * (experimental) Roles to allow passing as passed roles to actions. *

* Default: - none */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getRolesToPass() { return null; } /** * (experimental) S3 Buckets to give read and write permissions. *

* Default: - none */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getS3Buckets() { return null; } /** * (experimental) Version of the SageMaker Activity. *

* This version will be used to fetch the policy template that corresponds to the * Activity. *

* Default: - 1 */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Number getVersion() { return null; } /** * @return a {@link Builder} of {@link ActivityProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link ActivityProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String activityName; java.lang.Boolean isCustomizationAvailableForKms; java.lang.Boolean isCustomizationAvailableForVpc; java.util.List athenaWorkgroupNames; java.util.List ecrRepositories; java.util.List glueDatabaseNames; java.util.List rolesToPass; java.util.List s3Buckets; java.lang.Number version; /** * Sets the value of {@link ActivityProps#getActivityName} * @param activityName Name of the SageMaker Activity. This parameter is required. * This name will be used to name the IAM policy that is created from this Activity. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder activityName(java.lang.String activityName) { this.activityName = activityName; return this; } /** * Sets the value of {@link ActivityProps#getIsCustomizationAvailableForKms} * @param isCustomizationAvailableForKms Whether the activity supports customization for kms data keys and volume keys. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder isCustomizationAvailableForKms(java.lang.Boolean isCustomizationAvailableForKms) { this.isCustomizationAvailableForKms = isCustomizationAvailableForKms; return this; } /** * Sets the value of {@link ActivityProps#getIsCustomizationAvailableForVpc} * @param isCustomizationAvailableForVpc Whether the activity supports customization for vpc subnets and vpc security groups. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder isCustomizationAvailableForVpc(java.lang.Boolean isCustomizationAvailableForVpc) { this.isCustomizationAvailableForVpc = isCustomizationAvailableForVpc; return this; } /** * Sets the value of {@link ActivityProps#getAthenaWorkgroupNames} * @param athenaWorkgroupNames Names of the Athena workgroups to give query permissions. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder athenaWorkgroupNames(java.util.List athenaWorkgroupNames) { this.athenaWorkgroupNames = athenaWorkgroupNames; return this; } /** * Sets the value of {@link ActivityProps#getEcrRepositories} * @param ecrRepositories ECR Repositories to give image pull permissions. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder ecrRepositories(java.util.List ecrRepositories) { this.ecrRepositories = (java.util.List)ecrRepositories; return this; } /** * Sets the value of {@link ActivityProps#getGlueDatabaseNames} * @param glueDatabaseNames Names of the Glue Databases to give permissions to search tables. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder glueDatabaseNames(java.util.List glueDatabaseNames) { this.glueDatabaseNames = glueDatabaseNames; return this; } /** * Sets the value of {@link ActivityProps#getRolesToPass} * @param rolesToPass Roles to allow passing as passed roles to actions. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder rolesToPass(java.util.List rolesToPass) { this.rolesToPass = (java.util.List)rolesToPass; return this; } /** * Sets the value of {@link ActivityProps#getS3Buckets} * @param s3Buckets S3 Buckets to give read and write permissions. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder s3Buckets(java.util.List s3Buckets) { this.s3Buckets = (java.util.List)s3Buckets; return this; } /** * Sets the value of {@link ActivityProps#getVersion} * @param version Version of the SageMaker Activity. * This version will be used to fetch the policy template that corresponds to the * Activity. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder version(java.lang.Number version) { this.version = version; return this; } /** * Builds the configured instance. * @return a new instance of {@link ActivityProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public ActivityProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link ActivityProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ActivityProps { private final java.lang.String activityName; private final java.lang.Boolean isCustomizationAvailableForKms; private final java.lang.Boolean isCustomizationAvailableForVpc; private final java.util.List athenaWorkgroupNames; private final java.util.List ecrRepositories; private final java.util.List glueDatabaseNames; private final java.util.List rolesToPass; private final java.util.List s3Buckets; private final java.lang.Number version; /** * 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.activityName = software.amazon.jsii.Kernel.get(this, "activityName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.isCustomizationAvailableForKms = software.amazon.jsii.Kernel.get(this, "isCustomizationAvailableForKMS", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.isCustomizationAvailableForVpc = software.amazon.jsii.Kernel.get(this, "isCustomizationAvailableForVPC", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.athenaWorkgroupNames = software.amazon.jsii.Kernel.get(this, "athenaWorkgroupNames", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.ecrRepositories = software.amazon.jsii.Kernel.get(this, "ecrRepositories", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecr.IRepository.class))); this.glueDatabaseNames = software.amazon.jsii.Kernel.get(this, "glueDatabaseNames", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.rolesToPass = software.amazon.jsii.Kernel.get(this, "rolesToPass", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.IRole.class))); this.s3Buckets = software.amazon.jsii.Kernel.get(this, "s3Buckets", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.s3.IBucket.class))); this.version = software.amazon.jsii.Kernel.get(this, "version", software.amazon.jsii.NativeType.forClass(java.lang.Number.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.activityName = java.util.Objects.requireNonNull(builder.activityName, "activityName is required"); this.isCustomizationAvailableForKms = java.util.Objects.requireNonNull(builder.isCustomizationAvailableForKms, "isCustomizationAvailableForKms is required"); this.isCustomizationAvailableForVpc = java.util.Objects.requireNonNull(builder.isCustomizationAvailableForVpc, "isCustomizationAvailableForVpc is required"); this.athenaWorkgroupNames = builder.athenaWorkgroupNames; this.ecrRepositories = (java.util.List)builder.ecrRepositories; this.glueDatabaseNames = builder.glueDatabaseNames; this.rolesToPass = (java.util.List)builder.rolesToPass; this.s3Buckets = (java.util.List)builder.s3Buckets; this.version = builder.version; } @Override public final java.lang.String getActivityName() { return this.activityName; } @Override public final java.lang.Boolean getIsCustomizationAvailableForKMS() { return this.isCustomizationAvailableForKms; } @Override public final java.lang.Boolean getIsCustomizationAvailableForVPC() { return this.isCustomizationAvailableForVpc; } @Override public final java.util.List getAthenaWorkgroupNames() { return this.athenaWorkgroupNames; } @Override public final java.util.List getEcrRepositories() { return this.ecrRepositories; } @Override public final java.util.List getGlueDatabaseNames() { return this.glueDatabaseNames; } @Override public final java.util.List getRolesToPass() { return this.rolesToPass; } @Override public final java.util.List getS3Buckets() { return this.s3Buckets; } @Override public final java.lang.Number getVersion() { return this.version; } @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("activityName", om.valueToTree(this.getActivityName())); data.set("isCustomizationAvailableForKMS", om.valueToTree(this.getIsCustomizationAvailableForKMS())); data.set("isCustomizationAvailableForVPC", om.valueToTree(this.getIsCustomizationAvailableForVPC())); if (this.getAthenaWorkgroupNames() != null) { data.set("athenaWorkgroupNames", om.valueToTree(this.getAthenaWorkgroupNames())); } if (this.getEcrRepositories() != null) { data.set("ecrRepositories", om.valueToTree(this.getEcrRepositories())); } if (this.getGlueDatabaseNames() != null) { data.set("glueDatabaseNames", om.valueToTree(this.getGlueDatabaseNames())); } if (this.getRolesToPass() != null) { data.set("rolesToPass", om.valueToTree(this.getRolesToPass())); } if (this.getS3Buckets() != null) { data.set("s3Buckets", om.valueToTree(this.getS3Buckets())); } if (this.getVersion() != null) { data.set("version", om.valueToTree(this.getVersion())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@cdklabs/cdk-aws-sagemaker-role-manager.ActivityProps")); 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; ActivityProps.Jsii$Proxy that = (ActivityProps.Jsii$Proxy) o; if (!activityName.equals(that.activityName)) return false; if (!isCustomizationAvailableForKms.equals(that.isCustomizationAvailableForKms)) return false; if (!isCustomizationAvailableForVpc.equals(that.isCustomizationAvailableForVpc)) return false; if (this.athenaWorkgroupNames != null ? !this.athenaWorkgroupNames.equals(that.athenaWorkgroupNames) : that.athenaWorkgroupNames != null) return false; if (this.ecrRepositories != null ? !this.ecrRepositories.equals(that.ecrRepositories) : that.ecrRepositories != null) return false; if (this.glueDatabaseNames != null ? !this.glueDatabaseNames.equals(that.glueDatabaseNames) : that.glueDatabaseNames != null) return false; if (this.rolesToPass != null ? !this.rolesToPass.equals(that.rolesToPass) : that.rolesToPass != null) return false; if (this.s3Buckets != null ? !this.s3Buckets.equals(that.s3Buckets) : that.s3Buckets != null) return false; return this.version != null ? this.version.equals(that.version) : that.version == null; } @Override public final int hashCode() { int result = this.activityName.hashCode(); result = 31 * result + (this.isCustomizationAvailableForKms.hashCode()); result = 31 * result + (this.isCustomizationAvailableForVpc.hashCode()); result = 31 * result + (this.athenaWorkgroupNames != null ? this.athenaWorkgroupNames.hashCode() : 0); result = 31 * result + (this.ecrRepositories != null ? this.ecrRepositories.hashCode() : 0); result = 31 * result + (this.glueDatabaseNames != null ? this.glueDatabaseNames.hashCode() : 0); result = 31 * result + (this.rolesToPass != null ? this.rolesToPass.hashCode() : 0); result = 31 * result + (this.s3Buckets != null ? this.s3Buckets.hashCode() : 0); result = 31 * result + (this.version != null ? this.version.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy