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

software.amazon.awscdk.services.lambda.CfnAlias Maven / Gradle / Ivy

package software.amazon.awscdk.services.lambda;

/**
 * A CloudFormation `AWS::Lambda::Alias`.
 * 
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html
 */
@javax.annotation.Generated(value = "jsii-pacmak/0.13.3 (build 3624e0f)", date = "2019-07-04T19:32:56.823Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.lambda.$Module.class, fqn = "@aws-cdk/aws-lambda.CfnAlias")
public class CfnAlias extends software.amazon.awscdk.core.CfnResource {
    protected CfnAlias(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
        super(mode);
    }
    static {
        CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.awscdk.services.lambda.CfnAlias.class, "CFN_RESOURCE_TYPE_NAME", java.lang.String.class);
    }
    /**
     * Create a new `AWS::Lambda::Alias`.
     * 
     * @param scope - scope in which this resource is defined.
     * @param id - scoped id of the resource.
     * @param props - resource properties.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public CfnAlias(final software.amazon.awscdk.core.Construct scope, final java.lang.String id, final software.amazon.awscdk.services.lambda.CfnAliasProps 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") });
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @Override
    protected java.util.Map renderProperties(final java.util.Map props) {
        return this.jsiiCall("renderProperties", java.util.Map.class, new Object[] { java.util.Objects.requireNonNull(props, "props is required") });
    }
    /**
     * The CloudFormation resource type name for this resource class.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public final static java.lang.String CFN_RESOURCE_TYPE_NAME;

    /**
     */
    @Override
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    protected java.util.Map getCfnProperties() {
        return this.jsiiGet("cfnProperties", java.util.Map.class);
    }

    /**
     * `AWS::Lambda::Alias.FunctionName`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-functionname
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public java.lang.String getFunctionName() {
        return this.jsiiGet("functionName", java.lang.String.class);
    }

    /**
     * `AWS::Lambda::Alias.FunctionName`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-functionname
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public void setFunctionName(final java.lang.String value) {
        this.jsiiSet("functionName", java.util.Objects.requireNonNull(value, "functionName is required"));
    }

    /**
     * `AWS::Lambda::Alias.FunctionVersion`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-functionversion
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public java.lang.String getFunctionVersion() {
        return this.jsiiGet("functionVersion", java.lang.String.class);
    }

    /**
     * `AWS::Lambda::Alias.FunctionVersion`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-functionversion
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public void setFunctionVersion(final java.lang.String value) {
        this.jsiiSet("functionVersion", java.util.Objects.requireNonNull(value, "functionVersion is required"));
    }

    /**
     * `AWS::Lambda::Alias.Name`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-name
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public java.lang.String getName() {
        return this.jsiiGet("name", java.lang.String.class);
    }

    /**
     * `AWS::Lambda::Alias.Name`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-name
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public void setName(final java.lang.String value) {
        this.jsiiSet("name", java.util.Objects.requireNonNull(value, "name is required"));
    }

    /**
     * `AWS::Lambda::Alias.Description`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-description
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @javax.annotation.Nullable
    public java.lang.String getDescription() {
        return this.jsiiGet("description", java.lang.String.class);
    }

    /**
     * `AWS::Lambda::Alias.Description`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-description
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public void setDescription(@javax.annotation.Nullable final java.lang.String value) {
        this.jsiiSet("description", value);
    }

    /**
     * `AWS::Lambda::Alias.RoutingConfig`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-routingconfig
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @javax.annotation.Nullable
    public java.lang.Object getRoutingConfig() {
        return this.jsiiGet("routingConfig", java.lang.Object.class);
    }

    /**
     * `AWS::Lambda::Alias.RoutingConfig`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-routingconfig
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public void setRoutingConfig(@javax.annotation.Nullable final software.amazon.awscdk.services.lambda.CfnAlias.AliasRoutingConfigurationProperty value) {
        this.jsiiSet("routingConfig", value);
    }

    /**
     * `AWS::Lambda::Alias.RoutingConfig`.
     * 
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-routingconfig
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public void setRoutingConfig(@javax.annotation.Nullable final software.amazon.awscdk.core.IResolvable value) {
        this.jsiiSet("routingConfig", value);
    }
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-aliasroutingconfiguration.html
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public static interface AliasRoutingConfigurationProperty extends software.amazon.jsii.JsiiSerializable {
        /**
         * `CfnAlias.AliasRoutingConfigurationProperty.AdditionalVersionWeights`.
         * 
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-aliasroutingconfiguration.html#cfn-lambda-alias-aliasroutingconfiguration-additionalversionweights
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        java.lang.Object getAdditionalVersionWeights();

        /**
         * @return a {@link Builder} of {@link AliasRoutingConfigurationProperty}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        static Builder builder() {
            return new Builder();
        }

        /**
         * A builder for {@link AliasRoutingConfigurationProperty}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        final class Builder {
            private java.lang.Object _additionalVersionWeights;

            /**
             * Sets the value of AdditionalVersionWeights
             * @param value `CfnAlias.AliasRoutingConfigurationProperty.AdditionalVersionWeights`.
             * @return {@code this}
             */
            @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
            public Builder withAdditionalVersionWeights(final software.amazon.awscdk.core.IResolvable value) {
                this._additionalVersionWeights = java.util.Objects.requireNonNull(value, "additionalVersionWeights is required");
                return this;
            }
            /**
             * Sets the value of AdditionalVersionWeights
             * @param value `CfnAlias.AliasRoutingConfigurationProperty.AdditionalVersionWeights`.
             * @return {@code this}
             */
            @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
            public Builder withAdditionalVersionWeights(final java.util.List value) {
                this._additionalVersionWeights = java.util.Objects.requireNonNull(value, "additionalVersionWeights is required");
                return this;
            }

            /**
             * Builds the configured instance.
             * @return a new instance of {@link AliasRoutingConfigurationProperty}
             * @throws NullPointerException if any required attribute was not provided
             */
            @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
            public AliasRoutingConfigurationProperty build() {
                return new AliasRoutingConfigurationProperty() {
                    private final java.lang.Object $additionalVersionWeights = java.util.Objects.requireNonNull(_additionalVersionWeights, "additionalVersionWeights is required");

                    @Override
                    public java.lang.Object getAdditionalVersionWeights() {
                        return this.$additionalVersionWeights;
                    }

                    public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
                        com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
                        com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
                        obj.set("additionalVersionWeights", om.valueToTree(this.getAdditionalVersionWeights()));
                        return obj;
                    }

                };
            }
        }

        /**
         * A proxy class which represents a concrete javascript instance of this type.
         */
        final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.awscdk.services.lambda.CfnAlias.AliasRoutingConfigurationProperty {
            protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
                super(mode);
            }

            /**
             * `CfnAlias.AliasRoutingConfigurationProperty.AdditionalVersionWeights`.
             * 
             * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-aliasroutingconfiguration.html#cfn-lambda-alias-aliasroutingconfiguration-additionalversionweights
             */
            @Override
            @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
            public java.lang.Object getAdditionalVersionWeights() {
                return this.jsiiGet("additionalVersionWeights", java.lang.Object.class);
            }
        }
    }
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public static interface VersionWeightProperty extends software.amazon.jsii.JsiiSerializable {
        /**
         * `CfnAlias.VersionWeightProperty.FunctionVersion`.
         * 
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html#cfn-lambda-alias-versionweight-functionversion
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        java.lang.String getFunctionVersion();
        /**
         * `CfnAlias.VersionWeightProperty.FunctionWeight`.
         * 
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html#cfn-lambda-alias-versionweight-functionweight
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        java.lang.Number getFunctionWeight();

        /**
         * @return a {@link Builder} of {@link VersionWeightProperty}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        static Builder builder() {
            return new Builder();
        }

        /**
         * A builder for {@link VersionWeightProperty}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        final class Builder {
            private java.lang.String _functionVersion;
            private java.lang.Number _functionWeight;

            /**
             * Sets the value of FunctionVersion
             * @param value `CfnAlias.VersionWeightProperty.FunctionVersion`.
             * @return {@code this}
             */
            @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
            public Builder withFunctionVersion(final java.lang.String value) {
                this._functionVersion = java.util.Objects.requireNonNull(value, "functionVersion is required");
                return this;
            }
            /**
             * Sets the value of FunctionWeight
             * @param value `CfnAlias.VersionWeightProperty.FunctionWeight`.
             * @return {@code this}
             */
            @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
            public Builder withFunctionWeight(final java.lang.Number value) {
                this._functionWeight = java.util.Objects.requireNonNull(value, "functionWeight is required");
                return this;
            }

            /**
             * Builds the configured instance.
             * @return a new instance of {@link VersionWeightProperty}
             * @throws NullPointerException if any required attribute was not provided
             */
            @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
            public VersionWeightProperty build() {
                return new VersionWeightProperty() {
                    private final java.lang.String $functionVersion = java.util.Objects.requireNonNull(_functionVersion, "functionVersion is required");
                    private final java.lang.Number $functionWeight = java.util.Objects.requireNonNull(_functionWeight, "functionWeight is required");

                    @Override
                    public java.lang.String getFunctionVersion() {
                        return this.$functionVersion;
                    }

                    @Override
                    public java.lang.Number getFunctionWeight() {
                        return this.$functionWeight;
                    }

                    public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
                        com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
                        com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
                        obj.set("functionVersion", om.valueToTree(this.getFunctionVersion()));
                        obj.set("functionWeight", om.valueToTree(this.getFunctionWeight()));
                        return obj;
                    }

                };
            }
        }

        /**
         * A proxy class which represents a concrete javascript instance of this type.
         */
        final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.awscdk.services.lambda.CfnAlias.VersionWeightProperty {
            protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
                super(mode);
            }

            /**
             * `CfnAlias.VersionWeightProperty.FunctionVersion`.
             * 
             * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html#cfn-lambda-alias-versionweight-functionversion
             */
            @Override
            @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
            public java.lang.String getFunctionVersion() {
                return this.jsiiGet("functionVersion", java.lang.String.class);
            }

            /**
             * `CfnAlias.VersionWeightProperty.FunctionWeight`.
             * 
             * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html#cfn-lambda-alias-versionweight-functionweight
             */
            @Override
            @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
            public java.lang.Number getFunctionWeight() {
                return this.jsiiGet("functionWeight", java.lang.Number.class);
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy