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

com.pulumi.azurenative.datafactory.inputs.AzureBlobFSLinkedServiceArgs 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.azurenative.datafactory.inputs.AzureKeyVaultSecretReferenceArgs;
import com.pulumi.azurenative.datafactory.inputs.CredentialReferenceArgs;
import com.pulumi.azurenative.datafactory.inputs.IntegrationRuntimeReferenceArgs;
import com.pulumi.azurenative.datafactory.inputs.ParameterSpecificationArgs;
import com.pulumi.azurenative.datafactory.inputs.SecureStringArgs;
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.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Azure Data Lake Storage Gen2 linked service.
 * 
 */
public final class AzureBlobFSLinkedServiceArgs extends com.pulumi.resources.ResourceArgs {

    public static final AzureBlobFSLinkedServiceArgs Empty = new AzureBlobFSLinkedServiceArgs();

    /**
     * Account key for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="accountKey")
    private @Nullable Output accountKey;

    /**
     * @return Account key for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> accountKey() {
        return Optional.ofNullable(this.accountKey);
    }

    /**
     * List of tags that can be used for describing the linked service.
     * 
     */
    @Import(name="annotations")
    private @Nullable Output> annotations;

    /**
     * @return List of tags that can be used for describing the linked service.
     * 
     */
    public Optional>> annotations() {
        return Optional.ofNullable(this.annotations);
    }

    /**
     * Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="azureCloudType")
    private @Nullable Output azureCloudType;

    /**
     * @return Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> azureCloudType() {
        return Optional.ofNullable(this.azureCloudType);
    }

    /**
     * The integration runtime reference.
     * 
     */
    @Import(name="connectVia")
    private @Nullable Output connectVia;

    /**
     * @return The integration runtime reference.
     * 
     */
    public Optional> connectVia() {
        return Optional.ofNullable(this.connectVia);
    }

    /**
     * The credential reference containing authentication information.
     * 
     */
    @Import(name="credential")
    private @Nullable Output credential;

    /**
     * @return The credential reference containing authentication information.
     * 
     */
    public Optional> credential() {
        return Optional.ofNullable(this.credential);
    }

    /**
     * Linked service description.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Linked service description.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     * 
     */
    @Import(name="encryptedCredential")
    private @Nullable Output encryptedCredential;

    /**
     * @return The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     * 
     */
    public Optional> encryptedCredential() {
        return Optional.ofNullable(this.encryptedCredential);
    }

    /**
     * Parameters for linked service.
     * 
     */
    @Import(name="parameters")
    private @Nullable Output> parameters;

    /**
     * @return Parameters for linked service.
     * 
     */
    public Optional>> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    /**
     * The Azure key vault secret reference of sasToken in sas uri.
     * 
     */
    @Import(name="sasToken")
    private @Nullable Output> sasToken;

    /**
     * @return The Azure key vault secret reference of sasToken in sas uri.
     * 
     */
    public Optional>> sasToken() {
        return Optional.ofNullable(this.sasToken);
    }

    /**
     * SAS URI of the Azure Data Lake Storage Gen2 service. Type: string, SecureString or AzureKeyVaultSecretReference.
     * 
     */
    @Import(name="sasUri")
    private @Nullable Output sasUri;

    /**
     * @return SAS URI of the Azure Data Lake Storage Gen2 service. Type: string, SecureString or AzureKeyVaultSecretReference.
     * 
     */
    public Optional> sasUri() {
        return Optional.ofNullable(this.sasUri);
    }

    /**
     * The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
     * 
     */
    @Import(name="servicePrincipalCredential")
    private @Nullable Output> servicePrincipalCredential;

    /**
     * @return The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
     * 
     */
    public Optional>> servicePrincipalCredential() {
        return Optional.ofNullable(this.servicePrincipalCredential);
    }

    /**
     * The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="servicePrincipalCredentialType")
    private @Nullable Output servicePrincipalCredentialType;

    /**
     * @return The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> servicePrincipalCredentialType() {
        return Optional.ofNullable(this.servicePrincipalCredentialType);
    }

    /**
     * The ID of the application used to authenticate against the Azure Data Lake Storage Gen2 account. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="servicePrincipalId")
    private @Nullable Output servicePrincipalId;

    /**
     * @return The ID of the application used to authenticate against the Azure Data Lake Storage Gen2 account. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> servicePrincipalId() {
        return Optional.ofNullable(this.servicePrincipalId);
    }

    /**
     * The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.
     * 
     */
    @Import(name="servicePrincipalKey")
    private @Nullable Output> servicePrincipalKey;

    /**
     * @return The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.
     * 
     */
    public Optional>> servicePrincipalKey() {
        return Optional.ofNullable(this.servicePrincipalKey);
    }

    /**
     * The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="tenant")
    private @Nullable Output tenant;

    /**
     * @return The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> tenant() {
        return Optional.ofNullable(this.tenant);
    }

    /**
     * Type of linked service.
     * Expected value is 'AzureBlobFS'.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return Type of linked service.
     * Expected value is 'AzureBlobFS'.
     * 
     */
    public Output type() {
        return this.type;
    }

    /**
     * Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="url")
    private @Nullable Output url;

    /**
     * @return Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> url() {
        return Optional.ofNullable(this.url);
    }

    /**
     * Version of the linked service.
     * 
     */
    @Import(name="version")
    private @Nullable Output version;

    /**
     * @return Version of the linked service.
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    private AzureBlobFSLinkedServiceArgs() {}

    private AzureBlobFSLinkedServiceArgs(AzureBlobFSLinkedServiceArgs $) {
        this.accountKey = $.accountKey;
        this.annotations = $.annotations;
        this.azureCloudType = $.azureCloudType;
        this.connectVia = $.connectVia;
        this.credential = $.credential;
        this.description = $.description;
        this.encryptedCredential = $.encryptedCredential;
        this.parameters = $.parameters;
        this.sasToken = $.sasToken;
        this.sasUri = $.sasUri;
        this.servicePrincipalCredential = $.servicePrincipalCredential;
        this.servicePrincipalCredentialType = $.servicePrincipalCredentialType;
        this.servicePrincipalId = $.servicePrincipalId;
        this.servicePrincipalKey = $.servicePrincipalKey;
        this.tenant = $.tenant;
        this.type = $.type;
        this.url = $.url;
        this.version = $.version;
    }

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

    public static final class Builder {
        private AzureBlobFSLinkedServiceArgs $;

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

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

        /**
         * @param accountKey Account key for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder accountKey(@Nullable Output accountKey) {
            $.accountKey = accountKey;
            return this;
        }

        /**
         * @param accountKey Account key for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder accountKey(Object accountKey) {
            return accountKey(Output.of(accountKey));
        }

        /**
         * @param annotations List of tags that can be used for describing the linked service.
         * 
         * @return builder
         * 
         */
        public Builder annotations(@Nullable Output> annotations) {
            $.annotations = annotations;
            return this;
        }

        /**
         * @param annotations List of tags that can be used for describing the linked service.
         * 
         * @return builder
         * 
         */
        public Builder annotations(List annotations) {
            return annotations(Output.of(annotations));
        }

        /**
         * @param annotations List of tags that can be used for describing the linked service.
         * 
         * @return builder
         * 
         */
        public Builder annotations(Object... annotations) {
            return annotations(List.of(annotations));
        }

        /**
         * @param azureCloudType Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder azureCloudType(@Nullable Output azureCloudType) {
            $.azureCloudType = azureCloudType;
            return this;
        }

        /**
         * @param azureCloudType Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder azureCloudType(Object azureCloudType) {
            return azureCloudType(Output.of(azureCloudType));
        }

        /**
         * @param connectVia The integration runtime reference.
         * 
         * @return builder
         * 
         */
        public Builder connectVia(@Nullable Output connectVia) {
            $.connectVia = connectVia;
            return this;
        }

        /**
         * @param connectVia The integration runtime reference.
         * 
         * @return builder
         * 
         */
        public Builder connectVia(IntegrationRuntimeReferenceArgs connectVia) {
            return connectVia(Output.of(connectVia));
        }

        /**
         * @param credential The credential reference containing authentication information.
         * 
         * @return builder
         * 
         */
        public Builder credential(@Nullable Output credential) {
            $.credential = credential;
            return this;
        }

        /**
         * @param credential The credential reference containing authentication information.
         * 
         * @return builder
         * 
         */
        public Builder credential(CredentialReferenceArgs credential) {
            return credential(Output.of(credential));
        }

        /**
         * @param description Linked service description.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Linked service description.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param encryptedCredential The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
         * 
         * @return builder
         * 
         */
        public Builder encryptedCredential(@Nullable Output encryptedCredential) {
            $.encryptedCredential = encryptedCredential;
            return this;
        }

        /**
         * @param encryptedCredential The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
         * 
         * @return builder
         * 
         */
        public Builder encryptedCredential(String encryptedCredential) {
            return encryptedCredential(Output.of(encryptedCredential));
        }

        /**
         * @param parameters Parameters for linked service.
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output> parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters Parameters for linked service.
         * 
         * @return builder
         * 
         */
        public Builder parameters(Map parameters) {
            return parameters(Output.of(parameters));
        }

        /**
         * @param sasToken The Azure key vault secret reference of sasToken in sas uri.
         * 
         * @return builder
         * 
         */
        public Builder sasToken(@Nullable Output> sasToken) {
            $.sasToken = sasToken;
            return this;
        }

        /**
         * @param sasToken The Azure key vault secret reference of sasToken in sas uri.
         * 
         * @return builder
         * 
         */
        public Builder sasToken(Either sasToken) {
            return sasToken(Output.of(sasToken));
        }

        /**
         * @param sasToken The Azure key vault secret reference of sasToken in sas uri.
         * 
         * @return builder
         * 
         */
        public Builder sasToken(AzureKeyVaultSecretReferenceArgs sasToken) {
            return sasToken(Either.ofLeft(sasToken));
        }

        /**
         * @param sasToken The Azure key vault secret reference of sasToken in sas uri.
         * 
         * @return builder
         * 
         */
        public Builder sasToken(SecureStringArgs sasToken) {
            return sasToken(Either.ofRight(sasToken));
        }

        /**
         * @param sasUri SAS URI of the Azure Data Lake Storage Gen2 service. Type: string, SecureString or AzureKeyVaultSecretReference.
         * 
         * @return builder
         * 
         */
        public Builder sasUri(@Nullable Output sasUri) {
            $.sasUri = sasUri;
            return this;
        }

        /**
         * @param sasUri SAS URI of the Azure Data Lake Storage Gen2 service. Type: string, SecureString or AzureKeyVaultSecretReference.
         * 
         * @return builder
         * 
         */
        public Builder sasUri(Object sasUri) {
            return sasUri(Output.of(sasUri));
        }

        /**
         * @param servicePrincipalCredential The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalCredential(@Nullable Output> servicePrincipalCredential) {
            $.servicePrincipalCredential = servicePrincipalCredential;
            return this;
        }

        /**
         * @param servicePrincipalCredential The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalCredential(Either servicePrincipalCredential) {
            return servicePrincipalCredential(Output.of(servicePrincipalCredential));
        }

        /**
         * @param servicePrincipalCredential The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalCredential(AzureKeyVaultSecretReferenceArgs servicePrincipalCredential) {
            return servicePrincipalCredential(Either.ofLeft(servicePrincipalCredential));
        }

        /**
         * @param servicePrincipalCredential The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalCredential(SecureStringArgs servicePrincipalCredential) {
            return servicePrincipalCredential(Either.ofRight(servicePrincipalCredential));
        }

        /**
         * @param servicePrincipalCredentialType The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalCredentialType(@Nullable Output servicePrincipalCredentialType) {
            $.servicePrincipalCredentialType = servicePrincipalCredentialType;
            return this;
        }

        /**
         * @param servicePrincipalCredentialType The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalCredentialType(Object servicePrincipalCredentialType) {
            return servicePrincipalCredentialType(Output.of(servicePrincipalCredentialType));
        }

        /**
         * @param servicePrincipalId The ID of the application used to authenticate against the Azure Data Lake Storage Gen2 account. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalId(@Nullable Output servicePrincipalId) {
            $.servicePrincipalId = servicePrincipalId;
            return this;
        }

        /**
         * @param servicePrincipalId The ID of the application used to authenticate against the Azure Data Lake Storage Gen2 account. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalId(Object servicePrincipalId) {
            return servicePrincipalId(Output.of(servicePrincipalId));
        }

        /**
         * @param servicePrincipalKey The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalKey(@Nullable Output> servicePrincipalKey) {
            $.servicePrincipalKey = servicePrincipalKey;
            return this;
        }

        /**
         * @param servicePrincipalKey The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalKey(Either servicePrincipalKey) {
            return servicePrincipalKey(Output.of(servicePrincipalKey));
        }

        /**
         * @param servicePrincipalKey The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalKey(AzureKeyVaultSecretReferenceArgs servicePrincipalKey) {
            return servicePrincipalKey(Either.ofLeft(servicePrincipalKey));
        }

        /**
         * @param servicePrincipalKey The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.
         * 
         * @return builder
         * 
         */
        public Builder servicePrincipalKey(SecureStringArgs servicePrincipalKey) {
            return servicePrincipalKey(Either.ofRight(servicePrincipalKey));
        }

        /**
         * @param tenant The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder tenant(@Nullable Output tenant) {
            $.tenant = tenant;
            return this;
        }

        /**
         * @param tenant The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder tenant(Object tenant) {
            return tenant(Output.of(tenant));
        }

        /**
         * @param type Type of linked service.
         * Expected value is 'AzureBlobFS'.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Type of linked service.
         * Expected value is 'AzureBlobFS'.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        /**
         * @param url Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder url(@Nullable Output url) {
            $.url = url;
            return this;
        }

        /**
         * @param url Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder url(Object url) {
            return url(Output.of(url));
        }

        /**
         * @param version Version of the linked service.
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version Version of the linked service.
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

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

}