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

com.pulumi.azurenative.streamanalytics.inputs.PowerBIOutputDataSourceArgs 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.azurenative.streamanalytics.inputs;

import com.pulumi.azurenative.streamanalytics.enums.AuthenticationMode;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Describes a Power BI output data source.
 * 
 */
public final class PowerBIOutputDataSourceArgs extends com.pulumi.resources.ResourceArgs {

    public static final PowerBIOutputDataSourceArgs Empty = new PowerBIOutputDataSourceArgs();

    /**
     * Authentication Mode.
     * 
     */
    @Import(name="authenticationMode")
    private @Nullable Output> authenticationMode;

    /**
     * @return Authentication Mode.
     * 
     */
    public Optional>> authenticationMode() {
        return Optional.ofNullable(this.authenticationMode);
    }

    /**
     * The name of the Power BI dataset. Required on PUT (CreateOrReplace) requests.
     * 
     */
    @Import(name="dataset")
    private @Nullable Output dataset;

    /**
     * @return The name of the Power BI dataset. Required on PUT (CreateOrReplace) requests.
     * 
     */
    public Optional> dataset() {
        return Optional.ofNullable(this.dataset);
    }

    /**
     * The ID of the Power BI group.
     * 
     */
    @Import(name="groupId")
    private @Nullable Output groupId;

    /**
     * @return The ID of the Power BI group.
     * 
     */
    public Optional> groupId() {
        return Optional.ofNullable(this.groupId);
    }

    /**
     * The name of the Power BI group. Use this property to help remember which specific Power BI group id was used.
     * 
     */
    @Import(name="groupName")
    private @Nullable Output groupName;

    /**
     * @return The name of the Power BI group. Use this property to help remember which specific Power BI group id was used.
     * 
     */
    public Optional> groupName() {
        return Optional.ofNullable(this.groupName);
    }

    /**
     * A refresh token that can be used to obtain a valid access token that can then be used to authenticate with the data source. A valid refresh token is currently only obtainable via the Azure Portal. It is recommended to put a dummy string value here when creating the data source and then going to the Azure Portal to authenticate the data source which will update this property with a valid refresh token. Required on PUT (CreateOrReplace) requests.
     * 
     */
    @Import(name="refreshToken")
    private @Nullable Output refreshToken;

    /**
     * @return A refresh token that can be used to obtain a valid access token that can then be used to authenticate with the data source. A valid refresh token is currently only obtainable via the Azure Portal. It is recommended to put a dummy string value here when creating the data source and then going to the Azure Portal to authenticate the data source which will update this property with a valid refresh token. Required on PUT (CreateOrReplace) requests.
     * 
     */
    public Optional> refreshToken() {
        return Optional.ofNullable(this.refreshToken);
    }

    /**
     * The name of the Power BI table under the specified dataset. Required on PUT (CreateOrReplace) requests.
     * 
     */
    @Import(name="table")
    private @Nullable Output table;

    /**
     * @return The name of the Power BI table under the specified dataset. Required on PUT (CreateOrReplace) requests.
     * 
     */
    public Optional> table() {
        return Optional.ofNullable(this.table);
    }

    /**
     * The user display name of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
     * 
     */
    @Import(name="tokenUserDisplayName")
    private @Nullable Output tokenUserDisplayName;

    /**
     * @return The user display name of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
     * 
     */
    public Optional> tokenUserDisplayName() {
        return Optional.ofNullable(this.tokenUserDisplayName);
    }

    /**
     * The user principal name (UPN) of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
     * 
     */
    @Import(name="tokenUserPrincipalName")
    private @Nullable Output tokenUserPrincipalName;

    /**
     * @return The user principal name (UPN) of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
     * 
     */
    public Optional> tokenUserPrincipalName() {
        return Optional.ofNullable(this.tokenUserPrincipalName);
    }

    /**
     * Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
     * Expected value is 'PowerBI'.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
     * Expected value is 'PowerBI'.
     * 
     */
    public Output type() {
        return this.type;
    }

    private PowerBIOutputDataSourceArgs() {}

    private PowerBIOutputDataSourceArgs(PowerBIOutputDataSourceArgs $) {
        this.authenticationMode = $.authenticationMode;
        this.dataset = $.dataset;
        this.groupId = $.groupId;
        this.groupName = $.groupName;
        this.refreshToken = $.refreshToken;
        this.table = $.table;
        this.tokenUserDisplayName = $.tokenUserDisplayName;
        this.tokenUserPrincipalName = $.tokenUserPrincipalName;
        this.type = $.type;
    }

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

    public static final class Builder {
        private PowerBIOutputDataSourceArgs $;

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

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

        /**
         * @param authenticationMode Authentication Mode.
         * 
         * @return builder
         * 
         */
        public Builder authenticationMode(@Nullable Output> authenticationMode) {
            $.authenticationMode = authenticationMode;
            return this;
        }

        /**
         * @param authenticationMode Authentication Mode.
         * 
         * @return builder
         * 
         */
        public Builder authenticationMode(Either authenticationMode) {
            return authenticationMode(Output.of(authenticationMode));
        }

        /**
         * @param authenticationMode Authentication Mode.
         * 
         * @return builder
         * 
         */
        public Builder authenticationMode(String authenticationMode) {
            return authenticationMode(Either.ofLeft(authenticationMode));
        }

        /**
         * @param authenticationMode Authentication Mode.
         * 
         * @return builder
         * 
         */
        public Builder authenticationMode(AuthenticationMode authenticationMode) {
            return authenticationMode(Either.ofRight(authenticationMode));
        }

        /**
         * @param dataset The name of the Power BI dataset. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder dataset(@Nullable Output dataset) {
            $.dataset = dataset;
            return this;
        }

        /**
         * @param dataset The name of the Power BI dataset. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder dataset(String dataset) {
            return dataset(Output.of(dataset));
        }

        /**
         * @param groupId The ID of the Power BI group.
         * 
         * @return builder
         * 
         */
        public Builder groupId(@Nullable Output groupId) {
            $.groupId = groupId;
            return this;
        }

        /**
         * @param groupId The ID of the Power BI group.
         * 
         * @return builder
         * 
         */
        public Builder groupId(String groupId) {
            return groupId(Output.of(groupId));
        }

        /**
         * @param groupName The name of the Power BI group. Use this property to help remember which specific Power BI group id was used.
         * 
         * @return builder
         * 
         */
        public Builder groupName(@Nullable Output groupName) {
            $.groupName = groupName;
            return this;
        }

        /**
         * @param groupName The name of the Power BI group. Use this property to help remember which specific Power BI group id was used.
         * 
         * @return builder
         * 
         */
        public Builder groupName(String groupName) {
            return groupName(Output.of(groupName));
        }

        /**
         * @param refreshToken A refresh token that can be used to obtain a valid access token that can then be used to authenticate with the data source. A valid refresh token is currently only obtainable via the Azure Portal. It is recommended to put a dummy string value here when creating the data source and then going to the Azure Portal to authenticate the data source which will update this property with a valid refresh token. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder refreshToken(@Nullable Output refreshToken) {
            $.refreshToken = refreshToken;
            return this;
        }

        /**
         * @param refreshToken A refresh token that can be used to obtain a valid access token that can then be used to authenticate with the data source. A valid refresh token is currently only obtainable via the Azure Portal. It is recommended to put a dummy string value here when creating the data source and then going to the Azure Portal to authenticate the data source which will update this property with a valid refresh token. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder refreshToken(String refreshToken) {
            return refreshToken(Output.of(refreshToken));
        }

        /**
         * @param table The name of the Power BI table under the specified dataset. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder table(@Nullable Output table) {
            $.table = table;
            return this;
        }

        /**
         * @param table The name of the Power BI table under the specified dataset. Required on PUT (CreateOrReplace) requests.
         * 
         * @return builder
         * 
         */
        public Builder table(String table) {
            return table(Output.of(table));
        }

        /**
         * @param tokenUserDisplayName The user display name of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
         * 
         * @return builder
         * 
         */
        public Builder tokenUserDisplayName(@Nullable Output tokenUserDisplayName) {
            $.tokenUserDisplayName = tokenUserDisplayName;
            return this;
        }

        /**
         * @param tokenUserDisplayName The user display name of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
         * 
         * @return builder
         * 
         */
        public Builder tokenUserDisplayName(String tokenUserDisplayName) {
            return tokenUserDisplayName(Output.of(tokenUserDisplayName));
        }

        /**
         * @param tokenUserPrincipalName The user principal name (UPN) of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
         * 
         * @return builder
         * 
         */
        public Builder tokenUserPrincipalName(@Nullable Output tokenUserPrincipalName) {
            $.tokenUserPrincipalName = tokenUserPrincipalName;
            return this;
        }

        /**
         * @param tokenUserPrincipalName The user principal name (UPN) of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
         * 
         * @return builder
         * 
         */
        public Builder tokenUserPrincipalName(String tokenUserPrincipalName) {
            return tokenUserPrincipalName(Output.of(tokenUserPrincipalName));
        }

        /**
         * @param type Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
         * Expected value is 'PowerBI'.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
         * Expected value is 'PowerBI'.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public PowerBIOutputDataSourceArgs build() {
            $.type = Codegen.stringProp("type").output().arg($.type).require();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy