/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Lambda { namespace Model { /** *

To secure and define access to your event source, you can specify the * authentication protocol, VPC components, or virtual host.

See * Also:

AWS * API Reference

*/ class SourceAccessConfiguration { public: AWS_LAMBDA_API SourceAccessConfiguration(); AWS_LAMBDA_API SourceAccessConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_LAMBDA_API SourceAccessConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LAMBDA_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The type of authentication protocol, VPC components, or virtual host for your * event source. For example: "Type":"SASL_SCRAM_512_AUTH".

    *
  • BASIC_AUTH – (Amazon MQ) The Secrets Manager secret that * stores your broker credentials.

  • BASIC_AUTH – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for * SASL/PLAIN authentication of your Apache Kafka brokers.

  • * VPC_SUBNET – (Self-managed Apache Kafka) The subnets associated * with your VPC. Lambda connects to these subnets to fetch data from your * self-managed Apache Kafka cluster.

  • * VPC_SECURITY_GROUP – (Self-managed Apache Kafka) The VPC security * group used to manage access to your self-managed Apache Kafka brokers.

  • *
  • SASL_SCRAM_256_AUTH – (Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of * your self-managed Apache Kafka brokers.

  • * SASL_SCRAM_512_AUTH – (Amazon MSK, Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of * your self-managed Apache Kafka brokers.

  • * VIRTUAL_HOST –- (RabbitMQ) The name of the virtual host in your * RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This * property cannot be specified in an UpdateEventSourceMapping API call.

  • *
  • CLIENT_CERTIFICATE_TLS_AUTH – (Amazon MSK, self-managed * Apache Kafka) The Secrets Manager ARN of your secret key containing the * certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key * password (optional) used for mutual TLS authentication of your MSK/Apache Kafka * brokers.

  • SERVER_ROOT_CA_CERTIFICATE – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key * containing the root CA certificate (X.509 PEM) used for TLS encryption of your * Apache Kafka brokers.

*/ inline const SourceAccessType& GetType() const{ return m_type; } /** *

The type of authentication protocol, VPC components, or virtual host for your * event source. For example: "Type":"SASL_SCRAM_512_AUTH".

    *
  • BASIC_AUTH – (Amazon MQ) The Secrets Manager secret that * stores your broker credentials.

  • BASIC_AUTH – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for * SASL/PLAIN authentication of your Apache Kafka brokers.

  • * VPC_SUBNET – (Self-managed Apache Kafka) The subnets associated * with your VPC. Lambda connects to these subnets to fetch data from your * self-managed Apache Kafka cluster.

  • * VPC_SECURITY_GROUP – (Self-managed Apache Kafka) The VPC security * group used to manage access to your self-managed Apache Kafka brokers.

  • *
  • SASL_SCRAM_256_AUTH – (Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of * your self-managed Apache Kafka brokers.

  • * SASL_SCRAM_512_AUTH – (Amazon MSK, Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of * your self-managed Apache Kafka brokers.

  • * VIRTUAL_HOST –- (RabbitMQ) The name of the virtual host in your * RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This * property cannot be specified in an UpdateEventSourceMapping API call.

  • *
  • CLIENT_CERTIFICATE_TLS_AUTH – (Amazon MSK, self-managed * Apache Kafka) The Secrets Manager ARN of your secret key containing the * certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key * password (optional) used for mutual TLS authentication of your MSK/Apache Kafka * brokers.

  • SERVER_ROOT_CA_CERTIFICATE – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key * containing the root CA certificate (X.509 PEM) used for TLS encryption of your * Apache Kafka brokers.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of authentication protocol, VPC components, or virtual host for your * event source. For example: "Type":"SASL_SCRAM_512_AUTH".

    *
  • BASIC_AUTH – (Amazon MQ) The Secrets Manager secret that * stores your broker credentials.

  • BASIC_AUTH – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for * SASL/PLAIN authentication of your Apache Kafka brokers.

  • * VPC_SUBNET – (Self-managed Apache Kafka) The subnets associated * with your VPC. Lambda connects to these subnets to fetch data from your * self-managed Apache Kafka cluster.

  • * VPC_SECURITY_GROUP – (Self-managed Apache Kafka) The VPC security * group used to manage access to your self-managed Apache Kafka brokers.

  • *
  • SASL_SCRAM_256_AUTH – (Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of * your self-managed Apache Kafka brokers.

  • * SASL_SCRAM_512_AUTH – (Amazon MSK, Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of * your self-managed Apache Kafka brokers.

  • * VIRTUAL_HOST –- (RabbitMQ) The name of the virtual host in your * RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This * property cannot be specified in an UpdateEventSourceMapping API call.

  • *
  • CLIENT_CERTIFICATE_TLS_AUTH – (Amazon MSK, self-managed * Apache Kafka) The Secrets Manager ARN of your secret key containing the * certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key * password (optional) used for mutual TLS authentication of your MSK/Apache Kafka * brokers.

  • SERVER_ROOT_CA_CERTIFICATE – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key * containing the root CA certificate (X.509 PEM) used for TLS encryption of your * Apache Kafka brokers.

*/ inline void SetType(const SourceAccessType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of authentication protocol, VPC components, or virtual host for your * event source. For example: "Type":"SASL_SCRAM_512_AUTH".

    *
  • BASIC_AUTH – (Amazon MQ) The Secrets Manager secret that * stores your broker credentials.

  • BASIC_AUTH – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for * SASL/PLAIN authentication of your Apache Kafka brokers.

  • * VPC_SUBNET – (Self-managed Apache Kafka) The subnets associated * with your VPC. Lambda connects to these subnets to fetch data from your * self-managed Apache Kafka cluster.

  • * VPC_SECURITY_GROUP – (Self-managed Apache Kafka) The VPC security * group used to manage access to your self-managed Apache Kafka brokers.

  • *
  • SASL_SCRAM_256_AUTH – (Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of * your self-managed Apache Kafka brokers.

  • * SASL_SCRAM_512_AUTH – (Amazon MSK, Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of * your self-managed Apache Kafka brokers.

  • * VIRTUAL_HOST –- (RabbitMQ) The name of the virtual host in your * RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This * property cannot be specified in an UpdateEventSourceMapping API call.

  • *
  • CLIENT_CERTIFICATE_TLS_AUTH – (Amazon MSK, self-managed * Apache Kafka) The Secrets Manager ARN of your secret key containing the * certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key * password (optional) used for mutual TLS authentication of your MSK/Apache Kafka * brokers.

  • SERVER_ROOT_CA_CERTIFICATE – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key * containing the root CA certificate (X.509 PEM) used for TLS encryption of your * Apache Kafka brokers.

*/ inline void SetType(SourceAccessType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of authentication protocol, VPC components, or virtual host for your * event source. For example: "Type":"SASL_SCRAM_512_AUTH".

    *
  • BASIC_AUTH – (Amazon MQ) The Secrets Manager secret that * stores your broker credentials.

  • BASIC_AUTH – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for * SASL/PLAIN authentication of your Apache Kafka brokers.

  • * VPC_SUBNET – (Self-managed Apache Kafka) The subnets associated * with your VPC. Lambda connects to these subnets to fetch data from your * self-managed Apache Kafka cluster.

  • * VPC_SECURITY_GROUP – (Self-managed Apache Kafka) The VPC security * group used to manage access to your self-managed Apache Kafka brokers.

  • *
  • SASL_SCRAM_256_AUTH – (Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of * your self-managed Apache Kafka brokers.

  • * SASL_SCRAM_512_AUTH – (Amazon MSK, Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of * your self-managed Apache Kafka brokers.

  • * VIRTUAL_HOST –- (RabbitMQ) The name of the virtual host in your * RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This * property cannot be specified in an UpdateEventSourceMapping API call.

  • *
  • CLIENT_CERTIFICATE_TLS_AUTH – (Amazon MSK, self-managed * Apache Kafka) The Secrets Manager ARN of your secret key containing the * certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key * password (optional) used for mutual TLS authentication of your MSK/Apache Kafka * brokers.

  • SERVER_ROOT_CA_CERTIFICATE – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key * containing the root CA certificate (X.509 PEM) used for TLS encryption of your * Apache Kafka brokers.

*/ inline SourceAccessConfiguration& WithType(const SourceAccessType& value) { SetType(value); return *this;} /** *

The type of authentication protocol, VPC components, or virtual host for your * event source. For example: "Type":"SASL_SCRAM_512_AUTH".

    *
  • BASIC_AUTH – (Amazon MQ) The Secrets Manager secret that * stores your broker credentials.

  • BASIC_AUTH – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for * SASL/PLAIN authentication of your Apache Kafka brokers.

  • * VPC_SUBNET – (Self-managed Apache Kafka) The subnets associated * with your VPC. Lambda connects to these subnets to fetch data from your * self-managed Apache Kafka cluster.

  • * VPC_SECURITY_GROUP – (Self-managed Apache Kafka) The VPC security * group used to manage access to your self-managed Apache Kafka brokers.

  • *
  • SASL_SCRAM_256_AUTH – (Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of * your self-managed Apache Kafka brokers.

  • * SASL_SCRAM_512_AUTH – (Amazon MSK, Self-managed Apache Kafka) The * Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of * your self-managed Apache Kafka brokers.

  • * VIRTUAL_HOST –- (RabbitMQ) The name of the virtual host in your * RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This * property cannot be specified in an UpdateEventSourceMapping API call.

  • *
  • CLIENT_CERTIFICATE_TLS_AUTH – (Amazon MSK, self-managed * Apache Kafka) The Secrets Manager ARN of your secret key containing the * certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key * password (optional) used for mutual TLS authentication of your MSK/Apache Kafka * brokers.

  • SERVER_ROOT_CA_CERTIFICATE – * (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key * containing the root CA certificate (X.509 PEM) used for TLS encryption of your * Apache Kafka brokers.

*/ inline SourceAccessConfiguration& WithType(SourceAccessType&& value) { SetType(std::move(value)); return *this;} /** *

The value for your chosen configuration in Type. For example: * "URI": * "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".

*/ inline const Aws::String& GetURI() const{ return m_uRI; } /** *

The value for your chosen configuration in Type. For example: * "URI": * "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".

*/ inline bool URIHasBeenSet() const { return m_uRIHasBeenSet; } /** *

The value for your chosen configuration in Type. For example: * "URI": * "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".

*/ inline void SetURI(const Aws::String& value) { m_uRIHasBeenSet = true; m_uRI = value; } /** *

The value for your chosen configuration in Type. For example: * "URI": * "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".

*/ inline void SetURI(Aws::String&& value) { m_uRIHasBeenSet = true; m_uRI = std::move(value); } /** *

The value for your chosen configuration in Type. For example: * "URI": * "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".

*/ inline void SetURI(const char* value) { m_uRIHasBeenSet = true; m_uRI.assign(value); } /** *

The value for your chosen configuration in Type. For example: * "URI": * "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".

*/ inline SourceAccessConfiguration& WithURI(const Aws::String& value) { SetURI(value); return *this;} /** *

The value for your chosen configuration in Type. For example: * "URI": * "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".

*/ inline SourceAccessConfiguration& WithURI(Aws::String&& value) { SetURI(std::move(value)); return *this;} /** *

The value for your chosen configuration in Type. For example: * "URI": * "arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName".

*/ inline SourceAccessConfiguration& WithURI(const char* value) { SetURI(value); return *this;} private: SourceAccessType m_type; bool m_typeHasBeenSet = false; Aws::String m_uRI; bool m_uRIHasBeenSet = false; }; } // namespace Model } // namespace Lambda } // namespace Aws