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

com.pulumi.aws.ec2transitgateway.inputs.InstanceConnectEndpointState 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.ec2transitgateway.inputs;

import com.pulumi.aws.ec2transitgateway.inputs.InstanceConnectEndpointTimeoutsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final InstanceConnectEndpointState Empty = new InstanceConnectEndpointState();

    /**
     * The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * The Availability Zone of the EC2 Instance Connect Endpoint.
     * 
     */
    @Import(name="availabilityZone")
    private @Nullable Output availabilityZone;

    /**
     * @return The Availability Zone of the EC2 Instance Connect Endpoint.
     * 
     */
    public Optional> availabilityZone() {
        return Optional.ofNullable(this.availabilityZone);
    }

    /**
     * The DNS name of the EC2 Instance Connect Endpoint.
     * 
     */
    @Import(name="dnsName")
    private @Nullable Output dnsName;

    /**
     * @return The DNS name of the EC2 Instance Connect Endpoint.
     * 
     */
    public Optional> dnsName() {
        return Optional.ofNullable(this.dnsName);
    }

    /**
     * The DNS name of the EC2 Instance Connect FIPS Endpoint.
     * 
     */
    @Import(name="fipsDnsName")
    private @Nullable Output fipsDnsName;

    /**
     * @return The DNS name of the EC2 Instance Connect FIPS Endpoint.
     * 
     */
    public Optional> fipsDnsName() {
        return Optional.ofNullable(this.fipsDnsName);
    }

    /**
     * The IDs of the ENIs that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint.
     * 
     */
    @Import(name="networkInterfaceIds")
    private @Nullable Output> networkInterfaceIds;

    /**
     * @return The IDs of the ENIs that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint.
     * 
     */
    public Optional>> networkInterfaceIds() {
        return Optional.ofNullable(this.networkInterfaceIds);
    }

    /**
     * The ID of the AWS account that created the EC2 Instance Connect Endpoint.
     * 
     */
    @Import(name="ownerId")
    private @Nullable Output ownerId;

    /**
     * @return The ID of the AWS account that created the EC2 Instance Connect Endpoint.
     * 
     */
    public Optional> ownerId() {
        return Optional.ofNullable(this.ownerId);
    }

    /**
     * Indicates whether your client's IP address is preserved as the source. Default: `true`.
     * 
     */
    @Import(name="preserveClientIp")
    private @Nullable Output preserveClientIp;

    /**
     * @return Indicates whether your client's IP address is preserved as the source. Default: `true`.
     * 
     */
    public Optional> preserveClientIp() {
        return Optional.ofNullable(this.preserveClientIp);
    }

    /**
     * One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint.
     * 
     */
    @Import(name="securityGroupIds")
    private @Nullable Output> securityGroupIds;

    /**
     * @return One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint.
     * 
     */
    public Optional>> securityGroupIds() {
        return Optional.ofNullable(this.securityGroupIds);
    }

    /**
     * The ID of the subnet in which to create the EC2 Instance Connect Endpoint.
     * 
     */
    @Import(name="subnetId")
    private @Nullable Output subnetId;

    /**
     * @return The ID of the subnet in which to create the EC2 Instance Connect Endpoint.
     * 
     */
    public Optional> subnetId() {
        return Optional.ofNullable(this.subnetId);
    }

    /**
     * Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    @Import(name="timeouts")
    private @Nullable Output timeouts;

    public Optional> timeouts() {
        return Optional.ofNullable(this.timeouts);
    }

    /**
     * The ID of the VPC in which the EC2 Instance Connect Endpoint was created.
     * 
     */
    @Import(name="vpcId")
    private @Nullable Output vpcId;

    /**
     * @return The ID of the VPC in which the EC2 Instance Connect Endpoint was created.
     * 
     */
    public Optional> vpcId() {
        return Optional.ofNullable(this.vpcId);
    }

    private InstanceConnectEndpointState() {}

    private InstanceConnectEndpointState(InstanceConnectEndpointState $) {
        this.arn = $.arn;
        this.availabilityZone = $.availabilityZone;
        this.dnsName = $.dnsName;
        this.fipsDnsName = $.fipsDnsName;
        this.networkInterfaceIds = $.networkInterfaceIds;
        this.ownerId = $.ownerId;
        this.preserveClientIp = $.preserveClientIp;
        this.securityGroupIds = $.securityGroupIds;
        this.subnetId = $.subnetId;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.timeouts = $.timeouts;
        this.vpcId = $.vpcId;
    }

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

    public static final class Builder {
        private InstanceConnectEndpointState $;

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

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

        /**
         * @param arn The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param availabilityZone The Availability Zone of the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZone(@Nullable Output availabilityZone) {
            $.availabilityZone = availabilityZone;
            return this;
        }

        /**
         * @param availabilityZone The Availability Zone of the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder availabilityZone(String availabilityZone) {
            return availabilityZone(Output.of(availabilityZone));
        }

        /**
         * @param dnsName The DNS name of the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder dnsName(@Nullable Output dnsName) {
            $.dnsName = dnsName;
            return this;
        }

        /**
         * @param dnsName The DNS name of the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder dnsName(String dnsName) {
            return dnsName(Output.of(dnsName));
        }

        /**
         * @param fipsDnsName The DNS name of the EC2 Instance Connect FIPS Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder fipsDnsName(@Nullable Output fipsDnsName) {
            $.fipsDnsName = fipsDnsName;
            return this;
        }

        /**
         * @param fipsDnsName The DNS name of the EC2 Instance Connect FIPS Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder fipsDnsName(String fipsDnsName) {
            return fipsDnsName(Output.of(fipsDnsName));
        }

        /**
         * @param networkInterfaceIds The IDs of the ENIs that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceIds(@Nullable Output> networkInterfaceIds) {
            $.networkInterfaceIds = networkInterfaceIds;
            return this;
        }

        /**
         * @param networkInterfaceIds The IDs of the ENIs that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceIds(List networkInterfaceIds) {
            return networkInterfaceIds(Output.of(networkInterfaceIds));
        }

        /**
         * @param networkInterfaceIds The IDs of the ENIs that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceIds(String... networkInterfaceIds) {
            return networkInterfaceIds(List.of(networkInterfaceIds));
        }

        /**
         * @param ownerId The ID of the AWS account that created the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder ownerId(@Nullable Output ownerId) {
            $.ownerId = ownerId;
            return this;
        }

        /**
         * @param ownerId The ID of the AWS account that created the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder ownerId(String ownerId) {
            return ownerId(Output.of(ownerId));
        }

        /**
         * @param preserveClientIp Indicates whether your client's IP address is preserved as the source. Default: `true`.
         * 
         * @return builder
         * 
         */
        public Builder preserveClientIp(@Nullable Output preserveClientIp) {
            $.preserveClientIp = preserveClientIp;
            return this;
        }

        /**
         * @param preserveClientIp Indicates whether your client's IP address is preserved as the source. Default: `true`.
         * 
         * @return builder
         * 
         */
        public Builder preserveClientIp(Boolean preserveClientIp) {
            return preserveClientIp(Output.of(preserveClientIp));
        }

        /**
         * @param securityGroupIds One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder securityGroupIds(@Nullable Output> securityGroupIds) {
            $.securityGroupIds = securityGroupIds;
            return this;
        }

        /**
         * @param securityGroupIds One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder securityGroupIds(List securityGroupIds) {
            return securityGroupIds(Output.of(securityGroupIds));
        }

        /**
         * @param securityGroupIds One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder securityGroupIds(String... securityGroupIds) {
            return securityGroupIds(List.of(securityGroupIds));
        }

        /**
         * @param subnetId The ID of the subnet in which to create the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder subnetId(@Nullable Output subnetId) {
            $.subnetId = subnetId;
            return this;
        }

        /**
         * @param subnetId The ID of the subnet in which to create the EC2 Instance Connect Endpoint.
         * 
         * @return builder
         * 
         */
        public Builder subnetId(String subnetId) {
            return subnetId(Output.of(subnetId));
        }

        /**
         * @param tags Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Map of tags to assign to this resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        public Builder timeouts(@Nullable Output timeouts) {
            $.timeouts = timeouts;
            return this;
        }

        public Builder timeouts(InstanceConnectEndpointTimeoutsArgs timeouts) {
            return timeouts(Output.of(timeouts));
        }

        /**
         * @param vpcId The ID of the VPC in which the EC2 Instance Connect Endpoint was created.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(@Nullable Output vpcId) {
            $.vpcId = vpcId;
            return this;
        }

        /**
         * @param vpcId The ID of the VPC in which the EC2 Instance Connect Endpoint was created.
         * 
         * @return builder
         * 
         */
        public Builder vpcId(String vpcId) {
            return vpcId(Output.of(vpcId));
        }

        public InstanceConnectEndpointState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy