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

com.pulumi.azurenative.datafactory.outputs.DynamicsLinkedServiceResponse Maven / Gradle / Ivy

The 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 DynamicsLinkedServiceResponse {
    /**
     * @return List of tags that can be used for describing the linked service.
     * 
     */
    private @Nullable List annotations;
    /**
     * @return The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario, 'Active Directory' for Dynamics on-premises with IFD. Type: string (or Expression with resultType string).
     * 
     */
    private Object authenticationType;
    /**
     * @return The integration runtime reference.
     * 
     */
    private @Nullable IntegrationRuntimeReferenceResponse connectVia;
    /**
     * @return The credential reference containing authentication information.
     * 
     */
    private @Nullable CredentialReferenceResponse credential;
    /**
     * @return The deployment type of the Dynamics instance. 'Online' for Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or Expression with resultType string).
     * 
     */
    private Object deploymentType;
    /**
     * @return Linked service description.
     * 
     */
    private @Nullable String description;
    /**
     * @return The Active Directory domain that will verify user credentials. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object domain;
    /**
     * @return The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     * 
     */
    private @Nullable String encryptedCredential;
    /**
     * @return The host name of the on-premises Dynamics server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object hostName;
    /**
     * @return The organization name of the Dynamics instance. The property is required for on-prem and required for online when there are more than one Dynamics instances associated with the user. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object organizationName;
    /**
     * @return Parameters for linked service.
     * 
     */
    private @Nullable Map parameters;
    /**
     * @return Password to access the Dynamics instance.
     * 
     */
    private @Nullable Either password;
    /**
     * @return The port of on-premises Dynamics server. The property is required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), minimum: 0.
     * 
     */
    private @Nullable Object port;
    /**
     * @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 client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object servicePrincipalId;
    /**
     * @return The URL to the Microsoft Dynamics server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object serviceUri;
    /**
     * @return Type of linked service.
     * Expected value is 'Dynamics'.
     * 
     */
    private String type;
    /**
     * @return User name to access the Dynamics instance. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object username;
    /**
     * @return Version of the linked service.
     * 
     */
    private @Nullable String version;

    private DynamicsLinkedServiceResponse() {}
    /**
     * @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 The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario, 'Active Directory' for Dynamics on-premises with IFD. Type: string (or Expression with resultType string).
     * 
     */
    public Object authenticationType() {
        return this.authenticationType;
    }
    /**
     * @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 The deployment type of the Dynamics instance. 'Online' for Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or Expression with resultType string).
     * 
     */
    public Object deploymentType() {
        return this.deploymentType;
    }
    /**
     * @return Linked service description.
     * 
     */
    public Optional description() {
        return Optional.ofNullable(this.description);
    }
    /**
     * @return The Active Directory domain that will verify user credentials. Type: string (or Expression with resultType string).
     * 
     */
    public Optional domain() {
        return Optional.ofNullable(this.domain);
    }
    /**
     * @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 The host name of the on-premises Dynamics server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string).
     * 
     */
    public Optional hostName() {
        return Optional.ofNullable(this.hostName);
    }
    /**
     * @return The organization name of the Dynamics instance. The property is required for on-prem and required for online when there are more than one Dynamics instances associated with the user. Type: string (or Expression with resultType string).
     * 
     */
    public Optional organizationName() {
        return Optional.ofNullable(this.organizationName);
    }
    /**
     * @return Parameters for linked service.
     * 
     */
    public Map parameters() {
        return this.parameters == null ? Map.of() : this.parameters;
    }
    /**
     * @return Password to access the Dynamics instance.
     * 
     */
    public Optional> password() {
        return Optional.ofNullable(this.password);
    }
    /**
     * @return The port of on-premises Dynamics server. The property is required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), minimum: 0.
     * 
     */
    public Optional port() {
        return Optional.ofNullable(this.port);
    }
    /**
     * @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 client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string).
     * 
     */
    public Optional servicePrincipalId() {
        return Optional.ofNullable(this.servicePrincipalId);
    }
    /**
     * @return The URL to the Microsoft Dynamics server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
     * 
     */
    public Optional serviceUri() {
        return Optional.ofNullable(this.serviceUri);
    }
    /**
     * @return Type of linked service.
     * Expected value is 'Dynamics'.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return User name to access the Dynamics instance. Type: string (or Expression with resultType string).
     * 
     */
    public Optional username() {
        return Optional.ofNullable(this.username);
    }
    /**
     * @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(DynamicsLinkedServiceResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List annotations;
        private Object authenticationType;
        private @Nullable IntegrationRuntimeReferenceResponse connectVia;
        private @Nullable CredentialReferenceResponse credential;
        private Object deploymentType;
        private @Nullable String description;
        private @Nullable Object domain;
        private @Nullable String encryptedCredential;
        private @Nullable Object hostName;
        private @Nullable Object organizationName;
        private @Nullable Map parameters;
        private @Nullable Either password;
        private @Nullable Object port;
        private @Nullable Either servicePrincipalCredential;
        private @Nullable Object servicePrincipalCredentialType;
        private @Nullable Object servicePrincipalId;
        private @Nullable Object serviceUri;
        private String type;
        private @Nullable Object username;
        private @Nullable String version;
        public Builder() {}
        public Builder(DynamicsLinkedServiceResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.annotations = defaults.annotations;
    	      this.authenticationType = defaults.authenticationType;
    	      this.connectVia = defaults.connectVia;
    	      this.credential = defaults.credential;
    	      this.deploymentType = defaults.deploymentType;
    	      this.description = defaults.description;
    	      this.domain = defaults.domain;
    	      this.encryptedCredential = defaults.encryptedCredential;
    	      this.hostName = defaults.hostName;
    	      this.organizationName = defaults.organizationName;
    	      this.parameters = defaults.parameters;
    	      this.password = defaults.password;
    	      this.port = defaults.port;
    	      this.servicePrincipalCredential = defaults.servicePrincipalCredential;
    	      this.servicePrincipalCredentialType = defaults.servicePrincipalCredentialType;
    	      this.servicePrincipalId = defaults.servicePrincipalId;
    	      this.serviceUri = defaults.serviceUri;
    	      this.type = defaults.type;
    	      this.username = defaults.username;
    	      this.version = defaults.version;
        }

        @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 authenticationType(Object authenticationType) {
            if (authenticationType == null) {
              throw new MissingRequiredPropertyException("DynamicsLinkedServiceResponse", "authenticationType");
            }
            this.authenticationType = authenticationType;
            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 deploymentType(Object deploymentType) {
            if (deploymentType == null) {
              throw new MissingRequiredPropertyException("DynamicsLinkedServiceResponse", "deploymentType");
            }
            this.deploymentType = deploymentType;
            return this;
        }
        @CustomType.Setter
        public Builder description(@Nullable String description) {

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

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

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

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

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

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

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

            this.port = port;
            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 serviceUri(@Nullable Object serviceUri) {

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

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

            this.version = version;
            return this;
        }
        public DynamicsLinkedServiceResponse build() {
            final var _resultValue = new DynamicsLinkedServiceResponse();
            _resultValue.annotations = annotations;
            _resultValue.authenticationType = authenticationType;
            _resultValue.connectVia = connectVia;
            _resultValue.credential = credential;
            _resultValue.deploymentType = deploymentType;
            _resultValue.description = description;
            _resultValue.domain = domain;
            _resultValue.encryptedCredential = encryptedCredential;
            _resultValue.hostName = hostName;
            _resultValue.organizationName = organizationName;
            _resultValue.parameters = parameters;
            _resultValue.password = password;
            _resultValue.port = port;
            _resultValue.servicePrincipalCredential = servicePrincipalCredential;
            _resultValue.servicePrincipalCredentialType = servicePrincipalCredentialType;
            _resultValue.servicePrincipalId = servicePrincipalId;
            _resultValue.serviceUri = serviceUri;
            _resultValue.type = type;
            _resultValue.username = username;
            _resultValue.version = version;
            return _resultValue;
        }
    }
}