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

com.pulumi.azurenative.mobilenetwork.AttachedDataNetworkArgs 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.mobilenetwork;

import com.pulumi.azurenative.mobilenetwork.inputs.InterfacePropertiesArgs;
import com.pulumi.azurenative.mobilenetwork.inputs.NaptConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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 AttachedDataNetworkArgs extends com.pulumi.resources.ResourceArgs {

    public static final AttachedDataNetworkArgs Empty = new AttachedDataNetworkArgs();

    /**
     * The name of the attached data network.
     * 
     */
    @Import(name="attachedDataNetworkName")
    private @Nullable Output attachedDataNetworkName;

    /**
     * @return The name of the attached data network.
     * 
     */
    public Optional> attachedDataNetworkName() {
        return Optional.ofNullable(this.attachedDataNetworkName);
    }

    /**
     * The DNS servers to signal to UEs to use for this attached data network. This configuration is mandatory - if you don't want DNS servers, you must provide an empty array.
     * 
     */
    @Import(name="dnsAddresses", required=true)
    private Output> dnsAddresses;

    /**
     * @return The DNS servers to signal to UEs to use for this attached data network. This configuration is mandatory - if you don't want DNS servers, you must provide an empty array.
     * 
     */
    public Output> dnsAddresses() {
        return this.dnsAddresses;
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The network address and port translation (NAPT) configuration.
     * If this is not specified, the attached data network will use a default NAPT configuration with NAPT enabled.
     * 
     */
    @Import(name="naptConfiguration")
    private @Nullable Output naptConfiguration;

    /**
     * @return The network address and port translation (NAPT) configuration.
     * If this is not specified, the attached data network will use a default NAPT configuration with NAPT enabled.
     * 
     */
    public Optional> naptConfiguration() {
        return Optional.ofNullable(this.naptConfiguration);
    }

    /**
     * The name of the packet core control plane.
     * 
     */
    @Import(name="packetCoreControlPlaneName", required=true)
    private Output packetCoreControlPlaneName;

    /**
     * @return The name of the packet core control plane.
     * 
     */
    public Output packetCoreControlPlaneName() {
        return this.packetCoreControlPlaneName;
    }

    /**
     * The name of the packet core data plane.
     * 
     */
    @Import(name="packetCoreDataPlaneName", required=true)
    private Output packetCoreDataPlaneName;

    /**
     * @return The name of the packet core data plane.
     * 
     */
    public Output packetCoreDataPlaneName() {
        return this.packetCoreDataPlaneName;
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will dynamically assign IP addresses to UEs.
     * The packet core instance assigns an IP address to a UE when the UE sets up a PDU session.
     *  You must define at least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix. If you define both, they must be of the same size.
     * 
     */
    @Import(name="userEquipmentAddressPoolPrefix")
    private @Nullable Output> userEquipmentAddressPoolPrefix;

    /**
     * @return The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will dynamically assign IP addresses to UEs.
     * The packet core instance assigns an IP address to a UE when the UE sets up a PDU session.
     *  You must define at least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix. If you define both, they must be of the same size.
     * 
     */
    public Optional>> userEquipmentAddressPoolPrefix() {
        return Optional.ofNullable(this.userEquipmentAddressPoolPrefix);
    }

    /**
     * The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will assign static IP addresses to UEs.
     * The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. The static IP address for a specific UE is set in StaticIPConfiguration on the corresponding SIM resource.
     * At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined, they must be of the same size.
     * 
     */
    @Import(name="userEquipmentStaticAddressPoolPrefix")
    private @Nullable Output> userEquipmentStaticAddressPoolPrefix;

    /**
     * @return The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will assign static IP addresses to UEs.
     * The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. The static IP address for a specific UE is set in StaticIPConfiguration on the corresponding SIM resource.
     * At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined, they must be of the same size.
     * 
     */
    public Optional>> userEquipmentStaticAddressPoolPrefix() {
        return Optional.ofNullable(this.userEquipmentStaticAddressPoolPrefix);
    }

    /**
     * The user plane interface on the data network. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface.
     * 
     */
    @Import(name="userPlaneDataInterface", required=true)
    private Output userPlaneDataInterface;

    /**
     * @return The user plane interface on the data network. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface.
     * 
     */
    public Output userPlaneDataInterface() {
        return this.userPlaneDataInterface;
    }

    private AttachedDataNetworkArgs() {}

    private AttachedDataNetworkArgs(AttachedDataNetworkArgs $) {
        this.attachedDataNetworkName = $.attachedDataNetworkName;
        this.dnsAddresses = $.dnsAddresses;
        this.location = $.location;
        this.naptConfiguration = $.naptConfiguration;
        this.packetCoreControlPlaneName = $.packetCoreControlPlaneName;
        this.packetCoreDataPlaneName = $.packetCoreDataPlaneName;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
        this.userEquipmentAddressPoolPrefix = $.userEquipmentAddressPoolPrefix;
        this.userEquipmentStaticAddressPoolPrefix = $.userEquipmentStaticAddressPoolPrefix;
        this.userPlaneDataInterface = $.userPlaneDataInterface;
    }

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

    public static final class Builder {
        private AttachedDataNetworkArgs $;

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

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

        /**
         * @param attachedDataNetworkName The name of the attached data network.
         * 
         * @return builder
         * 
         */
        public Builder attachedDataNetworkName(@Nullable Output attachedDataNetworkName) {
            $.attachedDataNetworkName = attachedDataNetworkName;
            return this;
        }

        /**
         * @param attachedDataNetworkName The name of the attached data network.
         * 
         * @return builder
         * 
         */
        public Builder attachedDataNetworkName(String attachedDataNetworkName) {
            return attachedDataNetworkName(Output.of(attachedDataNetworkName));
        }

        /**
         * @param dnsAddresses The DNS servers to signal to UEs to use for this attached data network. This configuration is mandatory - if you don't want DNS servers, you must provide an empty array.
         * 
         * @return builder
         * 
         */
        public Builder dnsAddresses(Output> dnsAddresses) {
            $.dnsAddresses = dnsAddresses;
            return this;
        }

        /**
         * @param dnsAddresses The DNS servers to signal to UEs to use for this attached data network. This configuration is mandatory - if you don't want DNS servers, you must provide an empty array.
         * 
         * @return builder
         * 
         */
        public Builder dnsAddresses(List dnsAddresses) {
            return dnsAddresses(Output.of(dnsAddresses));
        }

        /**
         * @param dnsAddresses The DNS servers to signal to UEs to use for this attached data network. This configuration is mandatory - if you don't want DNS servers, you must provide an empty array.
         * 
         * @return builder
         * 
         */
        public Builder dnsAddresses(String... dnsAddresses) {
            return dnsAddresses(List.of(dnsAddresses));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param naptConfiguration The network address and port translation (NAPT) configuration.
         * If this is not specified, the attached data network will use a default NAPT configuration with NAPT enabled.
         * 
         * @return builder
         * 
         */
        public Builder naptConfiguration(@Nullable Output naptConfiguration) {
            $.naptConfiguration = naptConfiguration;
            return this;
        }

        /**
         * @param naptConfiguration The network address and port translation (NAPT) configuration.
         * If this is not specified, the attached data network will use a default NAPT configuration with NAPT enabled.
         * 
         * @return builder
         * 
         */
        public Builder naptConfiguration(NaptConfigurationArgs naptConfiguration) {
            return naptConfiguration(Output.of(naptConfiguration));
        }

        /**
         * @param packetCoreControlPlaneName The name of the packet core control plane.
         * 
         * @return builder
         * 
         */
        public Builder packetCoreControlPlaneName(Output packetCoreControlPlaneName) {
            $.packetCoreControlPlaneName = packetCoreControlPlaneName;
            return this;
        }

        /**
         * @param packetCoreControlPlaneName The name of the packet core control plane.
         * 
         * @return builder
         * 
         */
        public Builder packetCoreControlPlaneName(String packetCoreControlPlaneName) {
            return packetCoreControlPlaneName(Output.of(packetCoreControlPlaneName));
        }

        /**
         * @param packetCoreDataPlaneName The name of the packet core data plane.
         * 
         * @return builder
         * 
         */
        public Builder packetCoreDataPlaneName(Output packetCoreDataPlaneName) {
            $.packetCoreDataPlaneName = packetCoreDataPlaneName;
            return this;
        }

        /**
         * @param packetCoreDataPlaneName The name of the packet core data plane.
         * 
         * @return builder
         * 
         */
        public Builder packetCoreDataPlaneName(String packetCoreDataPlaneName) {
            return packetCoreDataPlaneName(Output.of(packetCoreDataPlaneName));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param userEquipmentAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will dynamically assign IP addresses to UEs.
         * The packet core instance assigns an IP address to a UE when the UE sets up a PDU session.
         *  You must define at least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix. If you define both, they must be of the same size.
         * 
         * @return builder
         * 
         */
        public Builder userEquipmentAddressPoolPrefix(@Nullable Output> userEquipmentAddressPoolPrefix) {
            $.userEquipmentAddressPoolPrefix = userEquipmentAddressPoolPrefix;
            return this;
        }

        /**
         * @param userEquipmentAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will dynamically assign IP addresses to UEs.
         * The packet core instance assigns an IP address to a UE when the UE sets up a PDU session.
         *  You must define at least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix. If you define both, they must be of the same size.
         * 
         * @return builder
         * 
         */
        public Builder userEquipmentAddressPoolPrefix(List userEquipmentAddressPoolPrefix) {
            return userEquipmentAddressPoolPrefix(Output.of(userEquipmentAddressPoolPrefix));
        }

        /**
         * @param userEquipmentAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will dynamically assign IP addresses to UEs.
         * The packet core instance assigns an IP address to a UE when the UE sets up a PDU session.
         *  You must define at least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix. If you define both, they must be of the same size.
         * 
         * @return builder
         * 
         */
        public Builder userEquipmentAddressPoolPrefix(String... userEquipmentAddressPoolPrefix) {
            return userEquipmentAddressPoolPrefix(List.of(userEquipmentAddressPoolPrefix));
        }

        /**
         * @param userEquipmentStaticAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will assign static IP addresses to UEs.
         * The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. The static IP address for a specific UE is set in StaticIPConfiguration on the corresponding SIM resource.
         * At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined, they must be of the same size.
         * 
         * @return builder
         * 
         */
        public Builder userEquipmentStaticAddressPoolPrefix(@Nullable Output> userEquipmentStaticAddressPoolPrefix) {
            $.userEquipmentStaticAddressPoolPrefix = userEquipmentStaticAddressPoolPrefix;
            return this;
        }

        /**
         * @param userEquipmentStaticAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will assign static IP addresses to UEs.
         * The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. The static IP address for a specific UE is set in StaticIPConfiguration on the corresponding SIM resource.
         * At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined, they must be of the same size.
         * 
         * @return builder
         * 
         */
        public Builder userEquipmentStaticAddressPoolPrefix(List userEquipmentStaticAddressPoolPrefix) {
            return userEquipmentStaticAddressPoolPrefix(Output.of(userEquipmentStaticAddressPoolPrefix));
        }

        /**
         * @param userEquipmentStaticAddressPoolPrefix The user equipment (UE) address pool prefixes for the attached data network from which the packet core instance will assign static IP addresses to UEs.
         * The packet core instance assigns an IP address to a UE when the UE sets up a PDU session. The static IP address for a specific UE is set in StaticIPConfiguration on the corresponding SIM resource.
         * At least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined, they must be of the same size.
         * 
         * @return builder
         * 
         */
        public Builder userEquipmentStaticAddressPoolPrefix(String... userEquipmentStaticAddressPoolPrefix) {
            return userEquipmentStaticAddressPoolPrefix(List.of(userEquipmentStaticAddressPoolPrefix));
        }

        /**
         * @param userPlaneDataInterface The user plane interface on the data network. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface.
         * 
         * @return builder
         * 
         */
        public Builder userPlaneDataInterface(Output userPlaneDataInterface) {
            $.userPlaneDataInterface = userPlaneDataInterface;
            return this;
        }

        /**
         * @param userPlaneDataInterface The user plane interface on the data network. For 5G networks, this is the N6 interface. For 4G networks, this is the SGi interface.
         * 
         * @return builder
         * 
         */
        public Builder userPlaneDataInterface(InterfacePropertiesArgs userPlaneDataInterface) {
            return userPlaneDataInterface(Output.of(userPlaneDataInterface));
        }

        public AttachedDataNetworkArgs build() {
            if ($.dnsAddresses == null) {
                throw new MissingRequiredPropertyException("AttachedDataNetworkArgs", "dnsAddresses");
            }
            if ($.packetCoreControlPlaneName == null) {
                throw new MissingRequiredPropertyException("AttachedDataNetworkArgs", "packetCoreControlPlaneName");
            }
            if ($.packetCoreDataPlaneName == null) {
                throw new MissingRequiredPropertyException("AttachedDataNetworkArgs", "packetCoreDataPlaneName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("AttachedDataNetworkArgs", "resourceGroupName");
            }
            if ($.userPlaneDataInterface == null) {
                throw new MissingRequiredPropertyException("AttachedDataNetworkArgs", "userPlaneDataInterface");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy