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

com.pulumi.azurenative.datafactory.inputs.SapOdpLinkedServiceArgs 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.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;


/**
 * SAP ODP Linked Service.
 * 
 */
public final class SapOdpLinkedServiceArgs extends com.pulumi.resources.ResourceArgs {

    public static final SapOdpLinkedServiceArgs Empty = new SapOdpLinkedServiceArgs();

    /**
     * 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);
    }

    /**
     * Client ID of the client on the SAP system where the table is located. (Usually a three-digit decimal number represented as a string) Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="clientId")
    private @Nullable Output clientId;

    /**
     * @return Client ID of the client on the SAP system where the table is located. (Usually a three-digit decimal number represented as a string) Type: string (or Expression with resultType string).
     * 
     */
    public Optional> clientId() {
        return Optional.ofNullable(this.clientId);
    }

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

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

    /**
     * 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);
    }

    /**
     * Language of the SAP system where the table is located. The default value is EN. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="language")
    private @Nullable Output language;

    /**
     * @return Language of the SAP system where the table is located. The default value is EN. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> language() {
        return Optional.ofNullable(this.language);
    }

    /**
     * The Logon Group for the SAP System. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="logonGroup")
    private @Nullable Output logonGroup;

    /**
     * @return The Logon Group for the SAP System. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> logonGroup() {
        return Optional.ofNullable(this.logonGroup);
    }

    /**
     * The hostname of the SAP Message Server. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="messageServer")
    private @Nullable Output messageServer;

    /**
     * @return The hostname of the SAP Message Server. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> messageServer() {
        return Optional.ofNullable(this.messageServer);
    }

    /**
     * The service name or port number of the Message Server. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="messageServerService")
    private @Nullable Output messageServerService;

    /**
     * @return The service name or port number of the Message Server. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> messageServerService() {
        return Optional.ofNullable(this.messageServerService);
    }

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

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

    /**
     * Password to access the SAP server where the table is located.
     * 
     */
    @Import(name="password")
    private @Nullable Output> password;

    /**
     * @return Password to access the SAP server where the table is located.
     * 
     */
    public Optional>> password() {
        return Optional.ofNullable(this.password);
    }

    /**
     * Host name of the SAP instance where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="server")
    private @Nullable Output server;

    /**
     * @return Host name of the SAP instance where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> server() {
        return Optional.ofNullable(this.server);
    }

    /**
     * External security product's library to access the SAP server where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="sncLibraryPath")
    private @Nullable Output sncLibraryPath;

    /**
     * @return External security product's library to access the SAP server where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> sncLibraryPath() {
        return Optional.ofNullable(this.sncLibraryPath);
    }

    /**
     * SNC activation indicator to access the SAP server where the table is located. Must be either 0 (off) or 1 (on). Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="sncMode")
    private @Nullable Output sncMode;

    /**
     * @return SNC activation indicator to access the SAP server where the table is located. Must be either 0 (off) or 1 (on). Type: string (or Expression with resultType string).
     * 
     */
    public Optional> sncMode() {
        return Optional.ofNullable(this.sncMode);
    }

    /**
     * Initiator's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="sncMyName")
    private @Nullable Output sncMyName;

    /**
     * @return Initiator's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> sncMyName() {
        return Optional.ofNullable(this.sncMyName);
    }

    /**
     * Communication partner's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="sncPartnerName")
    private @Nullable Output sncPartnerName;

    /**
     * @return Communication partner's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> sncPartnerName() {
        return Optional.ofNullable(this.sncPartnerName);
    }

    /**
     * SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="sncQop")
    private @Nullable Output sncQop;

    /**
     * @return SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> sncQop() {
        return Optional.ofNullable(this.sncQop);
    }

    /**
     * The subscriber name. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="subscriberName")
    private @Nullable Output subscriberName;

    /**
     * @return The subscriber name. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> subscriberName() {
        return Optional.ofNullable(this.subscriberName);
    }

    /**
     * SystemID of the SAP system where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="systemId")
    private @Nullable Output systemId;

    /**
     * @return SystemID of the SAP system where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> systemId() {
        return Optional.ofNullable(this.systemId);
    }

    /**
     * System number of the SAP system where the table is located. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="systemNumber")
    private @Nullable Output systemNumber;

    /**
     * @return System number of the SAP system where the table is located. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string).
     * 
     */
    public Optional> systemNumber() {
        return Optional.ofNullable(this.systemNumber);
    }

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

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

    /**
     * Username to access the SAP server where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="userName")
    private @Nullable Output userName;

    /**
     * @return Username to access the SAP server where the table is located. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> userName() {
        return Optional.ofNullable(this.userName);
    }

    /**
     * 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);
    }

    /**
     * SNC X509 certificate file path. Type: string (or Expression with resultType string).
     * 
     */
    @Import(name="x509CertificatePath")
    private @Nullable Output x509CertificatePath;

    /**
     * @return SNC X509 certificate file path. Type: string (or Expression with resultType string).
     * 
     */
    public Optional> x509CertificatePath() {
        return Optional.ofNullable(this.x509CertificatePath);
    }

    private SapOdpLinkedServiceArgs() {}

    private SapOdpLinkedServiceArgs(SapOdpLinkedServiceArgs $) {
        this.annotations = $.annotations;
        this.clientId = $.clientId;
        this.connectVia = $.connectVia;
        this.description = $.description;
        this.encryptedCredential = $.encryptedCredential;
        this.language = $.language;
        this.logonGroup = $.logonGroup;
        this.messageServer = $.messageServer;
        this.messageServerService = $.messageServerService;
        this.parameters = $.parameters;
        this.password = $.password;
        this.server = $.server;
        this.sncLibraryPath = $.sncLibraryPath;
        this.sncMode = $.sncMode;
        this.sncMyName = $.sncMyName;
        this.sncPartnerName = $.sncPartnerName;
        this.sncQop = $.sncQop;
        this.subscriberName = $.subscriberName;
        this.systemId = $.systemId;
        this.systemNumber = $.systemNumber;
        this.type = $.type;
        this.userName = $.userName;
        this.version = $.version;
        this.x509CertificatePath = $.x509CertificatePath;
    }

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

    public static final class Builder {
        private SapOdpLinkedServiceArgs $;

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

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

        /**
         * @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 clientId Client ID of the client on the SAP system where the table is located. (Usually a three-digit decimal number represented as a string) Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder clientId(@Nullable Output clientId) {
            $.clientId = clientId;
            return this;
        }

        /**
         * @param clientId Client ID of the client on the SAP system where the table is located. (Usually a three-digit decimal number represented as a string) Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder clientId(Object clientId) {
            return clientId(Output.of(clientId));
        }

        /**
         * @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 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 language Language of the SAP system where the table is located. The default value is EN. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder language(@Nullable Output language) {
            $.language = language;
            return this;
        }

        /**
         * @param language Language of the SAP system where the table is located. The default value is EN. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder language(Object language) {
            return language(Output.of(language));
        }

        /**
         * @param logonGroup The Logon Group for the SAP System. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder logonGroup(@Nullable Output logonGroup) {
            $.logonGroup = logonGroup;
            return this;
        }

        /**
         * @param logonGroup The Logon Group for the SAP System. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder logonGroup(Object logonGroup) {
            return logonGroup(Output.of(logonGroup));
        }

        /**
         * @param messageServer The hostname of the SAP Message Server. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder messageServer(@Nullable Output messageServer) {
            $.messageServer = messageServer;
            return this;
        }

        /**
         * @param messageServer The hostname of the SAP Message Server. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder messageServer(Object messageServer) {
            return messageServer(Output.of(messageServer));
        }

        /**
         * @param messageServerService The service name or port number of the Message Server. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder messageServerService(@Nullable Output messageServerService) {
            $.messageServerService = messageServerService;
            return this;
        }

        /**
         * @param messageServerService The service name or port number of the Message Server. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder messageServerService(Object messageServerService) {
            return messageServerService(Output.of(messageServerService));
        }

        /**
         * @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 password Password to access the SAP server where the table is located.
         * 
         * @return builder
         * 
         */
        public Builder password(@Nullable Output> password) {
            $.password = password;
            return this;
        }

        /**
         * @param password Password to access the SAP server where the table is located.
         * 
         * @return builder
         * 
         */
        public Builder password(Either password) {
            return password(Output.of(password));
        }

        /**
         * @param password Password to access the SAP server where the table is located.
         * 
         * @return builder
         * 
         */
        public Builder password(AzureKeyVaultSecretReferenceArgs password) {
            return password(Either.ofLeft(password));
        }

        /**
         * @param password Password to access the SAP server where the table is located.
         * 
         * @return builder
         * 
         */
        public Builder password(SecureStringArgs password) {
            return password(Either.ofRight(password));
        }

        /**
         * @param server Host name of the SAP instance where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder server(@Nullable Output server) {
            $.server = server;
            return this;
        }

        /**
         * @param server Host name of the SAP instance where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder server(Object server) {
            return server(Output.of(server));
        }

        /**
         * @param sncLibraryPath External security product's library to access the SAP server where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder sncLibraryPath(@Nullable Output sncLibraryPath) {
            $.sncLibraryPath = sncLibraryPath;
            return this;
        }

        /**
         * @param sncLibraryPath External security product's library to access the SAP server where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder sncLibraryPath(Object sncLibraryPath) {
            return sncLibraryPath(Output.of(sncLibraryPath));
        }

        /**
         * @param sncMode SNC activation indicator to access the SAP server where the table is located. Must be either 0 (off) or 1 (on). Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder sncMode(@Nullable Output sncMode) {
            $.sncMode = sncMode;
            return this;
        }

        /**
         * @param sncMode SNC activation indicator to access the SAP server where the table is located. Must be either 0 (off) or 1 (on). Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder sncMode(Object sncMode) {
            return sncMode(Output.of(sncMode));
        }

        /**
         * @param sncMyName Initiator's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder sncMyName(@Nullable Output sncMyName) {
            $.sncMyName = sncMyName;
            return this;
        }

        /**
         * @param sncMyName Initiator's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder sncMyName(Object sncMyName) {
            return sncMyName(Output.of(sncMyName));
        }

        /**
         * @param sncPartnerName Communication partner's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder sncPartnerName(@Nullable Output sncPartnerName) {
            $.sncPartnerName = sncPartnerName;
            return this;
        }

        /**
         * @param sncPartnerName Communication partner's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder sncPartnerName(Object sncPartnerName) {
            return sncPartnerName(Output.of(sncPartnerName));
        }

        /**
         * @param sncQop SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder sncQop(@Nullable Output sncQop) {
            $.sncQop = sncQop;
            return this;
        }

        /**
         * @param sncQop SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder sncQop(Object sncQop) {
            return sncQop(Output.of(sncQop));
        }

        /**
         * @param subscriberName The subscriber name. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder subscriberName(@Nullable Output subscriberName) {
            $.subscriberName = subscriberName;
            return this;
        }

        /**
         * @param subscriberName The subscriber name. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder subscriberName(Object subscriberName) {
            return subscriberName(Output.of(subscriberName));
        }

        /**
         * @param systemId SystemID of the SAP system where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder systemId(@Nullable Output systemId) {
            $.systemId = systemId;
            return this;
        }

        /**
         * @param systemId SystemID of the SAP system where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder systemId(Object systemId) {
            return systemId(Output.of(systemId));
        }

        /**
         * @param systemNumber System number of the SAP system where the table is located. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder systemNumber(@Nullable Output systemNumber) {
            $.systemNumber = systemNumber;
            return this;
        }

        /**
         * @param systemNumber System number of the SAP system where the table is located. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder systemNumber(Object systemNumber) {
            return systemNumber(Output.of(systemNumber));
        }

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

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

        /**
         * @param userName Username to access the SAP server where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder userName(@Nullable Output userName) {
            $.userName = userName;
            return this;
        }

        /**
         * @param userName Username to access the SAP server where the table is located. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder userName(Object userName) {
            return userName(Output.of(userName));
        }

        /**
         * @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));
        }

        /**
         * @param x509CertificatePath SNC X509 certificate file path. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder x509CertificatePath(@Nullable Output x509CertificatePath) {
            $.x509CertificatePath = x509CertificatePath;
            return this;
        }

        /**
         * @param x509CertificatePath SNC X509 certificate file path. Type: string (or Expression with resultType string).
         * 
         * @return builder
         * 
         */
        public Builder x509CertificatePath(Object x509CertificatePath) {
            return x509CertificatePath(Output.of(x509CertificatePath));
        }

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

}