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

io.github.hsiehshujeng.cdk.comprehend.s3olap.ComprehendS3olab Maven / Gradle / Ivy

Go to download

A constrcut for PII and redaction scenarios with Amazon Comprehend and S3 Object Lambda

There is a newer version: 2.0.527
Show newest version
package io.github.hsiehshujeng.cdk.comprehend.s3olap;

/**
 * Creates the foundation necessary to deploy the S3 Object Lambda Acceess Control Use Case.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.102.0 (build e354887)", date = "2024-08-18T00:49:21.567Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = io.github.hsiehshujeng.cdk.comprehend.s3olap.$Module.class, fqn = "cdk-comprehend-s3olap.ComprehendS3olab")
public class ComprehendS3olab extends software.constructs.Construct {

    protected ComprehendS3olab(final software.amazon.jsii.JsiiObjectRef objRef) {
        super(objRef);
    }

    protected ComprehendS3olab(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 ComprehendS3olab(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull io.github.hsiehshujeng.cdk.comprehend.s3olap.ComprehendS3olabProps 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") });
    }

    /**
     * @param length This parameter is required.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public @org.jetbrains.annotations.NotNull java.lang.String generateS3Prefix(final @org.jetbrains.annotations.NotNull java.lang.Number length) {
        return software.amazon.jsii.Kernel.call(this, "generateS3Prefix", software.amazon.jsii.NativeType.forClass(java.lang.String.class), new Object[] { java.util.Objects.requireNonNull(length, "length is required") });
    }

    /**
     * The ARN of the Lambda function combined with Amazon Comprehend for thie administrator role in the redaction case.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public @org.jetbrains.annotations.NotNull java.lang.String getAdminLambdaArn() {
        return software.amazon.jsii.Kernel.get(this, "adminLambdaArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
    }

    /**
     * The ARN of the Lambda function combined with Amazon Comprehend for thie billing role in the redaction case.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public @org.jetbrains.annotations.NotNull java.lang.String getBillingLambdaArn() {
        return software.amazon.jsii.Kernel.get(this, "billingLambdaArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
    }

    /**
     * The ARN of the Lambda function combined with Amazon Comprehend for thie customer support role in the redaction case.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public @org.jetbrains.annotations.NotNull java.lang.String getCustomerSupportLambdaArn() {
        return software.amazon.jsii.Kernel.get(this, "customerSupportLambdaArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
    }

    /**
     * The ARN of the Lambda function combined with Amazon Comprehend for the general case.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public @org.jetbrains.annotations.NotNull java.lang.String getPiiAccessConrtolLambdaArn() {
        return software.amazon.jsii.Kernel.get(this, "piiAccessConrtolLambdaArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
    }

    /**
     * The ARN of the S3 Object Lambda for access control.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public @org.jetbrains.annotations.NotNull java.lang.String getS3objectLambdaAccessControlArn() {
        return software.amazon.jsii.Kernel.get(this, "s3objectLambdaAccessControlArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
    }

    /**
     * The ARN of the S3 Object Lambda for the admin role in the redaction case.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public @org.jetbrains.annotations.NotNull java.lang.String getS3objectLambdaAdminArn() {
        return software.amazon.jsii.Kernel.get(this, "s3objectLambdaAdminArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
    }

    /**
     * The ARN of the S3 Object Lambda for the billing role in the redaction case.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public @org.jetbrains.annotations.NotNull java.lang.String getS3objectLambdaBillingArn() {
        return software.amazon.jsii.Kernel.get(this, "s3objectLambdaBillingArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
    }

    /**
     * The ARN of the S3 Object Lambda for the customer support role in the redaction case.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public @org.jetbrains.annotations.NotNull java.lang.String getS3objectLambdaCustomerSupportArn() {
        return software.amazon.jsii.Kernel.get(this, "s3objectLambdaCustomerSupportArn", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
    }

    /**
     * A fluent builder for {@link io.github.hsiehshujeng.cdk.comprehend.s3olap.ComprehendS3olab}.
     */
    @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 io.github.hsiehshujeng.cdk.comprehend.s3olap.ComprehendS3olabProps.Builder props;

        private Builder(final software.constructs.Construct scope, final java.lang.String id) {
            this.scope = scope;
            this.id = id;
            this.props = new io.github.hsiehshujeng.cdk.comprehend.s3olap.ComprehendS3olabProps.Builder();
        }

        /**
         * The parameters needed for the ComprehendPiiAccessControlS3ObjectLambda function.
         * 

* @return {@code this} * @param accessControlLambdaConfig The parameters needed for the ComprehendPiiAccessControlS3ObjectLambda function. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder accessControlLambdaConfig(final io.github.hsiehshujeng.cdk.comprehend.s3olap.AccessConrtolLambdaProps accessControlLambdaConfig) { this.props.accessControlLambdaConfig(accessControlLambdaConfig); return this; } /** * The parameters of the ComprehendPiiRedactionS3ObjectLambda function for the AdminRole. *

* @return {@code this} * @param adminRedactionLambdaConfig The parameters of the ComprehendPiiRedactionS3ObjectLambda function for the AdminRole. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder adminRedactionLambdaConfig(final io.github.hsiehshujeng.cdk.comprehend.s3olap.RedactionLambdaProps adminRedactionLambdaConfig) { this.props.adminRedactionLambdaConfig(adminRedactionLambdaConfig); return this; } /** * The manageable properties for the administrator IAM role in the redaction case. *

* @return {@code this} * @param adminRoleConfig The manageable properties for the administrator IAM role in the redaction case. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder adminRoleConfig(final io.github.hsiehshujeng.cdk.comprehend.s3olap.AdminRoleProps adminRoleConfig) { this.props.adminRoleConfig(adminRoleConfig); return this; } /** * The parameters of the ComprehendPiiRedactionS3ObjectLambda function for the BillingRole. *

* @return {@code this} * @param billingRedactionLambdaConfig The parameters of the ComprehendPiiRedactionS3ObjectLambda function for the BillingRole. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder billingRedactionLambdaConfig(final io.github.hsiehshujeng.cdk.comprehend.s3olap.RedactionLambdaProps billingRedactionLambdaConfig) { this.props.billingRedactionLambdaConfig(billingRedactionLambdaConfig); return this; } /** * The manageable properties for the billing IAM role in the redaction case. *

* @return {@code this} * @param billingRoleConfig The manageable properties for the billing IAM role in the redaction case. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder billingRoleConfig(final io.github.hsiehshujeng.cdk.comprehend.s3olap.BillingRoleProps billingRoleConfig) { this.props.billingRoleConfig(billingRoleConfig); return this; } /** * The parameters of the ComprehendPiiRedactionS3ObjectLambda function for the CustSupportRole. *

* @return {@code this} * @param cusrtSupportRedactionLambdaConfig The parameters of the ComprehendPiiRedactionS3ObjectLambda function for the CustSupportRole. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cusrtSupportRedactionLambdaConfig(final io.github.hsiehshujeng.cdk.comprehend.s3olap.RedactionLambdaProps cusrtSupportRedactionLambdaConfig) { this.props.cusrtSupportRedactionLambdaConfig(cusrtSupportRedactionLambdaConfig); return this; } /** * The manageable properties for the customer support IAM role in the redaction case. *

* @return {@code this} * @param custSupportRoleConfig The manageable properties for the customer support IAM role in the redaction case. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder custSupportRoleConfig(final io.github.hsiehshujeng.cdk.comprehend.s3olap.CustSupportRoleProps custSupportRoleConfig) { this.props.custSupportRoleConfig(custSupportRoleConfig); return this; } /** * The directory path where files/access_control/*.txt and files/redaction/*.txt will be put. *

* DO NOT INCLUDE / in the end. *

* Default: __dirname *

* @return {@code this} * @param exampleFileDir The directory path where files/access_control/*.txt and files/redaction/*.txt will be put. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder exampleFileDir(final java.lang.String exampleFileDir) { this.props.exampleFileDir(exampleFileDir); return this; } /** * The manageable properties for the IAM role used to access the survey-results.txt data. *

* @return {@code this} * @param generalRoleConfig The manageable properties for the IAM role used to access the survey-results.txt data. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder generalRoleConfig(final io.github.hsiehshujeng.cdk.comprehend.s3olap.GeneralRoleProps generalRoleConfig) { this.props.generalRoleConfig(generalRoleConfig); return this; } /** * For distinguish test and normal deployment. *

* Default: true *

* @return {@code this} * @param generateRandomCharacters For distinguish test and normal deployment. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder generateRandomCharacters(final java.lang.Boolean generateRandomCharacters) { this.props.generateRandomCharacters(generateRandomCharacters); return this; } /** * The names of the S3 access points for the access control case and redaction case. *

* @return {@code this} * @param s3AccessPointNames The names of the S3 access points for the access control case and redaction case. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder s3AccessPointNames(final io.github.hsiehshujeng.cdk.comprehend.s3olap.S3AccessPointNames s3AccessPointNames) { this.props.s3AccessPointNames(s3AccessPointNames); return this; } /** * The prefix attached to the name of the S3 bucket where you are going to explore the S3 Object Lambda pertaining to the access control case. *

* Default: 6 random words *

* @return {@code this} * @param surveyBucketPrefix The prefix attached to the name of the S3 bucket where you are going to explore the S3 Object Lambda pertaining to the access control case. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder surveyBucketPrefix(final java.lang.String surveyBucketPrefix) { this.props.surveyBucketPrefix(surveyBucketPrefix); return this; } /** * The prefix attached to the name of the S3 bucket where you are going to explore the S3 Object Lambda pertaining to the redaction case. *

* Default: 6 random words *

* @return {@code this} * @param transcriptsBucketPrefix The prefix attached to the name of the S3 bucket where you are going to explore the S3 Object Lambda pertaining to the redaction case. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder transcriptsBucketPrefix(final java.lang.String transcriptsBucketPrefix) { this.props.transcriptsBucketPrefix(transcriptsBucketPrefix); return this; } /** * @return a newly built instance of {@link io.github.hsiehshujeng.cdk.comprehend.s3olap.ComprehendS3olab}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public io.github.hsiehshujeng.cdk.comprehend.s3olap.ComprehendS3olab build() { return new io.github.hsiehshujeng.cdk.comprehend.s3olap.ComprehendS3olab( this.scope, this.id, this.props.build() ); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy