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

com.pulumi.azure.iotcentral.ApplicationArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.iotcentral;

import com.pulumi.azure.iotcentral.inputs.ApplicationIdentityArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ApplicationArgs Empty = new ApplicationArgs();

    /**
     * A `display_name` name. Custom display name for the IoT Central application. Default is resource name.
     * 
     * > **NOTE:** Due to a bug in the provider, the default value of `display_name` of a newly created IoT Central App will be the Resource Group Name, it will be fixed and use resource name in 4.0. For an existing IoT Central App, this could be fixed by specifying the `display_name` explicitly.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return A `display_name` name. Custom display name for the IoT Central application. Default is resource name.
     * 
     * > **NOTE:** Due to a bug in the provider, the default value of `display_name` of a newly created IoT Central App will be the Resource Group Name, it will be fixed and use resource name in 4.0. For an existing IoT Central App, this could be fixed by specifying the `display_name` explicitly.
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * An `identity` block as defined below.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return An `identity` block as defined below.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * Specifies the supported Azure location where the resource has to be create. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Specifies the supported Azure location where the resource has to be create. Changing this forces a new resource to be created.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Specifies the name of the IotHub resource. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Specifies the name of the IotHub resource. Changing this forces a new resource to be created.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Whether public network access is allowed for the IoT Central Application. Defaults to `true`.
     * 
     */
    @Import(name="publicNetworkAccessEnabled")
    private @Nullable Output publicNetworkAccessEnabled;

    /**
     * @return Whether public network access is allowed for the IoT Central Application. Defaults to `true`.
     * 
     */
    public Optional> publicNetworkAccessEnabled() {
        return Optional.ofNullable(this.publicNetworkAccessEnabled);
    }

    /**
     * The name of the resource group under which the IotHub resource has to be created. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group under which the IotHub resource has to be created. Changing this forces a new resource to be created.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * A `sku` name. Possible values is `ST0`, `ST1`, `ST2`, Default value is `ST1`
     * 
     */
    @Import(name="sku")
    private @Nullable Output sku;

    /**
     * @return A `sku` name. Possible values is `ST0`, `ST1`, `ST2`, Default value is `ST1`
     * 
     */
    public Optional> sku() {
        return Optional.ofNullable(this.sku);
    }

    /**
     * A `sub_domain` name. Subdomain for the IoT Central URL. Each application must have a unique subdomain.
     * 
     */
    @Import(name="subDomain", required=true)
    private Output subDomain;

    /**
     * @return A `sub_domain` name. Subdomain for the IoT Central URL. Each application must have a unique subdomain.
     * 
     */
    public Output subDomain() {
        return this.subDomain;
    }

    /**
     * A mapping of tags to assign to the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A mapping of tags to assign to the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * A `template` name. IoT Central application template name. Defaults to `iotc-pnp-preview{@literal @}1.0.0`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="template")
    private @Nullable Output template;

    /**
     * @return A `template` name. IoT Central application template name. Defaults to `iotc-pnp-preview{@literal @}1.0.0`. Changing this forces a new resource to be created.
     * 
     */
    public Optional> template() {
        return Optional.ofNullable(this.template);
    }

    private ApplicationArgs() {}

    private ApplicationArgs(ApplicationArgs $) {
        this.displayName = $.displayName;
        this.identity = $.identity;
        this.location = $.location;
        this.name = $.name;
        this.publicNetworkAccessEnabled = $.publicNetworkAccessEnabled;
        this.resourceGroupName = $.resourceGroupName;
        this.sku = $.sku;
        this.subDomain = $.subDomain;
        this.tags = $.tags;
        this.template = $.template;
    }

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

    public static final class Builder {
        private ApplicationArgs $;

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

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

        /**
         * @param displayName A `display_name` name. Custom display name for the IoT Central application. Default is resource name.
         * 
         * > **NOTE:** Due to a bug in the provider, the default value of `display_name` of a newly created IoT Central App will be the Resource Group Name, it will be fixed and use resource name in 4.0. For an existing IoT Central App, this could be fixed by specifying the `display_name` explicitly.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName A `display_name` name. Custom display name for the IoT Central application. Default is resource name.
         * 
         * > **NOTE:** Due to a bug in the provider, the default value of `display_name` of a newly created IoT Central App will be the Resource Group Name, it will be fixed and use resource name in 4.0. For an existing IoT Central App, this could be fixed by specifying the `display_name` explicitly.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param identity An `identity` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity An `identity` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder identity(ApplicationIdentityArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param location Specifies the supported Azure location where the resource has to be create. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Specifies the supported Azure location where the resource has to be create. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param name Specifies the name of the IotHub resource. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Specifies the name of the IotHub resource. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param publicNetworkAccessEnabled Whether public network access is allowed for the IoT Central Application. Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessEnabled(@Nullable Output publicNetworkAccessEnabled) {
            $.publicNetworkAccessEnabled = publicNetworkAccessEnabled;
            return this;
        }

        /**
         * @param publicNetworkAccessEnabled Whether public network access is allowed for the IoT Central Application. Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccessEnabled(Boolean publicNetworkAccessEnabled) {
            return publicNetworkAccessEnabled(Output.of(publicNetworkAccessEnabled));
        }

        /**
         * @param resourceGroupName The name of the resource group under which the IotHub resource has to be created. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group under which the IotHub resource has to be created. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param sku A `sku` name. Possible values is `ST0`, `ST1`, `ST2`, Default value is `ST1`
         * 
         * @return builder
         * 
         */
        public Builder sku(@Nullable Output sku) {
            $.sku = sku;
            return this;
        }

        /**
         * @param sku A `sku` name. Possible values is `ST0`, `ST1`, `ST2`, Default value is `ST1`
         * 
         * @return builder
         * 
         */
        public Builder sku(String sku) {
            return sku(Output.of(sku));
        }

        /**
         * @param subDomain A `sub_domain` name. Subdomain for the IoT Central URL. Each application must have a unique subdomain.
         * 
         * @return builder
         * 
         */
        public Builder subDomain(Output subDomain) {
            $.subDomain = subDomain;
            return this;
        }

        /**
         * @param subDomain A `sub_domain` name. Subdomain for the IoT Central URL. Each application must have a unique subdomain.
         * 
         * @return builder
         * 
         */
        public Builder subDomain(String subDomain) {
            return subDomain(Output.of(subDomain));
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param template A `template` name. IoT Central application template name. Defaults to `iotc-pnp-preview{@literal @}1.0.0`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder template(@Nullable Output template) {
            $.template = template;
            return this;
        }

        /**
         * @param template A `template` name. IoT Central application template name. Defaults to `iotc-pnp-preview{@literal @}1.0.0`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder template(String template) {
            return template(Output.of(template));
        }

        public ApplicationArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ApplicationArgs", "resourceGroupName");
            }
            if ($.subDomain == null) {
                throw new MissingRequiredPropertyException("ApplicationArgs", "subDomain");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy