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

com.pulumi.spotinst.outputs.ElastigroupAzureV3NetworkNetworkInterface Maven / Gradle / Ivy

The 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.spotinst.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import com.pulumi.spotinst.outputs.ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig;
import com.pulumi.spotinst.outputs.ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup;
import com.pulumi.spotinst.outputs.ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ElastigroupAzureV3NetworkNetworkInterface {
    private @Nullable List additionalIpConfigs;
    private @Nullable List applicationSecurityGroups;
    private Boolean assignPublicIp;
    private @Nullable Boolean enableIpForwarding;
    private Boolean isPrimary;
    private @Nullable List privateIpAddresses;
    private @Nullable String publicIpSku;
    private @Nullable List securityGroups;
    private String subnetName;

    private ElastigroupAzureV3NetworkNetworkInterface() {}
    public List additionalIpConfigs() {
        return this.additionalIpConfigs == null ? List.of() : this.additionalIpConfigs;
    }
    public List applicationSecurityGroups() {
        return this.applicationSecurityGroups == null ? List.of() : this.applicationSecurityGroups;
    }
    public Boolean assignPublicIp() {
        return this.assignPublicIp;
    }
    public Optional enableIpForwarding() {
        return Optional.ofNullable(this.enableIpForwarding);
    }
    public Boolean isPrimary() {
        return this.isPrimary;
    }
    public List privateIpAddresses() {
        return this.privateIpAddresses == null ? List.of() : this.privateIpAddresses;
    }
    public Optional publicIpSku() {
        return Optional.ofNullable(this.publicIpSku);
    }
    public List securityGroups() {
        return this.securityGroups == null ? List.of() : this.securityGroups;
    }
    public String subnetName() {
        return this.subnetName;
    }

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

    public static Builder builder(ElastigroupAzureV3NetworkNetworkInterface defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List additionalIpConfigs;
        private @Nullable List applicationSecurityGroups;
        private Boolean assignPublicIp;
        private @Nullable Boolean enableIpForwarding;
        private Boolean isPrimary;
        private @Nullable List privateIpAddresses;
        private @Nullable String publicIpSku;
        private @Nullable List securityGroups;
        private String subnetName;
        public Builder() {}
        public Builder(ElastigroupAzureV3NetworkNetworkInterface defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.additionalIpConfigs = defaults.additionalIpConfigs;
    	      this.applicationSecurityGroups = defaults.applicationSecurityGroups;
    	      this.assignPublicIp = defaults.assignPublicIp;
    	      this.enableIpForwarding = defaults.enableIpForwarding;
    	      this.isPrimary = defaults.isPrimary;
    	      this.privateIpAddresses = defaults.privateIpAddresses;
    	      this.publicIpSku = defaults.publicIpSku;
    	      this.securityGroups = defaults.securityGroups;
    	      this.subnetName = defaults.subnetName;
        }

        @CustomType.Setter
        public Builder additionalIpConfigs(@Nullable List additionalIpConfigs) {

            this.additionalIpConfigs = additionalIpConfigs;
            return this;
        }
        public Builder additionalIpConfigs(ElastigroupAzureV3NetworkNetworkInterfaceAdditionalIpConfig... additionalIpConfigs) {
            return additionalIpConfigs(List.of(additionalIpConfigs));
        }
        @CustomType.Setter
        public Builder applicationSecurityGroups(@Nullable List applicationSecurityGroups) {

            this.applicationSecurityGroups = applicationSecurityGroups;
            return this;
        }
        public Builder applicationSecurityGroups(ElastigroupAzureV3NetworkNetworkInterfaceApplicationSecurityGroup... applicationSecurityGroups) {
            return applicationSecurityGroups(List.of(applicationSecurityGroups));
        }
        @CustomType.Setter
        public Builder assignPublicIp(Boolean assignPublicIp) {
            if (assignPublicIp == null) {
              throw new MissingRequiredPropertyException("ElastigroupAzureV3NetworkNetworkInterface", "assignPublicIp");
            }
            this.assignPublicIp = assignPublicIp;
            return this;
        }
        @CustomType.Setter
        public Builder enableIpForwarding(@Nullable Boolean enableIpForwarding) {

            this.enableIpForwarding = enableIpForwarding;
            return this;
        }
        @CustomType.Setter
        public Builder isPrimary(Boolean isPrimary) {
            if (isPrimary == null) {
              throw new MissingRequiredPropertyException("ElastigroupAzureV3NetworkNetworkInterface", "isPrimary");
            }
            this.isPrimary = isPrimary;
            return this;
        }
        @CustomType.Setter
        public Builder privateIpAddresses(@Nullable List privateIpAddresses) {

            this.privateIpAddresses = privateIpAddresses;
            return this;
        }
        public Builder privateIpAddresses(String... privateIpAddresses) {
            return privateIpAddresses(List.of(privateIpAddresses));
        }
        @CustomType.Setter
        public Builder publicIpSku(@Nullable String publicIpSku) {

            this.publicIpSku = publicIpSku;
            return this;
        }
        @CustomType.Setter
        public Builder securityGroups(@Nullable List securityGroups) {

            this.securityGroups = securityGroups;
            return this;
        }
        public Builder securityGroups(ElastigroupAzureV3NetworkNetworkInterfaceSecurityGroup... securityGroups) {
            return securityGroups(List.of(securityGroups));
        }
        @CustomType.Setter
        public Builder subnetName(String subnetName) {
            if (subnetName == null) {
              throw new MissingRequiredPropertyException("ElastigroupAzureV3NetworkNetworkInterface", "subnetName");
            }
            this.subnetName = subnetName;
            return this;
        }
        public ElastigroupAzureV3NetworkNetworkInterface build() {
            final var _resultValue = new ElastigroupAzureV3NetworkNetworkInterface();
            _resultValue.additionalIpConfigs = additionalIpConfigs;
            _resultValue.applicationSecurityGroups = applicationSecurityGroups;
            _resultValue.assignPublicIp = assignPublicIp;
            _resultValue.enableIpForwarding = enableIpForwarding;
            _resultValue.isPrimary = isPrimary;
            _resultValue.privateIpAddresses = privateIpAddresses;
            _resultValue.publicIpSku = publicIpSku;
            _resultValue.securityGroups = securityGroups;
            _resultValue.subnetName = subnetName;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy