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

com.pulumi.azurenative.datafactory.outputs.MariaDBLinkedServiceResponse 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.IntegrationRuntimeReferenceResponse;
import com.pulumi.azurenative.datafactory.outputs.ParameterSpecificationResponse;
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 MariaDBLinkedServiceResponse {
    /**
     * @return List of tags that can be used for describing the linked service.
     * 
     */
    private @Nullable List annotations;
    /**
     * @return The integration runtime reference.
     * 
     */
    private @Nullable IntegrationRuntimeReferenceResponse connectVia;
    /**
     * @return An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
     * 
     */
    private @Nullable Object connectionString;
    /**
     * @return Database name for connection. Type: string.
     * 
     */
    private @Nullable Object database;
    /**
     * @return Linked service description.
     * 
     */
    private @Nullable String description;
    /**
     * @return The version of the MariaDB driver. Type: string. V1 or empty for legacy driver, V2 for new driver. V1 can support connection string and property bag, V2 can only support connection string. The legacy driver is scheduled for deprecation by October 2024.
     * 
     */
    private @Nullable Object driverVersion;
    /**
     * @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 password in connection string.
     * 
     */
    private @Nullable AzureKeyVaultSecretReferenceResponse password;
    /**
     * @return The port for the connection. Type: integer.
     * 
     */
    private @Nullable Object port;
    /**
     * @return Server name for connection. Type: string.
     * 
     */
    private @Nullable Object server;
    /**
     * @return This option specifies whether the driver uses TLS encryption and verification when connecting to MariaDB. E.g., SSLMode=<0/1/2/3/4>. Options: DISABLED (0) / PREFERRED (1) (Default) / REQUIRED (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4), REQUIRED (2) is recommended to only allow connections encrypted with SSL/TLS.
     * 
     */
    private @Nullable Object sslMode;
    /**
     * @return Type of linked service.
     * Expected value is 'MariaDB'.
     * 
     */
    private String type;
    /**
     * @return This option specifies whether to use a CA certificate from the system trust store, or from a specified PEM file. E.g. UseSystemTrustStore=<0/1>; Options: Enabled (1) / Disabled (0) (Default)
     * 
     */
    private @Nullable Object useSystemTrustStore;
    /**
     * @return Username for authentication. Type: string.
     * 
     */
    private @Nullable Object username;
    /**
     * @return Version of the linked service.
     * 
     */
    private @Nullable String version;

    private MariaDBLinkedServiceResponse() {}
    /**
     * @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 integration runtime reference.
     * 
     */
    public Optional connectVia() {
        return Optional.ofNullable(this.connectVia);
    }
    /**
     * @return An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
     * 
     */
    public Optional connectionString() {
        return Optional.ofNullable(this.connectionString);
    }
    /**
     * @return Database name for connection. Type: string.
     * 
     */
    public Optional database() {
        return Optional.ofNullable(this.database);
    }
    /**
     * @return Linked service description.
     * 
     */
    public Optional description() {
        return Optional.ofNullable(this.description);
    }
    /**
     * @return The version of the MariaDB driver. Type: string. V1 or empty for legacy driver, V2 for new driver. V1 can support connection string and property bag, V2 can only support connection string. The legacy driver is scheduled for deprecation by October 2024.
     * 
     */
    public Optional driverVersion() {
        return Optional.ofNullable(this.driverVersion);
    }
    /**
     * @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 password in connection string.
     * 
     */
    public Optional password() {
        return Optional.ofNullable(this.password);
    }
    /**
     * @return The port for the connection. Type: integer.
     * 
     */
    public Optional port() {
        return Optional.ofNullable(this.port);
    }
    /**
     * @return Server name for connection. Type: string.
     * 
     */
    public Optional server() {
        return Optional.ofNullable(this.server);
    }
    /**
     * @return This option specifies whether the driver uses TLS encryption and verification when connecting to MariaDB. E.g., SSLMode=<0/1/2/3/4>. Options: DISABLED (0) / PREFERRED (1) (Default) / REQUIRED (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4), REQUIRED (2) is recommended to only allow connections encrypted with SSL/TLS.
     * 
     */
    public Optional sslMode() {
        return Optional.ofNullable(this.sslMode);
    }
    /**
     * @return Type of linked service.
     * Expected value is 'MariaDB'.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return This option specifies whether to use a CA certificate from the system trust store, or from a specified PEM file. E.g. UseSystemTrustStore=<0/1>; Options: Enabled (1) / Disabled (0) (Default)
     * 
     */
    public Optional useSystemTrustStore() {
        return Optional.ofNullable(this.useSystemTrustStore);
    }
    /**
     * @return Username for authentication. Type: 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(MariaDBLinkedServiceResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List annotations;
        private @Nullable IntegrationRuntimeReferenceResponse connectVia;
        private @Nullable Object connectionString;
        private @Nullable Object database;
        private @Nullable String description;
        private @Nullable Object driverVersion;
        private @Nullable String encryptedCredential;
        private @Nullable Map parameters;
        private @Nullable AzureKeyVaultSecretReferenceResponse password;
        private @Nullable Object port;
        private @Nullable Object server;
        private @Nullable Object sslMode;
        private String type;
        private @Nullable Object useSystemTrustStore;
        private @Nullable Object username;
        private @Nullable String version;
        public Builder() {}
        public Builder(MariaDBLinkedServiceResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.annotations = defaults.annotations;
    	      this.connectVia = defaults.connectVia;
    	      this.connectionString = defaults.connectionString;
    	      this.database = defaults.database;
    	      this.description = defaults.description;
    	      this.driverVersion = defaults.driverVersion;
    	      this.encryptedCredential = defaults.encryptedCredential;
    	      this.parameters = defaults.parameters;
    	      this.password = defaults.password;
    	      this.port = defaults.port;
    	      this.server = defaults.server;
    	      this.sslMode = defaults.sslMode;
    	      this.type = defaults.type;
    	      this.useSystemTrustStore = defaults.useSystemTrustStore;
    	      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 connectVia(@Nullable IntegrationRuntimeReferenceResponse connectVia) {

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

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

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

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

            this.driverVersion = driverVersion;
            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 password(@Nullable AzureKeyVaultSecretReferenceResponse password) {

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

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

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

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

            this.useSystemTrustStore = useSystemTrustStore;
            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 MariaDBLinkedServiceResponse build() {
            final var _resultValue = new MariaDBLinkedServiceResponse();
            _resultValue.annotations = annotations;
            _resultValue.connectVia = connectVia;
            _resultValue.connectionString = connectionString;
            _resultValue.database = database;
            _resultValue.description = description;
            _resultValue.driverVersion = driverVersion;
            _resultValue.encryptedCredential = encryptedCredential;
            _resultValue.parameters = parameters;
            _resultValue.password = password;
            _resultValue.port = port;
            _resultValue.server = server;
            _resultValue.sslMode = sslMode;
            _resultValue.type = type;
            _resultValue.useSystemTrustStore = useSystemTrustStore;
            _resultValue.username = username;
            _resultValue.version = version;
            return _resultValue;
        }
    }
}