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

com.pulumi.aws.appstream.StackArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

The 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.aws.appstream;

import com.pulumi.aws.appstream.inputs.StackAccessEndpointArgs;
import com.pulumi.aws.appstream.inputs.StackApplicationSettingsArgs;
import com.pulumi.aws.appstream.inputs.StackStorageConnectorArgs;
import com.pulumi.aws.appstream.inputs.StackStreamingExperienceSettingsArgs;
import com.pulumi.aws.appstream.inputs.StackUserSettingArgs;
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 StackArgs extends com.pulumi.resources.ResourceArgs {

    public static final StackArgs Empty = new StackArgs();

    /**
     * Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
     * See `access_endpoints` below.
     * 
     */
    @Import(name="accessEndpoints")
    private @Nullable Output> accessEndpoints;

    /**
     * @return Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
     * See `access_endpoints` below.
     * 
     */
    public Optional>> accessEndpoints() {
        return Optional.ofNullable(this.accessEndpoints);
    }

    /**
     * Settings for application settings persistence.
     * See `application_settings` below.
     * 
     */
    @Import(name="applicationSettings")
    private @Nullable Output applicationSettings;

    /**
     * @return Settings for application settings persistence.
     * See `application_settings` below.
     * 
     */
    public Optional> applicationSettings() {
        return Optional.ofNullable(this.applicationSettings);
    }

    /**
     * Description for the AppStream stack.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description for the AppStream stack.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Stack name to display.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return Stack name to display.
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
     * 
     */
    @Import(name="embedHostDomains")
    private @Nullable Output> embedHostDomains;

    /**
     * @return Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
     * 
     */
    public Optional>> embedHostDomains() {
        return Optional.ofNullable(this.embedHostDomains);
    }

    /**
     * URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. .
     * 
     */
    @Import(name="feedbackUrl")
    private @Nullable Output feedbackUrl;

    /**
     * @return URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. .
     * 
     */
    public Optional> feedbackUrl() {
        return Optional.ofNullable(this.feedbackUrl);
    }

    /**
     * Unique name for the AppStream stack.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Unique name for the AppStream stack.
     * 
     * The following arguments are optional:
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * URL that users are redirected to after their streaming session ends.
     * 
     */
    @Import(name="redirectUrl")
    private @Nullable Output redirectUrl;

    /**
     * @return URL that users are redirected to after their streaming session ends.
     * 
     */
    public Optional> redirectUrl() {
        return Optional.ofNullable(this.redirectUrl);
    }

    /**
     * Configuration block for the storage connectors to enable.
     * See `storage_connectors` below.
     * 
     */
    @Import(name="storageConnectors")
    private @Nullable Output> storageConnectors;

    /**
     * @return Configuration block for the storage connectors to enable.
     * See `storage_connectors` below.
     * 
     */
    public Optional>> storageConnectors() {
        return Optional.ofNullable(this.storageConnectors);
    }

    /**
     * The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
     * See `streaming_experience_settings` below.
     * 
     */
    @Import(name="streamingExperienceSettings")
    private @Nullable Output streamingExperienceSettings;

    /**
     * @return The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
     * See `streaming_experience_settings` below.
     * 
     */
    public Optional> streamingExperienceSettings() {
        return Optional.ofNullable(this.streamingExperienceSettings);
    }

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

    /**
     * Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
     * See `user_settings` below.
     * 
     */
    @Import(name="userSettings")
    private @Nullable Output> userSettings;

    /**
     * @return Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
     * See `user_settings` below.
     * 
     */
    public Optional>> userSettings() {
        return Optional.ofNullable(this.userSettings);
    }

    private StackArgs() {}

    private StackArgs(StackArgs $) {
        this.accessEndpoints = $.accessEndpoints;
        this.applicationSettings = $.applicationSettings;
        this.description = $.description;
        this.displayName = $.displayName;
        this.embedHostDomains = $.embedHostDomains;
        this.feedbackUrl = $.feedbackUrl;
        this.name = $.name;
        this.redirectUrl = $.redirectUrl;
        this.storageConnectors = $.storageConnectors;
        this.streamingExperienceSettings = $.streamingExperienceSettings;
        this.tags = $.tags;
        this.userSettings = $.userSettings;
    }

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

    public static final class Builder {
        private StackArgs $;

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

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

        /**
         * @param accessEndpoints Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
         * See `access_endpoints` below.
         * 
         * @return builder
         * 
         */
        public Builder accessEndpoints(@Nullable Output> accessEndpoints) {
            $.accessEndpoints = accessEndpoints;
            return this;
        }

        /**
         * @param accessEndpoints Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
         * See `access_endpoints` below.
         * 
         * @return builder
         * 
         */
        public Builder accessEndpoints(List accessEndpoints) {
            return accessEndpoints(Output.of(accessEndpoints));
        }

        /**
         * @param accessEndpoints Set of configuration blocks defining the interface VPC endpoints. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
         * See `access_endpoints` below.
         * 
         * @return builder
         * 
         */
        public Builder accessEndpoints(StackAccessEndpointArgs... accessEndpoints) {
            return accessEndpoints(List.of(accessEndpoints));
        }

        /**
         * @param applicationSettings Settings for application settings persistence.
         * See `application_settings` below.
         * 
         * @return builder
         * 
         */
        public Builder applicationSettings(@Nullable Output applicationSettings) {
            $.applicationSettings = applicationSettings;
            return this;
        }

        /**
         * @param applicationSettings Settings for application settings persistence.
         * See `application_settings` below.
         * 
         * @return builder
         * 
         */
        public Builder applicationSettings(StackApplicationSettingsArgs applicationSettings) {
            return applicationSettings(Output.of(applicationSettings));
        }

        /**
         * @param description Description for the AppStream stack.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description for the AppStream stack.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param displayName Stack name to display.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName Stack name to display.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param embedHostDomains Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
         * 
         * @return builder
         * 
         */
        public Builder embedHostDomains(@Nullable Output> embedHostDomains) {
            $.embedHostDomains = embedHostDomains;
            return this;
        }

        /**
         * @param embedHostDomains Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
         * 
         * @return builder
         * 
         */
        public Builder embedHostDomains(List embedHostDomains) {
            return embedHostDomains(Output.of(embedHostDomains));
        }

        /**
         * @param embedHostDomains Domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
         * 
         * @return builder
         * 
         */
        public Builder embedHostDomains(String... embedHostDomains) {
            return embedHostDomains(List.of(embedHostDomains));
        }

        /**
         * @param feedbackUrl URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. .
         * 
         * @return builder
         * 
         */
        public Builder feedbackUrl(@Nullable Output feedbackUrl) {
            $.feedbackUrl = feedbackUrl;
            return this;
        }

        /**
         * @param feedbackUrl URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed. .
         * 
         * @return builder
         * 
         */
        public Builder feedbackUrl(String feedbackUrl) {
            return feedbackUrl(Output.of(feedbackUrl));
        }

        /**
         * @param name Unique name for the AppStream stack.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Unique name for the AppStream stack.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param redirectUrl URL that users are redirected to after their streaming session ends.
         * 
         * @return builder
         * 
         */
        public Builder redirectUrl(@Nullable Output redirectUrl) {
            $.redirectUrl = redirectUrl;
            return this;
        }

        /**
         * @param redirectUrl URL that users are redirected to after their streaming session ends.
         * 
         * @return builder
         * 
         */
        public Builder redirectUrl(String redirectUrl) {
            return redirectUrl(Output.of(redirectUrl));
        }

        /**
         * @param storageConnectors Configuration block for the storage connectors to enable.
         * See `storage_connectors` below.
         * 
         * @return builder
         * 
         */
        public Builder storageConnectors(@Nullable Output> storageConnectors) {
            $.storageConnectors = storageConnectors;
            return this;
        }

        /**
         * @param storageConnectors Configuration block for the storage connectors to enable.
         * See `storage_connectors` below.
         * 
         * @return builder
         * 
         */
        public Builder storageConnectors(List storageConnectors) {
            return storageConnectors(Output.of(storageConnectors));
        }

        /**
         * @param storageConnectors Configuration block for the storage connectors to enable.
         * See `storage_connectors` below.
         * 
         * @return builder
         * 
         */
        public Builder storageConnectors(StackStorageConnectorArgs... storageConnectors) {
            return storageConnectors(List.of(storageConnectors));
        }

        /**
         * @param streamingExperienceSettings The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
         * See `streaming_experience_settings` below.
         * 
         * @return builder
         * 
         */
        public Builder streamingExperienceSettings(@Nullable Output streamingExperienceSettings) {
            $.streamingExperienceSettings = streamingExperienceSettings;
            return this;
        }

        /**
         * @param streamingExperienceSettings The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
         * See `streaming_experience_settings` below.
         * 
         * @return builder
         * 
         */
        public Builder streamingExperienceSettings(StackStreamingExperienceSettingsArgs streamingExperienceSettings) {
            return streamingExperienceSettings(Output.of(streamingExperienceSettings));
        }

        /**
         * @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 userSettings Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
         * See `user_settings` below.
         * 
         * @return builder
         * 
         */
        public Builder userSettings(@Nullable Output> userSettings) {
            $.userSettings = userSettings;
            return this;
        }

        /**
         * @param userSettings Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
         * See `user_settings` below.
         * 
         * @return builder
         * 
         */
        public Builder userSettings(List userSettings) {
            return userSettings(Output.of(userSettings));
        }

        /**
         * @param userSettings Configuration block for the actions that are enabled or disabled for users during their streaming sessions. If not provided, these settings are configured automatically by AWS. If provided, the configuration should include a block for each configurable action.
         * See `user_settings` below.
         * 
         * @return builder
         * 
         */
        public Builder userSettings(StackUserSettingArgs... userSettings) {
            return userSettings(List.of(userSettings));
        }

        public StackArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy