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

com.pulumi.azurenative.mobilepacketcore.ClusterServiceArgs 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.SkuDeploymentType;
import com.pulumi.azurenative.mobilepacketcore.inputs.ClusterServiceAksClusterDataArgs;
import com.pulumi.azurenative.mobilepacketcore.inputs.ClusterServiceNexusAksClusterDataArgs;
import com.pulumi.azurenative.mobilepacketcore.inputs.QualifiedComponentDeploymentParametersArgs;
import com.pulumi.core.Either;
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 ClusterServiceArgs extends com.pulumi.resources.ResourceArgs {

    public static final ClusterServiceArgs Empty = new ClusterServiceArgs();

    /**
     * The name of the Cluster Service
     * 
     */
    @Import(name="clusterServiceName")
    private @Nullable Output clusterServiceName;

    /**
     * @return The name of the Cluster Service
     * 
     */
    public Optional> clusterServiceName() {
        return Optional.ofNullable(this.clusterServiceName);
    }

    /**
     * Cluster type specific data.  Contents depend on the cluster type
     * 
     */
    @Import(name="clusterTypeSpecificData", required=true)
    private Output> clusterTypeSpecificData;

    /**
     * @return Cluster type specific data.  Contents depend on the cluster type
     * 
     */
    public Output> clusterTypeSpecificData() {
        return this.clusterTypeSpecificData;
    }

    /**
     * Azure for Operators 5G Core Local PaaS component parameters.  One set per component type
     * 
     */
    @Import(name="componentParameters", required=true)
    private Output> componentParameters;

    /**
     * @return Azure for Operators 5G Core Local PaaS component parameters.  One set per component type
     * 
     */
    public Output> componentParameters() {
        return this.componentParameters;
    }

    /**
     * Cluster type (Lab or Production)
     * 
     */
    @Import(name="deploymentType", required=true)
    private Output> deploymentType;

    /**
     * @return Cluster type (Lab or Production)
     * 
     */
    public Output> deploymentType() {
        return this.deploymentType;
    }

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

    /**
     * Azure for Operators 5G Core Release Version.  This is applied to all platform as a service (PaaS) components and running workloads in this cluster
     * 
     */
    @Import(name="releaseVersion", required=true)
    private Output releaseVersion;

    /**
     * @return Azure for Operators 5G Core Release Version.  This is applied to all platform as a service (PaaS) components and running workloads in this cluster
     * 
     */
    public Output releaseVersion() {
        return this.releaseVersion;
    }

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

    private ClusterServiceArgs() {}

    private ClusterServiceArgs(ClusterServiceArgs $) {
        this.clusterServiceName = $.clusterServiceName;
        this.clusterTypeSpecificData = $.clusterTypeSpecificData;
        this.componentParameters = $.componentParameters;
        this.deploymentType = $.deploymentType;
        this.location = $.location;
        this.releaseVersion = $.releaseVersion;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private ClusterServiceArgs $;

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

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

        /**
         * @param clusterServiceName The name of the Cluster Service
         * 
         * @return builder
         * 
         */
        public Builder clusterServiceName(@Nullable Output clusterServiceName) {
            $.clusterServiceName = clusterServiceName;
            return this;
        }

        /**
         * @param clusterServiceName The name of the Cluster Service
         * 
         * @return builder
         * 
         */
        public Builder clusterServiceName(String clusterServiceName) {
            return clusterServiceName(Output.of(clusterServiceName));
        }

        /**
         * @param clusterTypeSpecificData Cluster type specific data.  Contents depend on the cluster type
         * 
         * @return builder
         * 
         */
        public Builder clusterTypeSpecificData(Output> clusterTypeSpecificData) {
            $.clusterTypeSpecificData = clusterTypeSpecificData;
            return this;
        }

        /**
         * @param clusterTypeSpecificData Cluster type specific data.  Contents depend on the cluster type
         * 
         * @return builder
         * 
         */
        public Builder clusterTypeSpecificData(Either clusterTypeSpecificData) {
            return clusterTypeSpecificData(Output.of(clusterTypeSpecificData));
        }

        /**
         * @param clusterTypeSpecificData Cluster type specific data.  Contents depend on the cluster type
         * 
         * @return builder
         * 
         */
        public Builder clusterTypeSpecificData(ClusterServiceAksClusterDataArgs clusterTypeSpecificData) {
            return clusterTypeSpecificData(Either.ofLeft(clusterTypeSpecificData));
        }

        /**
         * @param clusterTypeSpecificData Cluster type specific data.  Contents depend on the cluster type
         * 
         * @return builder
         * 
         */
        public Builder clusterTypeSpecificData(ClusterServiceNexusAksClusterDataArgs clusterTypeSpecificData) {
            return clusterTypeSpecificData(Either.ofRight(clusterTypeSpecificData));
        }

        /**
         * @param componentParameters Azure for Operators 5G Core Local PaaS component parameters.  One set per component type
         * 
         * @return builder
         * 
         */
        public Builder componentParameters(Output> componentParameters) {
            $.componentParameters = componentParameters;
            return this;
        }

        /**
         * @param componentParameters Azure for Operators 5G Core Local PaaS component parameters.  One set per component type
         * 
         * @return builder
         * 
         */
        public Builder componentParameters(List componentParameters) {
            return componentParameters(Output.of(componentParameters));
        }

        /**
         * @param componentParameters Azure for Operators 5G Core Local PaaS component parameters.  One set per component type
         * 
         * @return builder
         * 
         */
        public Builder componentParameters(QualifiedComponentDeploymentParametersArgs... componentParameters) {
            return componentParameters(List.of(componentParameters));
        }

        /**
         * @param deploymentType Cluster type (Lab or Production)
         * 
         * @return builder
         * 
         */
        public Builder deploymentType(Output> deploymentType) {
            $.deploymentType = deploymentType;
            return this;
        }

        /**
         * @param deploymentType Cluster type (Lab or Production)
         * 
         * @return builder
         * 
         */
        public Builder deploymentType(Either deploymentType) {
            return deploymentType(Output.of(deploymentType));
        }

        /**
         * @param deploymentType Cluster type (Lab or Production)
         * 
         * @return builder
         * 
         */
        public Builder deploymentType(String deploymentType) {
            return deploymentType(Either.ofLeft(deploymentType));
        }

        /**
         * @param deploymentType Cluster type (Lab or Production)
         * 
         * @return builder
         * 
         */
        public Builder deploymentType(SkuDeploymentType deploymentType) {
            return deploymentType(Either.ofRight(deploymentType));
        }

        /**
         * @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 releaseVersion Azure for Operators 5G Core Release Version.  This is applied to all platform as a service (PaaS) components and running workloads in this cluster
         * 
         * @return builder
         * 
         */
        public Builder releaseVersion(Output releaseVersion) {
            $.releaseVersion = releaseVersion;
            return this;
        }

        /**
         * @param releaseVersion Azure for Operators 5G Core Release Version.  This is applied to all platform as a service (PaaS) components and running workloads in this cluster
         * 
         * @return builder
         * 
         */
        public Builder releaseVersion(String releaseVersion) {
            return releaseVersion(Output.of(releaseVersion));
        }

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

        public ClusterServiceArgs build() {
            if ($.clusterTypeSpecificData == null) {
                throw new MissingRequiredPropertyException("ClusterServiceArgs", "clusterTypeSpecificData");
            }
            if ($.componentParameters == null) {
                throw new MissingRequiredPropertyException("ClusterServiceArgs", "componentParameters");
            }
            if ($.deploymentType == null) {
                throw new MissingRequiredPropertyException("ClusterServiceArgs", "deploymentType");
            }
            if ($.releaseVersion == null) {
                throw new MissingRequiredPropertyException("ClusterServiceArgs", "releaseVersion");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ClusterServiceArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy