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

com.pulumi.aws.emrserverless.inputs.ApplicationState Maven / Gradle / Ivy

// *** 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.aws.emrserverless.inputs;

import com.pulumi.aws.emrserverless.inputs.ApplicationAutoStartConfigurationArgs;
import com.pulumi.aws.emrserverless.inputs.ApplicationAutoStopConfigurationArgs;
import com.pulumi.aws.emrserverless.inputs.ApplicationImageConfigurationArgs;
import com.pulumi.aws.emrserverless.inputs.ApplicationInitialCapacityArgs;
import com.pulumi.aws.emrserverless.inputs.ApplicationInteractiveConfigurationArgs;
import com.pulumi.aws.emrserverless.inputs.ApplicationMaximumCapacityArgs;
import com.pulumi.aws.emrserverless.inputs.ApplicationNetworkConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 ApplicationState extends com.pulumi.resources.ResourceArgs {

    public static final ApplicationState Empty = new ApplicationState();

    /**
     * The CPU architecture of an application. Valid values are `ARM64` or `X86_64`. Default value is `X86_64`.
     * 
     */
    @Import(name="architecture")
    private @Nullable Output architecture;

    /**
     * @return The CPU architecture of an application. Valid values are `ARM64` or `X86_64`. Default value is `X86_64`.
     * 
     */
    public Optional> architecture() {
        return Optional.ofNullable(this.architecture);
    }

    /**
     * ARN of the cluster.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return ARN of the cluster.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * The configuration for an application to automatically start on job submission.
     * 
     */
    @Import(name="autoStartConfiguration")
    private @Nullable Output autoStartConfiguration;

    /**
     * @return The configuration for an application to automatically start on job submission.
     * 
     */
    public Optional> autoStartConfiguration() {
        return Optional.ofNullable(this.autoStartConfiguration);
    }

    /**
     * The configuration for an application to automatically stop after a certain amount of time being idle.
     * 
     */
    @Import(name="autoStopConfiguration")
    private @Nullable Output autoStopConfiguration;

    /**
     * @return The configuration for an application to automatically stop after a certain amount of time being idle.
     * 
     */
    public Optional> autoStopConfiguration() {
        return Optional.ofNullable(this.autoStopConfiguration);
    }

    /**
     * The image configuration applied to all worker types.
     * 
     */
    @Import(name="imageConfiguration")
    private @Nullable Output imageConfiguration;

    /**
     * @return The image configuration applied to all worker types.
     * 
     */
    public Optional> imageConfiguration() {
        return Optional.ofNullable(this.imageConfiguration);
    }

    /**
     * The capacity to initialize when the application is created.
     * 
     */
    @Import(name="initialCapacities")
    private @Nullable Output> initialCapacities;

    /**
     * @return The capacity to initialize when the application is created.
     * 
     */
    public Optional>> initialCapacities() {
        return Optional.ofNullable(this.initialCapacities);
    }

    /**
     * Enables the interactive use cases to use when running an application.
     * 
     */
    @Import(name="interactiveConfiguration")
    private @Nullable Output interactiveConfiguration;

    /**
     * @return Enables the interactive use cases to use when running an application.
     * 
     */
    public Optional> interactiveConfiguration() {
        return Optional.ofNullable(this.interactiveConfiguration);
    }

    /**
     * The maximum capacity to allocate when the application is created. This is cumulative across all workers at any given point in time, not just when an application is created. No new resources will be created once any one of the defined limits is hit.
     * 
     */
    @Import(name="maximumCapacity")
    private @Nullable Output maximumCapacity;

    /**
     * @return The maximum capacity to allocate when the application is created. This is cumulative across all workers at any given point in time, not just when an application is created. No new resources will be created once any one of the defined limits is hit.
     * 
     */
    public Optional> maximumCapacity() {
        return Optional.ofNullable(this.maximumCapacity);
    }

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

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

    /**
     * The network configuration for customer VPC connectivity.
     * 
     */
    @Import(name="networkConfiguration")
    private @Nullable Output networkConfiguration;

    /**
     * @return The network configuration for customer VPC connectivity.
     * 
     */
    public Optional> networkConfiguration() {
        return Optional.ofNullable(this.networkConfiguration);
    }

    /**
     * The EMR release version associated with the application.
     * 
     */
    @Import(name="releaseLabel")
    private @Nullable Output releaseLabel;

    /**
     * @return The EMR release version associated with the application.
     * 
     */
    public Optional> releaseLabel() {
        return Optional.ofNullable(this.releaseLabel);
    }

    /**
     * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    /**
     * The type of application you want to start, such as `spark` or `hive`.
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return The type of application you want to start, such as `spark` or `hive`.
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    private ApplicationState() {}

    private ApplicationState(ApplicationState $) {
        this.architecture = $.architecture;
        this.arn = $.arn;
        this.autoStartConfiguration = $.autoStartConfiguration;
        this.autoStopConfiguration = $.autoStopConfiguration;
        this.imageConfiguration = $.imageConfiguration;
        this.initialCapacities = $.initialCapacities;
        this.interactiveConfiguration = $.interactiveConfiguration;
        this.maximumCapacity = $.maximumCapacity;
        this.name = $.name;
        this.networkConfiguration = $.networkConfiguration;
        this.releaseLabel = $.releaseLabel;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.type = $.type;
    }

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

    public static final class Builder {
        private ApplicationState $;

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

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

        /**
         * @param architecture The CPU architecture of an application. Valid values are `ARM64` or `X86_64`. Default value is `X86_64`.
         * 
         * @return builder
         * 
         */
        public Builder architecture(@Nullable Output architecture) {
            $.architecture = architecture;
            return this;
        }

        /**
         * @param architecture The CPU architecture of an application. Valid values are `ARM64` or `X86_64`. Default value is `X86_64`.
         * 
         * @return builder
         * 
         */
        public Builder architecture(String architecture) {
            return architecture(Output.of(architecture));
        }

        /**
         * @param arn ARN of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn ARN of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param autoStartConfiguration The configuration for an application to automatically start on job submission.
         * 
         * @return builder
         * 
         */
        public Builder autoStartConfiguration(@Nullable Output autoStartConfiguration) {
            $.autoStartConfiguration = autoStartConfiguration;
            return this;
        }

        /**
         * @param autoStartConfiguration The configuration for an application to automatically start on job submission.
         * 
         * @return builder
         * 
         */
        public Builder autoStartConfiguration(ApplicationAutoStartConfigurationArgs autoStartConfiguration) {
            return autoStartConfiguration(Output.of(autoStartConfiguration));
        }

        /**
         * @param autoStopConfiguration The configuration for an application to automatically stop after a certain amount of time being idle.
         * 
         * @return builder
         * 
         */
        public Builder autoStopConfiguration(@Nullable Output autoStopConfiguration) {
            $.autoStopConfiguration = autoStopConfiguration;
            return this;
        }

        /**
         * @param autoStopConfiguration The configuration for an application to automatically stop after a certain amount of time being idle.
         * 
         * @return builder
         * 
         */
        public Builder autoStopConfiguration(ApplicationAutoStopConfigurationArgs autoStopConfiguration) {
            return autoStopConfiguration(Output.of(autoStopConfiguration));
        }

        /**
         * @param imageConfiguration The image configuration applied to all worker types.
         * 
         * @return builder
         * 
         */
        public Builder imageConfiguration(@Nullable Output imageConfiguration) {
            $.imageConfiguration = imageConfiguration;
            return this;
        }

        /**
         * @param imageConfiguration The image configuration applied to all worker types.
         * 
         * @return builder
         * 
         */
        public Builder imageConfiguration(ApplicationImageConfigurationArgs imageConfiguration) {
            return imageConfiguration(Output.of(imageConfiguration));
        }

        /**
         * @param initialCapacities The capacity to initialize when the application is created.
         * 
         * @return builder
         * 
         */
        public Builder initialCapacities(@Nullable Output> initialCapacities) {
            $.initialCapacities = initialCapacities;
            return this;
        }

        /**
         * @param initialCapacities The capacity to initialize when the application is created.
         * 
         * @return builder
         * 
         */
        public Builder initialCapacities(List initialCapacities) {
            return initialCapacities(Output.of(initialCapacities));
        }

        /**
         * @param initialCapacities The capacity to initialize when the application is created.
         * 
         * @return builder
         * 
         */
        public Builder initialCapacities(ApplicationInitialCapacityArgs... initialCapacities) {
            return initialCapacities(List.of(initialCapacities));
        }

        /**
         * @param interactiveConfiguration Enables the interactive use cases to use when running an application.
         * 
         * @return builder
         * 
         */
        public Builder interactiveConfiguration(@Nullable Output interactiveConfiguration) {
            $.interactiveConfiguration = interactiveConfiguration;
            return this;
        }

        /**
         * @param interactiveConfiguration Enables the interactive use cases to use when running an application.
         * 
         * @return builder
         * 
         */
        public Builder interactiveConfiguration(ApplicationInteractiveConfigurationArgs interactiveConfiguration) {
            return interactiveConfiguration(Output.of(interactiveConfiguration));
        }

        /**
         * @param maximumCapacity The maximum capacity to allocate when the application is created. This is cumulative across all workers at any given point in time, not just when an application is created. No new resources will be created once any one of the defined limits is hit.
         * 
         * @return builder
         * 
         */
        public Builder maximumCapacity(@Nullable Output maximumCapacity) {
            $.maximumCapacity = maximumCapacity;
            return this;
        }

        /**
         * @param maximumCapacity The maximum capacity to allocate when the application is created. This is cumulative across all workers at any given point in time, not just when an application is created. No new resources will be created once any one of the defined limits is hit.
         * 
         * @return builder
         * 
         */
        public Builder maximumCapacity(ApplicationMaximumCapacityArgs maximumCapacity) {
            return maximumCapacity(Output.of(maximumCapacity));
        }

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

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

        /**
         * @param networkConfiguration The network configuration for customer VPC connectivity.
         * 
         * @return builder
         * 
         */
        public Builder networkConfiguration(@Nullable Output networkConfiguration) {
            $.networkConfiguration = networkConfiguration;
            return this;
        }

        /**
         * @param networkConfiguration The network configuration for customer VPC connectivity.
         * 
         * @return builder
         * 
         */
        public Builder networkConfiguration(ApplicationNetworkConfigurationArgs networkConfiguration) {
            return networkConfiguration(Output.of(networkConfiguration));
        }

        /**
         * @param releaseLabel The EMR release version associated with the application.
         * 
         * @return builder
         * 
         */
        public Builder releaseLabel(@Nullable Output releaseLabel) {
            $.releaseLabel = releaseLabel;
            return this;
        }

        /**
         * @param releaseLabel The EMR release version associated with the application.
         * 
         * @return builder
         * 
         */
        public Builder releaseLabel(String releaseLabel) {
            return releaseLabel(Output.of(releaseLabel));
        }

        /**
         * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        /**
         * @param type The type of application you want to start, such as `spark` or `hive`.
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The type of application you want to start, such as `spark` or `hive`.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public ApplicationState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy