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

com.pulumi.aws.ec2clientvpn.inputs.RouteState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** 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.ec2clientvpn.inputs;

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 RouteState extends com.pulumi.resources.ResourceArgs {

    public static final RouteState Empty = new RouteState();

    /**
     * The ID of the Client VPN endpoint.
     * 
     */
    @Import(name="clientVpnEndpointId")
    private @Nullable Output clientVpnEndpointId;

    /**
     * @return The ID of the Client VPN endpoint.
     * 
     */
    public Optional> clientVpnEndpointId() {
        return Optional.ofNullable(this.clientVpnEndpointId);
    }

    /**
     * A brief description of the route.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return A brief description of the route.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The IPv4 address range, in CIDR notation, of the route destination.
     * 
     */
    @Import(name="destinationCidrBlock")
    private @Nullable Output destinationCidrBlock;

    /**
     * @return The IPv4 address range, in CIDR notation, of the route destination.
     * 
     */
    public Optional> destinationCidrBlock() {
        return Optional.ofNullable(this.destinationCidrBlock);
    }

    /**
     * Indicates how the Client VPN route was added. Will be `add-route` for routes created by this resource.
     * 
     */
    @Import(name="origin")
    private @Nullable Output origin;

    /**
     * @return Indicates how the Client VPN route was added. Will be `add-route` for routes created by this resource.
     * 
     */
    public Optional> origin() {
        return Optional.ofNullable(this.origin);
    }

    /**
     * The ID of the Subnet to route the traffic through. It must already be attached to the Client VPN.
     * 
     */
    @Import(name="targetVpcSubnetId")
    private @Nullable Output targetVpcSubnetId;

    /**
     * @return The ID of the Subnet to route the traffic through. It must already be attached to the Client VPN.
     * 
     */
    public Optional> targetVpcSubnetId() {
        return Optional.ofNullable(this.targetVpcSubnetId);
    }

    /**
     * The type of the route.
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return The type of the route.
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    private RouteState() {}

    private RouteState(RouteState $) {
        this.clientVpnEndpointId = $.clientVpnEndpointId;
        this.description = $.description;
        this.destinationCidrBlock = $.destinationCidrBlock;
        this.origin = $.origin;
        this.targetVpcSubnetId = $.targetVpcSubnetId;
        this.type = $.type;
    }

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

    public static final class Builder {
        private RouteState $;

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

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

        /**
         * @param clientVpnEndpointId The ID of the Client VPN endpoint.
         * 
         * @return builder
         * 
         */
        public Builder clientVpnEndpointId(@Nullable Output clientVpnEndpointId) {
            $.clientVpnEndpointId = clientVpnEndpointId;
            return this;
        }

        /**
         * @param clientVpnEndpointId The ID of the Client VPN endpoint.
         * 
         * @return builder
         * 
         */
        public Builder clientVpnEndpointId(String clientVpnEndpointId) {
            return clientVpnEndpointId(Output.of(clientVpnEndpointId));
        }

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

        /**
         * @param description A brief description of the route.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param destinationCidrBlock The IPv4 address range, in CIDR notation, of the route destination.
         * 
         * @return builder
         * 
         */
        public Builder destinationCidrBlock(@Nullable Output destinationCidrBlock) {
            $.destinationCidrBlock = destinationCidrBlock;
            return this;
        }

        /**
         * @param destinationCidrBlock The IPv4 address range, in CIDR notation, of the route destination.
         * 
         * @return builder
         * 
         */
        public Builder destinationCidrBlock(String destinationCidrBlock) {
            return destinationCidrBlock(Output.of(destinationCidrBlock));
        }

        /**
         * @param origin Indicates how the Client VPN route was added. Will be `add-route` for routes created by this resource.
         * 
         * @return builder
         * 
         */
        public Builder origin(@Nullable Output origin) {
            $.origin = origin;
            return this;
        }

        /**
         * @param origin Indicates how the Client VPN route was added. Will be `add-route` for routes created by this resource.
         * 
         * @return builder
         * 
         */
        public Builder origin(String origin) {
            return origin(Output.of(origin));
        }

        /**
         * @param targetVpcSubnetId The ID of the Subnet to route the traffic through. It must already be attached to the Client VPN.
         * 
         * @return builder
         * 
         */
        public Builder targetVpcSubnetId(@Nullable Output targetVpcSubnetId) {
            $.targetVpcSubnetId = targetVpcSubnetId;
            return this;
        }

        /**
         * @param targetVpcSubnetId The ID of the Subnet to route the traffic through. It must already be attached to the Client VPN.
         * 
         * @return builder
         * 
         */
        public Builder targetVpcSubnetId(String targetVpcSubnetId) {
            return targetVpcSubnetId(Output.of(targetVpcSubnetId));
        }

        /**
         * @param type The type of the route.
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The type of the route.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public RouteState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy