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

com.pulumi.azurenative.datafactory.outputs.XeroLinkedServiceResponse 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.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 XeroLinkedServiceResponse {
    /**
     * @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 Properties used to connect to Xero. It is mutually exclusive with any other properties in the linked service. Type: object.
     * 
     */
    private @Nullable Object connectionProperties;
    /**
     * @return The consumer key associated with the Xero application.
     * 
     */
    private @Nullable Either consumerKey;
    /**
     * @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 The endpoint of the Xero server. (i.e. api.xero.com)
     * 
     */
    private @Nullable Object host;
    /**
     * @return Parameters for linked service.
     * 
     */
    private @Nullable Map parameters;
    /**
     * @return The private key from the .pem file that was generated for your Xero private application. You must include all the text from the .pem file, including the Unix line endings(
     * ).
     * 
     */
    private @Nullable Either privateKey;
    /**
     * @return Type of linked service.
     * Expected value is 'Xero'.
     * 
     */
    private String type;
    /**
     * @return Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
     * 
     */
    private @Nullable Object useEncryptedEndpoints;
    /**
     * @return Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
     * 
     */
    private @Nullable Object useHostVerification;
    /**
     * @return Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
     * 
     */
    private @Nullable Object usePeerVerification;
    /**
     * @return Version of the linked service.
     * 
     */
    private @Nullable String version;

    private XeroLinkedServiceResponse() {}
    /**
     * @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 Properties used to connect to Xero. It is mutually exclusive with any other properties in the linked service. Type: object.
     * 
     */
    public Optional connectionProperties() {
        return Optional.ofNullable(this.connectionProperties);
    }
    /**
     * @return The consumer key associated with the Xero application.
     * 
     */
    public Optional> consumerKey() {
        return Optional.ofNullable(this.consumerKey);
    }
    /**
     * @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 The endpoint of the Xero server. (i.e. api.xero.com)
     * 
     */
    public Optional host() {
        return Optional.ofNullable(this.host);
    }
    /**
     * @return Parameters for linked service.
     * 
     */
    public Map parameters() {
        return this.parameters == null ? Map.of() : this.parameters;
    }
    /**
     * @return The private key from the .pem file that was generated for your Xero private application. You must include all the text from the .pem file, including the Unix line endings(
     * ).
     * 
     */
    public Optional> privateKey() {
        return Optional.ofNullable(this.privateKey);
    }
    /**
     * @return Type of linked service.
     * Expected value is 'Xero'.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
     * 
     */
    public Optional useEncryptedEndpoints() {
        return Optional.ofNullable(this.useEncryptedEndpoints);
    }
    /**
     * @return Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
     * 
     */
    public Optional useHostVerification() {
        return Optional.ofNullable(this.useHostVerification);
    }
    /**
     * @return Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
     * 
     */
    public Optional usePeerVerification() {
        return Optional.ofNullable(this.usePeerVerification);
    }
    /**
     * @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(XeroLinkedServiceResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List annotations;
        private @Nullable IntegrationRuntimeReferenceResponse connectVia;
        private @Nullable Object connectionProperties;
        private @Nullable Either consumerKey;
        private @Nullable String description;
        private @Nullable String encryptedCredential;
        private @Nullable Object host;
        private @Nullable Map parameters;
        private @Nullable Either privateKey;
        private String type;
        private @Nullable Object useEncryptedEndpoints;
        private @Nullable Object useHostVerification;
        private @Nullable Object usePeerVerification;
        private @Nullable String version;
        public Builder() {}
        public Builder(XeroLinkedServiceResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.annotations = defaults.annotations;
    	      this.connectVia = defaults.connectVia;
    	      this.connectionProperties = defaults.connectionProperties;
    	      this.consumerKey = defaults.consumerKey;
    	      this.description = defaults.description;
    	      this.encryptedCredential = defaults.encryptedCredential;
    	      this.host = defaults.host;
    	      this.parameters = defaults.parameters;
    	      this.privateKey = defaults.privateKey;
    	      this.type = defaults.type;
    	      this.useEncryptedEndpoints = defaults.useEncryptedEndpoints;
    	      this.useHostVerification = defaults.useHostVerification;
    	      this.usePeerVerification = defaults.usePeerVerification;
    	      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 connectionProperties(@Nullable Object connectionProperties) {

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

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

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

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

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

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

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

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

            this.version = version;
            return this;
        }
        public XeroLinkedServiceResponse build() {
            final var _resultValue = new XeroLinkedServiceResponse();
            _resultValue.annotations = annotations;
            _resultValue.connectVia = connectVia;
            _resultValue.connectionProperties = connectionProperties;
            _resultValue.consumerKey = consumerKey;
            _resultValue.description = description;
            _resultValue.encryptedCredential = encryptedCredential;
            _resultValue.host = host;
            _resultValue.parameters = parameters;
            _resultValue.privateKey = privateKey;
            _resultValue.type = type;
            _resultValue.useEncryptedEndpoints = useEncryptedEndpoints;
            _resultValue.useHostVerification = useHostVerification;
            _resultValue.usePeerVerification = usePeerVerification;
            _resultValue.version = version;
            return _resultValue;
        }
    }
}