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

com.pulumi.azurenative.datafactory.inputs.Office365SourceArgs Maven / Gradle / Ivy

There is a newer version: 2.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.azurenative.datafactory.inputs;

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.Object;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * A copy activity source for an Office 365 service.
 * 
 */
public final class Office365SourceArgs extends com.pulumi.resources.ResourceArgs {

    public static final Office365SourceArgs Empty = new Office365SourceArgs();

    /**
     * The groups containing all the users. Type: array of strings (or Expression with resultType array of strings).
     * 
     */
    @Import(name="allowedGroups")
    private @Nullable Output allowedGroups;

    /**
     * @return The groups containing all the users. Type: array of strings (or Expression with resultType array of strings).
     * 
     */
    public Optional> allowedGroups() {
        return Optional.ofNullable(this.allowedGroups);
    }

    /**
     * The Column to apply the <paramref name="StartTime"/> and <paramref name="EndTime"/>. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="dateFilterColumn")
    private @Nullable Output dateFilterColumn;

    /**
     * @return The Column to apply the <paramref name="StartTime"/> and <paramref name="EndTime"/>. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> dateFilterColumn() {
        return Optional.ofNullable(this.dateFilterColumn);
    }

    /**
     * If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean).
     * 
     */
    @Import(name="disableMetricsCollection")
    private @Nullable Output disableMetricsCollection;

    /**
     * @return If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean).
     * 
     */
    public Optional> disableMetricsCollection() {
        return Optional.ofNullable(this.disableMetricsCollection);
    }

    /**
     * End time of the requested range for this dataset. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="endTime")
    private @Nullable Output endTime;

    /**
     * @return End time of the requested range for this dataset. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> endTime() {
        return Optional.ofNullable(this.endTime);
    }

    /**
     * The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
     * 
     */
    @Import(name="maxConcurrentConnections")
    private @Nullable Output maxConcurrentConnections;

    /**
     * @return The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
     * 
     */
    public Optional> maxConcurrentConnections() {
        return Optional.ofNullable(this.maxConcurrentConnections);
    }

    /**
     * The columns to be read out from the Office 365 table. Type: array of objects (or Expression with resultType array of objects). itemType: OutputColumn. Example: [ { "name": "Id" }, { "name": "CreatedDateTime" } ]
     * 
     */
    @Import(name="outputColumns")
    private @Nullable Output outputColumns;

    /**
     * @return The columns to be read out from the Office 365 table. Type: array of objects (or Expression with resultType array of objects). itemType: OutputColumn. Example: [ { "name": "Id" }, { "name": "CreatedDateTime" } ]
     * 
     */
    public Optional> outputColumns() {
        return Optional.ofNullable(this.outputColumns);
    }

    /**
     * Source retry count. Type: integer (or Expression with resultType integer).
     * 
     */
    @Import(name="sourceRetryCount")
    private @Nullable Output sourceRetryCount;

    /**
     * @return Source retry count. Type: integer (or Expression with resultType integer).
     * 
     */
    public Optional> sourceRetryCount() {
        return Optional.ofNullable(this.sourceRetryCount);
    }

    /**
     * Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
     * 
     */
    @Import(name="sourceRetryWait")
    private @Nullable Output sourceRetryWait;

    /**
     * @return Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
     * 
     */
    public Optional> sourceRetryWait() {
        return Optional.ofNullable(this.sourceRetryWait);
    }

    /**
     * Start time of the requested range for this dataset. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="startTime")
    private @Nullable Output startTime;

    /**
     * @return Start time of the requested range for this dataset. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> startTime() {
        return Optional.ofNullable(this.startTime);
    }

    /**
     * Copy source type.
     * Expected value is 'Office365Source'.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return Copy source type.
     * Expected value is 'Office365Source'.
     * 
     */
    public Output type() {
        return this.type;
    }

    /**
     * The user scope uri. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="userScopeFilterUri")
    private @Nullable Output userScopeFilterUri;

    /**
     * @return The user scope uri. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> userScopeFilterUri() {
        return Optional.ofNullable(this.userScopeFilterUri);
    }

    private Office365SourceArgs() {}

    private Office365SourceArgs(Office365SourceArgs $) {
        this.allowedGroups = $.allowedGroups;
        this.dateFilterColumn = $.dateFilterColumn;
        this.disableMetricsCollection = $.disableMetricsCollection;
        this.endTime = $.endTime;
        this.maxConcurrentConnections = $.maxConcurrentConnections;
        this.outputColumns = $.outputColumns;
        this.sourceRetryCount = $.sourceRetryCount;
        this.sourceRetryWait = $.sourceRetryWait;
        this.startTime = $.startTime;
        this.type = $.type;
        this.userScopeFilterUri = $.userScopeFilterUri;
    }

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

    public static final class Builder {
        private Office365SourceArgs $;

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

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

        /**
         * @param allowedGroups The groups containing all the users. Type: array of strings (or Expression with resultType array of strings).
         * 
         * @return builder
         * 
         */
        public Builder allowedGroups(@Nullable Output allowedGroups) {
            $.allowedGroups = allowedGroups;
            return this;
        }

        /**
         * @param allowedGroups The groups containing all the users. Type: array of strings (or Expression with resultType array of strings).
         * 
         * @return builder
         * 
         */
        public Builder allowedGroups(Object allowedGroups) {
            return allowedGroups(Output.of(allowedGroups));
        }

        /**
         * @param dateFilterColumn The Column to apply the <paramref name="StartTime"/> and <paramref name="EndTime"/>. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder dateFilterColumn(@Nullable Output dateFilterColumn) {
            $.dateFilterColumn = dateFilterColumn;
            return this;
        }

        /**
         * @param dateFilterColumn The Column to apply the <paramref name="StartTime"/> and <paramref name="EndTime"/>. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder dateFilterColumn(Object dateFilterColumn) {
            return dateFilterColumn(Output.of(dateFilterColumn));
        }

        /**
         * @param disableMetricsCollection If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean).
         * 
         * @return builder
         * 
         */
        public Builder disableMetricsCollection(@Nullable Output disableMetricsCollection) {
            $.disableMetricsCollection = disableMetricsCollection;
            return this;
        }

        /**
         * @param disableMetricsCollection If true, disable data store metrics collection. Default is false. Type: boolean (or Expression with resultType boolean).
         * 
         * @return builder
         * 
         */
        public Builder disableMetricsCollection(Object disableMetricsCollection) {
            return disableMetricsCollection(Output.of(disableMetricsCollection));
        }

        /**
         * @param endTime End time of the requested range for this dataset. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder endTime(@Nullable Output endTime) {
            $.endTime = endTime;
            return this;
        }

        /**
         * @param endTime End time of the requested range for this dataset. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder endTime(Object endTime) {
            return endTime(Output.of(endTime));
        }

        /**
         * @param maxConcurrentConnections The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
         * 
         * @return builder
         * 
         */
        public Builder maxConcurrentConnections(@Nullable Output maxConcurrentConnections) {
            $.maxConcurrentConnections = maxConcurrentConnections;
            return this;
        }

        /**
         * @param maxConcurrentConnections The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
         * 
         * @return builder
         * 
         */
        public Builder maxConcurrentConnections(Object maxConcurrentConnections) {
            return maxConcurrentConnections(Output.of(maxConcurrentConnections));
        }

        /**
         * @param outputColumns The columns to be read out from the Office 365 table. Type: array of objects (or Expression with resultType array of objects). itemType: OutputColumn. Example: [ { "name": "Id" }, { "name": "CreatedDateTime" } ]
         * 
         * @return builder
         * 
         */
        public Builder outputColumns(@Nullable Output outputColumns) {
            $.outputColumns = outputColumns;
            return this;
        }

        /**
         * @param outputColumns The columns to be read out from the Office 365 table. Type: array of objects (or Expression with resultType array of objects). itemType: OutputColumn. Example: [ { "name": "Id" }, { "name": "CreatedDateTime" } ]
         * 
         * @return builder
         * 
         */
        public Builder outputColumns(Object outputColumns) {
            return outputColumns(Output.of(outputColumns));
        }

        /**
         * @param sourceRetryCount Source retry count. Type: integer (or Expression with resultType integer).
         * 
         * @return builder
         * 
         */
        public Builder sourceRetryCount(@Nullable Output sourceRetryCount) {
            $.sourceRetryCount = sourceRetryCount;
            return this;
        }

        /**
         * @param sourceRetryCount Source retry count. Type: integer (or Expression with resultType integer).
         * 
         * @return builder
         * 
         */
        public Builder sourceRetryCount(Object sourceRetryCount) {
            return sourceRetryCount(Output.of(sourceRetryCount));
        }

        /**
         * @param sourceRetryWait Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
         * 
         * @return builder
         * 
         */
        public Builder sourceRetryWait(@Nullable Output sourceRetryWait) {
            $.sourceRetryWait = sourceRetryWait;
            return this;
        }

        /**
         * @param sourceRetryWait Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
         * 
         * @return builder
         * 
         */
        public Builder sourceRetryWait(Object sourceRetryWait) {
            return sourceRetryWait(Output.of(sourceRetryWait));
        }

        /**
         * @param startTime Start time of the requested range for this dataset. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder startTime(@Nullable Output startTime) {
            $.startTime = startTime;
            return this;
        }

        /**
         * @param startTime Start time of the requested range for this dataset. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder startTime(Object startTime) {
            return startTime(Output.of(startTime));
        }

        /**
         * @param type Copy source type.
         * Expected value is 'Office365Source'.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Copy source type.
         * Expected value is 'Office365Source'.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        /**
         * @param userScopeFilterUri The user scope uri. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder userScopeFilterUri(@Nullable Output userScopeFilterUri) {
            $.userScopeFilterUri = userScopeFilterUri;
            return this;
        }

        /**
         * @param userScopeFilterUri The user scope uri. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder userScopeFilterUri(Object userScopeFilterUri) {
            return userScopeFilterUri(Output.of(userScopeFilterUri));
        }

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

}