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

com.pulumi.azurenative.datafactory.outputs.GoogleAdWordsLinkedServiceResponse 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 GoogleAdWordsLinkedServiceResponse {
    /**
     * @return List of tags that can be used for describing the linked service.
     * 
     */
    private @Nullable List annotations;
    /**
     * @return The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR.
     * 
     */
    private @Nullable String authenticationType;
    /**
     * @return The Client customer ID of the AdWords account that you want to fetch report data for. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object clientCustomerID;
    /**
     * @return The client id of the google application used to acquire the refresh token. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object clientId;
    /**
     * @return The client secret of the google application used to acquire the refresh token.
     * 
     */
    private @Nullable Either clientSecret;
    /**
     * @return The integration runtime reference.
     * 
     */
    private @Nullable IntegrationRuntimeReferenceResponse connectVia;
    /**
     * @return (Deprecated) Properties used to connect to GoogleAds. It is mutually exclusive with any other properties in the linked service. Type: object.
     * 
     */
    private @Nullable Object connectionProperties;
    /**
     * @return Linked service description.
     * 
     */
    private @Nullable String description;
    /**
     * @return The developer token associated with the manager account that you use to grant access to the AdWords API.
     * 
     */
    private @Nullable Either developerToken;
    /**
     * @return The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object email;
    /**
     * @return The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     * 
     */
    private @Nullable String encryptedCredential;
    /**
     * @return The Google Ads API major version such as v14. The supported major versions could be found on https://developers.google.com/google-ads/api/docs/release-notes. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object googleAdsApiVersion;
    /**
     * @return (Deprecated) The full path to the .p12 key file that is used to authenticate the service account email address and can only be used on self-hosted IR. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object keyFilePath;
    /**
     * @return The customer ID of the Google Ads Manager account through which you want to fetch report data of specific Customer. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object loginCustomerID;
    /**
     * @return Parameters for linked service.
     * 
     */
    private @Nullable Map parameters;
    /**
     * @return The private key that is used to authenticate the service account email address and can only be used on self-hosted IR.
     * 
     */
    private @Nullable Either privateKey;
    /**
     * @return The refresh token obtained from Google for authorizing access to AdWords for UserAuthentication.
     * 
     */
    private @Nullable Either refreshToken;
    /**
     * @return Specifies whether to use the legacy data type mappings, which maps float, int32 and int64 from Google to string. Do not set this to true unless you want to keep backward compatibility with legacy driver's data type mappings. Type: boolean (or Expression with resultType boolean).
     * 
     */
    private @Nullable Object supportLegacyDataTypes;
    /**
     * @return (Deprecated) The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. Type: string (or Expression with resultType string).
     * 
     */
    private @Nullable Object trustedCertPath;
    /**
     * @return Type of linked service.
     * Expected value is 'GoogleAdWords'.
     * 
     */
    private String type;
    /**
     * @return (Deprecated) Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. Type: boolean (or Expression with resultType boolean).
     * 
     */
    private @Nullable Object useSystemTrustStore;
    /**
     * @return Version of the linked service.
     * 
     */
    private @Nullable String version;

    private GoogleAdWordsLinkedServiceResponse() {}
    /**
     * @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 OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR.
     * 
     */
    public Optional authenticationType() {
        return Optional.ofNullable(this.authenticationType);
    }
    /**
     * @return The Client customer ID of the AdWords account that you want to fetch report data for. Type: string (or Expression with resultType string).
     * 
     */
    public Optional clientCustomerID() {
        return Optional.ofNullable(this.clientCustomerID);
    }
    /**
     * @return The client id of the google application used to acquire the refresh token. Type: string (or Expression with resultType string).
     * 
     */
    public Optional clientId() {
        return Optional.ofNullable(this.clientId);
    }
    /**
     * @return The client secret of the google application used to acquire the refresh token.
     * 
     */
    public Optional> clientSecret() {
        return Optional.ofNullable(this.clientSecret);
    }
    /**
     * @return The integration runtime reference.
     * 
     */
    public Optional connectVia() {
        return Optional.ofNullable(this.connectVia);
    }
    /**
     * @return (Deprecated) Properties used to connect to GoogleAds. It is mutually exclusive with any other properties in the linked service. Type: object.
     * 
     */
    public Optional connectionProperties() {
        return Optional.ofNullable(this.connectionProperties);
    }
    /**
     * @return Linked service description.
     * 
     */
    public Optional description() {
        return Optional.ofNullable(this.description);
    }
    /**
     * @return The developer token associated with the manager account that you use to grant access to the AdWords API.
     * 
     */
    public Optional> developerToken() {
        return Optional.ofNullable(this.developerToken);
    }
    /**
     * @return The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR. Type: string (or Expression with resultType string).
     * 
     */
    public Optional email() {
        return Optional.ofNullable(this.email);
    }
    /**
     * @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 Google Ads API major version such as v14. The supported major versions could be found on https://developers.google.com/google-ads/api/docs/release-notes. Type: string (or Expression with resultType string).
     * 
     */
    public Optional googleAdsApiVersion() {
        return Optional.ofNullable(this.googleAdsApiVersion);
    }
    /**
     * @return (Deprecated) The full path to the .p12 key file that is used to authenticate the service account email address and can only be used on self-hosted IR. Type: string (or Expression with resultType string).
     * 
     */
    public Optional keyFilePath() {
        return Optional.ofNullable(this.keyFilePath);
    }
    /**
     * @return The customer ID of the Google Ads Manager account through which you want to fetch report data of specific Customer. Type: string (or Expression with resultType string).
     * 
     */
    public Optional loginCustomerID() {
        return Optional.ofNullable(this.loginCustomerID);
    }
    /**
     * @return Parameters for linked service.
     * 
     */
    public Map parameters() {
        return this.parameters == null ? Map.of() : this.parameters;
    }
    /**
     * @return The private key that is used to authenticate the service account email address and can only be used on self-hosted IR.
     * 
     */
    public Optional> privateKey() {
        return Optional.ofNullable(this.privateKey);
    }
    /**
     * @return The refresh token obtained from Google for authorizing access to AdWords for UserAuthentication.
     * 
     */
    public Optional> refreshToken() {
        return Optional.ofNullable(this.refreshToken);
    }
    /**
     * @return Specifies whether to use the legacy data type mappings, which maps float, int32 and int64 from Google to string. Do not set this to true unless you want to keep backward compatibility with legacy driver's data type mappings. Type: boolean (or Expression with resultType boolean).
     * 
     */
    public Optional supportLegacyDataTypes() {
        return Optional.ofNullable(this.supportLegacyDataTypes);
    }
    /**
     * @return (Deprecated) The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. Type: string (or Expression with resultType string).
     * 
     */
    public Optional trustedCertPath() {
        return Optional.ofNullable(this.trustedCertPath);
    }
    /**
     * @return Type of linked service.
     * Expected value is 'GoogleAdWords'.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return (Deprecated) Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. Type: boolean (or Expression with resultType boolean).
     * 
     */
    public Optional useSystemTrustStore() {
        return Optional.ofNullable(this.useSystemTrustStore);
    }
    /**
     * @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(GoogleAdWordsLinkedServiceResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List annotations;
        private @Nullable String authenticationType;
        private @Nullable Object clientCustomerID;
        private @Nullable Object clientId;
        private @Nullable Either clientSecret;
        private @Nullable IntegrationRuntimeReferenceResponse connectVia;
        private @Nullable Object connectionProperties;
        private @Nullable String description;
        private @Nullable Either developerToken;
        private @Nullable Object email;
        private @Nullable String encryptedCredential;
        private @Nullable Object googleAdsApiVersion;
        private @Nullable Object keyFilePath;
        private @Nullable Object loginCustomerID;
        private @Nullable Map parameters;
        private @Nullable Either privateKey;
        private @Nullable Either refreshToken;
        private @Nullable Object supportLegacyDataTypes;
        private @Nullable Object trustedCertPath;
        private String type;
        private @Nullable Object useSystemTrustStore;
        private @Nullable String version;
        public Builder() {}
        public Builder(GoogleAdWordsLinkedServiceResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.annotations = defaults.annotations;
    	      this.authenticationType = defaults.authenticationType;
    	      this.clientCustomerID = defaults.clientCustomerID;
    	      this.clientId = defaults.clientId;
    	      this.clientSecret = defaults.clientSecret;
    	      this.connectVia = defaults.connectVia;
    	      this.connectionProperties = defaults.connectionProperties;
    	      this.description = defaults.description;
    	      this.developerToken = defaults.developerToken;
    	      this.email = defaults.email;
    	      this.encryptedCredential = defaults.encryptedCredential;
    	      this.googleAdsApiVersion = defaults.googleAdsApiVersion;
    	      this.keyFilePath = defaults.keyFilePath;
    	      this.loginCustomerID = defaults.loginCustomerID;
    	      this.parameters = defaults.parameters;
    	      this.privateKey = defaults.privateKey;
    	      this.refreshToken = defaults.refreshToken;
    	      this.supportLegacyDataTypes = defaults.supportLegacyDataTypes;
    	      this.trustedCertPath = defaults.trustedCertPath;
    	      this.type = defaults.type;
    	      this.useSystemTrustStore = defaults.useSystemTrustStore;
    	      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(@Nullable String authenticationType) {

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

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

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

            this.clientSecret = clientSecret;
            return this;
        }
        @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 description(@Nullable String description) {

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

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

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

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

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

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

            this.loginCustomerID = loginCustomerID;
            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 refreshToken(@Nullable Either refreshToken) {

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

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

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

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

            this.version = version;
            return this;
        }
        public GoogleAdWordsLinkedServiceResponse build() {
            final var _resultValue = new GoogleAdWordsLinkedServiceResponse();
            _resultValue.annotations = annotations;
            _resultValue.authenticationType = authenticationType;
            _resultValue.clientCustomerID = clientCustomerID;
            _resultValue.clientId = clientId;
            _resultValue.clientSecret = clientSecret;
            _resultValue.connectVia = connectVia;
            _resultValue.connectionProperties = connectionProperties;
            _resultValue.description = description;
            _resultValue.developerToken = developerToken;
            _resultValue.email = email;
            _resultValue.encryptedCredential = encryptedCredential;
            _resultValue.googleAdsApiVersion = googleAdsApiVersion;
            _resultValue.keyFilePath = keyFilePath;
            _resultValue.loginCustomerID = loginCustomerID;
            _resultValue.parameters = parameters;
            _resultValue.privateKey = privateKey;
            _resultValue.refreshToken = refreshToken;
            _resultValue.supportLegacyDataTypes = supportLegacyDataTypes;
            _resultValue.trustedCertPath = trustedCertPath;
            _resultValue.type = type;
            _resultValue.useSystemTrustStore = useSystemTrustStore;
            _resultValue.version = version;
            return _resultValue;
        }
    }
}