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

com.pulumi.aws.quicksight.DashboardArgs Maven / Gradle / Ivy

Go to download

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

There is a newer version: 6.72.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.aws.quicksight;

import com.pulumi.aws.quicksight.inputs.DashboardDashboardPublishOptionsArgs;
import com.pulumi.aws.quicksight.inputs.DashboardParametersArgs;
import com.pulumi.aws.quicksight.inputs.DashboardPermissionArgs;
import com.pulumi.aws.quicksight.inputs.DashboardSourceEntityArgs;
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 DashboardArgs extends com.pulumi.resources.ResourceArgs {

    public static final DashboardArgs Empty = new DashboardArgs();

    /**
     * AWS account ID.
     * 
     */
    @Import(name="awsAccountId")
    private @Nullable Output awsAccountId;

    /**
     * @return AWS account ID.
     * 
     */
    public Optional> awsAccountId() {
        return Optional.ofNullable(this.awsAccountId);
    }

    /**
     * Identifier for the dashboard.
     * 
     */
    @Import(name="dashboardId", required=true)
    private Output dashboardId;

    /**
     * @return Identifier for the dashboard.
     * 
     */
    public Output dashboardId() {
        return this.dashboardId;
    }

    /**
     * Options for publishing the dashboard. See dashboard_publish_options.
     * 
     */
    @Import(name="dashboardPublishOptions")
    private @Nullable Output dashboardPublishOptions;

    /**
     * @return Options for publishing the dashboard. See dashboard_publish_options.
     * 
     */
    public Optional> dashboardPublishOptions() {
        return Optional.ofNullable(this.dashboardPublishOptions);
    }

    /**
     * Display name for the dashboard.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Display name for the dashboard.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The parameters for the creation of the dashboard, which you want to use to override the default settings. A dashboard can have any type of parameters, and some parameters might accept multiple values. See parameters.
     * 
     */
    @Import(name="parameters")
    private @Nullable Output parameters;

    /**
     * @return The parameters for the creation of the dashboard, which you want to use to override the default settings. A dashboard can have any type of parameters, and some parameters might accept multiple values. See parameters.
     * 
     */
    public Optional> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    /**
     * A set of resource permissions on the dashboard. Maximum of 64 items. See permissions.
     * 
     */
    @Import(name="permissions")
    private @Nullable Output> permissions;

    /**
     * @return A set of resource permissions on the dashboard. Maximum of 64 items. See permissions.
     * 
     */
    public Optional>> permissions() {
        return Optional.ofNullable(this.permissions);
    }

    /**
     * The entity that you are using as a source when you create the dashboard (template). Only one of `definition` or `source_entity` should be configured. See source_entity.
     * 
     */
    @Import(name="sourceEntity")
    private @Nullable Output sourceEntity;

    /**
     * @return The entity that you are using as a source when you create the dashboard (template). Only one of `definition` or `source_entity` should be configured. See source_entity.
     * 
     */
    public Optional> sourceEntity() {
        return Optional.ofNullable(this.sourceEntity);
    }

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

    /**
     * The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. The theme ARN must exist in the same AWS account where you create the dashboard.
     * 
     */
    @Import(name="themeArn")
    private @Nullable Output themeArn;

    /**
     * @return The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. The theme ARN must exist in the same AWS account where you create the dashboard.
     * 
     */
    public Optional> themeArn() {
        return Optional.ofNullable(this.themeArn);
    }

    /**
     * A description of the current dashboard version being created/updated.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="versionDescription", required=true)
    private Output versionDescription;

    /**
     * @return A description of the current dashboard version being created/updated.
     * 
     * The following arguments are optional:
     * 
     */
    public Output versionDescription() {
        return this.versionDescription;
    }

    private DashboardArgs() {}

    private DashboardArgs(DashboardArgs $) {
        this.awsAccountId = $.awsAccountId;
        this.dashboardId = $.dashboardId;
        this.dashboardPublishOptions = $.dashboardPublishOptions;
        this.name = $.name;
        this.parameters = $.parameters;
        this.permissions = $.permissions;
        this.sourceEntity = $.sourceEntity;
        this.tags = $.tags;
        this.themeArn = $.themeArn;
        this.versionDescription = $.versionDescription;
    }

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

    public static final class Builder {
        private DashboardArgs $;

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

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

        /**
         * @param awsAccountId AWS account ID.
         * 
         * @return builder
         * 
         */
        public Builder awsAccountId(@Nullable Output awsAccountId) {
            $.awsAccountId = awsAccountId;
            return this;
        }

        /**
         * @param awsAccountId AWS account ID.
         * 
         * @return builder
         * 
         */
        public Builder awsAccountId(String awsAccountId) {
            return awsAccountId(Output.of(awsAccountId));
        }

        /**
         * @param dashboardId Identifier for the dashboard.
         * 
         * @return builder
         * 
         */
        public Builder dashboardId(Output dashboardId) {
            $.dashboardId = dashboardId;
            return this;
        }

        /**
         * @param dashboardId Identifier for the dashboard.
         * 
         * @return builder
         * 
         */
        public Builder dashboardId(String dashboardId) {
            return dashboardId(Output.of(dashboardId));
        }

        /**
         * @param dashboardPublishOptions Options for publishing the dashboard. See dashboard_publish_options.
         * 
         * @return builder
         * 
         */
        public Builder dashboardPublishOptions(@Nullable Output dashboardPublishOptions) {
            $.dashboardPublishOptions = dashboardPublishOptions;
            return this;
        }

        /**
         * @param dashboardPublishOptions Options for publishing the dashboard. See dashboard_publish_options.
         * 
         * @return builder
         * 
         */
        public Builder dashboardPublishOptions(DashboardDashboardPublishOptionsArgs dashboardPublishOptions) {
            return dashboardPublishOptions(Output.of(dashboardPublishOptions));
        }

        /**
         * @param name Display name for the dashboard.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Display name for the dashboard.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param parameters The parameters for the creation of the dashboard, which you want to use to override the default settings. A dashboard can have any type of parameters, and some parameters might accept multiple values. See parameters.
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters The parameters for the creation of the dashboard, which you want to use to override the default settings. A dashboard can have any type of parameters, and some parameters might accept multiple values. See parameters.
         * 
         * @return builder
         * 
         */
        public Builder parameters(DashboardParametersArgs parameters) {
            return parameters(Output.of(parameters));
        }

        /**
         * @param permissions A set of resource permissions on the dashboard. Maximum of 64 items. See permissions.
         * 
         * @return builder
         * 
         */
        public Builder permissions(@Nullable Output> permissions) {
            $.permissions = permissions;
            return this;
        }

        /**
         * @param permissions A set of resource permissions on the dashboard. Maximum of 64 items. See permissions.
         * 
         * @return builder
         * 
         */
        public Builder permissions(List permissions) {
            return permissions(Output.of(permissions));
        }

        /**
         * @param permissions A set of resource permissions on the dashboard. Maximum of 64 items. See permissions.
         * 
         * @return builder
         * 
         */
        public Builder permissions(DashboardPermissionArgs... permissions) {
            return permissions(List.of(permissions));
        }

        /**
         * @param sourceEntity The entity that you are using as a source when you create the dashboard (template). Only one of `definition` or `source_entity` should be configured. See source_entity.
         * 
         * @return builder
         * 
         */
        public Builder sourceEntity(@Nullable Output sourceEntity) {
            $.sourceEntity = sourceEntity;
            return this;
        }

        /**
         * @param sourceEntity The entity that you are using as a source when you create the dashboard (template). Only one of `definition` or `source_entity` should be configured. See source_entity.
         * 
         * @return builder
         * 
         */
        public Builder sourceEntity(DashboardSourceEntityArgs sourceEntity) {
            return sourceEntity(Output.of(sourceEntity));
        }

        /**
         * @param tags Key-value map 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 map 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 themeArn The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. The theme ARN must exist in the same AWS account where you create the dashboard.
         * 
         * @return builder
         * 
         */
        public Builder themeArn(@Nullable Output themeArn) {
            $.themeArn = themeArn;
            return this;
        }

        /**
         * @param themeArn The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. The theme ARN must exist in the same AWS account where you create the dashboard.
         * 
         * @return builder
         * 
         */
        public Builder themeArn(String themeArn) {
            return themeArn(Output.of(themeArn));
        }

        /**
         * @param versionDescription A description of the current dashboard version being created/updated.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder versionDescription(Output versionDescription) {
            $.versionDescription = versionDescription;
            return this;
        }

        /**
         * @param versionDescription A description of the current dashboard version being created/updated.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder versionDescription(String versionDescription) {
            return versionDescription(Output.of(versionDescription));
        }

        public DashboardArgs build() {
            if ($.dashboardId == null) {
                throw new MissingRequiredPropertyException("DashboardArgs", "dashboardId");
            }
            if ($.versionDescription == null) {
                throw new MissingRequiredPropertyException("DashboardArgs", "versionDescription");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy