software.amazon.textract.idp.SearchablePDF Maven / Gradle / Ivy
Show all versions of idp-cdk-constructs Show documentation
package software.amazon.textract.idp;
/**
* This construct takes in a JSON with two s3 Paths, s3TextractOutput, s3PDFBucket.
*
* example s3Path:
* {"s3TextractOutput": "s3://bucketname/prefix/1"}
* {"s3PDFBucket": "s3://bucketname/prefix/document.pdf"}
*
*
*
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.90.0 (build d6bdb4d)", date = "2023-10-26T15:43:30.321Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = software.amazon.textract.idp.$Module.class, fqn = "amazon-textract-idp-cdk-constructs.SearchablePDF")
public class SearchablePDF extends software.amazon.awscdk.services.stepfunctions.StateMachineFragment {
protected SearchablePDF(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected SearchablePDF(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param parent This parameter is required.
* @param id Descriptive identifier for this chainable. This parameter is required.
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public SearchablePDF(final @org.jetbrains.annotations.NotNull software.constructs.Construct parent, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull software.amazon.textract.idp.SearchablePDFProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(parent, "parent is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") });
}
/**
* The states to chain onto if this fragment is used.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull java.util.List getEndStates() {
return java.util.Collections.unmodifiableList(software.amazon.jsii.Kernel.get(this, "endStates", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.stepfunctions.INextable.class))));
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.lambda.IFunction getSearchablePDFFunction() {
return software.amazon.jsii.Kernel.get(this, "searchablePDFFunction", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.IFunction.class));
}
/**
* The start state of this state machine fragment.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.stepfunctions.State getStartState() {
return software.amazon.jsii.Kernel.get(this, "startState", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.stepfunctions.State.class));
}
/**
* A fluent builder for {@link software.amazon.textract.idp.SearchablePDF}.
*/
@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 parent This parameter is required.
* @param id Descriptive identifier for this chainable. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create(final software.constructs.Construct parent, final java.lang.String id) {
return new Builder(parent, id);
}
private final software.constructs.Construct parent;
private final java.lang.String id;
private final software.amazon.textract.idp.SearchablePDFProps.Builder props;
private Builder(final software.constructs.Construct parent, final java.lang.String id) {
this.parent = parent;
this.id = id;
this.props = new software.amazon.textract.idp.SearchablePDFProps.Builder();
}
/**
* List of PolicyStatements to attach to the Lambda function for S3 GET and LIST.
*
* @return {@code this}
* @param inputPolicyStatements List of PolicyStatements to attach to the Lambda function for S3 GET and LIST. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder inputPolicyStatements(final java.util.List extends software.amazon.awscdk.services.iam.PolicyStatement> inputPolicyStatements) {
this.props.inputPolicyStatements(inputPolicyStatements);
return this;
}
/**
* memory of Lambda function (may need to increase for larger documents).
*
* @return {@code this}
* @param lambdaMemoryMb memory of Lambda function (may need to increase for larger documents). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder lambdaMemoryMb(final java.lang.Number lambdaMemoryMb) {
this.props.lambdaMemoryMb(lambdaMemoryMb);
return this;
}
/**
* @return {@code this}
* @param lambdaTimeout This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder lambdaTimeout(final java.lang.Number lambdaTimeout) {
this.props.lambdaTimeout(lambdaTimeout);
return this;
}
/**
* prefix for the incoming document.
*
* Will be used to create role
*
* @return {@code this}
* @param s3InputPrefix prefix for the incoming document. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder s3InputPrefix(final java.lang.String s3InputPrefix) {
this.props.s3InputPrefix(s3InputPrefix);
return this;
}
/**
* @return {@code this}
* @param s3PdfBucket This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder s3PdfBucket(final java.lang.String s3PdfBucket) {
this.props.s3PdfBucket(s3PdfBucket);
return this;
}
/**
* @return {@code this}
* @param s3TextractOutputBucket This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder s3TextractOutputBucket(final java.lang.String s3TextractOutputBucket) {
this.props.s3TextractOutputBucket(s3TextractOutputBucket);
return this;
}
/**
* @return {@code this}
* @param searchablePdfFunction This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder searchablePdfFunction(final software.amazon.awscdk.services.lambda.IFunction searchablePdfFunction) {
this.props.searchablePdfFunction(searchablePdfFunction);
return this;
}
/**
* @return a newly built instance of {@link software.amazon.textract.idp.SearchablePDF}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public software.amazon.textract.idp.SearchablePDF build() {
return new software.amazon.textract.idp.SearchablePDF(
this.parent,
this.id,
this.props.build()
);
}
}
}