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

com.pulumi.azure.siterecovery.inputs.VmwareReplicatedVmNetworkInterfaceArgs 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.azure.siterecovery.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final VmwareReplicatedVmNetworkInterfaceArgs Empty = new VmwareReplicatedVmNetworkInterfaceArgs();

    /**
     * Whether this `network_interface` is primary for the replicated VM.
     * 
     */
    @Import(name="isPrimary", required=true)
    private Output isPrimary;

    /**
     * @return Whether this `network_interface` is primary for the replicated VM.
     * 
     */
    public Output isPrimary() {
        return this.isPrimary;
    }

    /**
     * Mac address of the network interface of source VM.
     * 
     */
    @Import(name="sourceMacAddress", required=true)
    private Output sourceMacAddress;

    /**
     * @return Mac address of the network interface of source VM.
     * 
     */
    public Output sourceMacAddress() {
        return this.sourceMacAddress;
    }

    /**
     * Static IP to assign when a failover is done.
     * 
     */
    @Import(name="targetStaticIp")
    private @Nullable Output targetStaticIp;

    /**
     * @return Static IP to assign when a failover is done.
     * 
     */
    public Optional> targetStaticIp() {
        return Optional.ofNullable(this.targetStaticIp);
    }

    /**
     * Name of the subnet to use when a failover is done.
     * 
     */
    @Import(name="targetSubnetName")
    private @Nullable Output targetSubnetName;

    /**
     * @return Name of the subnet to use when a failover is done.
     * 
     */
    public Optional> targetSubnetName() {
        return Optional.ofNullable(this.targetSubnetName);
    }

    /**
     * Name of the subnet to use when a test failover is done.
     * 
     */
    @Import(name="testSubnetName")
    private @Nullable Output testSubnetName;

    /**
     * @return Name of the subnet to use when a test failover is done.
     * 
     */
    public Optional> testSubnetName() {
        return Optional.ofNullable(this.testSubnetName);
    }

    private VmwareReplicatedVmNetworkInterfaceArgs() {}

    private VmwareReplicatedVmNetworkInterfaceArgs(VmwareReplicatedVmNetworkInterfaceArgs $) {
        this.isPrimary = $.isPrimary;
        this.sourceMacAddress = $.sourceMacAddress;
        this.targetStaticIp = $.targetStaticIp;
        this.targetSubnetName = $.targetSubnetName;
        this.testSubnetName = $.testSubnetName;
    }

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

    public static final class Builder {
        private VmwareReplicatedVmNetworkInterfaceArgs $;

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

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

        /**
         * @param isPrimary Whether this `network_interface` is primary for the replicated VM.
         * 
         * @return builder
         * 
         */
        public Builder isPrimary(Output isPrimary) {
            $.isPrimary = isPrimary;
            return this;
        }

        /**
         * @param isPrimary Whether this `network_interface` is primary for the replicated VM.
         * 
         * @return builder
         * 
         */
        public Builder isPrimary(Boolean isPrimary) {
            return isPrimary(Output.of(isPrimary));
        }

        /**
         * @param sourceMacAddress Mac address of the network interface of source VM.
         * 
         * @return builder
         * 
         */
        public Builder sourceMacAddress(Output sourceMacAddress) {
            $.sourceMacAddress = sourceMacAddress;
            return this;
        }

        /**
         * @param sourceMacAddress Mac address of the network interface of source VM.
         * 
         * @return builder
         * 
         */
        public Builder sourceMacAddress(String sourceMacAddress) {
            return sourceMacAddress(Output.of(sourceMacAddress));
        }

        /**
         * @param targetStaticIp Static IP to assign when a failover is done.
         * 
         * @return builder
         * 
         */
        public Builder targetStaticIp(@Nullable Output targetStaticIp) {
            $.targetStaticIp = targetStaticIp;
            return this;
        }

        /**
         * @param targetStaticIp Static IP to assign when a failover is done.
         * 
         * @return builder
         * 
         */
        public Builder targetStaticIp(String targetStaticIp) {
            return targetStaticIp(Output.of(targetStaticIp));
        }

        /**
         * @param targetSubnetName Name of the subnet to use when a failover is done.
         * 
         * @return builder
         * 
         */
        public Builder targetSubnetName(@Nullable Output targetSubnetName) {
            $.targetSubnetName = targetSubnetName;
            return this;
        }

        /**
         * @param targetSubnetName Name of the subnet to use when a failover is done.
         * 
         * @return builder
         * 
         */
        public Builder targetSubnetName(String targetSubnetName) {
            return targetSubnetName(Output.of(targetSubnetName));
        }

        /**
         * @param testSubnetName Name of the subnet to use when a test failover is done.
         * 
         * @return builder
         * 
         */
        public Builder testSubnetName(@Nullable Output testSubnetName) {
            $.testSubnetName = testSubnetName;
            return this;
        }

        /**
         * @param testSubnetName Name of the subnet to use when a test failover is done.
         * 
         * @return builder
         * 
         */
        public Builder testSubnetName(String testSubnetName) {
            return testSubnetName(Output.of(testSubnetName));
        }

        public VmwareReplicatedVmNetworkInterfaceArgs build() {
            if ($.isPrimary == null) {
                throw new MissingRequiredPropertyException("VmwareReplicatedVmNetworkInterfaceArgs", "isPrimary");
            }
            if ($.sourceMacAddress == null) {
                throw new MissingRequiredPropertyException("VmwareReplicatedVmNetworkInterfaceArgs", "sourceMacAddress");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy