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

com.pulumi.aws.mskconnect.ConnectorArgs Maven / Gradle / Ivy

Go to download

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

There is a newer version: 6.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.aws.mskconnect;

import com.pulumi.aws.mskconnect.inputs.ConnectorCapacityArgs;
import com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterArgs;
import com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterClientAuthenticationArgs;
import com.pulumi.aws.mskconnect.inputs.ConnectorKafkaClusterEncryptionInTransitArgs;
import com.pulumi.aws.mskconnect.inputs.ConnectorLogDeliveryArgs;
import com.pulumi.aws.mskconnect.inputs.ConnectorPluginArgs;
import com.pulumi.aws.mskconnect.inputs.ConnectorWorkerConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ConnectorArgs Empty = new ConnectorArgs();

    /**
     * Information about the capacity allocated to the connector. See `capacity` Block for details.
     * 
     */
    @Import(name="capacity", required=true)
    private Output capacity;

    /**
     * @return Information about the capacity allocated to the connector. See `capacity` Block for details.
     * 
     */
    public Output capacity() {
        return this.capacity;
    }

    /**
     * A map of keys to values that represent the configuration for the connector.
     * 
     */
    @Import(name="connectorConfiguration", required=true)
    private Output> connectorConfiguration;

    /**
     * @return A map of keys to values that represent the configuration for the connector.
     * 
     */
    public Output> connectorConfiguration() {
        return this.connectorConfiguration;
    }

    /**
     * A summary description of the connector.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return A summary description of the connector.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Specifies which Apache Kafka cluster to connect to. See `kafka_cluster` Block for details.
     * 
     */
    @Import(name="kafkaCluster", required=true)
    private Output kafkaCluster;

    /**
     * @return Specifies which Apache Kafka cluster to connect to. See `kafka_cluster` Block for details.
     * 
     */
    public Output kafkaCluster() {
        return this.kafkaCluster;
    }

    /**
     * Details of the client authentication used by the Apache Kafka cluster. See `kafka_cluster_client_authentication` Block for details.
     * 
     */
    @Import(name="kafkaClusterClientAuthentication", required=true)
    private Output kafkaClusterClientAuthentication;

    /**
     * @return Details of the client authentication used by the Apache Kafka cluster. See `kafka_cluster_client_authentication` Block for details.
     * 
     */
    public Output kafkaClusterClientAuthentication() {
        return this.kafkaClusterClientAuthentication;
    }

    /**
     * Details of encryption in transit to the Apache Kafka cluster. See `kafka_cluster_encryption_in_transit` Block for details.
     * 
     */
    @Import(name="kafkaClusterEncryptionInTransit", required=true)
    private Output kafkaClusterEncryptionInTransit;

    /**
     * @return Details of encryption in transit to the Apache Kafka cluster. See `kafka_cluster_encryption_in_transit` Block for details.
     * 
     */
    public Output kafkaClusterEncryptionInTransit() {
        return this.kafkaClusterEncryptionInTransit;
    }

    /**
     * The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
     * 
     */
    @Import(name="kafkaconnectVersion", required=true)
    private Output kafkaconnectVersion;

    /**
     * @return The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
     * 
     */
    public Output kafkaconnectVersion() {
        return this.kafkaconnectVersion;
    }

    /**
     * Details about log delivery. See `log_delivery` Block for details.
     * 
     */
    @Import(name="logDelivery")
    private @Nullable Output logDelivery;

    /**
     * @return Details about log delivery. See `log_delivery` Block for details.
     * 
     */
    public Optional> logDelivery() {
        return Optional.ofNullable(this.logDelivery);
    }

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

    /**
     * @return The name of the connector.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Specifies which plugins to use for the connector. See `plugin` Block for details.
     * 
     */
    @Import(name="plugins", required=true)
    private Output> plugins;

    /**
     * @return Specifies which plugins to use for the connector. See `plugin` Block for details.
     * 
     */
    public Output> plugins() {
        return this.plugins;
    }

    /**
     * The Amazon Resource Name (ARN) of the IAM role used by the connector to access the Amazon Web Services resources that it needs. The types of resources depends on the logic of the connector. For example, a connector that has Amazon S3 as a destination must have permissions that allow it to write to the S3 destination bucket.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="serviceExecutionRoleArn", required=true)
    private Output serviceExecutionRoleArn;

    /**
     * @return The Amazon Resource Name (ARN) of the IAM role used by the connector to access the Amazon Web Services resources that it needs. The types of resources depends on the logic of the connector. For example, a connector that has Amazon S3 as a destination must have permissions that allow it to write to the S3 destination bucket.
     * 
     * The following arguments are optional:
     * 
     */
    public Output serviceExecutionRoleArn() {
        return this.serviceExecutionRoleArn;
    }

    /**
     * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Specifies which worker configuration to use with the connector. See `worker_configuration` Block for details.
     * 
     */
    @Import(name="workerConfiguration")
    private @Nullable Output workerConfiguration;

    /**
     * @return Specifies which worker configuration to use with the connector. See `worker_configuration` Block for details.
     * 
     */
    public Optional> workerConfiguration() {
        return Optional.ofNullable(this.workerConfiguration);
    }

    private ConnectorArgs() {}

    private ConnectorArgs(ConnectorArgs $) {
        this.capacity = $.capacity;
        this.connectorConfiguration = $.connectorConfiguration;
        this.description = $.description;
        this.kafkaCluster = $.kafkaCluster;
        this.kafkaClusterClientAuthentication = $.kafkaClusterClientAuthentication;
        this.kafkaClusterEncryptionInTransit = $.kafkaClusterEncryptionInTransit;
        this.kafkaconnectVersion = $.kafkaconnectVersion;
        this.logDelivery = $.logDelivery;
        this.name = $.name;
        this.plugins = $.plugins;
        this.serviceExecutionRoleArn = $.serviceExecutionRoleArn;
        this.tags = $.tags;
        this.workerConfiguration = $.workerConfiguration;
    }

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

    public static final class Builder {
        private ConnectorArgs $;

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

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

        /**
         * @param capacity Information about the capacity allocated to the connector. See `capacity` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder capacity(Output capacity) {
            $.capacity = capacity;
            return this;
        }

        /**
         * @param capacity Information about the capacity allocated to the connector. See `capacity` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder capacity(ConnectorCapacityArgs capacity) {
            return capacity(Output.of(capacity));
        }

        /**
         * @param connectorConfiguration A map of keys to values that represent the configuration for the connector.
         * 
         * @return builder
         * 
         */
        public Builder connectorConfiguration(Output> connectorConfiguration) {
            $.connectorConfiguration = connectorConfiguration;
            return this;
        }

        /**
         * @param connectorConfiguration A map of keys to values that represent the configuration for the connector.
         * 
         * @return builder
         * 
         */
        public Builder connectorConfiguration(Map connectorConfiguration) {
            return connectorConfiguration(Output.of(connectorConfiguration));
        }

        /**
         * @param description A summary description of the connector.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description A summary description of the connector.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param kafkaCluster Specifies which Apache Kafka cluster to connect to. See `kafka_cluster` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder kafkaCluster(Output kafkaCluster) {
            $.kafkaCluster = kafkaCluster;
            return this;
        }

        /**
         * @param kafkaCluster Specifies which Apache Kafka cluster to connect to. See `kafka_cluster` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder kafkaCluster(ConnectorKafkaClusterArgs kafkaCluster) {
            return kafkaCluster(Output.of(kafkaCluster));
        }

        /**
         * @param kafkaClusterClientAuthentication Details of the client authentication used by the Apache Kafka cluster. See `kafka_cluster_client_authentication` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder kafkaClusterClientAuthentication(Output kafkaClusterClientAuthentication) {
            $.kafkaClusterClientAuthentication = kafkaClusterClientAuthentication;
            return this;
        }

        /**
         * @param kafkaClusterClientAuthentication Details of the client authentication used by the Apache Kafka cluster. See `kafka_cluster_client_authentication` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder kafkaClusterClientAuthentication(ConnectorKafkaClusterClientAuthenticationArgs kafkaClusterClientAuthentication) {
            return kafkaClusterClientAuthentication(Output.of(kafkaClusterClientAuthentication));
        }

        /**
         * @param kafkaClusterEncryptionInTransit Details of encryption in transit to the Apache Kafka cluster. See `kafka_cluster_encryption_in_transit` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder kafkaClusterEncryptionInTransit(Output kafkaClusterEncryptionInTransit) {
            $.kafkaClusterEncryptionInTransit = kafkaClusterEncryptionInTransit;
            return this;
        }

        /**
         * @param kafkaClusterEncryptionInTransit Details of encryption in transit to the Apache Kafka cluster. See `kafka_cluster_encryption_in_transit` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder kafkaClusterEncryptionInTransit(ConnectorKafkaClusterEncryptionInTransitArgs kafkaClusterEncryptionInTransit) {
            return kafkaClusterEncryptionInTransit(Output.of(kafkaClusterEncryptionInTransit));
        }

        /**
         * @param kafkaconnectVersion The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
         * 
         * @return builder
         * 
         */
        public Builder kafkaconnectVersion(Output kafkaconnectVersion) {
            $.kafkaconnectVersion = kafkaconnectVersion;
            return this;
        }

        /**
         * @param kafkaconnectVersion The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
         * 
         * @return builder
         * 
         */
        public Builder kafkaconnectVersion(String kafkaconnectVersion) {
            return kafkaconnectVersion(Output.of(kafkaconnectVersion));
        }

        /**
         * @param logDelivery Details about log delivery. See `log_delivery` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder logDelivery(@Nullable Output logDelivery) {
            $.logDelivery = logDelivery;
            return this;
        }

        /**
         * @param logDelivery Details about log delivery. See `log_delivery` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder logDelivery(ConnectorLogDeliveryArgs logDelivery) {
            return logDelivery(Output.of(logDelivery));
        }

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

        /**
         * @param name The name of the connector.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param plugins Specifies which plugins to use for the connector. See `plugin` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder plugins(Output> plugins) {
            $.plugins = plugins;
            return this;
        }

        /**
         * @param plugins Specifies which plugins to use for the connector. See `plugin` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder plugins(List plugins) {
            return plugins(Output.of(plugins));
        }

        /**
         * @param plugins Specifies which plugins to use for the connector. See `plugin` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder plugins(ConnectorPluginArgs... plugins) {
            return plugins(List.of(plugins));
        }

        /**
         * @param serviceExecutionRoleArn The Amazon Resource Name (ARN) of the IAM role used by the connector to access the Amazon Web Services resources that it needs. The types of resources depends on the logic of the connector. For example, a connector that has Amazon S3 as a destination must have permissions that allow it to write to the S3 destination bucket.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder serviceExecutionRoleArn(Output serviceExecutionRoleArn) {
            $.serviceExecutionRoleArn = serviceExecutionRoleArn;
            return this;
        }

        /**
         * @param serviceExecutionRoleArn The Amazon Resource Name (ARN) of the IAM role used by the connector to access the Amazon Web Services resources that it needs. The types of resources depends on the logic of the connector. For example, a connector that has Amazon S3 as a destination must have permissions that allow it to write to the S3 destination bucket.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder serviceExecutionRoleArn(String serviceExecutionRoleArn) {
            return serviceExecutionRoleArn(Output.of(serviceExecutionRoleArn));
        }

        /**
         * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param workerConfiguration Specifies which worker configuration to use with the connector. See `worker_configuration` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder workerConfiguration(@Nullable Output workerConfiguration) {
            $.workerConfiguration = workerConfiguration;
            return this;
        }

        /**
         * @param workerConfiguration Specifies which worker configuration to use with the connector. See `worker_configuration` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder workerConfiguration(ConnectorWorkerConfigurationArgs workerConfiguration) {
            return workerConfiguration(Output.of(workerConfiguration));
        }

        public ConnectorArgs build() {
            if ($.capacity == null) {
                throw new MissingRequiredPropertyException("ConnectorArgs", "capacity");
            }
            if ($.connectorConfiguration == null) {
                throw new MissingRequiredPropertyException("ConnectorArgs", "connectorConfiguration");
            }
            if ($.kafkaCluster == null) {
                throw new MissingRequiredPropertyException("ConnectorArgs", "kafkaCluster");
            }
            if ($.kafkaClusterClientAuthentication == null) {
                throw new MissingRequiredPropertyException("ConnectorArgs", "kafkaClusterClientAuthentication");
            }
            if ($.kafkaClusterEncryptionInTransit == null) {
                throw new MissingRequiredPropertyException("ConnectorArgs", "kafkaClusterEncryptionInTransit");
            }
            if ($.kafkaconnectVersion == null) {
                throw new MissingRequiredPropertyException("ConnectorArgs", "kafkaconnectVersion");
            }
            if ($.plugins == null) {
                throw new MissingRequiredPropertyException("ConnectorArgs", "plugins");
            }
            if ($.serviceExecutionRoleArn == null) {
                throw new MissingRequiredPropertyException("ConnectorArgs", "serviceExecutionRoleArn");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy