
com.pwrdrvr.microapps.cdk.MicroAppsChildDeployer Maven / Gradle / Ivy
package com.pwrdrvr.microapps.cdk;
/**
* (experimental) Create a new MicroApps Child Deployer construct.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.75.0 (build 63bb957)", date = "2023-06-14T17:32:47.058Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Jsii(module = com.pwrdrvr.microapps.cdk.$Module.class, fqn = "@pwrdrvr/microapps-cdk.MicroAppsChildDeployer")
public class MicroAppsChildDeployer extends software.constructs.Construct implements com.pwrdrvr.microapps.cdk.IMicroAppsChildDeployer {
protected MicroAppsChildDeployer(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected MicroAppsChildDeployer(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param scope This parameter is required.
* @param id This parameter is required.
* @param props
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public MicroAppsChildDeployer(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.Nullable com.pwrdrvr.microapps.cdk.MicroAppsChildDeployerProps 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"), props });
}
/**
* @param scope This parameter is required.
* @param id This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public MicroAppsChildDeployer(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id) {
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") });
}
/**
* (experimental) Lambda function for the Deployer.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.lambda.IFunction getDeployerFunc() {
return software.amazon.jsii.Kernel.get(this, "deployerFunc", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.lambda.IFunction.class));
}
/**
* (experimental) A fluent builder for {@link com.pwrdrvr.microapps.cdk.MicroAppsChildDeployer}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
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.Experimental)
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 com.pwrdrvr.microapps.cdk.MicroAppsChildDeployerProps.Builder props;
private Builder(final software.constructs.Construct scope, final java.lang.String id) {
this.scope = scope;
this.id = id;
}
/**
* (experimental) Application environment, passed as `NODE_ENV` to the Router and Deployer Lambda functions.
*
* @return {@code this}
* @param appEnv Application environment, passed as `NODE_ENV` to the Router and Deployer Lambda functions. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder appEnv(final java.lang.String appEnv) {
this.props().appEnv(appEnv);
return this;
}
/**
* (experimental) ARN of the parent Deployer Lambda Function.
*
* @return {@code this}
* @param parentDeployerLambdaArn ARN of the parent Deployer Lambda Function. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder parentDeployerLambdaArn(final java.lang.String parentDeployerLambdaArn) {
this.props().parentDeployerLambdaArn(parentDeployerLambdaArn);
return this;
}
/**
* (experimental) Optional asset name root.
*
* Default: - resource names auto assigned
*
* Example:
*
*
* microapps
*
*
* @return {@code this}
* @param assetNameRoot Optional asset name root. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder assetNameRoot(final java.lang.String assetNameRoot) {
this.props().assetNameRoot(assetNameRoot);
return this;
}
/**
* (experimental) Optional asset name suffix.
*
* Default: none
*
* Example:
*
*
* -dev-pr-12
*
*
* @return {@code this}
* @param assetNameSuffix Optional asset name suffix. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder assetNameSuffix(final java.lang.String assetNameSuffix) {
this.props().assetNameSuffix(assetNameSuffix);
return this;
}
/**
* (experimental) Deployer timeout.
*
* For larger applications this needs to be set up to 2-5 minutes for the S3 copy
*
* Default: 2 minutes
*
* @return {@code this}
* @param deployerTimeout Deployer timeout. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder deployerTimeout(final software.amazon.awscdk.Duration deployerTimeout) {
this.props().deployerTimeout(deployerTimeout);
return this;
}
/**
* (experimental) ARN of the IAM Role for the Edge to Origin Lambda Function.
*
* For child accounts this can be blank as it is retrieved from the parent Deployer
*
* @return {@code this}
* @param edgeToOriginRoleArn ARN of the IAM Role for the Edge to Origin Lambda Function. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder edgeToOriginRoleArn(final java.lang.String edgeToOriginRoleArn) {
this.props().edgeToOriginRoleArn(edgeToOriginRoleArn);
return this;
}
/**
* (experimental) RemovalPolicy override for child resources.
*
* Note: if set to DESTROY the S3 buckes will have autoDeleteObjects
set to true
*
* Default: - per resource default
*
* @return {@code this}
* @param removalPolicy RemovalPolicy override for child resources. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder removalPolicy(final software.amazon.awscdk.RemovalPolicy removalPolicy) {
this.props().removalPolicy(removalPolicy);
return this;
}
/**
* @returns a newly built instance of {@link com.pwrdrvr.microapps.cdk.MicroAppsChildDeployer}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public com.pwrdrvr.microapps.cdk.MicroAppsChildDeployer build() {
return new com.pwrdrvr.microapps.cdk.MicroAppsChildDeployer(
this.scope,
this.id,
this.props != null ? this.props.build() : null
);
}
private com.pwrdrvr.microapps.cdk.MicroAppsChildDeployerProps.Builder props() {
if (this.props == null) {
this.props = new com.pwrdrvr.microapps.cdk.MicroAppsChildDeployerProps.Builder();
}
return this.props;
}
}
}