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

software.amazon.awscdk.services.serverless.CfnFunctionProps Maven / Gradle / Ivy

There is a newer version: 0.28.0
Show newest version
package software.amazon.awscdk.services.serverless;

/**
 * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
 */
@javax.annotation.Generated(value = "jsii-pacmak/0.7.14 (build 91853ce)", date = "2019-02-04T14:51:49.335Z")
public interface CfnFunctionProps extends software.amazon.jsii.JsiiSerializable {
    /**
     * ``AWS::Serverless::Function.CodeUri``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.Object getCodeUri();
    /**
     * ``AWS::Serverless::Function.CodeUri``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setCodeUri(final java.lang.String value);
    /**
     * ``AWS::Serverless::Function.CodeUri``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setCodeUri(final software.amazon.awscdk.Token value);
    /**
     * ``AWS::Serverless::Function.CodeUri``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setCodeUri(final software.amazon.awscdk.services.serverless.CfnFunction.S3LocationProperty value);
    /**
     * ``AWS::Serverless::Function.Handler``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.String getHandler();
    /**
     * ``AWS::Serverless::Function.Handler``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setHandler(final java.lang.String value);
    /**
     * ``AWS::Serverless::Function.Runtime``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.String getRuntime();
    /**
     * ``AWS::Serverless::Function.Runtime``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setRuntime(final java.lang.String value);
    /**
     * ``AWS::Serverless::Function.DeadLetterQueue``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.Object getDeadLetterQueue();
    /**
     * ``AWS::Serverless::Function.DeadLetterQueue``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setDeadLetterQueue(final software.amazon.awscdk.Token value);
    /**
     * ``AWS::Serverless::Function.DeadLetterQueue``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setDeadLetterQueue(final software.amazon.awscdk.services.serverless.CfnFunction.DeadLetterQueueProperty value);
    /**
     * ``AWS::Serverless::Function.DeploymentPreference``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object
     */
    java.lang.Object getDeploymentPreference();
    /**
     * ``AWS::Serverless::Function.DeploymentPreference``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object
     */
    void setDeploymentPreference(final software.amazon.awscdk.Token value);
    /**
     * ``AWS::Serverless::Function.DeploymentPreference``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object
     */
    void setDeploymentPreference(final software.amazon.awscdk.services.serverless.CfnFunction.DeploymentPreferenceProperty value);
    /**
     * ``AWS::Serverless::Function.Description``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.String getDescription();
    /**
     * ``AWS::Serverless::Function.Description``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setDescription(final java.lang.String value);
    /**
     * ``AWS::Serverless::Function.Environment``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.Object getEnvironment();
    /**
     * ``AWS::Serverless::Function.Environment``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setEnvironment(final software.amazon.awscdk.Token value);
    /**
     * ``AWS::Serverless::Function.Environment``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setEnvironment(final software.amazon.awscdk.services.serverless.CfnFunction.FunctionEnvironmentProperty value);
    /**
     * ``AWS::Serverless::Function.Events``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.Object getEvents();
    /**
     * ``AWS::Serverless::Function.Events``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setEvents(final software.amazon.awscdk.Token value);
    /**
     * ``AWS::Serverless::Function.Events``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setEvents(final java.util.Map value);
    /**
     * ``AWS::Serverless::Function.FunctionName``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.String getFunctionName();
    /**
     * ``AWS::Serverless::Function.FunctionName``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setFunctionName(final java.lang.String value);
    /**
     * ``AWS::Serverless::Function.KmsKeyArn``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.String getKmsKeyArn();
    /**
     * ``AWS::Serverless::Function.KmsKeyArn``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setKmsKeyArn(final java.lang.String value);
    /**
     * ``AWS::Serverless::Function.MemorySize``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.Object getMemorySize();
    /**
     * ``AWS::Serverless::Function.MemorySize``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setMemorySize(final java.lang.Number value);
    /**
     * ``AWS::Serverless::Function.MemorySize``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setMemorySize(final software.amazon.awscdk.Token value);
    /**
     * ``AWS::Serverless::Function.Policies``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.Object getPolicies();
    /**
     * ``AWS::Serverless::Function.Policies``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setPolicies(final java.lang.String value);
    /**
     * ``AWS::Serverless::Function.Policies``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setPolicies(final software.amazon.awscdk.Token value);
    /**
     * ``AWS::Serverless::Function.Policies``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setPolicies(final software.amazon.awscdk.services.serverless.CfnFunction.IAMPolicyDocumentProperty value);
    /**
     * ``AWS::Serverless::Function.Policies``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setPolicies(final java.util.List value);
    /**
     * ``AWS::Serverless::Function.Role``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.String getRole();
    /**
     * ``AWS::Serverless::Function.Role``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setRole(final java.lang.String value);
    /**
     * ``AWS::Serverless::Function.Tags``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.Object getTags();
    /**
     * ``AWS::Serverless::Function.Tags``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setTags(final software.amazon.awscdk.Token value);
    /**
     * ``AWS::Serverless::Function.Tags``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setTags(final java.util.Map value);
    /**
     * ``AWS::Serverless::Function.Timeout``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.Object getTimeout();
    /**
     * ``AWS::Serverless::Function.Timeout``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setTimeout(final java.lang.Number value);
    /**
     * ``AWS::Serverless::Function.Timeout``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setTimeout(final software.amazon.awscdk.Token value);
    /**
     * ``AWS::Serverless::Function.Tracing``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.String getTracing();
    /**
     * ``AWS::Serverless::Function.Tracing``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setTracing(final java.lang.String value);
    /**
     * ``AWS::Serverless::Function.VpcConfig``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    java.lang.Object getVpcConfig();
    /**
     * ``AWS::Serverless::Function.VpcConfig``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setVpcConfig(final software.amazon.awscdk.Token value);
    /**
     * ``AWS::Serverless::Function.VpcConfig``
     * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
     */
    void setVpcConfig(final software.amazon.awscdk.services.serverless.CfnFunction.VpcConfigProperty value);

    /**
     * @return a {@link Builder} of {@link CfnFunctionProps}
     */
    static Builder builder() {
        return new Builder();
    }

    /**
     * A builder for {@link CfnFunctionProps}
     */
    final class Builder {
        private java.lang.Object _codeUri;
        private java.lang.String _handler;
        private java.lang.String _runtime;
        @javax.annotation.Nullable
        private java.lang.Object _deadLetterQueue;
        @javax.annotation.Nullable
        private java.lang.Object _deploymentPreference;
        @javax.annotation.Nullable
        private java.lang.String _description;
        @javax.annotation.Nullable
        private java.lang.Object _environment;
        @javax.annotation.Nullable
        private java.lang.Object _events;
        @javax.annotation.Nullable
        private java.lang.String _functionName;
        @javax.annotation.Nullable
        private java.lang.String _kmsKeyArn;
        @javax.annotation.Nullable
        private java.lang.Object _memorySize;
        @javax.annotation.Nullable
        private java.lang.Object _policies;
        @javax.annotation.Nullable
        private java.lang.String _role;
        @javax.annotation.Nullable
        private java.lang.Object _tags;
        @javax.annotation.Nullable
        private java.lang.Object _timeout;
        @javax.annotation.Nullable
        private java.lang.String _tracing;
        @javax.annotation.Nullable
        private java.lang.Object _vpcConfig;

        /**
         * Sets the value of CodeUri
         * @param value ``AWS::Serverless::Function.CodeUri``
         * @return {@code this}
         */
        public Builder withCodeUri(final java.lang.String value) {
            this._codeUri = java.util.Objects.requireNonNull(value, "codeUri is required");
            return this;
        }
        /**
         * Sets the value of CodeUri
         * @param value ``AWS::Serverless::Function.CodeUri``
         * @return {@code this}
         */
        public Builder withCodeUri(final software.amazon.awscdk.Token value) {
            this._codeUri = java.util.Objects.requireNonNull(value, "codeUri is required");
            return this;
        }
        /**
         * Sets the value of CodeUri
         * @param value ``AWS::Serverless::Function.CodeUri``
         * @return {@code this}
         */
        public Builder withCodeUri(final software.amazon.awscdk.services.serverless.CfnFunction.S3LocationProperty value) {
            this._codeUri = java.util.Objects.requireNonNull(value, "codeUri is required");
            return this;
        }
        /**
         * Sets the value of Handler
         * @param value ``AWS::Serverless::Function.Handler``
         * @return {@code this}
         */
        public Builder withHandler(final java.lang.String value) {
            this._handler = java.util.Objects.requireNonNull(value, "handler is required");
            return this;
        }
        /**
         * Sets the value of Runtime
         * @param value ``AWS::Serverless::Function.Runtime``
         * @return {@code this}
         */
        public Builder withRuntime(final java.lang.String value) {
            this._runtime = java.util.Objects.requireNonNull(value, "runtime is required");
            return this;
        }
        /**
         * Sets the value of DeadLetterQueue
         * @param value ``AWS::Serverless::Function.DeadLetterQueue``
         * @return {@code this}
         */
        public Builder withDeadLetterQueue(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this._deadLetterQueue = value;
            return this;
        }
        /**
         * Sets the value of DeadLetterQueue
         * @param value ``AWS::Serverless::Function.DeadLetterQueue``
         * @return {@code this}
         */
        public Builder withDeadLetterQueue(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.DeadLetterQueueProperty value) {
            this._deadLetterQueue = value;
            return this;
        }
        /**
         * Sets the value of DeploymentPreference
         * @param value ``AWS::Serverless::Function.DeploymentPreference``
         * @return {@code this}
         */
        public Builder withDeploymentPreference(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this._deploymentPreference = value;
            return this;
        }
        /**
         * Sets the value of DeploymentPreference
         * @param value ``AWS::Serverless::Function.DeploymentPreference``
         * @return {@code this}
         */
        public Builder withDeploymentPreference(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.DeploymentPreferenceProperty value) {
            this._deploymentPreference = value;
            return this;
        }
        /**
         * Sets the value of Description
         * @param value ``AWS::Serverless::Function.Description``
         * @return {@code this}
         */
        public Builder withDescription(@javax.annotation.Nullable final java.lang.String value) {
            this._description = value;
            return this;
        }
        /**
         * Sets the value of Environment
         * @param value ``AWS::Serverless::Function.Environment``
         * @return {@code this}
         */
        public Builder withEnvironment(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this._environment = value;
            return this;
        }
        /**
         * Sets the value of Environment
         * @param value ``AWS::Serverless::Function.Environment``
         * @return {@code this}
         */
        public Builder withEnvironment(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.FunctionEnvironmentProperty value) {
            this._environment = value;
            return this;
        }
        /**
         * Sets the value of Events
         * @param value ``AWS::Serverless::Function.Events``
         * @return {@code this}
         */
        public Builder withEvents(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this._events = value;
            return this;
        }
        /**
         * Sets the value of Events
         * @param value ``AWS::Serverless::Function.Events``
         * @return {@code this}
         */
        public Builder withEvents(@javax.annotation.Nullable final java.util.Map value) {
            this._events = value;
            return this;
        }
        /**
         * Sets the value of FunctionName
         * @param value ``AWS::Serverless::Function.FunctionName``
         * @return {@code this}
         */
        public Builder withFunctionName(@javax.annotation.Nullable final java.lang.String value) {
            this._functionName = value;
            return this;
        }
        /**
         * Sets the value of KmsKeyArn
         * @param value ``AWS::Serverless::Function.KmsKeyArn``
         * @return {@code this}
         */
        public Builder withKmsKeyArn(@javax.annotation.Nullable final java.lang.String value) {
            this._kmsKeyArn = value;
            return this;
        }
        /**
         * Sets the value of MemorySize
         * @param value ``AWS::Serverless::Function.MemorySize``
         * @return {@code this}
         */
        public Builder withMemorySize(@javax.annotation.Nullable final java.lang.Number value) {
            this._memorySize = value;
            return this;
        }
        /**
         * Sets the value of MemorySize
         * @param value ``AWS::Serverless::Function.MemorySize``
         * @return {@code this}
         */
        public Builder withMemorySize(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this._memorySize = value;
            return this;
        }
        /**
         * Sets the value of Policies
         * @param value ``AWS::Serverless::Function.Policies``
         * @return {@code this}
         */
        public Builder withPolicies(@javax.annotation.Nullable final java.lang.String value) {
            this._policies = value;
            return this;
        }
        /**
         * Sets the value of Policies
         * @param value ``AWS::Serverless::Function.Policies``
         * @return {@code this}
         */
        public Builder withPolicies(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this._policies = value;
            return this;
        }
        /**
         * Sets the value of Policies
         * @param value ``AWS::Serverless::Function.Policies``
         * @return {@code this}
         */
        public Builder withPolicies(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.IAMPolicyDocumentProperty value) {
            this._policies = value;
            return this;
        }
        /**
         * Sets the value of Policies
         * @param value ``AWS::Serverless::Function.Policies``
         * @return {@code this}
         */
        public Builder withPolicies(@javax.annotation.Nullable final java.util.List value) {
            this._policies = value;
            return this;
        }
        /**
         * Sets the value of Role
         * @param value ``AWS::Serverless::Function.Role``
         * @return {@code this}
         */
        public Builder withRole(@javax.annotation.Nullable final java.lang.String value) {
            this._role = value;
            return this;
        }
        /**
         * Sets the value of Tags
         * @param value ``AWS::Serverless::Function.Tags``
         * @return {@code this}
         */
        public Builder withTags(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this._tags = value;
            return this;
        }
        /**
         * Sets the value of Tags
         * @param value ``AWS::Serverless::Function.Tags``
         * @return {@code this}
         */
        public Builder withTags(@javax.annotation.Nullable final java.util.Map value) {
            this._tags = value;
            return this;
        }
        /**
         * Sets the value of Timeout
         * @param value ``AWS::Serverless::Function.Timeout``
         * @return {@code this}
         */
        public Builder withTimeout(@javax.annotation.Nullable final java.lang.Number value) {
            this._timeout = value;
            return this;
        }
        /**
         * Sets the value of Timeout
         * @param value ``AWS::Serverless::Function.Timeout``
         * @return {@code this}
         */
        public Builder withTimeout(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this._timeout = value;
            return this;
        }
        /**
         * Sets the value of Tracing
         * @param value ``AWS::Serverless::Function.Tracing``
         * @return {@code this}
         */
        public Builder withTracing(@javax.annotation.Nullable final java.lang.String value) {
            this._tracing = value;
            return this;
        }
        /**
         * Sets the value of VpcConfig
         * @param value ``AWS::Serverless::Function.VpcConfig``
         * @return {@code this}
         */
        public Builder withVpcConfig(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this._vpcConfig = value;
            return this;
        }
        /**
         * Sets the value of VpcConfig
         * @param value ``AWS::Serverless::Function.VpcConfig``
         * @return {@code this}
         */
        public Builder withVpcConfig(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.VpcConfigProperty value) {
            this._vpcConfig = value;
            return this;
        }

        /**
         * Builds the configured instance.
         * @return a new instance of {@link CfnFunctionProps}
         * @throws NullPointerException if any required attribute was not provided
         */
        public CfnFunctionProps build() {
            return new CfnFunctionProps() {
                private java.lang.Object $codeUri = java.util.Objects.requireNonNull(_codeUri, "codeUri is required");
                private java.lang.String $handler = java.util.Objects.requireNonNull(_handler, "handler is required");
                private java.lang.String $runtime = java.util.Objects.requireNonNull(_runtime, "runtime is required");
                @javax.annotation.Nullable
                private java.lang.Object $deadLetterQueue = _deadLetterQueue;
                @javax.annotation.Nullable
                private java.lang.Object $deploymentPreference = _deploymentPreference;
                @javax.annotation.Nullable
                private java.lang.String $description = _description;
                @javax.annotation.Nullable
                private java.lang.Object $environment = _environment;
                @javax.annotation.Nullable
                private java.lang.Object $events = _events;
                @javax.annotation.Nullable
                private java.lang.String $functionName = _functionName;
                @javax.annotation.Nullable
                private java.lang.String $kmsKeyArn = _kmsKeyArn;
                @javax.annotation.Nullable
                private java.lang.Object $memorySize = _memorySize;
                @javax.annotation.Nullable
                private java.lang.Object $policies = _policies;
                @javax.annotation.Nullable
                private java.lang.String $role = _role;
                @javax.annotation.Nullable
                private java.lang.Object $tags = _tags;
                @javax.annotation.Nullable
                private java.lang.Object $timeout = _timeout;
                @javax.annotation.Nullable
                private java.lang.String $tracing = _tracing;
                @javax.annotation.Nullable
                private java.lang.Object $vpcConfig = _vpcConfig;

                @Override
                public java.lang.Object getCodeUri() {
                    return this.$codeUri;
                }

                @Override
                public void setCodeUri(final java.lang.String value) {
                    this.$codeUri = java.util.Objects.requireNonNull(value, "codeUri is required");
                }

                @Override
                public void setCodeUri(final software.amazon.awscdk.Token value) {
                    this.$codeUri = java.util.Objects.requireNonNull(value, "codeUri is required");
                }

                @Override
                public void setCodeUri(final software.amazon.awscdk.services.serverless.CfnFunction.S3LocationProperty value) {
                    this.$codeUri = java.util.Objects.requireNonNull(value, "codeUri is required");
                }

                @Override
                public java.lang.String getHandler() {
                    return this.$handler;
                }

                @Override
                public void setHandler(final java.lang.String value) {
                    this.$handler = java.util.Objects.requireNonNull(value, "handler is required");
                }

                @Override
                public java.lang.String getRuntime() {
                    return this.$runtime;
                }

                @Override
                public void setRuntime(final java.lang.String value) {
                    this.$runtime = java.util.Objects.requireNonNull(value, "runtime is required");
                }

                @Override
                public java.lang.Object getDeadLetterQueue() {
                    return this.$deadLetterQueue;
                }

                @Override
                public void setDeadLetterQueue(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                    this.$deadLetterQueue = value;
                }

                @Override
                public void setDeadLetterQueue(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.DeadLetterQueueProperty value) {
                    this.$deadLetterQueue = value;
                }

                @Override
                public java.lang.Object getDeploymentPreference() {
                    return this.$deploymentPreference;
                }

                @Override
                public void setDeploymentPreference(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                    this.$deploymentPreference = value;
                }

                @Override
                public void setDeploymentPreference(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.DeploymentPreferenceProperty value) {
                    this.$deploymentPreference = value;
                }

                @Override
                public java.lang.String getDescription() {
                    return this.$description;
                }

                @Override
                public void setDescription(@javax.annotation.Nullable final java.lang.String value) {
                    this.$description = value;
                }

                @Override
                public java.lang.Object getEnvironment() {
                    return this.$environment;
                }

                @Override
                public void setEnvironment(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                    this.$environment = value;
                }

                @Override
                public void setEnvironment(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.FunctionEnvironmentProperty value) {
                    this.$environment = value;
                }

                @Override
                public java.lang.Object getEvents() {
                    return this.$events;
                }

                @Override
                public void setEvents(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                    this.$events = value;
                }

                @Override
                public void setEvents(@javax.annotation.Nullable final java.util.Map value) {
                    this.$events = value;
                }

                @Override
                public java.lang.String getFunctionName() {
                    return this.$functionName;
                }

                @Override
                public void setFunctionName(@javax.annotation.Nullable final java.lang.String value) {
                    this.$functionName = value;
                }

                @Override
                public java.lang.String getKmsKeyArn() {
                    return this.$kmsKeyArn;
                }

                @Override
                public void setKmsKeyArn(@javax.annotation.Nullable final java.lang.String value) {
                    this.$kmsKeyArn = value;
                }

                @Override
                public java.lang.Object getMemorySize() {
                    return this.$memorySize;
                }

                @Override
                public void setMemorySize(@javax.annotation.Nullable final java.lang.Number value) {
                    this.$memorySize = value;
                }

                @Override
                public void setMemorySize(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                    this.$memorySize = value;
                }

                @Override
                public java.lang.Object getPolicies() {
                    return this.$policies;
                }

                @Override
                public void setPolicies(@javax.annotation.Nullable final java.lang.String value) {
                    this.$policies = value;
                }

                @Override
                public void setPolicies(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                    this.$policies = value;
                }

                @Override
                public void setPolicies(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.IAMPolicyDocumentProperty value) {
                    this.$policies = value;
                }

                @Override
                public void setPolicies(@javax.annotation.Nullable final java.util.List value) {
                    this.$policies = value;
                }

                @Override
                public java.lang.String getRole() {
                    return this.$role;
                }

                @Override
                public void setRole(@javax.annotation.Nullable final java.lang.String value) {
                    this.$role = value;
                }

                @Override
                public java.lang.Object getTags() {
                    return this.$tags;
                }

                @Override
                public void setTags(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                    this.$tags = value;
                }

                @Override
                public void setTags(@javax.annotation.Nullable final java.util.Map value) {
                    this.$tags = value;
                }

                @Override
                public java.lang.Object getTimeout() {
                    return this.$timeout;
                }

                @Override
                public void setTimeout(@javax.annotation.Nullable final java.lang.Number value) {
                    this.$timeout = value;
                }

                @Override
                public void setTimeout(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                    this.$timeout = value;
                }

                @Override
                public java.lang.String getTracing() {
                    return this.$tracing;
                }

                @Override
                public void setTracing(@javax.annotation.Nullable final java.lang.String value) {
                    this.$tracing = value;
                }

                @Override
                public java.lang.Object getVpcConfig() {
                    return this.$vpcConfig;
                }

                @Override
                public void setVpcConfig(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                    this.$vpcConfig = value;
                }

                @Override
                public void setVpcConfig(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.VpcConfigProperty value) {
                    this.$vpcConfig = value;
                }

            };
        }
    }

    /**
     * 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.serverless.CfnFunctionProps {
        protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
            super(mode);
        }

        /**
         * ``AWS::Serverless::Function.CodeUri``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public java.lang.Object getCodeUri() {
            return this.jsiiGet("codeUri", java.lang.Object.class);
        }

        /**
         * ``AWS::Serverless::Function.CodeUri``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setCodeUri(final java.lang.String value) {
            this.jsiiSet("codeUri", java.util.Objects.requireNonNull(value, "codeUri is required"));
        }

        /**
         * ``AWS::Serverless::Function.CodeUri``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setCodeUri(final software.amazon.awscdk.Token value) {
            this.jsiiSet("codeUri", java.util.Objects.requireNonNull(value, "codeUri is required"));
        }

        /**
         * ``AWS::Serverless::Function.CodeUri``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setCodeUri(final software.amazon.awscdk.services.serverless.CfnFunction.S3LocationProperty value) {
            this.jsiiSet("codeUri", java.util.Objects.requireNonNull(value, "codeUri is required"));
        }

        /**
         * ``AWS::Serverless::Function.Handler``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public java.lang.String getHandler() {
            return this.jsiiGet("handler", java.lang.String.class);
        }

        /**
         * ``AWS::Serverless::Function.Handler``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setHandler(final java.lang.String value) {
            this.jsiiSet("handler", java.util.Objects.requireNonNull(value, "handler is required"));
        }

        /**
         * ``AWS::Serverless::Function.Runtime``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public java.lang.String getRuntime() {
            return this.jsiiGet("runtime", java.lang.String.class);
        }

        /**
         * ``AWS::Serverless::Function.Runtime``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setRuntime(final java.lang.String value) {
            this.jsiiSet("runtime", java.util.Objects.requireNonNull(value, "runtime is required"));
        }

        /**
         * ``AWS::Serverless::Function.DeadLetterQueue``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Object getDeadLetterQueue() {
            return this.jsiiGet("deadLetterQueue", java.lang.Object.class);
        }

        /**
         * ``AWS::Serverless::Function.DeadLetterQueue``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setDeadLetterQueue(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this.jsiiSet("deadLetterQueue", value);
        }

        /**
         * ``AWS::Serverless::Function.DeadLetterQueue``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setDeadLetterQueue(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.DeadLetterQueueProperty value) {
            this.jsiiSet("deadLetterQueue", value);
        }

        /**
         * ``AWS::Serverless::Function.DeploymentPreference``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Object getDeploymentPreference() {
            return this.jsiiGet("deploymentPreference", java.lang.Object.class);
        }

        /**
         * ``AWS::Serverless::Function.DeploymentPreference``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object
         */
        @Override
        public void setDeploymentPreference(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this.jsiiSet("deploymentPreference", value);
        }

        /**
         * ``AWS::Serverless::Function.DeploymentPreference``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#deploymentpreference-object
         */
        @Override
        public void setDeploymentPreference(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.DeploymentPreferenceProperty value) {
            this.jsiiSet("deploymentPreference", value);
        }

        /**
         * ``AWS::Serverless::Function.Description``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.String getDescription() {
            return this.jsiiGet("description", java.lang.String.class);
        }

        /**
         * ``AWS::Serverless::Function.Description``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setDescription(@javax.annotation.Nullable final java.lang.String value) {
            this.jsiiSet("description", value);
        }

        /**
         * ``AWS::Serverless::Function.Environment``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Object getEnvironment() {
            return this.jsiiGet("environment", java.lang.Object.class);
        }

        /**
         * ``AWS::Serverless::Function.Environment``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setEnvironment(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this.jsiiSet("environment", value);
        }

        /**
         * ``AWS::Serverless::Function.Environment``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setEnvironment(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.FunctionEnvironmentProperty value) {
            this.jsiiSet("environment", value);
        }

        /**
         * ``AWS::Serverless::Function.Events``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Object getEvents() {
            return this.jsiiGet("events", java.lang.Object.class);
        }

        /**
         * ``AWS::Serverless::Function.Events``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setEvents(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this.jsiiSet("events", value);
        }

        /**
         * ``AWS::Serverless::Function.Events``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setEvents(@javax.annotation.Nullable final java.util.Map value) {
            this.jsiiSet("events", value);
        }

        /**
         * ``AWS::Serverless::Function.FunctionName``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.String getFunctionName() {
            return this.jsiiGet("functionName", java.lang.String.class);
        }

        /**
         * ``AWS::Serverless::Function.FunctionName``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setFunctionName(@javax.annotation.Nullable final java.lang.String value) {
            this.jsiiSet("functionName", value);
        }

        /**
         * ``AWS::Serverless::Function.KmsKeyArn``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.String getKmsKeyArn() {
            return this.jsiiGet("kmsKeyArn", java.lang.String.class);
        }

        /**
         * ``AWS::Serverless::Function.KmsKeyArn``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setKmsKeyArn(@javax.annotation.Nullable final java.lang.String value) {
            this.jsiiSet("kmsKeyArn", value);
        }

        /**
         * ``AWS::Serverless::Function.MemorySize``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Object getMemorySize() {
            return this.jsiiGet("memorySize", java.lang.Object.class);
        }

        /**
         * ``AWS::Serverless::Function.MemorySize``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setMemorySize(@javax.annotation.Nullable final java.lang.Number value) {
            this.jsiiSet("memorySize", value);
        }

        /**
         * ``AWS::Serverless::Function.MemorySize``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setMemorySize(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this.jsiiSet("memorySize", value);
        }

        /**
         * ``AWS::Serverless::Function.Policies``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Object getPolicies() {
            return this.jsiiGet("policies", java.lang.Object.class);
        }

        /**
         * ``AWS::Serverless::Function.Policies``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setPolicies(@javax.annotation.Nullable final java.lang.String value) {
            this.jsiiSet("policies", value);
        }

        /**
         * ``AWS::Serverless::Function.Policies``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setPolicies(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this.jsiiSet("policies", value);
        }

        /**
         * ``AWS::Serverless::Function.Policies``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setPolicies(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.IAMPolicyDocumentProperty value) {
            this.jsiiSet("policies", value);
        }

        /**
         * ``AWS::Serverless::Function.Policies``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setPolicies(@javax.annotation.Nullable final java.util.List value) {
            this.jsiiSet("policies", value);
        }

        /**
         * ``AWS::Serverless::Function.Role``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.String getRole() {
            return this.jsiiGet("role", java.lang.String.class);
        }

        /**
         * ``AWS::Serverless::Function.Role``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setRole(@javax.annotation.Nullable final java.lang.String value) {
            this.jsiiSet("role", value);
        }

        /**
         * ``AWS::Serverless::Function.Tags``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Object getTags() {
            return this.jsiiGet("tags", java.lang.Object.class);
        }

        /**
         * ``AWS::Serverless::Function.Tags``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setTags(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this.jsiiSet("tags", value);
        }

        /**
         * ``AWS::Serverless::Function.Tags``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setTags(@javax.annotation.Nullable final java.util.Map value) {
            this.jsiiSet("tags", value);
        }

        /**
         * ``AWS::Serverless::Function.Timeout``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Object getTimeout() {
            return this.jsiiGet("timeout", java.lang.Object.class);
        }

        /**
         * ``AWS::Serverless::Function.Timeout``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setTimeout(@javax.annotation.Nullable final java.lang.Number value) {
            this.jsiiSet("timeout", value);
        }

        /**
         * ``AWS::Serverless::Function.Timeout``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setTimeout(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this.jsiiSet("timeout", value);
        }

        /**
         * ``AWS::Serverless::Function.Tracing``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.String getTracing() {
            return this.jsiiGet("tracing", java.lang.String.class);
        }

        /**
         * ``AWS::Serverless::Function.Tracing``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setTracing(@javax.annotation.Nullable final java.lang.String value) {
            this.jsiiSet("tracing", value);
        }

        /**
         * ``AWS::Serverless::Function.VpcConfig``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        @javax.annotation.Nullable
        public java.lang.Object getVpcConfig() {
            return this.jsiiGet("vpcConfig", java.lang.Object.class);
        }

        /**
         * ``AWS::Serverless::Function.VpcConfig``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setVpcConfig(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
            this.jsiiSet("vpcConfig", value);
        }

        /**
         * ``AWS::Serverless::Function.VpcConfig``
         * @link https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
         */
        @Override
        public void setVpcConfig(@javax.annotation.Nullable final software.amazon.awscdk.services.serverless.CfnFunction.VpcConfigProperty value) {
            this.jsiiSet("vpcConfig", value);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy