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

com.pulumi.aws.appflow.inputs.ConnectorProfileState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

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.aws.appflow.inputs;

import com.pulumi.aws.appflow.inputs.ConnectorProfileConnectorProfileConfigArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ConnectorProfileState extends com.pulumi.resources.ResourceArgs {

    public static final ConnectorProfileState Empty = new ConnectorProfileState();

    /**
     * ARN of the connector profile.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return ARN of the connector profile.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`.
     * 
     */
    @Import(name="connectionMode")
    private @Nullable Output connectionMode;

    /**
     * @return Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`.
     * 
     */
    public Optional> connectionMode() {
        return Optional.ofNullable(this.connectionMode);
    }

    /**
     * The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for `CustomConnector` connector type.
     * 
     */
    @Import(name="connectorLabel")
    private @Nullable Output connectorLabel;

    /**
     * @return The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for `CustomConnector` connector type.
     * 
     */
    public Optional> connectorLabel() {
        return Optional.ofNullable(this.connectorLabel);
    }

    /**
     * Defines the connector-specific configuration and credentials. See Connector Profile Config for more details.
     * 
     */
    @Import(name="connectorProfileConfig")
    private @Nullable Output connectorProfileConfig;

    /**
     * @return Defines the connector-specific configuration and credentials. See Connector Profile Config for more details.
     * 
     */
    public Optional> connectorProfileConfig() {
        return Optional.ofNullable(this.connectorProfileConfig);
    }

    /**
     * The type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`.
     * 
     */
    @Import(name="connectorType")
    private @Nullable Output connectorType;

    /**
     * @return The type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`.
     * 
     */
    public Optional> connectorType() {
        return Optional.ofNullable(this.connectorType);
    }

    /**
     * ARN of the connector profile credentials.
     * 
     */
    @Import(name="credentialsArn")
    private @Nullable Output credentialsArn;

    /**
     * @return ARN of the connector profile credentials.
     * 
     */
    public Optional> credentialsArn() {
        return Optional.ofNullable(this.credentialsArn);
    }

    /**
     * ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
     * 
     */
    @Import(name="kmsArn")
    private @Nullable Output kmsArn;

    /**
     * @return ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
     * 
     */
    public Optional> kmsArn() {
        return Optional.ofNullable(this.kmsArn);
    }

    @Import(name="name")
    private @Nullable Output name;

    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    private ConnectorProfileState() {}

    private ConnectorProfileState(ConnectorProfileState $) {
        this.arn = $.arn;
        this.connectionMode = $.connectionMode;
        this.connectorLabel = $.connectorLabel;
        this.connectorProfileConfig = $.connectorProfileConfig;
        this.connectorType = $.connectorType;
        this.credentialsArn = $.credentialsArn;
        this.kmsArn = $.kmsArn;
        this.name = $.name;
    }

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

    public static final class Builder {
        private ConnectorProfileState $;

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

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

        /**
         * @param arn ARN of the connector profile.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn ARN of the connector profile.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param connectionMode Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`.
         * 
         * @return builder
         * 
         */
        public Builder connectionMode(@Nullable Output connectionMode) {
            $.connectionMode = connectionMode;
            return this;
        }

        /**
         * @param connectionMode Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`.
         * 
         * @return builder
         * 
         */
        public Builder connectionMode(String connectionMode) {
            return connectionMode(Output.of(connectionMode));
        }

        /**
         * @param connectorLabel The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for `CustomConnector` connector type.
         * 
         * @return builder
         * 
         */
        public Builder connectorLabel(@Nullable Output connectorLabel) {
            $.connectorLabel = connectorLabel;
            return this;
        }

        /**
         * @param connectorLabel The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for `CustomConnector` connector type.
         * 
         * @return builder
         * 
         */
        public Builder connectorLabel(String connectorLabel) {
            return connectorLabel(Output.of(connectorLabel));
        }

        /**
         * @param connectorProfileConfig Defines the connector-specific configuration and credentials. See Connector Profile Config for more details.
         * 
         * @return builder
         * 
         */
        public Builder connectorProfileConfig(@Nullable Output connectorProfileConfig) {
            $.connectorProfileConfig = connectorProfileConfig;
            return this;
        }

        /**
         * @param connectorProfileConfig Defines the connector-specific configuration and credentials. See Connector Profile Config for more details.
         * 
         * @return builder
         * 
         */
        public Builder connectorProfileConfig(ConnectorProfileConnectorProfileConfigArgs connectorProfileConfig) {
            return connectorProfileConfig(Output.of(connectorProfileConfig));
        }

        /**
         * @param connectorType The type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`.
         * 
         * @return builder
         * 
         */
        public Builder connectorType(@Nullable Output connectorType) {
            $.connectorType = connectorType;
            return this;
        }

        /**
         * @param connectorType The type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`.
         * 
         * @return builder
         * 
         */
        public Builder connectorType(String connectorType) {
            return connectorType(Output.of(connectorType));
        }

        /**
         * @param credentialsArn ARN of the connector profile credentials.
         * 
         * @return builder
         * 
         */
        public Builder credentialsArn(@Nullable Output credentialsArn) {
            $.credentialsArn = credentialsArn;
            return this;
        }

        /**
         * @param credentialsArn ARN of the connector profile credentials.
         * 
         * @return builder
         * 
         */
        public Builder credentialsArn(String credentialsArn) {
            return credentialsArn(Output.of(credentialsArn));
        }

        /**
         * @param kmsArn ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
         * 
         * @return builder
         * 
         */
        public Builder kmsArn(@Nullable Output kmsArn) {
            $.kmsArn = kmsArn;
            return this;
        }

        /**
         * @param kmsArn ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
         * 
         * @return builder
         * 
         */
        public Builder kmsArn(String kmsArn) {
            return kmsArn(Output.of(kmsArn));
        }

        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        public Builder name(String name) {
            return name(Output.of(name));
        }

        public ConnectorProfileState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy