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

com.pulumi.aws.lambda.inputs.AliasState Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.lambda.inputs;

import com.pulumi.aws.lambda.inputs.AliasRoutingConfigArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class AliasState extends com.pulumi.resources.ResourceArgs {

    public static final AliasState Empty = new AliasState();

    /**
     * The Amazon Resource Name (ARN) identifying your Lambda function alias.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return The Amazon Resource Name (ARN) identifying your Lambda function alias.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * Description of the alias.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description of the alias.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Lambda Function name or ARN.
     * 
     */
    @Import(name="functionName")
    private @Nullable Output functionName;

    /**
     * @return Lambda Function name or ARN.
     * 
     */
    public Optional> functionName() {
        return Optional.ofNullable(this.functionName);
    }

    /**
     * Lambda function version for which you are creating the alias. Pattern: `(\$LATEST|[0-9]+)`.
     * 
     */
    @Import(name="functionVersion")
    private @Nullable Output functionVersion;

    /**
     * @return Lambda function version for which you are creating the alias. Pattern: `(\$LATEST|[0-9]+)`.
     * 
     */
    public Optional> functionVersion() {
        return Optional.ofNullable(this.functionVersion);
    }

    /**
     * The ARN to be used for invoking Lambda Function from API Gateway - to be used in `aws.apigateway.Integration`'s `uri`
     * 
     */
    @Import(name="invokeArn")
    private @Nullable Output invokeArn;

    /**
     * @return The ARN to be used for invoking Lambda Function from API Gateway - to be used in `aws.apigateway.Integration`'s `uri`
     * 
     */
    public Optional> invokeArn() {
        return Optional.ofNullable(this.invokeArn);
    }

    /**
     * Name for the alias you are creating. Pattern: `(?!^[0-9]+$)([a-zA-Z0-9-_]+)`
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Name for the alias you are creating. Pattern: `(?!^[0-9]+$)([a-zA-Z0-9-_]+)`
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The Lambda alias' route configuration settings. Fields documented below
     * 
     */
    @Import(name="routingConfig")
    private @Nullable Output routingConfig;

    /**
     * @return The Lambda alias' route configuration settings. Fields documented below
     * 
     */
    public Optional> routingConfig() {
        return Optional.ofNullable(this.routingConfig);
    }

    private AliasState() {}

    private AliasState(AliasState $) {
        this.arn = $.arn;
        this.description = $.description;
        this.functionName = $.functionName;
        this.functionVersion = $.functionVersion;
        this.invokeArn = $.invokeArn;
        this.name = $.name;
        this.routingConfig = $.routingConfig;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(AliasState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private AliasState $;

        public Builder() {
            $ = new AliasState();
        }

        public Builder(AliasState defaults) {
            $ = new AliasState(Objects.requireNonNull(defaults));
        }

        /**
         * @param arn The Amazon Resource Name (ARN) identifying your Lambda function alias.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn The Amazon Resource Name (ARN) identifying your Lambda function alias.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param description Description of the alias.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description of the alias.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param functionName Lambda Function name or ARN.
         * 
         * @return builder
         * 
         */
        public Builder functionName(@Nullable Output functionName) {
            $.functionName = functionName;
            return this;
        }

        /**
         * @param functionName Lambda Function name or ARN.
         * 
         * @return builder
         * 
         */
        public Builder functionName(String functionName) {
            return functionName(Output.of(functionName));
        }

        /**
         * @param functionVersion Lambda function version for which you are creating the alias. Pattern: `(\$LATEST|[0-9]+)`.
         * 
         * @return builder
         * 
         */
        public Builder functionVersion(@Nullable Output functionVersion) {
            $.functionVersion = functionVersion;
            return this;
        }

        /**
         * @param functionVersion Lambda function version for which you are creating the alias. Pattern: `(\$LATEST|[0-9]+)`.
         * 
         * @return builder
         * 
         */
        public Builder functionVersion(String functionVersion) {
            return functionVersion(Output.of(functionVersion));
        }

        /**
         * @param invokeArn The ARN to be used for invoking Lambda Function from API Gateway - to be used in `aws.apigateway.Integration`'s `uri`
         * 
         * @return builder
         * 
         */
        public Builder invokeArn(@Nullable Output invokeArn) {
            $.invokeArn = invokeArn;
            return this;
        }

        /**
         * @param invokeArn The ARN to be used for invoking Lambda Function from API Gateway - to be used in `aws.apigateway.Integration`'s `uri`
         * 
         * @return builder
         * 
         */
        public Builder invokeArn(String invokeArn) {
            return invokeArn(Output.of(invokeArn));
        }

        /**
         * @param name Name for the alias you are creating. Pattern: `(?!^[0-9]+$)([a-zA-Z0-9-_]+)`
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name for the alias you are creating. Pattern: `(?!^[0-9]+$)([a-zA-Z0-9-_]+)`
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param routingConfig The Lambda alias' route configuration settings. Fields documented below
         * 
         * @return builder
         * 
         */
        public Builder routingConfig(@Nullable Output routingConfig) {
            $.routingConfig = routingConfig;
            return this;
        }

        /**
         * @param routingConfig The Lambda alias' route configuration settings. Fields documented below
         * 
         * @return builder
         * 
         */
        public Builder routingConfig(AliasRoutingConfigArgs routingConfig) {
            return routingConfig(Output.of(routingConfig));
        }

        public AliasState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy