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

com.pulumi.azurenative.mobilepacketcore.NetworkFunctionArgs 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.mobilepacketcore;

import com.pulumi.azurenative.mobilepacketcore.enums.NetworkFunctionAdministrativeState;
import com.pulumi.azurenative.mobilepacketcore.enums.NetworkFunctionType;
import com.pulumi.azurenative.mobilepacketcore.enums.SkuDefinitions;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final NetworkFunctionArgs Empty = new NetworkFunctionArgs();

    /**
     * Capacity of the network function in units of 10000.  This represents the session count or the Simultaneously Attached Users (SAU) count as applicable
     * 
     */
    @Import(name="capacity")
    private @Nullable Output capacity;

    /**
     * @return Capacity of the network function in units of 10000.  This represents the session count or the Simultaneously Attached Users (SAU) count as applicable
     * 
     */
    public Optional> capacity() {
        return Optional.ofNullable(this.capacity);
    }

    /**
     * User provided deployment notes.  This is used to optionally provide details about the NF deployment
     * 
     */
    @Import(name="deploymentNotes")
    private @Nullable Output deploymentNotes;

    /**
     * @return User provided deployment notes.  This is used to optionally provide details about the NF deployment
     * 
     */
    public Optional> deploymentNotes() {
        return Optional.ofNullable(this.deploymentNotes);
    }

    /**
     * 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);
    }

    /**
     * Administrative state of the network function
     * 
     */
    @Import(name="networkFunctionAdministrativeState", required=true)
    private Output> networkFunctionAdministrativeState;

    /**
     * @return Administrative state of the network function
     * 
     */
    public Output> networkFunctionAdministrativeState() {
        return this.networkFunctionAdministrativeState;
    }

    /**
     * The name of the network function
     * 
     */
    @Import(name="networkFunctionName")
    private @Nullable Output networkFunctionName;

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

    /**
     * Type of network function
     * 
     */
    @Import(name="networkFunctionType", required=true)
    private Output> networkFunctionType;

    /**
     * @return Type of network function
     * 
     */
    public Output> networkFunctionType() {
        return this.networkFunctionType;
    }

    /**
     * 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;
    }

    /**
     * Provisioned SKU Value.
     * 
     */
    @Import(name="sku", required=true)
    private Output> sku;

    /**
     * @return Provisioned SKU Value.
     * 
     */
    public Output> sku() {
        return this.sku;
    }

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

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

    /**
     * User provided description
     * 
     */
    @Import(name="userDescription")
    private @Nullable Output userDescription;

    /**
     * @return User provided description
     * 
     */
    public Optional> userDescription() {
        return Optional.ofNullable(this.userDescription);
    }

    private NetworkFunctionArgs() {}

    private NetworkFunctionArgs(NetworkFunctionArgs $) {
        this.capacity = $.capacity;
        this.deploymentNotes = $.deploymentNotes;
        this.location = $.location;
        this.networkFunctionAdministrativeState = $.networkFunctionAdministrativeState;
        this.networkFunctionName = $.networkFunctionName;
        this.networkFunctionType = $.networkFunctionType;
        this.resourceGroupName = $.resourceGroupName;
        this.sku = $.sku;
        this.tags = $.tags;
        this.userDescription = $.userDescription;
    }

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

    public static final class Builder {
        private NetworkFunctionArgs $;

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

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

        /**
         * @param capacity Capacity of the network function in units of 10000.  This represents the session count or the Simultaneously Attached Users (SAU) count as applicable
         * 
         * @return builder
         * 
         */
        public Builder capacity(@Nullable Output capacity) {
            $.capacity = capacity;
            return this;
        }

        /**
         * @param capacity Capacity of the network function in units of 10000.  This represents the session count or the Simultaneously Attached Users (SAU) count as applicable
         * 
         * @return builder
         * 
         */
        public Builder capacity(Integer capacity) {
            return capacity(Output.of(capacity));
        }

        /**
         * @param deploymentNotes User provided deployment notes.  This is used to optionally provide details about the NF deployment
         * 
         * @return builder
         * 
         */
        public Builder deploymentNotes(@Nullable Output deploymentNotes) {
            $.deploymentNotes = deploymentNotes;
            return this;
        }

        /**
         * @param deploymentNotes User provided deployment notes.  This is used to optionally provide details about the NF deployment
         * 
         * @return builder
         * 
         */
        public Builder deploymentNotes(String deploymentNotes) {
            return deploymentNotes(Output.of(deploymentNotes));
        }

        /**
         * @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 networkFunctionAdministrativeState Administrative state of the network function
         * 
         * @return builder
         * 
         */
        public Builder networkFunctionAdministrativeState(Output> networkFunctionAdministrativeState) {
            $.networkFunctionAdministrativeState = networkFunctionAdministrativeState;
            return this;
        }

        /**
         * @param networkFunctionAdministrativeState Administrative state of the network function
         * 
         * @return builder
         * 
         */
        public Builder networkFunctionAdministrativeState(Either networkFunctionAdministrativeState) {
            return networkFunctionAdministrativeState(Output.of(networkFunctionAdministrativeState));
        }

        /**
         * @param networkFunctionAdministrativeState Administrative state of the network function
         * 
         * @return builder
         * 
         */
        public Builder networkFunctionAdministrativeState(String networkFunctionAdministrativeState) {
            return networkFunctionAdministrativeState(Either.ofLeft(networkFunctionAdministrativeState));
        }

        /**
         * @param networkFunctionAdministrativeState Administrative state of the network function
         * 
         * @return builder
         * 
         */
        public Builder networkFunctionAdministrativeState(NetworkFunctionAdministrativeState networkFunctionAdministrativeState) {
            return networkFunctionAdministrativeState(Either.ofRight(networkFunctionAdministrativeState));
        }

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

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

        /**
         * @param networkFunctionType Type of network function
         * 
         * @return builder
         * 
         */
        public Builder networkFunctionType(Output> networkFunctionType) {
            $.networkFunctionType = networkFunctionType;
            return this;
        }

        /**
         * @param networkFunctionType Type of network function
         * 
         * @return builder
         * 
         */
        public Builder networkFunctionType(Either networkFunctionType) {
            return networkFunctionType(Output.of(networkFunctionType));
        }

        /**
         * @param networkFunctionType Type of network function
         * 
         * @return builder
         * 
         */
        public Builder networkFunctionType(String networkFunctionType) {
            return networkFunctionType(Either.ofLeft(networkFunctionType));
        }

        /**
         * @param networkFunctionType Type of network function
         * 
         * @return builder
         * 
         */
        public Builder networkFunctionType(NetworkFunctionType networkFunctionType) {
            return networkFunctionType(Either.ofRight(networkFunctionType));
        }

        /**
         * @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 sku Provisioned SKU Value.
         * 
         * @return builder
         * 
         */
        public Builder sku(Output> sku) {
            $.sku = sku;
            return this;
        }

        /**
         * @param sku Provisioned SKU Value.
         * 
         * @return builder
         * 
         */
        public Builder sku(Either sku) {
            return sku(Output.of(sku));
        }

        /**
         * @param sku Provisioned SKU Value.
         * 
         * @return builder
         * 
         */
        public Builder sku(String sku) {
            return sku(Either.ofLeft(sku));
        }

        /**
         * @param sku Provisioned SKU Value.
         * 
         * @return builder
         * 
         */
        public Builder sku(SkuDefinitions sku) {
            return sku(Either.ofRight(sku));
        }

        /**
         * @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 userDescription User provided description
         * 
         * @return builder
         * 
         */
        public Builder userDescription(@Nullable Output userDescription) {
            $.userDescription = userDescription;
            return this;
        }

        /**
         * @param userDescription User provided description
         * 
         * @return builder
         * 
         */
        public Builder userDescription(String userDescription) {
            return userDescription(Output.of(userDescription));
        }

        public NetworkFunctionArgs build() {
            if ($.networkFunctionAdministrativeState == null) {
                throw new MissingRequiredPropertyException("NetworkFunctionArgs", "networkFunctionAdministrativeState");
            }
            if ($.networkFunctionType == null) {
                throw new MissingRequiredPropertyException("NetworkFunctionArgs", "networkFunctionType");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("NetworkFunctionArgs", "resourceGroupName");
            }
            if ($.sku == null) {
                throw new MissingRequiredPropertyException("NetworkFunctionArgs", "sku");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy