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

com.pulumi.azurenative.awsconnector.inputs.AwsEc2AddressPropertiesArgs Maven / Gradle / Ivy

There is a newer version: 2.82.0
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.azurenative.awsconnector.inputs;

import com.pulumi.azurenative.awsconnector.inputs.DomainTypeEnumValueArgs;
import com.pulumi.azurenative.awsconnector.inputs.TagArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of awsEc2Address
 * 
 */
public final class AwsEc2AddressPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final AwsEc2AddressPropertiesArgs Empty = new AwsEc2AddressPropertiesArgs();

    /**
     * <p>The ID representing the allocation of the address.</p>
     * 
     */
    @Import(name="allocationId")
    private @Nullable Output allocationId;

    /**
     * @return <p>The ID representing the allocation of the address.</p>
     * 
     */
    public Optional> allocationId() {
        return Optional.ofNullable(this.allocationId);
    }

    /**
     * <p>The ID representing the association of the address with an instance.</p>
     * 
     */
    @Import(name="associationId")
    private @Nullable Output associationId;

    /**
     * @return <p>The ID representing the association of the address with an instance.</p>
     * 
     */
    public Optional> associationId() {
        return Optional.ofNullable(this.associationId);
    }

    /**
     * <p>The carrier IP address associated. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance). </p>
     * 
     */
    @Import(name="carrierIp")
    private @Nullable Output carrierIp;

    /**
     * @return <p>The carrier IP address associated. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance). </p>
     * 
     */
    public Optional> carrierIp() {
        return Optional.ofNullable(this.carrierIp);
    }

    /**
     * <p>The customer-owned IP address.</p>
     * 
     */
    @Import(name="customerOwnedIp")
    private @Nullable Output customerOwnedIp;

    /**
     * @return <p>The customer-owned IP address.</p>
     * 
     */
    public Optional> customerOwnedIp() {
        return Optional.ofNullable(this.customerOwnedIp);
    }

    /**
     * <p>The ID of the customer-owned address pool.</p>
     * 
     */
    @Import(name="customerOwnedIpv4Pool")
    private @Nullable Output customerOwnedIpv4Pool;

    /**
     * @return <p>The ID of the customer-owned address pool.</p>
     * 
     */
    public Optional> customerOwnedIpv4Pool() {
        return Optional.ofNullable(this.customerOwnedIpv4Pool);
    }

    /**
     * <p>The network (<code>vpc</code>).</p>
     * 
     */
    @Import(name="domain")
    private @Nullable Output domain;

    /**
     * @return <p>The network (<code>vpc</code>).</p>
     * 
     */
    public Optional> domain() {
        return Optional.ofNullable(this.domain);
    }

    /**
     * <p>The ID of the instance that the address is associated with (if any).</p>
     * 
     */
    @Import(name="instanceId")
    private @Nullable Output instanceId;

    /**
     * @return <p>The ID of the instance that the address is associated with (if any).</p>
     * 
     */
    public Optional> instanceId() {
        return Optional.ofNullable(this.instanceId);
    }

    /**
     * <p>The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.</p>
     * 
     */
    @Import(name="networkBorderGroup")
    private @Nullable Output networkBorderGroup;

    /**
     * @return <p>The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.</p>
     * 
     */
    public Optional> networkBorderGroup() {
        return Optional.ofNullable(this.networkBorderGroup);
    }

    /**
     * <p>The ID of the network interface.</p>
     * 
     */
    @Import(name="networkInterfaceId")
    private @Nullable Output networkInterfaceId;

    /**
     * @return <p>The ID of the network interface.</p>
     * 
     */
    public Optional> networkInterfaceId() {
        return Optional.ofNullable(this.networkInterfaceId);
    }

    /**
     * <p>The ID of the Amazon Web Services account that owns the network interface.</p>
     * 
     */
    @Import(name="networkInterfaceOwnerId")
    private @Nullable Output networkInterfaceOwnerId;

    /**
     * @return <p>The ID of the Amazon Web Services account that owns the network interface.</p>
     * 
     */
    public Optional> networkInterfaceOwnerId() {
        return Optional.ofNullable(this.networkInterfaceOwnerId);
    }

    /**
     * <p>The private IP address associated with the Elastic IP address.</p>
     * 
     */
    @Import(name="privateIpAddress")
    private @Nullable Output privateIpAddress;

    /**
     * @return <p>The private IP address associated with the Elastic IP address.</p>
     * 
     */
    public Optional> privateIpAddress() {
        return Optional.ofNullable(this.privateIpAddress);
    }

    /**
     * <p>The Elastic IP address.</p>
     * 
     */
    @Import(name="publicIp")
    private @Nullable Output publicIp;

    /**
     * @return <p>The Elastic IP address.</p>
     * 
     */
    public Optional> publicIp() {
        return Optional.ofNullable(this.publicIp);
    }

    /**
     * <p>The ID of an address pool.</p>
     * 
     */
    @Import(name="publicIpv4Pool")
    private @Nullable Output publicIpv4Pool;

    /**
     * @return <p>The ID of an address pool.</p>
     * 
     */
    public Optional> publicIpv4Pool() {
        return Optional.ofNullable(this.publicIpv4Pool);
    }

    /**
     * <p>Any tags assigned to the Elastic IP address.</p>
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return <p>Any tags assigned to the Elastic IP address.</p>
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private AwsEc2AddressPropertiesArgs() {}

    private AwsEc2AddressPropertiesArgs(AwsEc2AddressPropertiesArgs $) {
        this.allocationId = $.allocationId;
        this.associationId = $.associationId;
        this.carrierIp = $.carrierIp;
        this.customerOwnedIp = $.customerOwnedIp;
        this.customerOwnedIpv4Pool = $.customerOwnedIpv4Pool;
        this.domain = $.domain;
        this.instanceId = $.instanceId;
        this.networkBorderGroup = $.networkBorderGroup;
        this.networkInterfaceId = $.networkInterfaceId;
        this.networkInterfaceOwnerId = $.networkInterfaceOwnerId;
        this.privateIpAddress = $.privateIpAddress;
        this.publicIp = $.publicIp;
        this.publicIpv4Pool = $.publicIpv4Pool;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private AwsEc2AddressPropertiesArgs $;

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

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

        /**
         * @param allocationId <p>The ID representing the allocation of the address.</p>
         * 
         * @return builder
         * 
         */
        public Builder allocationId(@Nullable Output allocationId) {
            $.allocationId = allocationId;
            return this;
        }

        /**
         * @param allocationId <p>The ID representing the allocation of the address.</p>
         * 
         * @return builder
         * 
         */
        public Builder allocationId(String allocationId) {
            return allocationId(Output.of(allocationId));
        }

        /**
         * @param associationId <p>The ID representing the association of the address with an instance.</p>
         * 
         * @return builder
         * 
         */
        public Builder associationId(@Nullable Output associationId) {
            $.associationId = associationId;
            return this;
        }

        /**
         * @param associationId <p>The ID representing the association of the address with an instance.</p>
         * 
         * @return builder
         * 
         */
        public Builder associationId(String associationId) {
            return associationId(Output.of(associationId));
        }

        /**
         * @param carrierIp <p>The carrier IP address associated. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance). </p>
         * 
         * @return builder
         * 
         */
        public Builder carrierIp(@Nullable Output carrierIp) {
            $.carrierIp = carrierIp;
            return this;
        }

        /**
         * @param carrierIp <p>The carrier IP address associated. This option is only available for network interfaces which reside in a subnet in a Wavelength Zone (for example an EC2 instance). </p>
         * 
         * @return builder
         * 
         */
        public Builder carrierIp(String carrierIp) {
            return carrierIp(Output.of(carrierIp));
        }

        /**
         * @param customerOwnedIp <p>The customer-owned IP address.</p>
         * 
         * @return builder
         * 
         */
        public Builder customerOwnedIp(@Nullable Output customerOwnedIp) {
            $.customerOwnedIp = customerOwnedIp;
            return this;
        }

        /**
         * @param customerOwnedIp <p>The customer-owned IP address.</p>
         * 
         * @return builder
         * 
         */
        public Builder customerOwnedIp(String customerOwnedIp) {
            return customerOwnedIp(Output.of(customerOwnedIp));
        }

        /**
         * @param customerOwnedIpv4Pool <p>The ID of the customer-owned address pool.</p>
         * 
         * @return builder
         * 
         */
        public Builder customerOwnedIpv4Pool(@Nullable Output customerOwnedIpv4Pool) {
            $.customerOwnedIpv4Pool = customerOwnedIpv4Pool;
            return this;
        }

        /**
         * @param customerOwnedIpv4Pool <p>The ID of the customer-owned address pool.</p>
         * 
         * @return builder
         * 
         */
        public Builder customerOwnedIpv4Pool(String customerOwnedIpv4Pool) {
            return customerOwnedIpv4Pool(Output.of(customerOwnedIpv4Pool));
        }

        /**
         * @param domain <p>The network (<code>vpc</code>).</p>
         * 
         * @return builder
         * 
         */
        public Builder domain(@Nullable Output domain) {
            $.domain = domain;
            return this;
        }

        /**
         * @param domain <p>The network (<code>vpc</code>).</p>
         * 
         * @return builder
         * 
         */
        public Builder domain(DomainTypeEnumValueArgs domain) {
            return domain(Output.of(domain));
        }

        /**
         * @param instanceId <p>The ID of the instance that the address is associated with (if any).</p>
         * 
         * @return builder
         * 
         */
        public Builder instanceId(@Nullable Output instanceId) {
            $.instanceId = instanceId;
            return this;
        }

        /**
         * @param instanceId <p>The ID of the instance that the address is associated with (if any).</p>
         * 
         * @return builder
         * 
         */
        public Builder instanceId(String instanceId) {
            return instanceId(Output.of(instanceId));
        }

        /**
         * @param networkBorderGroup <p>The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.</p>
         * 
         * @return builder
         * 
         */
        public Builder networkBorderGroup(@Nullable Output networkBorderGroup) {
            $.networkBorderGroup = networkBorderGroup;
            return this;
        }

        /**
         * @param networkBorderGroup <p>The name of the unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.</p>
         * 
         * @return builder
         * 
         */
        public Builder networkBorderGroup(String networkBorderGroup) {
            return networkBorderGroup(Output.of(networkBorderGroup));
        }

        /**
         * @param networkInterfaceId <p>The ID of the network interface.</p>
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceId(@Nullable Output networkInterfaceId) {
            $.networkInterfaceId = networkInterfaceId;
            return this;
        }

        /**
         * @param networkInterfaceId <p>The ID of the network interface.</p>
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceId(String networkInterfaceId) {
            return networkInterfaceId(Output.of(networkInterfaceId));
        }

        /**
         * @param networkInterfaceOwnerId <p>The ID of the Amazon Web Services account that owns the network interface.</p>
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceOwnerId(@Nullable Output networkInterfaceOwnerId) {
            $.networkInterfaceOwnerId = networkInterfaceOwnerId;
            return this;
        }

        /**
         * @param networkInterfaceOwnerId <p>The ID of the Amazon Web Services account that owns the network interface.</p>
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaceOwnerId(String networkInterfaceOwnerId) {
            return networkInterfaceOwnerId(Output.of(networkInterfaceOwnerId));
        }

        /**
         * @param privateIpAddress <p>The private IP address associated with the Elastic IP address.</p>
         * 
         * @return builder
         * 
         */
        public Builder privateIpAddress(@Nullable Output privateIpAddress) {
            $.privateIpAddress = privateIpAddress;
            return this;
        }

        /**
         * @param privateIpAddress <p>The private IP address associated with the Elastic IP address.</p>
         * 
         * @return builder
         * 
         */
        public Builder privateIpAddress(String privateIpAddress) {
            return privateIpAddress(Output.of(privateIpAddress));
        }

        /**
         * @param publicIp <p>The Elastic IP address.</p>
         * 
         * @return builder
         * 
         */
        public Builder publicIp(@Nullable Output publicIp) {
            $.publicIp = publicIp;
            return this;
        }

        /**
         * @param publicIp <p>The Elastic IP address.</p>
         * 
         * @return builder
         * 
         */
        public Builder publicIp(String publicIp) {
            return publicIp(Output.of(publicIp));
        }

        /**
         * @param publicIpv4Pool <p>The ID of an address pool.</p>
         * 
         * @return builder
         * 
         */
        public Builder publicIpv4Pool(@Nullable Output publicIpv4Pool) {
            $.publicIpv4Pool = publicIpv4Pool;
            return this;
        }

        /**
         * @param publicIpv4Pool <p>The ID of an address pool.</p>
         * 
         * @return builder
         * 
         */
        public Builder publicIpv4Pool(String publicIpv4Pool) {
            return publicIpv4Pool(Output.of(publicIpv4Pool));
        }

        /**
         * @param tags <p>Any tags assigned to the Elastic IP address.</p>
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags <p>Any tags assigned to the Elastic IP address.</p>
         * 
         * @return builder
         * 
         */
        public Builder tags(List tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tags <p>Any tags assigned to the Elastic IP address.</p>
         * 
         * @return builder
         * 
         */
        public Builder tags(TagArgs... tags) {
            return tags(List.of(tags));
        }

        public AwsEc2AddressPropertiesArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy