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

com.pulumi.azurenative.servicefabricmesh.ApplicationArgs 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.servicefabricmesh;

import com.pulumi.azurenative.servicefabricmesh.inputs.DiagnosticsDescriptionArgs;
import com.pulumi.azurenative.servicefabricmesh.inputs.ServiceResourceDescriptionArgs;
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 ApplicationArgs extends com.pulumi.resources.ResourceArgs {

    public static final ApplicationArgs Empty = new ApplicationArgs();

    /**
     * The identity of the application.
     * 
     */
    @Import(name="applicationResourceName")
    private @Nullable Output applicationResourceName;

    /**
     * @return The identity of the application.
     * 
     */
    public Optional> applicationResourceName() {
        return Optional.ofNullable(this.applicationResourceName);
    }

    /**
     * Internal - used by Visual Studio to setup the debugging session on the local development environment.
     * 
     */
    @Import(name="debugParams")
    private @Nullable Output debugParams;

    /**
     * @return Internal - used by Visual Studio to setup the debugging session on the local development environment.
     * 
     */
    public Optional> debugParams() {
        return Optional.ofNullable(this.debugParams);
    }

    /**
     * User readable description of the application.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return User readable description of the application.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Describes the diagnostics definition and usage for an application resource.
     * 
     */
    @Import(name="diagnostics")
    private @Nullable Output diagnostics;

    /**
     * @return Describes the diagnostics definition and usage for an application resource.
     * 
     */
    public Optional> diagnostics() {
        return Optional.ofNullable(this.diagnostics);
    }

    /**
     * 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 resource group name
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Azure resource group name
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.
     * 
     */
    @Import(name="services")
    private @Nullable Output> services;

    /**
     * @return Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.
     * 
     */
    public Optional>> services() {
        return Optional.ofNullable(this.services);
    }

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

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

    private ApplicationArgs() {}

    private ApplicationArgs(ApplicationArgs $) {
        this.applicationResourceName = $.applicationResourceName;
        this.debugParams = $.debugParams;
        this.description = $.description;
        this.diagnostics = $.diagnostics;
        this.location = $.location;
        this.resourceGroupName = $.resourceGroupName;
        this.services = $.services;
        this.tags = $.tags;
    }

    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 applicationResourceName The identity of the application.
         * 
         * @return builder
         * 
         */
        public Builder applicationResourceName(@Nullable Output applicationResourceName) {
            $.applicationResourceName = applicationResourceName;
            return this;
        }

        /**
         * @param applicationResourceName The identity of the application.
         * 
         * @return builder
         * 
         */
        public Builder applicationResourceName(String applicationResourceName) {
            return applicationResourceName(Output.of(applicationResourceName));
        }

        /**
         * @param debugParams Internal - used by Visual Studio to setup the debugging session on the local development environment.
         * 
         * @return builder
         * 
         */
        public Builder debugParams(@Nullable Output debugParams) {
            $.debugParams = debugParams;
            return this;
        }

        /**
         * @param debugParams Internal - used by Visual Studio to setup the debugging session on the local development environment.
         * 
         * @return builder
         * 
         */
        public Builder debugParams(String debugParams) {
            return debugParams(Output.of(debugParams));
        }

        /**
         * @param description User readable description of the application.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description User readable description of the application.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param diagnostics Describes the diagnostics definition and usage for an application resource.
         * 
         * @return builder
         * 
         */
        public Builder diagnostics(@Nullable Output diagnostics) {
            $.diagnostics = diagnostics;
            return this;
        }

        /**
         * @param diagnostics Describes the diagnostics definition and usage for an application resource.
         * 
         * @return builder
         * 
         */
        public Builder diagnostics(DiagnosticsDescriptionArgs diagnostics) {
            return diagnostics(Output.of(diagnostics));
        }

        /**
         * @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 resourceGroupName Azure resource group name
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Azure resource group name
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param services Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.
         * 
         * @return builder
         * 
         */
        public Builder services(@Nullable Output> services) {
            $.services = services;
            return this;
        }

        /**
         * @param services Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.
         * 
         * @return builder
         * 
         */
        public Builder services(List services) {
            return services(Output.of(services));
        }

        /**
         * @param services Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.
         * 
         * @return builder
         * 
         */
        public Builder services(ServiceResourceDescriptionArgs... services) {
            return services(List.of(services));
        }

        /**
         * @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 ApplicationArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ApplicationArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy