io.github.cdklabs.generative_ai_cdk_constructs.QaAppsyncOpensearchProps Maven / Gradle / Ivy
package io.github.cdklabs.generative_ai_cdk_constructs;
/**
* (experimental) The properties for the QaAppsyncOpensearchProps class.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-10-07T16:14:00.591Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.generative_ai_cdk_constructs.$Module.class, fqn = "@cdklabs/generative-ai-cdk-constructs.QaAppsyncOpensearchProps")
@software.amazon.jsii.Jsii.Proxy(QaAppsyncOpensearchProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface QaAppsyncOpensearchProps extends software.amazon.jsii.JsiiSerializable {
/**
* (experimental) Cognito user pool used for authentication.
*
* Default: - None
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@org.jetbrains.annotations.NotNull software.amazon.awscdk.services.cognito.IUserPool getCognitoUserPool();
/**
* (experimental) Data Index name for the OpenSearch Service.
*
* Default: - None
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@org.jetbrains.annotations.NotNull java.lang.String getOpenSearchIndexName();
/**
* (experimental) Optional user provided props to override the default props for the S3 Bucket.
*
* Providing both this and existingInputAssetsBucketObj
will cause an error.
*
* Default: - Default props are used
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.s3.BucketProps getBucketInputsAssetsProps() {
return null;
}
/**
* (experimental) Optional.
*
* Allows to provide custom lambda code
* and settings instead of the existing
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable io.github.cdklabs.generative_ai_cdk_constructs.DockerLambdaCustomProps getCustomDockerLambdaProps() {
return null;
}
/**
* (experimental) Optional Existing instance of an EventBridge bus.
*
* If not provided, the construct will create one.
*
* Default: - None
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.events.IEventBus getExistingBusInterface() {
return null;
}
/**
* (experimental) Existing instance of S3 Bucket object, providing both this and bucketInputsAssetsProps
will cause an error.
*
* Default: - None
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.s3.IBucket getExistingInputAssetsBucketObj() {
return null;
}
/**
* (experimental) Existing merged Appsync GraphQL api.
*
* Default: - None
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.appsync.CfnGraphQLApi getExistingMergedApi() {
return null;
}
/**
* (experimental) Existing Amazon OpenSearch Service domain.
*
* Default: - None
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.opensearchservice.IDomain getExistingOpensearchDomain() {
return null;
}
/**
* (experimental) Existing Amazon OpenSearch Serverless collection.
*
* Default: - None
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.opensearchserverless.CfnCollection getExistingOpensearchServerlessCollection() {
return null;
}
/**
* (experimental) Optional existing security group allowing access to opensearch.
*
* Used by the lambda functions
* built by this construct. If not provided, the construct will create one.
*
* Default: - none
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.ISecurityGroup getExistingSecurityGroup() {
return null;
}
/**
* (experimental) Optional An existing VPC in which to deploy the construct.
*
* Providing both this and
* vpcProps is an error.
*
* Default: - none
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.IVpc getExistingVpc() {
return null;
}
/**
* (experimental) Optional.
*
* Allows a user to configure
* Lambda provisioned concurrency for consistent performance
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Number getLambdaProvisionedConcurrency() {
return null;
}
/**
* (experimental) Enable observability.
*
* Warning: associated cost with the services
* used. Best practive to enable by default.
*
* Default: - true
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getObservability() {
return null;
}
/**
* (experimental) Optional.
*
* SecretsManager secret to authenticate against the OpenSearch Service domain if
* domain is configured with Username/Password.
*
* Default: - None
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.secretsmanager.ISecret getOpenSearchSecret() {
return null;
}
/**
* (experimental) Value will be appended to resources name.
*
* Default: - _dev
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getStage() {
return null;
}
/**
* (experimental) Optional custom properties for a VPC the construct will create.
*
* This VPC will
* be used by the Lambda functions the construct creates. Providing
* both this and existingVpc is an error.
*
* Default: - none
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.VpcProps getVpcProps() {
return null;
}
/**
* @return a {@link Builder} of {@link QaAppsyncOpensearchProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link QaAppsyncOpensearchProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static final class Builder implements software.amazon.jsii.Builder {
software.amazon.awscdk.services.cognito.IUserPool cognitoUserPool;
java.lang.String openSearchIndexName;
software.amazon.awscdk.services.s3.BucketProps bucketInputsAssetsProps;
io.github.cdklabs.generative_ai_cdk_constructs.DockerLambdaCustomProps customDockerLambdaProps;
software.amazon.awscdk.services.events.IEventBus existingBusInterface;
software.amazon.awscdk.services.s3.IBucket existingInputAssetsBucketObj;
software.amazon.awscdk.services.appsync.CfnGraphQLApi existingMergedApi;
software.amazon.awscdk.services.opensearchservice.IDomain existingOpensearchDomain;
software.amazon.awscdk.services.opensearchserverless.CfnCollection existingOpensearchServerlessCollection;
software.amazon.awscdk.services.ec2.ISecurityGroup existingSecurityGroup;
software.amazon.awscdk.services.ec2.IVpc existingVpc;
java.lang.Number lambdaProvisionedConcurrency;
java.lang.Boolean observability;
software.amazon.awscdk.services.secretsmanager.ISecret openSearchSecret;
java.lang.String stage;
software.amazon.awscdk.services.ec2.VpcProps vpcProps;
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getCognitoUserPool}
* @param cognitoUserPool Cognito user pool used for authentication. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder cognitoUserPool(software.amazon.awscdk.services.cognito.IUserPool cognitoUserPool) {
this.cognitoUserPool = cognitoUserPool;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getOpenSearchIndexName}
* @param openSearchIndexName Data Index name for the OpenSearch Service. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder openSearchIndexName(java.lang.String openSearchIndexName) {
this.openSearchIndexName = openSearchIndexName;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getBucketInputsAssetsProps}
* @param bucketInputsAssetsProps Optional user provided props to override the default props for the S3 Bucket.
* Providing both this and existingInputAssetsBucketObj
will cause an error.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bucketInputsAssetsProps(software.amazon.awscdk.services.s3.BucketProps bucketInputsAssetsProps) {
this.bucketInputsAssetsProps = bucketInputsAssetsProps;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getCustomDockerLambdaProps}
* @param customDockerLambdaProps Optional.
* Allows to provide custom lambda code
* and settings instead of the existing
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder customDockerLambdaProps(io.github.cdklabs.generative_ai_cdk_constructs.DockerLambdaCustomProps customDockerLambdaProps) {
this.customDockerLambdaProps = customDockerLambdaProps;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getExistingBusInterface}
* @param existingBusInterface Optional Existing instance of an EventBridge bus.
* If not provided, the construct will create one.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder existingBusInterface(software.amazon.awscdk.services.events.IEventBus existingBusInterface) {
this.existingBusInterface = existingBusInterface;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getExistingInputAssetsBucketObj}
* @param existingInputAssetsBucketObj Existing instance of S3 Bucket object, providing both this and bucketInputsAssetsProps
will cause an error.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder existingInputAssetsBucketObj(software.amazon.awscdk.services.s3.IBucket existingInputAssetsBucketObj) {
this.existingInputAssetsBucketObj = existingInputAssetsBucketObj;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getExistingMergedApi}
* @param existingMergedApi Existing merged Appsync GraphQL api.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder existingMergedApi(software.amazon.awscdk.services.appsync.CfnGraphQLApi existingMergedApi) {
this.existingMergedApi = existingMergedApi;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getExistingOpensearchDomain}
* @param existingOpensearchDomain Existing Amazon OpenSearch Service domain.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder existingOpensearchDomain(software.amazon.awscdk.services.opensearchservice.IDomain existingOpensearchDomain) {
this.existingOpensearchDomain = existingOpensearchDomain;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getExistingOpensearchServerlessCollection}
* @param existingOpensearchServerlessCollection Existing Amazon OpenSearch Serverless collection.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder existingOpensearchServerlessCollection(software.amazon.awscdk.services.opensearchserverless.CfnCollection existingOpensearchServerlessCollection) {
this.existingOpensearchServerlessCollection = existingOpensearchServerlessCollection;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getExistingSecurityGroup}
* @param existingSecurityGroup Optional existing security group allowing access to opensearch.
* Used by the lambda functions
* built by this construct. If not provided, the construct will create one.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder existingSecurityGroup(software.amazon.awscdk.services.ec2.ISecurityGroup existingSecurityGroup) {
this.existingSecurityGroup = existingSecurityGroup;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getExistingVpc}
* @param existingVpc Optional An existing VPC in which to deploy the construct.
* Providing both this and
* vpcProps is an error.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder existingVpc(software.amazon.awscdk.services.ec2.IVpc existingVpc) {
this.existingVpc = existingVpc;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getLambdaProvisionedConcurrency}
* @param lambdaProvisionedConcurrency Optional.
* Allows a user to configure
* Lambda provisioned concurrency for consistent performance
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder lambdaProvisionedConcurrency(java.lang.Number lambdaProvisionedConcurrency) {
this.lambdaProvisionedConcurrency = lambdaProvisionedConcurrency;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getObservability}
* @param observability Enable observability.
* Warning: associated cost with the services
* used. Best practive to enable by default.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder observability(java.lang.Boolean observability) {
this.observability = observability;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getOpenSearchSecret}
* @param openSearchSecret Optional.
* SecretsManager secret to authenticate against the OpenSearch Service domain if
* domain is configured with Username/Password.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder openSearchSecret(software.amazon.awscdk.services.secretsmanager.ISecret openSearchSecret) {
this.openSearchSecret = openSearchSecret;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getStage}
* @param stage Value will be appended to resources name.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder stage(java.lang.String stage) {
this.stage = stage;
return this;
}
/**
* Sets the value of {@link QaAppsyncOpensearchProps#getVpcProps}
* @param vpcProps Optional custom properties for a VPC the construct will create.
* This VPC will
* be used by the Lambda functions the construct creates. Providing
* both this and existingVpc is an error.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder vpcProps(software.amazon.awscdk.services.ec2.VpcProps vpcProps) {
this.vpcProps = vpcProps;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link QaAppsyncOpensearchProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public QaAppsyncOpensearchProps build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link QaAppsyncOpensearchProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements QaAppsyncOpensearchProps {
private final software.amazon.awscdk.services.cognito.IUserPool cognitoUserPool;
private final java.lang.String openSearchIndexName;
private final software.amazon.awscdk.services.s3.BucketProps bucketInputsAssetsProps;
private final io.github.cdklabs.generative_ai_cdk_constructs.DockerLambdaCustomProps customDockerLambdaProps;
private final software.amazon.awscdk.services.events.IEventBus existingBusInterface;
private final software.amazon.awscdk.services.s3.IBucket existingInputAssetsBucketObj;
private final software.amazon.awscdk.services.appsync.CfnGraphQLApi existingMergedApi;
private final software.amazon.awscdk.services.opensearchservice.IDomain existingOpensearchDomain;
private final software.amazon.awscdk.services.opensearchserverless.CfnCollection existingOpensearchServerlessCollection;
private final software.amazon.awscdk.services.ec2.ISecurityGroup existingSecurityGroup;
private final software.amazon.awscdk.services.ec2.IVpc existingVpc;
private final java.lang.Number lambdaProvisionedConcurrency;
private final java.lang.Boolean observability;
private final software.amazon.awscdk.services.secretsmanager.ISecret openSearchSecret;
private final java.lang.String stage;
private final software.amazon.awscdk.services.ec2.VpcProps vpcProps;
/**
* 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.cognitoUserPool = software.amazon.jsii.Kernel.get(this, "cognitoUserPool", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.cognito.IUserPool.class));
this.openSearchIndexName = software.amazon.jsii.Kernel.get(this, "openSearchIndexName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.bucketInputsAssetsProps = software.amazon.jsii.Kernel.get(this, "bucketInputsAssetsProps", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.s3.BucketProps.class));
this.customDockerLambdaProps = software.amazon.jsii.Kernel.get(this, "customDockerLambdaProps", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.generative_ai_cdk_constructs.DockerLambdaCustomProps.class));
this.existingBusInterface = software.amazon.jsii.Kernel.get(this, "existingBusInterface", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.events.IEventBus.class));
this.existingInputAssetsBucketObj = software.amazon.jsii.Kernel.get(this, "existingInputAssetsBucketObj", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.s3.IBucket.class));
this.existingMergedApi = software.amazon.jsii.Kernel.get(this, "existingMergedApi", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.appsync.CfnGraphQLApi.class));
this.existingOpensearchDomain = software.amazon.jsii.Kernel.get(this, "existingOpensearchDomain", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.opensearchservice.IDomain.class));
this.existingOpensearchServerlessCollection = software.amazon.jsii.Kernel.get(this, "existingOpensearchServerlessCollection", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.opensearchserverless.CfnCollection.class));
this.existingSecurityGroup = software.amazon.jsii.Kernel.get(this, "existingSecurityGroup", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.ISecurityGroup.class));
this.existingVpc = software.amazon.jsii.Kernel.get(this, "existingVpc", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.IVpc.class));
this.lambdaProvisionedConcurrency = software.amazon.jsii.Kernel.get(this, "lambdaProvisionedConcurrency", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.observability = software.amazon.jsii.Kernel.get(this, "observability", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.openSearchSecret = software.amazon.jsii.Kernel.get(this, "openSearchSecret", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.secretsmanager.ISecret.class));
this.stage = software.amazon.jsii.Kernel.get(this, "stage", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.vpcProps = software.amazon.jsii.Kernel.get(this, "vpcProps", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.VpcProps.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.cognitoUserPool = java.util.Objects.requireNonNull(builder.cognitoUserPool, "cognitoUserPool is required");
this.openSearchIndexName = java.util.Objects.requireNonNull(builder.openSearchIndexName, "openSearchIndexName is required");
this.bucketInputsAssetsProps = builder.bucketInputsAssetsProps;
this.customDockerLambdaProps = builder.customDockerLambdaProps;
this.existingBusInterface = builder.existingBusInterface;
this.existingInputAssetsBucketObj = builder.existingInputAssetsBucketObj;
this.existingMergedApi = builder.existingMergedApi;
this.existingOpensearchDomain = builder.existingOpensearchDomain;
this.existingOpensearchServerlessCollection = builder.existingOpensearchServerlessCollection;
this.existingSecurityGroup = builder.existingSecurityGroup;
this.existingVpc = builder.existingVpc;
this.lambdaProvisionedConcurrency = builder.lambdaProvisionedConcurrency;
this.observability = builder.observability;
this.openSearchSecret = builder.openSearchSecret;
this.stage = builder.stage;
this.vpcProps = builder.vpcProps;
}
@Override
public final software.amazon.awscdk.services.cognito.IUserPool getCognitoUserPool() {
return this.cognitoUserPool;
}
@Override
public final java.lang.String getOpenSearchIndexName() {
return this.openSearchIndexName;
}
@Override
public final software.amazon.awscdk.services.s3.BucketProps getBucketInputsAssetsProps() {
return this.bucketInputsAssetsProps;
}
@Override
public final io.github.cdklabs.generative_ai_cdk_constructs.DockerLambdaCustomProps getCustomDockerLambdaProps() {
return this.customDockerLambdaProps;
}
@Override
public final software.amazon.awscdk.services.events.IEventBus getExistingBusInterface() {
return this.existingBusInterface;
}
@Override
public final software.amazon.awscdk.services.s3.IBucket getExistingInputAssetsBucketObj() {
return this.existingInputAssetsBucketObj;
}
@Override
public final software.amazon.awscdk.services.appsync.CfnGraphQLApi getExistingMergedApi() {
return this.existingMergedApi;
}
@Override
public final software.amazon.awscdk.services.opensearchservice.IDomain getExistingOpensearchDomain() {
return this.existingOpensearchDomain;
}
@Override
public final software.amazon.awscdk.services.opensearchserverless.CfnCollection getExistingOpensearchServerlessCollection() {
return this.existingOpensearchServerlessCollection;
}
@Override
public final software.amazon.awscdk.services.ec2.ISecurityGroup getExistingSecurityGroup() {
return this.existingSecurityGroup;
}
@Override
public final software.amazon.awscdk.services.ec2.IVpc getExistingVpc() {
return this.existingVpc;
}
@Override
public final java.lang.Number getLambdaProvisionedConcurrency() {
return this.lambdaProvisionedConcurrency;
}
@Override
public final java.lang.Boolean getObservability() {
return this.observability;
}
@Override
public final software.amazon.awscdk.services.secretsmanager.ISecret getOpenSearchSecret() {
return this.openSearchSecret;
}
@Override
public final java.lang.String getStage() {
return this.stage;
}
@Override
public final software.amazon.awscdk.services.ec2.VpcProps getVpcProps() {
return this.vpcProps;
}
@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("cognitoUserPool", om.valueToTree(this.getCognitoUserPool()));
data.set("openSearchIndexName", om.valueToTree(this.getOpenSearchIndexName()));
if (this.getBucketInputsAssetsProps() != null) {
data.set("bucketInputsAssetsProps", om.valueToTree(this.getBucketInputsAssetsProps()));
}
if (this.getCustomDockerLambdaProps() != null) {
data.set("customDockerLambdaProps", om.valueToTree(this.getCustomDockerLambdaProps()));
}
if (this.getExistingBusInterface() != null) {
data.set("existingBusInterface", om.valueToTree(this.getExistingBusInterface()));
}
if (this.getExistingInputAssetsBucketObj() != null) {
data.set("existingInputAssetsBucketObj", om.valueToTree(this.getExistingInputAssetsBucketObj()));
}
if (this.getExistingMergedApi() != null) {
data.set("existingMergedApi", om.valueToTree(this.getExistingMergedApi()));
}
if (this.getExistingOpensearchDomain() != null) {
data.set("existingOpensearchDomain", om.valueToTree(this.getExistingOpensearchDomain()));
}
if (this.getExistingOpensearchServerlessCollection() != null) {
data.set("existingOpensearchServerlessCollection", om.valueToTree(this.getExistingOpensearchServerlessCollection()));
}
if (this.getExistingSecurityGroup() != null) {
data.set("existingSecurityGroup", om.valueToTree(this.getExistingSecurityGroup()));
}
if (this.getExistingVpc() != null) {
data.set("existingVpc", om.valueToTree(this.getExistingVpc()));
}
if (this.getLambdaProvisionedConcurrency() != null) {
data.set("lambdaProvisionedConcurrency", om.valueToTree(this.getLambdaProvisionedConcurrency()));
}
if (this.getObservability() != null) {
data.set("observability", om.valueToTree(this.getObservability()));
}
if (this.getOpenSearchSecret() != null) {
data.set("openSearchSecret", om.valueToTree(this.getOpenSearchSecret()));
}
if (this.getStage() != null) {
data.set("stage", om.valueToTree(this.getStage()));
}
if (this.getVpcProps() != null) {
data.set("vpcProps", om.valueToTree(this.getVpcProps()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@cdklabs/generative-ai-cdk-constructs.QaAppsyncOpensearchProps"));
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;
QaAppsyncOpensearchProps.Jsii$Proxy that = (QaAppsyncOpensearchProps.Jsii$Proxy) o;
if (!cognitoUserPool.equals(that.cognitoUserPool)) return false;
if (!openSearchIndexName.equals(that.openSearchIndexName)) return false;
if (this.bucketInputsAssetsProps != null ? !this.bucketInputsAssetsProps.equals(that.bucketInputsAssetsProps) : that.bucketInputsAssetsProps != null) return false;
if (this.customDockerLambdaProps != null ? !this.customDockerLambdaProps.equals(that.customDockerLambdaProps) : that.customDockerLambdaProps != null) return false;
if (this.existingBusInterface != null ? !this.existingBusInterface.equals(that.existingBusInterface) : that.existingBusInterface != null) return false;
if (this.existingInputAssetsBucketObj != null ? !this.existingInputAssetsBucketObj.equals(that.existingInputAssetsBucketObj) : that.existingInputAssetsBucketObj != null) return false;
if (this.existingMergedApi != null ? !this.existingMergedApi.equals(that.existingMergedApi) : that.existingMergedApi != null) return false;
if (this.existingOpensearchDomain != null ? !this.existingOpensearchDomain.equals(that.existingOpensearchDomain) : that.existingOpensearchDomain != null) return false;
if (this.existingOpensearchServerlessCollection != null ? !this.existingOpensearchServerlessCollection.equals(that.existingOpensearchServerlessCollection) : that.existingOpensearchServerlessCollection != null) return false;
if (this.existingSecurityGroup != null ? !this.existingSecurityGroup.equals(that.existingSecurityGroup) : that.existingSecurityGroup != null) return false;
if (this.existingVpc != null ? !this.existingVpc.equals(that.existingVpc) : that.existingVpc != null) return false;
if (this.lambdaProvisionedConcurrency != null ? !this.lambdaProvisionedConcurrency.equals(that.lambdaProvisionedConcurrency) : that.lambdaProvisionedConcurrency != null) return false;
if (this.observability != null ? !this.observability.equals(that.observability) : that.observability != null) return false;
if (this.openSearchSecret != null ? !this.openSearchSecret.equals(that.openSearchSecret) : that.openSearchSecret != null) return false;
if (this.stage != null ? !this.stage.equals(that.stage) : that.stage != null) return false;
return this.vpcProps != null ? this.vpcProps.equals(that.vpcProps) : that.vpcProps == null;
}
@Override
public final int hashCode() {
int result = this.cognitoUserPool.hashCode();
result = 31 * result + (this.openSearchIndexName.hashCode());
result = 31 * result + (this.bucketInputsAssetsProps != null ? this.bucketInputsAssetsProps.hashCode() : 0);
result = 31 * result + (this.customDockerLambdaProps != null ? this.customDockerLambdaProps.hashCode() : 0);
result = 31 * result + (this.existingBusInterface != null ? this.existingBusInterface.hashCode() : 0);
result = 31 * result + (this.existingInputAssetsBucketObj != null ? this.existingInputAssetsBucketObj.hashCode() : 0);
result = 31 * result + (this.existingMergedApi != null ? this.existingMergedApi.hashCode() : 0);
result = 31 * result + (this.existingOpensearchDomain != null ? this.existingOpensearchDomain.hashCode() : 0);
result = 31 * result + (this.existingOpensearchServerlessCollection != null ? this.existingOpensearchServerlessCollection.hashCode() : 0);
result = 31 * result + (this.existingSecurityGroup != null ? this.existingSecurityGroup.hashCode() : 0);
result = 31 * result + (this.existingVpc != null ? this.existingVpc.hashCode() : 0);
result = 31 * result + (this.lambdaProvisionedConcurrency != null ? this.lambdaProvisionedConcurrency.hashCode() : 0);
result = 31 * result + (this.observability != null ? this.observability.hashCode() : 0);
result = 31 * result + (this.openSearchSecret != null ? this.openSearchSecret.hashCode() : 0);
result = 31 * result + (this.stage != null ? this.stage.hashCode() : 0);
result = 31 * result + (this.vpcProps != null ? this.vpcProps.hashCode() : 0);
return result;
}
}
}