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

com.pulumi.azurenative.databox.inputs.ShippingAddressArgs Maven / Gradle / Ivy

There is a newer version: 2.78.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.databox.inputs;

import com.pulumi.azurenative.databox.enums.AddressType;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
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;


/**
 * Shipping address where customer wishes to receive the device.
 * 
 */
public final class ShippingAddressArgs extends com.pulumi.resources.ResourceArgs {

    public static final ShippingAddressArgs Empty = new ShippingAddressArgs();

    /**
     * Type of address.
     * 
     */
    @Import(name="addressType")
    private @Nullable Output> addressType;

    /**
     * @return Type of address.
     * 
     */
    public Optional>> addressType() {
        return Optional.ofNullable(this.addressType);
    }

    /**
     * Name of the City.
     * 
     */
    @Import(name="city")
    private @Nullable Output city;

    /**
     * @return Name of the City.
     * 
     */
    public Optional> city() {
        return Optional.ofNullable(this.city);
    }

    /**
     * Name of the company.
     * 
     */
    @Import(name="companyName")
    private @Nullable Output companyName;

    /**
     * @return Name of the company.
     * 
     */
    public Optional> companyName() {
        return Optional.ofNullable(this.companyName);
    }

    /**
     * Name of the Country.
     * 
     */
    @Import(name="country", required=true)
    private Output country;

    /**
     * @return Name of the Country.
     * 
     */
    public Output country() {
        return this.country;
    }

    /**
     * Postal code.
     * 
     */
    @Import(name="postalCode")
    private @Nullable Output postalCode;

    /**
     * @return Postal code.
     * 
     */
    public Optional> postalCode() {
        return Optional.ofNullable(this.postalCode);
    }

    /**
     * Flag to indicate if customer has chosen to skip default address validation
     * 
     */
    @Import(name="skipAddressValidation")
    private @Nullable Output skipAddressValidation;

    /**
     * @return Flag to indicate if customer has chosen to skip default address validation
     * 
     */
    public Optional> skipAddressValidation() {
        return Optional.ofNullable(this.skipAddressValidation);
    }

    /**
     * Name of the State or Province.
     * 
     */
    @Import(name="stateOrProvince")
    private @Nullable Output stateOrProvince;

    /**
     * @return Name of the State or Province.
     * 
     */
    public Optional> stateOrProvince() {
        return Optional.ofNullable(this.stateOrProvince);
    }

    /**
     * Street Address line 1.
     * 
     */
    @Import(name="streetAddress1", required=true)
    private Output streetAddress1;

    /**
     * @return Street Address line 1.
     * 
     */
    public Output streetAddress1() {
        return this.streetAddress1;
    }

    /**
     * Street Address line 2.
     * 
     */
    @Import(name="streetAddress2")
    private @Nullable Output streetAddress2;

    /**
     * @return Street Address line 2.
     * 
     */
    public Optional> streetAddress2() {
        return Optional.ofNullable(this.streetAddress2);
    }

    /**
     * Street Address line 3.
     * 
     */
    @Import(name="streetAddress3")
    private @Nullable Output streetAddress3;

    /**
     * @return Street Address line 3.
     * 
     */
    public Optional> streetAddress3() {
        return Optional.ofNullable(this.streetAddress3);
    }

    /**
     * Tax Identification Number
     * 
     */
    @Import(name="taxIdentificationNumber")
    private @Nullable Output taxIdentificationNumber;

    /**
     * @return Tax Identification Number
     * 
     */
    public Optional> taxIdentificationNumber() {
        return Optional.ofNullable(this.taxIdentificationNumber);
    }

    /**
     * Extended Zip Code.
     * 
     */
    @Import(name="zipExtendedCode")
    private @Nullable Output zipExtendedCode;

    /**
     * @return Extended Zip Code.
     * 
     */
    public Optional> zipExtendedCode() {
        return Optional.ofNullable(this.zipExtendedCode);
    }

    private ShippingAddressArgs() {}

    private ShippingAddressArgs(ShippingAddressArgs $) {
        this.addressType = $.addressType;
        this.city = $.city;
        this.companyName = $.companyName;
        this.country = $.country;
        this.postalCode = $.postalCode;
        this.skipAddressValidation = $.skipAddressValidation;
        this.stateOrProvince = $.stateOrProvince;
        this.streetAddress1 = $.streetAddress1;
        this.streetAddress2 = $.streetAddress2;
        this.streetAddress3 = $.streetAddress3;
        this.taxIdentificationNumber = $.taxIdentificationNumber;
        this.zipExtendedCode = $.zipExtendedCode;
    }

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

    public static final class Builder {
        private ShippingAddressArgs $;

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

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

        /**
         * @param addressType Type of address.
         * 
         * @return builder
         * 
         */
        public Builder addressType(@Nullable Output> addressType) {
            $.addressType = addressType;
            return this;
        }

        /**
         * @param addressType Type of address.
         * 
         * @return builder
         * 
         */
        public Builder addressType(Either addressType) {
            return addressType(Output.of(addressType));
        }

        /**
         * @param addressType Type of address.
         * 
         * @return builder
         * 
         */
        public Builder addressType(String addressType) {
            return addressType(Either.ofLeft(addressType));
        }

        /**
         * @param addressType Type of address.
         * 
         * @return builder
         * 
         */
        public Builder addressType(AddressType addressType) {
            return addressType(Either.ofRight(addressType));
        }

        /**
         * @param city Name of the City.
         * 
         * @return builder
         * 
         */
        public Builder city(@Nullable Output city) {
            $.city = city;
            return this;
        }

        /**
         * @param city Name of the City.
         * 
         * @return builder
         * 
         */
        public Builder city(String city) {
            return city(Output.of(city));
        }

        /**
         * @param companyName Name of the company.
         * 
         * @return builder
         * 
         */
        public Builder companyName(@Nullable Output companyName) {
            $.companyName = companyName;
            return this;
        }

        /**
         * @param companyName Name of the company.
         * 
         * @return builder
         * 
         */
        public Builder companyName(String companyName) {
            return companyName(Output.of(companyName));
        }

        /**
         * @param country Name of the Country.
         * 
         * @return builder
         * 
         */
        public Builder country(Output country) {
            $.country = country;
            return this;
        }

        /**
         * @param country Name of the Country.
         * 
         * @return builder
         * 
         */
        public Builder country(String country) {
            return country(Output.of(country));
        }

        /**
         * @param postalCode Postal code.
         * 
         * @return builder
         * 
         */
        public Builder postalCode(@Nullable Output postalCode) {
            $.postalCode = postalCode;
            return this;
        }

        /**
         * @param postalCode Postal code.
         * 
         * @return builder
         * 
         */
        public Builder postalCode(String postalCode) {
            return postalCode(Output.of(postalCode));
        }

        /**
         * @param skipAddressValidation Flag to indicate if customer has chosen to skip default address validation
         * 
         * @return builder
         * 
         */
        public Builder skipAddressValidation(@Nullable Output skipAddressValidation) {
            $.skipAddressValidation = skipAddressValidation;
            return this;
        }

        /**
         * @param skipAddressValidation Flag to indicate if customer has chosen to skip default address validation
         * 
         * @return builder
         * 
         */
        public Builder skipAddressValidation(Boolean skipAddressValidation) {
            return skipAddressValidation(Output.of(skipAddressValidation));
        }

        /**
         * @param stateOrProvince Name of the State or Province.
         * 
         * @return builder
         * 
         */
        public Builder stateOrProvince(@Nullable Output stateOrProvince) {
            $.stateOrProvince = stateOrProvince;
            return this;
        }

        /**
         * @param stateOrProvince Name of the State or Province.
         * 
         * @return builder
         * 
         */
        public Builder stateOrProvince(String stateOrProvince) {
            return stateOrProvince(Output.of(stateOrProvince));
        }

        /**
         * @param streetAddress1 Street Address line 1.
         * 
         * @return builder
         * 
         */
        public Builder streetAddress1(Output streetAddress1) {
            $.streetAddress1 = streetAddress1;
            return this;
        }

        /**
         * @param streetAddress1 Street Address line 1.
         * 
         * @return builder
         * 
         */
        public Builder streetAddress1(String streetAddress1) {
            return streetAddress1(Output.of(streetAddress1));
        }

        /**
         * @param streetAddress2 Street Address line 2.
         * 
         * @return builder
         * 
         */
        public Builder streetAddress2(@Nullable Output streetAddress2) {
            $.streetAddress2 = streetAddress2;
            return this;
        }

        /**
         * @param streetAddress2 Street Address line 2.
         * 
         * @return builder
         * 
         */
        public Builder streetAddress2(String streetAddress2) {
            return streetAddress2(Output.of(streetAddress2));
        }

        /**
         * @param streetAddress3 Street Address line 3.
         * 
         * @return builder
         * 
         */
        public Builder streetAddress3(@Nullable Output streetAddress3) {
            $.streetAddress3 = streetAddress3;
            return this;
        }

        /**
         * @param streetAddress3 Street Address line 3.
         * 
         * @return builder
         * 
         */
        public Builder streetAddress3(String streetAddress3) {
            return streetAddress3(Output.of(streetAddress3));
        }

        /**
         * @param taxIdentificationNumber Tax Identification Number
         * 
         * @return builder
         * 
         */
        public Builder taxIdentificationNumber(@Nullable Output taxIdentificationNumber) {
            $.taxIdentificationNumber = taxIdentificationNumber;
            return this;
        }

        /**
         * @param taxIdentificationNumber Tax Identification Number
         * 
         * @return builder
         * 
         */
        public Builder taxIdentificationNumber(String taxIdentificationNumber) {
            return taxIdentificationNumber(Output.of(taxIdentificationNumber));
        }

        /**
         * @param zipExtendedCode Extended Zip Code.
         * 
         * @return builder
         * 
         */
        public Builder zipExtendedCode(@Nullable Output zipExtendedCode) {
            $.zipExtendedCode = zipExtendedCode;
            return this;
        }

        /**
         * @param zipExtendedCode Extended Zip Code.
         * 
         * @return builder
         * 
         */
        public Builder zipExtendedCode(String zipExtendedCode) {
            return zipExtendedCode(Output.of(zipExtendedCode));
        }

        public ShippingAddressArgs build() {
            $.addressType = Codegen.stringProp("addressType").left(AddressType.class).output().arg($.addressType).def("None").getNullable();
            if ($.country == null) {
                throw new MissingRequiredPropertyException("ShippingAddressArgs", "country");
            }
            if ($.streetAddress1 == null) {
                throw new MissingRequiredPropertyException("ShippingAddressArgs", "streetAddress1");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy