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

com.pulumi.azurenative.datafactory.outputs.AzureBlobFSLinkedServiceResponse 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.outputs;

import com.pulumi.azurenative.datafactory.outputs.AzureKeyVaultSecretReferenceResponse;
import com.pulumi.azurenative.datafactory.outputs.CredentialReferenceResponse;
import com.pulumi.azurenative.datafactory.outputs.IntegrationRuntimeReferenceResponse;
import com.pulumi.azurenative.datafactory.outputs.ParameterSpecificationResponse;
import com.pulumi.azurenative.datafactory.outputs.SecureStringResponse;
import com.pulumi.core.Either;
import com.pulumi.core.annotations.CustomType;
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;

@CustomType
public final class AzureBlobFSLinkedServiceResponse {
    /**
     * @return Account key for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object accountKey;
    /**
     * @return List of tags that can be used for describing the linked service.
     * 
     */
    private @Nullable List annotations;
    /**
     * @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).
     * 
     */
    private @Nullable Object azureCloudType;
    /**
     * @return The integration runtime reference.
     * 
     */
    private @Nullable IntegrationRuntimeReferenceResponse connectVia;
    /**
     * @return The credential reference containing authentication information.
     * 
     */
    private @Nullable CredentialReferenceResponse credential;
    /**
     * @return Linked service description.
     * 
     */
    private @Nullable String description;
    /**
     * @return The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     * 
     */
    private @Nullable String encryptedCredential;
    /**
     * @return Parameters for linked service.
     * 
     */
    private @Nullable Map parameters;
    /**
     * @return The Azure key vault secret reference of sasToken in sas uri.
     * 
     */
    private @Nullable Either sasToken;
    /**
     * @return SAS URI of the Azure Data Lake Storage Gen2 service. Type: string, SecureString or AzureKeyVaultSecretReference.
     * 
     */
    private @Nullable Object sasUri;
    /**
     * @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.
     * 
     */
    private @Nullable Either servicePrincipalCredential;
    /**
     * @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).
     * 
     */
    private @Nullable Object servicePrincipalCredentialType;
    /**
     * @return The ID of the application used to authenticate against the Azure Data Lake Storage Gen2 account. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object servicePrincipalId;
    /**
     * @return The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.
     * 
     */
    private @Nullable Either servicePrincipalKey;
    /**
     * @return The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object tenant;
    /**
     * @return Type of linked service.
     * Expected value is 'AzureBlobFS'.
     * 
     */
    private String type;
    /**
     * @return Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object url;
    /**
     * @return Version of the linked service.
     * 
     */
    private @Nullable String version;

    private AzureBlobFSLinkedServiceResponse() {}
    /**
     * @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);
    }
    /**
     * @return List of tags that can be used for describing the linked service.
     * 
     */
    public List annotations() {
        return this.annotations == null ? List.of() : this.annotations;
    }
    /**
     * @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);
    }
    /**
     * @return The integration runtime reference.
     * 
     */
    public Optional connectVia() {
        return Optional.ofNullable(this.connectVia);
    }
    /**
     * @return The credential reference containing authentication information.
     * 
     */
    public Optional credential() {
        return Optional.ofNullable(this.credential);
    }
    /**
     * @return Linked service description.
     * 
     */
    public Optional description() {
        return Optional.ofNullable(this.description);
    }
    /**
     * @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);
    }
    /**
     * @return Parameters for linked service.
     * 
     */
    public Map parameters() {
        return this.parameters == null ? Map.of() : this.parameters;
    }
    /**
     * @return The Azure key vault secret reference of sasToken in sas uri.
     * 
     */
    public Optional> sasToken() {
        return Optional.ofNullable(this.sasToken);
    }
    /**
     * @return SAS URI of the Azure Data Lake Storage Gen2 service. Type: string, SecureString or AzureKeyVaultSecretReference.
     * 
     */
    public Optional sasUri() {
        return Optional.ofNullable(this.sasUri);
    }
    /**
     * @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);
    }
    /**
     * @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);
    }
    /**
     * @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);
    }
    /**
     * @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);
    }
    /**
     * @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);
    }
    /**
     * @return Type of linked service.
     * Expected value is 'AzureBlobFS'.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @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);
    }
    /**
     * @return Version of the linked service.
     * 
     */
    public Optional version() {
        return Optional.ofNullable(this.version);
    }

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

    public static Builder builder(AzureBlobFSLinkedServiceResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Object accountKey;
        private @Nullable List annotations;
        private @Nullable Object azureCloudType;
        private @Nullable IntegrationRuntimeReferenceResponse connectVia;
        private @Nullable CredentialReferenceResponse credential;
        private @Nullable String description;
        private @Nullable String encryptedCredential;
        private @Nullable Map parameters;
        private @Nullable Either sasToken;
        private @Nullable Object sasUri;
        private @Nullable Either servicePrincipalCredential;
        private @Nullable Object servicePrincipalCredentialType;
        private @Nullable Object servicePrincipalId;
        private @Nullable Either servicePrincipalKey;
        private @Nullable Object tenant;
        private String type;
        private @Nullable Object url;
        private @Nullable String version;
        public Builder() {}
        public Builder(AzureBlobFSLinkedServiceResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.accountKey = defaults.accountKey;
    	      this.annotations = defaults.annotations;
    	      this.azureCloudType = defaults.azureCloudType;
    	      this.connectVia = defaults.connectVia;
    	      this.credential = defaults.credential;
    	      this.description = defaults.description;
    	      this.encryptedCredential = defaults.encryptedCredential;
    	      this.parameters = defaults.parameters;
    	      this.sasToken = defaults.sasToken;
    	      this.sasUri = defaults.sasUri;
    	      this.servicePrincipalCredential = defaults.servicePrincipalCredential;
    	      this.servicePrincipalCredentialType = defaults.servicePrincipalCredentialType;
    	      this.servicePrincipalId = defaults.servicePrincipalId;
    	      this.servicePrincipalKey = defaults.servicePrincipalKey;
    	      this.tenant = defaults.tenant;
    	      this.type = defaults.type;
    	      this.url = defaults.url;
    	      this.version = defaults.version;
        }

        @CustomType.Setter
        public Builder accountKey(@Nullable Object accountKey) {

            this.accountKey = accountKey;
            return this;
        }
        @CustomType.Setter
        public Builder annotations(@Nullable List annotations) {

            this.annotations = annotations;
            return this;
        }
        public Builder annotations(Object... annotations) {
            return annotations(List.of(annotations));
        }
        @CustomType.Setter
        public Builder azureCloudType(@Nullable Object azureCloudType) {

            this.azureCloudType = azureCloudType;
            return this;
        }
        @CustomType.Setter
        public Builder connectVia(@Nullable IntegrationRuntimeReferenceResponse connectVia) {

            this.connectVia = connectVia;
            return this;
        }
        @CustomType.Setter
        public Builder credential(@Nullable CredentialReferenceResponse credential) {

            this.credential = credential;
            return this;
        }
        @CustomType.Setter
        public Builder description(@Nullable String description) {

            this.description = description;
            return this;
        }
        @CustomType.Setter
        public Builder encryptedCredential(@Nullable String encryptedCredential) {

            this.encryptedCredential = encryptedCredential;
            return this;
        }
        @CustomType.Setter
        public Builder parameters(@Nullable Map parameters) {

            this.parameters = parameters;
            return this;
        }
        @CustomType.Setter
        public Builder sasToken(@Nullable Either sasToken) {

            this.sasToken = sasToken;
            return this;
        }
        @CustomType.Setter
        public Builder sasUri(@Nullable Object sasUri) {

            this.sasUri = sasUri;
            return this;
        }
        @CustomType.Setter
        public Builder servicePrincipalCredential(@Nullable Either servicePrincipalCredential) {

            this.servicePrincipalCredential = servicePrincipalCredential;
            return this;
        }
        @CustomType.Setter
        public Builder servicePrincipalCredentialType(@Nullable Object servicePrincipalCredentialType) {

            this.servicePrincipalCredentialType = servicePrincipalCredentialType;
            return this;
        }
        @CustomType.Setter
        public Builder servicePrincipalId(@Nullable Object servicePrincipalId) {

            this.servicePrincipalId = servicePrincipalId;
            return this;
        }
        @CustomType.Setter
        public Builder servicePrincipalKey(@Nullable Either servicePrincipalKey) {

            this.servicePrincipalKey = servicePrincipalKey;
            return this;
        }
        @CustomType.Setter
        public Builder tenant(@Nullable Object tenant) {

            this.tenant = tenant;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("AzureBlobFSLinkedServiceResponse", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder url(@Nullable Object url) {

            this.url = url;
            return this;
        }
        @CustomType.Setter
        public Builder version(@Nullable String version) {

            this.version = version;
            return this;
        }
        public AzureBlobFSLinkedServiceResponse build() {
            final var _resultValue = new AzureBlobFSLinkedServiceResponse();
            _resultValue.accountKey = accountKey;
            _resultValue.annotations = annotations;
            _resultValue.azureCloudType = azureCloudType;
            _resultValue.connectVia = connectVia;
            _resultValue.credential = credential;
            _resultValue.description = description;
            _resultValue.encryptedCredential = encryptedCredential;
            _resultValue.parameters = parameters;
            _resultValue.sasToken = sasToken;
            _resultValue.sasUri = sasUri;
            _resultValue.servicePrincipalCredential = servicePrincipalCredential;
            _resultValue.servicePrincipalCredentialType = servicePrincipalCredentialType;
            _resultValue.servicePrincipalId = servicePrincipalId;
            _resultValue.servicePrincipalKey = servicePrincipalKey;
            _resultValue.tenant = tenant;
            _resultValue.type = type;
            _resultValue.url = url;
            _resultValue.version = version;
            return _resultValue;
        }
    }
}