/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace KafkaConnect { namespace Model { /** */ class CreateConnectorRequest : public KafkaConnectRequest { public: AWS_KAFKACONNECT_API CreateConnectorRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateConnector"; } AWS_KAFKACONNECT_API Aws::String SerializePayload() const override; /** *

Information about the capacity allocated to the connector. Exactly one of the * two properties must be specified.

*/ inline const Capacity& GetCapacity() const{ return m_capacity; } /** *

Information about the capacity allocated to the connector. Exactly one of the * two properties must be specified.

*/ inline bool CapacityHasBeenSet() const { return m_capacityHasBeenSet; } /** *

Information about the capacity allocated to the connector. Exactly one of the * two properties must be specified.

*/ inline void SetCapacity(const Capacity& value) { m_capacityHasBeenSet = true; m_capacity = value; } /** *

Information about the capacity allocated to the connector. Exactly one of the * two properties must be specified.

*/ inline void SetCapacity(Capacity&& value) { m_capacityHasBeenSet = true; m_capacity = std::move(value); } /** *

Information about the capacity allocated to the connector. Exactly one of the * two properties must be specified.

*/ inline CreateConnectorRequest& WithCapacity(const Capacity& value) { SetCapacity(value); return *this;} /** *

Information about the capacity allocated to the connector. Exactly one of the * two properties must be specified.

*/ inline CreateConnectorRequest& WithCapacity(Capacity&& value) { SetCapacity(std::move(value)); return *this;} /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline const Aws::Map& GetConnectorConfiguration() const{ return m_connectorConfiguration; } /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline bool ConnectorConfigurationHasBeenSet() const { return m_connectorConfigurationHasBeenSet; } /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline void SetConnectorConfiguration(const Aws::Map& value) { m_connectorConfigurationHasBeenSet = true; m_connectorConfiguration = value; } /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline void SetConnectorConfiguration(Aws::Map&& value) { m_connectorConfigurationHasBeenSet = true; m_connectorConfiguration = std::move(value); } /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline CreateConnectorRequest& WithConnectorConfiguration(const Aws::Map& value) { SetConnectorConfiguration(value); return *this;} /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline CreateConnectorRequest& WithConnectorConfiguration(Aws::Map&& value) { SetConnectorConfiguration(std::move(value)); return *this;} /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline CreateConnectorRequest& AddConnectorConfiguration(const Aws::String& key, const Aws::String& value) { m_connectorConfigurationHasBeenSet = true; m_connectorConfiguration.emplace(key, value); return *this; } /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline CreateConnectorRequest& AddConnectorConfiguration(Aws::String&& key, const Aws::String& value) { m_connectorConfigurationHasBeenSet = true; m_connectorConfiguration.emplace(std::move(key), value); return *this; } /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline CreateConnectorRequest& AddConnectorConfiguration(const Aws::String& key, Aws::String&& value) { m_connectorConfigurationHasBeenSet = true; m_connectorConfiguration.emplace(key, std::move(value)); return *this; } /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline CreateConnectorRequest& AddConnectorConfiguration(Aws::String&& key, Aws::String&& value) { m_connectorConfigurationHasBeenSet = true; m_connectorConfiguration.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline CreateConnectorRequest& AddConnectorConfiguration(const char* key, Aws::String&& value) { m_connectorConfigurationHasBeenSet = true; m_connectorConfiguration.emplace(key, std::move(value)); return *this; } /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline CreateConnectorRequest& AddConnectorConfiguration(Aws::String&& key, const char* value) { m_connectorConfigurationHasBeenSet = true; m_connectorConfiguration.emplace(std::move(key), value); return *this; } /** *

A map of keys to values that represent the configuration for the * connector.

*/ inline CreateConnectorRequest& AddConnectorConfiguration(const char* key, const char* value) { m_connectorConfigurationHasBeenSet = true; m_connectorConfiguration.emplace(key, value); return *this; } /** *

A summary description of the connector.

*/ inline const Aws::String& GetConnectorDescription() const{ return m_connectorDescription; } /** *

A summary description of the connector.

*/ inline bool ConnectorDescriptionHasBeenSet() const { return m_connectorDescriptionHasBeenSet; } /** *

A summary description of the connector.

*/ inline void SetConnectorDescription(const Aws::String& value) { m_connectorDescriptionHasBeenSet = true; m_connectorDescription = value; } /** *

A summary description of the connector.

*/ inline void SetConnectorDescription(Aws::String&& value) { m_connectorDescriptionHasBeenSet = true; m_connectorDescription = std::move(value); } /** *

A summary description of the connector.

*/ inline void SetConnectorDescription(const char* value) { m_connectorDescriptionHasBeenSet = true; m_connectorDescription.assign(value); } /** *

A summary description of the connector.

*/ inline CreateConnectorRequest& WithConnectorDescription(const Aws::String& value) { SetConnectorDescription(value); return *this;} /** *

A summary description of the connector.

*/ inline CreateConnectorRequest& WithConnectorDescription(Aws::String&& value) { SetConnectorDescription(std::move(value)); return *this;} /** *

A summary description of the connector.

*/ inline CreateConnectorRequest& WithConnectorDescription(const char* value) { SetConnectorDescription(value); return *this;} /** *

The name of the connector.

*/ inline const Aws::String& GetConnectorName() const{ return m_connectorName; } /** *

The name of the connector.

*/ inline bool ConnectorNameHasBeenSet() const { return m_connectorNameHasBeenSet; } /** *

The name of the connector.

*/ inline void SetConnectorName(const Aws::String& value) { m_connectorNameHasBeenSet = true; m_connectorName = value; } /** *

The name of the connector.

*/ inline void SetConnectorName(Aws::String&& value) { m_connectorNameHasBeenSet = true; m_connectorName = std::move(value); } /** *

The name of the connector.

*/ inline void SetConnectorName(const char* value) { m_connectorNameHasBeenSet = true; m_connectorName.assign(value); } /** *

The name of the connector.

*/ inline CreateConnectorRequest& WithConnectorName(const Aws::String& value) { SetConnectorName(value); return *this;} /** *

The name of the connector.

*/ inline CreateConnectorRequest& WithConnectorName(Aws::String&& value) { SetConnectorName(std::move(value)); return *this;} /** *

The name of the connector.

*/ inline CreateConnectorRequest& WithConnectorName(const char* value) { SetConnectorName(value); return *this;} /** *

Specifies which Apache Kafka cluster to connect to.

*/ inline const KafkaCluster& GetKafkaCluster() const{ return m_kafkaCluster; } /** *

Specifies which Apache Kafka cluster to connect to.

*/ inline bool KafkaClusterHasBeenSet() const { return m_kafkaClusterHasBeenSet; } /** *

Specifies which Apache Kafka cluster to connect to.

*/ inline void SetKafkaCluster(const KafkaCluster& value) { m_kafkaClusterHasBeenSet = true; m_kafkaCluster = value; } /** *

Specifies which Apache Kafka cluster to connect to.

*/ inline void SetKafkaCluster(KafkaCluster&& value) { m_kafkaClusterHasBeenSet = true; m_kafkaCluster = std::move(value); } /** *

Specifies which Apache Kafka cluster to connect to.

*/ inline CreateConnectorRequest& WithKafkaCluster(const KafkaCluster& value) { SetKafkaCluster(value); return *this;} /** *

Specifies which Apache Kafka cluster to connect to.

*/ inline CreateConnectorRequest& WithKafkaCluster(KafkaCluster&& value) { SetKafkaCluster(std::move(value)); return *this;} /** *

Details of the client authentication used by the Apache Kafka cluster.

*/ inline const KafkaClusterClientAuthentication& GetKafkaClusterClientAuthentication() const{ return m_kafkaClusterClientAuthentication; } /** *

Details of the client authentication used by the Apache Kafka cluster.

*/ inline bool KafkaClusterClientAuthenticationHasBeenSet() const { return m_kafkaClusterClientAuthenticationHasBeenSet; } /** *

Details of the client authentication used by the Apache Kafka cluster.

*/ inline void SetKafkaClusterClientAuthentication(const KafkaClusterClientAuthentication& value) { m_kafkaClusterClientAuthenticationHasBeenSet = true; m_kafkaClusterClientAuthentication = value; } /** *

Details of the client authentication used by the Apache Kafka cluster.

*/ inline void SetKafkaClusterClientAuthentication(KafkaClusterClientAuthentication&& value) { m_kafkaClusterClientAuthenticationHasBeenSet = true; m_kafkaClusterClientAuthentication = std::move(value); } /** *

Details of the client authentication used by the Apache Kafka cluster.

*/ inline CreateConnectorRequest& WithKafkaClusterClientAuthentication(const KafkaClusterClientAuthentication& value) { SetKafkaClusterClientAuthentication(value); return *this;} /** *

Details of the client authentication used by the Apache Kafka cluster.

*/ inline CreateConnectorRequest& WithKafkaClusterClientAuthentication(KafkaClusterClientAuthentication&& value) { SetKafkaClusterClientAuthentication(std::move(value)); return *this;} /** *

Details of encryption in transit to the Apache Kafka cluster.

*/ inline const KafkaClusterEncryptionInTransit& GetKafkaClusterEncryptionInTransit() const{ return m_kafkaClusterEncryptionInTransit; } /** *

Details of encryption in transit to the Apache Kafka cluster.

*/ inline bool KafkaClusterEncryptionInTransitHasBeenSet() const { return m_kafkaClusterEncryptionInTransitHasBeenSet; } /** *

Details of encryption in transit to the Apache Kafka cluster.

*/ inline void SetKafkaClusterEncryptionInTransit(const KafkaClusterEncryptionInTransit& value) { m_kafkaClusterEncryptionInTransitHasBeenSet = true; m_kafkaClusterEncryptionInTransit = value; } /** *

Details of encryption in transit to the Apache Kafka cluster.

*/ inline void SetKafkaClusterEncryptionInTransit(KafkaClusterEncryptionInTransit&& value) { m_kafkaClusterEncryptionInTransitHasBeenSet = true; m_kafkaClusterEncryptionInTransit = std::move(value); } /** *

Details of encryption in transit to the Apache Kafka cluster.

*/ inline CreateConnectorRequest& WithKafkaClusterEncryptionInTransit(const KafkaClusterEncryptionInTransit& value) { SetKafkaClusterEncryptionInTransit(value); return *this;} /** *

Details of encryption in transit to the Apache Kafka cluster.

*/ inline CreateConnectorRequest& WithKafkaClusterEncryptionInTransit(KafkaClusterEncryptionInTransit&& value) { SetKafkaClusterEncryptionInTransit(std::move(value)); return *this;} /** *

The version of Kafka Connect. It has to be compatible with both the Apache * Kafka cluster's version and the plugins.

*/ inline const Aws::String& GetKafkaConnectVersion() const{ return m_kafkaConnectVersion; } /** *

The version of Kafka Connect. It has to be compatible with both the Apache * Kafka cluster's version and the plugins.

*/ inline bool KafkaConnectVersionHasBeenSet() const { return m_kafkaConnectVersionHasBeenSet; } /** *

The version of Kafka Connect. It has to be compatible with both the Apache * Kafka cluster's version and the plugins.

*/ inline void SetKafkaConnectVersion(const Aws::String& value) { m_kafkaConnectVersionHasBeenSet = true; m_kafkaConnectVersion = value; } /** *

The version of Kafka Connect. It has to be compatible with both the Apache * Kafka cluster's version and the plugins.

*/ inline void SetKafkaConnectVersion(Aws::String&& value) { m_kafkaConnectVersionHasBeenSet = true; m_kafkaConnectVersion = std::move(value); } /** *

The version of Kafka Connect. It has to be compatible with both the Apache * Kafka cluster's version and the plugins.

*/ inline void SetKafkaConnectVersion(const char* value) { m_kafkaConnectVersionHasBeenSet = true; m_kafkaConnectVersion.assign(value); } /** *

The version of Kafka Connect. It has to be compatible with both the Apache * Kafka cluster's version and the plugins.

*/ inline CreateConnectorRequest& WithKafkaConnectVersion(const Aws::String& value) { SetKafkaConnectVersion(value); return *this;} /** *

The version of Kafka Connect. It has to be compatible with both the Apache * Kafka cluster's version and the plugins.

*/ inline CreateConnectorRequest& WithKafkaConnectVersion(Aws::String&& value) { SetKafkaConnectVersion(std::move(value)); return *this;} /** *

The version of Kafka Connect. It has to be compatible with both the Apache * Kafka cluster's version and the plugins.

*/ inline CreateConnectorRequest& WithKafkaConnectVersion(const char* value) { SetKafkaConnectVersion(value); return *this;} /** *

Details about log delivery.

*/ inline const LogDelivery& GetLogDelivery() const{ return m_logDelivery; } /** *

Details about log delivery.

*/ inline bool LogDeliveryHasBeenSet() const { return m_logDeliveryHasBeenSet; } /** *

Details about log delivery.

*/ inline void SetLogDelivery(const LogDelivery& value) { m_logDeliveryHasBeenSet = true; m_logDelivery = value; } /** *

Details about log delivery.

*/ inline void SetLogDelivery(LogDelivery&& value) { m_logDeliveryHasBeenSet = true; m_logDelivery = std::move(value); } /** *

Details about log delivery.

*/ inline CreateConnectorRequest& WithLogDelivery(const LogDelivery& value) { SetLogDelivery(value); return *this;} /** *

Details about log delivery.

*/ inline CreateConnectorRequest& WithLogDelivery(LogDelivery&& value) { SetLogDelivery(std::move(value)); return *this;} /** *

Specifies which plugins to use for the connector.

*/ inline const Aws::Vector& GetPlugins() const{ return m_plugins; } /** *

Specifies which plugins to use for the connector.

*/ inline bool PluginsHasBeenSet() const { return m_pluginsHasBeenSet; } /** *

Specifies which plugins to use for the connector.

*/ inline void SetPlugins(const Aws::Vector& value) { m_pluginsHasBeenSet = true; m_plugins = value; } /** *

Specifies which plugins to use for the connector.

*/ inline void SetPlugins(Aws::Vector&& value) { m_pluginsHasBeenSet = true; m_plugins = std::move(value); } /** *

Specifies which plugins to use for the connector.

*/ inline CreateConnectorRequest& WithPlugins(const Aws::Vector& value) { SetPlugins(value); return *this;} /** *

Specifies which plugins to use for the connector.

*/ inline CreateConnectorRequest& WithPlugins(Aws::Vector&& value) { SetPlugins(std::move(value)); return *this;} /** *

Specifies which plugins to use for the connector.

*/ inline CreateConnectorRequest& AddPlugins(const Plugin& value) { m_pluginsHasBeenSet = true; m_plugins.push_back(value); return *this; } /** *

Specifies which plugins to use for the connector.

*/ inline CreateConnectorRequest& AddPlugins(Plugin&& value) { m_pluginsHasBeenSet = true; m_plugins.push_back(std::move(value)); return *this; } /** *

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.

*/ inline const Aws::String& GetServiceExecutionRoleArn() const{ return m_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.

*/ inline bool ServiceExecutionRoleArnHasBeenSet() const { return m_serviceExecutionRoleArnHasBeenSet; } /** *

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.

*/ inline void SetServiceExecutionRoleArn(const Aws::String& value) { m_serviceExecutionRoleArnHasBeenSet = true; m_serviceExecutionRoleArn = value; } /** *

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.

*/ inline void SetServiceExecutionRoleArn(Aws::String&& value) { m_serviceExecutionRoleArnHasBeenSet = true; m_serviceExecutionRoleArn = std::move(value); } /** *

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.

*/ inline void SetServiceExecutionRoleArn(const char* value) { m_serviceExecutionRoleArnHasBeenSet = true; m_serviceExecutionRoleArn.assign(value); } /** *

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.

*/ inline CreateConnectorRequest& WithServiceExecutionRoleArn(const Aws::String& value) { SetServiceExecutionRoleArn(value); return *this;} /** *

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.

*/ inline CreateConnectorRequest& WithServiceExecutionRoleArn(Aws::String&& value) { SetServiceExecutionRoleArn(std::move(value)); return *this;} /** *

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.

*/ inline CreateConnectorRequest& WithServiceExecutionRoleArn(const char* value) { SetServiceExecutionRoleArn(value); return *this;} /** *

Specifies which worker configuration to use with the connector.

*/ inline const WorkerConfiguration& GetWorkerConfiguration() const{ return m_workerConfiguration; } /** *

Specifies which worker configuration to use with the connector.

*/ inline bool WorkerConfigurationHasBeenSet() const { return m_workerConfigurationHasBeenSet; } /** *

Specifies which worker configuration to use with the connector.

*/ inline void SetWorkerConfiguration(const WorkerConfiguration& value) { m_workerConfigurationHasBeenSet = true; m_workerConfiguration = value; } /** *

Specifies which worker configuration to use with the connector.

*/ inline void SetWorkerConfiguration(WorkerConfiguration&& value) { m_workerConfigurationHasBeenSet = true; m_workerConfiguration = std::move(value); } /** *

Specifies which worker configuration to use with the connector.

*/ inline CreateConnectorRequest& WithWorkerConfiguration(const WorkerConfiguration& value) { SetWorkerConfiguration(value); return *this;} /** *

Specifies which worker configuration to use with the connector.

*/ inline CreateConnectorRequest& WithWorkerConfiguration(WorkerConfiguration&& value) { SetWorkerConfiguration(std::move(value)); return *this;} private: Capacity m_capacity; bool m_capacityHasBeenSet = false; Aws::Map m_connectorConfiguration; bool m_connectorConfigurationHasBeenSet = false; Aws::String m_connectorDescription; bool m_connectorDescriptionHasBeenSet = false; Aws::String m_connectorName; bool m_connectorNameHasBeenSet = false; KafkaCluster m_kafkaCluster; bool m_kafkaClusterHasBeenSet = false; KafkaClusterClientAuthentication m_kafkaClusterClientAuthentication; bool m_kafkaClusterClientAuthenticationHasBeenSet = false; KafkaClusterEncryptionInTransit m_kafkaClusterEncryptionInTransit; bool m_kafkaClusterEncryptionInTransitHasBeenSet = false; Aws::String m_kafkaConnectVersion; bool m_kafkaConnectVersionHasBeenSet = false; LogDelivery m_logDelivery; bool m_logDeliveryHasBeenSet = false; Aws::Vector m_plugins; bool m_pluginsHasBeenSet = false; Aws::String m_serviceExecutionRoleArn; bool m_serviceExecutionRoleArnHasBeenSet = false; WorkerConfiguration m_workerConfiguration; bool m_workerConfigurationHasBeenSet = false; }; } // namespace Model } // namespace KafkaConnect } // namespace Aws