/**
* 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
#include
#include
#include
#include
namespace Aws
{
namespace MQ
{
namespace Model
{
/**
* Creates a broker using the specified properties.See Also:
AWS
* API Reference
*/
class AWS_MQ_API CreateBrokerRequest : public MQRequest
{
public:
CreateBrokerRequest();
// 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 "CreateBroker"; }
Aws::String SerializePayload() const override;
/**
* The authentication strategy used to secure the broker.
*/
inline const AuthenticationStrategy& GetAuthenticationStrategy() const{ return m_authenticationStrategy; }
/**
* The authentication strategy used to secure the broker.
*/
inline bool AuthenticationStrategyHasBeenSet() const { return m_authenticationStrategyHasBeenSet; }
/**
* The authentication strategy used to secure the broker.
*/
inline void SetAuthenticationStrategy(const AuthenticationStrategy& value) { m_authenticationStrategyHasBeenSet = true; m_authenticationStrategy = value; }
/**
* The authentication strategy used to secure the broker.
*/
inline void SetAuthenticationStrategy(AuthenticationStrategy&& value) { m_authenticationStrategyHasBeenSet = true; m_authenticationStrategy = std::move(value); }
/**
* The authentication strategy used to secure the broker.
*/
inline CreateBrokerRequest& WithAuthenticationStrategy(const AuthenticationStrategy& value) { SetAuthenticationStrategy(value); return *this;}
/**
* The authentication strategy used to secure the broker.
*/
inline CreateBrokerRequest& WithAuthenticationStrategy(AuthenticationStrategy&& value) { SetAuthenticationStrategy(std::move(value)); return *this;}
/**
* Required. Enables automatic upgrades to new minor versions for brokers, as
* Apache releases the versions. The automatic upgrades occur during the
* maintenance window of the broker or after a manual broker reboot.
*/
inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; }
/**
* Required. Enables automatic upgrades to new minor versions for brokers, as
* Apache releases the versions. The automatic upgrades occur during the
* maintenance window of the broker or after a manual broker reboot.
*/
inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; }
/**
* Required. Enables automatic upgrades to new minor versions for brokers, as
* Apache releases the versions. The automatic upgrades occur during the
* maintenance window of the broker or after a manual broker reboot.
*/
inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; }
/**
* Required. Enables automatic upgrades to new minor versions for brokers, as
* Apache releases the versions. The automatic upgrades occur during the
* maintenance window of the broker or after a manual broker reboot.
*/
inline CreateBrokerRequest& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;}
/**
* Required. The name of the broker. This value must be unique in your AWS account,
* 1-50 characters long, must contain only letters, numbers, dashes, and
* underscores, and must not contain whitespaces, brackets, wildcard characters, or
* special characters.
*/
inline const Aws::String& GetBrokerName() const{ return m_brokerName; }
/**
* Required. The name of the broker. This value must be unique in your AWS account,
* 1-50 characters long, must contain only letters, numbers, dashes, and
* underscores, and must not contain whitespaces, brackets, wildcard characters, or
* special characters.
*/
inline bool BrokerNameHasBeenSet() const { return m_brokerNameHasBeenSet; }
/**
* Required. The name of the broker. This value must be unique in your AWS account,
* 1-50 characters long, must contain only letters, numbers, dashes, and
* underscores, and must not contain whitespaces, brackets, wildcard characters, or
* special characters.
*/
inline void SetBrokerName(const Aws::String& value) { m_brokerNameHasBeenSet = true; m_brokerName = value; }
/**
* Required. The name of the broker. This value must be unique in your AWS account,
* 1-50 characters long, must contain only letters, numbers, dashes, and
* underscores, and must not contain whitespaces, brackets, wildcard characters, or
* special characters.
*/
inline void SetBrokerName(Aws::String&& value) { m_brokerNameHasBeenSet = true; m_brokerName = std::move(value); }
/**
* Required. The name of the broker. This value must be unique in your AWS account,
* 1-50 characters long, must contain only letters, numbers, dashes, and
* underscores, and must not contain whitespaces, brackets, wildcard characters, or
* special characters.
*/
inline void SetBrokerName(const char* value) { m_brokerNameHasBeenSet = true; m_brokerName.assign(value); }
/**
* Required. The name of the broker. This value must be unique in your AWS account,
* 1-50 characters long, must contain only letters, numbers, dashes, and
* underscores, and must not contain whitespaces, brackets, wildcard characters, or
* special characters.
*/
inline CreateBrokerRequest& WithBrokerName(const Aws::String& value) { SetBrokerName(value); return *this;}
/**
* Required. The name of the broker. This value must be unique in your AWS account,
* 1-50 characters long, must contain only letters, numbers, dashes, and
* underscores, and must not contain whitespaces, brackets, wildcard characters, or
* special characters.
*/
inline CreateBrokerRequest& WithBrokerName(Aws::String&& value) { SetBrokerName(std::move(value)); return *this;}
/**
* Required. The name of the broker. This value must be unique in your AWS account,
* 1-50 characters long, must contain only letters, numbers, dashes, and
* underscores, and must not contain whitespaces, brackets, wildcard characters, or
* special characters.
*/
inline CreateBrokerRequest& WithBrokerName(const char* value) { SetBrokerName(value); return *this;}
/**
* A list of information about the configuration.
*/
inline const ConfigurationId& GetConfiguration() const{ return m_configuration; }
/**
* A list of information about the configuration.
*/
inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
/**
* A list of information about the configuration.
*/
inline void SetConfiguration(const ConfigurationId& value) { m_configurationHasBeenSet = true; m_configuration = value; }
/**
* A list of information about the configuration.
*/
inline void SetConfiguration(ConfigurationId&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); }
/**
* A list of information about the configuration.
*/
inline CreateBrokerRequest& WithConfiguration(const ConfigurationId& value) { SetConfiguration(value); return *this;}
/**
* A list of information about the configuration.
*/
inline CreateBrokerRequest& WithConfiguration(ConfigurationId&& value) { SetConfiguration(std::move(value)); return *this;}
/**
* The unique ID that the requester receives for the created broker. Amazon MQ
* passes your ID with the API action. Note: We recommend using a Universally
* Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*/
inline const Aws::String& GetCreatorRequestId() const{ return m_creatorRequestId; }
/**
* The unique ID that the requester receives for the created broker. Amazon MQ
* passes your ID with the API action. Note: We recommend using a Universally
* Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*/
inline bool CreatorRequestIdHasBeenSet() const { return m_creatorRequestIdHasBeenSet; }
/**
* The unique ID that the requester receives for the created broker. Amazon MQ
* passes your ID with the API action. Note: We recommend using a Universally
* Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*/
inline void SetCreatorRequestId(const Aws::String& value) { m_creatorRequestIdHasBeenSet = true; m_creatorRequestId = value; }
/**
* The unique ID that the requester receives for the created broker. Amazon MQ
* passes your ID with the API action. Note: We recommend using a Universally
* Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*/
inline void SetCreatorRequestId(Aws::String&& value) { m_creatorRequestIdHasBeenSet = true; m_creatorRequestId = std::move(value); }
/**
* The unique ID that the requester receives for the created broker. Amazon MQ
* passes your ID with the API action. Note: We recommend using a Universally
* Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*/
inline void SetCreatorRequestId(const char* value) { m_creatorRequestIdHasBeenSet = true; m_creatorRequestId.assign(value); }
/**
* The unique ID that the requester receives for the created broker. Amazon MQ
* passes your ID with the API action. Note: We recommend using a Universally
* Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*/
inline CreateBrokerRequest& WithCreatorRequestId(const Aws::String& value) { SetCreatorRequestId(value); return *this;}
/**
* The unique ID that the requester receives for the created broker. Amazon MQ
* passes your ID with the API action. Note: We recommend using a Universally
* Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*/
inline CreateBrokerRequest& WithCreatorRequestId(Aws::String&& value) { SetCreatorRequestId(std::move(value)); return *this;}
/**
* The unique ID that the requester receives for the created broker. Amazon MQ
* passes your ID with the API action. Note: We recommend using a Universally
* Unique Identifier (UUID) for the creatorRequestId. You may omit the
* creatorRequestId if your application doesn't require idempotency.
*/
inline CreateBrokerRequest& WithCreatorRequestId(const char* value) { SetCreatorRequestId(value); return *this;}
/**
* Required. The deployment mode of the broker.
*/
inline const DeploymentMode& GetDeploymentMode() const{ return m_deploymentMode; }
/**
* Required. The deployment mode of the broker.
*/
inline bool DeploymentModeHasBeenSet() const { return m_deploymentModeHasBeenSet; }
/**
* Required. The deployment mode of the broker.
*/
inline void SetDeploymentMode(const DeploymentMode& value) { m_deploymentModeHasBeenSet = true; m_deploymentMode = value; }
/**
* Required. The deployment mode of the broker.
*/
inline void SetDeploymentMode(DeploymentMode&& value) { m_deploymentModeHasBeenSet = true; m_deploymentMode = std::move(value); }
/**
* Required. The deployment mode of the broker.
*/
inline CreateBrokerRequest& WithDeploymentMode(const DeploymentMode& value) { SetDeploymentMode(value); return *this;}
/**
* Required. The deployment mode of the broker.
*/
inline CreateBrokerRequest& WithDeploymentMode(DeploymentMode&& value) { SetDeploymentMode(std::move(value)); return *this;}
/**
* Encryption options for the broker.
*/
inline const EncryptionOptions& GetEncryptionOptions() const{ return m_encryptionOptions; }
/**
* Encryption options for the broker.
*/
inline bool EncryptionOptionsHasBeenSet() const { return m_encryptionOptionsHasBeenSet; }
/**
* Encryption options for the broker.
*/
inline void SetEncryptionOptions(const EncryptionOptions& value) { m_encryptionOptionsHasBeenSet = true; m_encryptionOptions = value; }
/**
* Encryption options for the broker.
*/
inline void SetEncryptionOptions(EncryptionOptions&& value) { m_encryptionOptionsHasBeenSet = true; m_encryptionOptions = std::move(value); }
/**
* Encryption options for the broker.
*/
inline CreateBrokerRequest& WithEncryptionOptions(const EncryptionOptions& value) { SetEncryptionOptions(value); return *this;}
/**
* Encryption options for the broker.
*/
inline CreateBrokerRequest& WithEncryptionOptions(EncryptionOptions&& value) { SetEncryptionOptions(std::move(value)); return *this;}
/**
* Required. The type of broker engine. Note: Currently, Amazon MQ supports only
* ACTIVEMQ.
*/
inline const EngineType& GetEngineType() const{ return m_engineType; }
/**
* Required. The type of broker engine. Note: Currently, Amazon MQ supports only
* ACTIVEMQ.
*/
inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; }
/**
* Required. The type of broker engine. Note: Currently, Amazon MQ supports only
* ACTIVEMQ.
*/
inline void SetEngineType(const EngineType& value) { m_engineTypeHasBeenSet = true; m_engineType = value; }
/**
* Required. The type of broker engine. Note: Currently, Amazon MQ supports only
* ACTIVEMQ.
*/
inline void SetEngineType(EngineType&& value) { m_engineTypeHasBeenSet = true; m_engineType = std::move(value); }
/**
* Required. The type of broker engine. Note: Currently, Amazon MQ supports only
* ACTIVEMQ.
*/
inline CreateBrokerRequest& WithEngineType(const EngineType& value) { SetEngineType(value); return *this;}
/**
* Required. The type of broker engine. Note: Currently, Amazon MQ supports only
* ACTIVEMQ.
*/
inline CreateBrokerRequest& WithEngineType(EngineType&& value) { SetEngineType(std::move(value)); return *this;}
/**
* Required. The version of the broker engine. For a list of supported engine
* versions, see
* https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html
*/
inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; }
/**
* Required. The version of the broker engine. For a list of supported engine
* versions, see
* https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html
*/
inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; }
/**
* Required. The version of the broker engine. For a list of supported engine
* versions, see
* https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html
*/
inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; }
/**
* Required. The version of the broker engine. For a list of supported engine
* versions, see
* https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html
*/
inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); }
/**
* Required. The version of the broker engine. For a list of supported engine
* versions, see
* https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html
*/
inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); }
/**
* Required. The version of the broker engine. For a list of supported engine
* versions, see
* https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html
*/
inline CreateBrokerRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;}
/**
* Required. The version of the broker engine. For a list of supported engine
* versions, see
* https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html
*/
inline CreateBrokerRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;}
/**
* Required. The version of the broker engine. For a list of supported engine
* versions, see
* https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html
*/
inline CreateBrokerRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;}
/**
* Required. The broker's instance type.
*/
inline const Aws::String& GetHostInstanceType() const{ return m_hostInstanceType; }
/**
* Required. The broker's instance type.
*/
inline bool HostInstanceTypeHasBeenSet() const { return m_hostInstanceTypeHasBeenSet; }
/**
* Required. The broker's instance type.
*/
inline void SetHostInstanceType(const Aws::String& value) { m_hostInstanceTypeHasBeenSet = true; m_hostInstanceType = value; }
/**
* Required. The broker's instance type.
*/
inline void SetHostInstanceType(Aws::String&& value) { m_hostInstanceTypeHasBeenSet = true; m_hostInstanceType = std::move(value); }
/**
* Required. The broker's instance type.
*/
inline void SetHostInstanceType(const char* value) { m_hostInstanceTypeHasBeenSet = true; m_hostInstanceType.assign(value); }
/**
* Required. The broker's instance type.
*/
inline CreateBrokerRequest& WithHostInstanceType(const Aws::String& value) { SetHostInstanceType(value); return *this;}
/**
* Required. The broker's instance type.
*/
inline CreateBrokerRequest& WithHostInstanceType(Aws::String&& value) { SetHostInstanceType(std::move(value)); return *this;}
/**
* Required. The broker's instance type.
*/
inline CreateBrokerRequest& WithHostInstanceType(const char* value) { SetHostInstanceType(value); return *this;}
/**
* The metadata of the LDAP server used to authenticate and authorize connections
* to the broker.
*/
inline const LdapServerMetadataInput& GetLdapServerMetadata() const{ return m_ldapServerMetadata; }
/**
* The metadata of the LDAP server used to authenticate and authorize connections
* to the broker.
*/
inline bool LdapServerMetadataHasBeenSet() const { return m_ldapServerMetadataHasBeenSet; }
/**
* The metadata of the LDAP server used to authenticate and authorize connections
* to the broker.
*/
inline void SetLdapServerMetadata(const LdapServerMetadataInput& value) { m_ldapServerMetadataHasBeenSet = true; m_ldapServerMetadata = value; }
/**
* The metadata of the LDAP server used to authenticate and authorize connections
* to the broker.
*/
inline void SetLdapServerMetadata(LdapServerMetadataInput&& value) { m_ldapServerMetadataHasBeenSet = true; m_ldapServerMetadata = std::move(value); }
/**
* The metadata of the LDAP server used to authenticate and authorize connections
* to the broker.
*/
inline CreateBrokerRequest& WithLdapServerMetadata(const LdapServerMetadataInput& value) { SetLdapServerMetadata(value); return *this;}
/**
* The metadata of the LDAP server used to authenticate and authorize connections
* to the broker.
*/
inline CreateBrokerRequest& WithLdapServerMetadata(LdapServerMetadataInput&& value) { SetLdapServerMetadata(std::move(value)); return *this;}
/**
* Enables Amazon CloudWatch logging for brokers.
*/
inline const Logs& GetLogs() const{ return m_logs; }
/**
* Enables Amazon CloudWatch logging for brokers.
*/
inline bool LogsHasBeenSet() const { return m_logsHasBeenSet; }
/**
* Enables Amazon CloudWatch logging for brokers.
*/
inline void SetLogs(const Logs& value) { m_logsHasBeenSet = true; m_logs = value; }
/**
* Enables Amazon CloudWatch logging for brokers.
*/
inline void SetLogs(Logs&& value) { m_logsHasBeenSet = true; m_logs = std::move(value); }
/**
* Enables Amazon CloudWatch logging for brokers.
*/
inline CreateBrokerRequest& WithLogs(const Logs& value) { SetLogs(value); return *this;}
/**
* Enables Amazon CloudWatch logging for brokers.
*/
inline CreateBrokerRequest& WithLogs(Logs&& value) { SetLogs(std::move(value)); return *this;}
/**
* The parameters that determine the WeeklyStartTime.
*/
inline const WeeklyStartTime& GetMaintenanceWindowStartTime() const{ return m_maintenanceWindowStartTime; }
/**
* The parameters that determine the WeeklyStartTime.
*/
inline bool MaintenanceWindowStartTimeHasBeenSet() const { return m_maintenanceWindowStartTimeHasBeenSet; }
/**
* The parameters that determine the WeeklyStartTime.
*/
inline void SetMaintenanceWindowStartTime(const WeeklyStartTime& value) { m_maintenanceWindowStartTimeHasBeenSet = true; m_maintenanceWindowStartTime = value; }
/**
* The parameters that determine the WeeklyStartTime.
*/
inline void SetMaintenanceWindowStartTime(WeeklyStartTime&& value) { m_maintenanceWindowStartTimeHasBeenSet = true; m_maintenanceWindowStartTime = std::move(value); }
/**
* The parameters that determine the WeeklyStartTime.
*/
inline CreateBrokerRequest& WithMaintenanceWindowStartTime(const WeeklyStartTime& value) { SetMaintenanceWindowStartTime(value); return *this;}
/**
* The parameters that determine the WeeklyStartTime.
*/
inline CreateBrokerRequest& WithMaintenanceWindowStartTime(WeeklyStartTime&& value) { SetMaintenanceWindowStartTime(std::move(value)); return *this;}
/**
* Required. Enables connections from applications outside of the VPC that hosts
* the broker's subnets.
*/
inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; }
/**
* Required. Enables connections from applications outside of the VPC that hosts
* the broker's subnets.
*/
inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; }
/**
* Required. Enables connections from applications outside of the VPC that hosts
* the broker's subnets.
*/
inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; }
/**
* Required. Enables connections from applications outside of the VPC that hosts
* the broker's subnets.
*/
inline CreateBrokerRequest& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;}
/**
* The list of security groups (1 minimum, 5 maximum) that authorizes connections
* to brokers.
*/
inline const Aws::Vector& GetSecurityGroups() const{ return m_securityGroups; }
/**
* The list of security groups (1 minimum, 5 maximum) that authorizes connections
* to brokers.
*/
inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
/**
* The list of security groups (1 minimum, 5 maximum) that authorizes connections
* to brokers.
*/
inline void SetSecurityGroups(const Aws::Vector& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; }
/**
* The list of security groups (1 minimum, 5 maximum) that authorizes connections
* to brokers.
*/
inline void SetSecurityGroups(Aws::Vector&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::move(value); }
/**
* The list of security groups (1 minimum, 5 maximum) that authorizes connections
* to brokers.
*/
inline CreateBrokerRequest& WithSecurityGroups(const Aws::Vector& value) { SetSecurityGroups(value); return *this;}
/**
* The list of security groups (1 minimum, 5 maximum) that authorizes connections
* to brokers.
*/
inline CreateBrokerRequest& WithSecurityGroups(Aws::Vector&& value) { SetSecurityGroups(std::move(value)); return *this;}
/**
* The list of security groups (1 minimum, 5 maximum) that authorizes connections
* to brokers.
*/
inline CreateBrokerRequest& AddSecurityGroups(const Aws::String& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; }
/**
* The list of security groups (1 minimum, 5 maximum) that authorizes connections
* to brokers.
*/
inline CreateBrokerRequest& AddSecurityGroups(Aws::String&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; }
/**
* The list of security groups (1 minimum, 5 maximum) that authorizes connections
* to brokers.
*/
inline CreateBrokerRequest& AddSecurityGroups(const char* value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; }
/**
* The broker's storage type.
*/
inline const BrokerStorageType& GetStorageType() const{ return m_storageType; }
/**
* The broker's storage type.
*/
inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; }
/**
* The broker's storage type.
*/
inline void SetStorageType(const BrokerStorageType& value) { m_storageTypeHasBeenSet = true; m_storageType = value; }
/**
* The broker's storage type.
*/
inline void SetStorageType(BrokerStorageType&& value) { m_storageTypeHasBeenSet = true; m_storageType = std::move(value); }
/**
* The broker's storage type.
*/
inline CreateBrokerRequest& WithStorageType(const BrokerStorageType& value) { SetStorageType(value); return *this;}
/**
* The broker's storage type.
*/
inline CreateBrokerRequest& WithStorageType(BrokerStorageType&& value) { SetStorageType(std::move(value)); return *this;}
/**
* The list of groups (2 maximum) that define which subnets and IP ranges the
* broker can use from different Availability Zones. A SINGLE_INSTANCE deployment
* requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.
*/
inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; }
/**
* The list of groups (2 maximum) that define which subnets and IP ranges the
* broker can use from different Availability Zones. A SINGLE_INSTANCE deployment
* requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.
*/
inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
/**
* The list of groups (2 maximum) that define which subnets and IP ranges the
* broker can use from different Availability Zones. A SINGLE_INSTANCE deployment
* requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.
*/
inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; }
/**
* The list of groups (2 maximum) that define which subnets and IP ranges the
* broker can use from different Availability Zones. A SINGLE_INSTANCE deployment
* requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.
*/
inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); }
/**
* The list of groups (2 maximum) that define which subnets and IP ranges the
* broker can use from different Availability Zones. A SINGLE_INSTANCE deployment
* requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.
*/
inline CreateBrokerRequest& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;}
/**
* The list of groups (2 maximum) that define which subnets and IP ranges the
* broker can use from different Availability Zones. A SINGLE_INSTANCE deployment
* requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.
*/
inline CreateBrokerRequest& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;}
/**
* The list of groups (2 maximum) that define which subnets and IP ranges the
* broker can use from different Availability Zones. A SINGLE_INSTANCE deployment
* requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.
*/
inline CreateBrokerRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
/**
* The list of groups (2 maximum) that define which subnets and IP ranges the
* broker can use from different Availability Zones. A SINGLE_INSTANCE deployment
* requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.
*/
inline CreateBrokerRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; }
/**
* The list of groups (2 maximum) that define which subnets and IP ranges the
* broker can use from different Availability Zones. A SINGLE_INSTANCE deployment
* requires one subnet (for example, the default subnet). An
* ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.
*/
inline CreateBrokerRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; }
/**
* Create tags when creating the broker.
*/
inline const Aws::Map& GetTags() const{ return m_tags; }
/**
* Create tags when creating the broker.
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* Create tags when creating the broker.
*/
inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* Create tags when creating the broker.
*/
inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* Create tags when creating the broker.
*/
inline CreateBrokerRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;}
/**
* Create tags when creating the broker.
*/
inline CreateBrokerRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;}
/**
* Create tags when creating the broker.
*/
inline CreateBrokerRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
/**
* Create tags when creating the broker.
*/
inline CreateBrokerRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
/**
* Create tags when creating the broker.
*/
inline CreateBrokerRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
/**
* Create tags when creating the broker.
*/
inline CreateBrokerRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
/**
* Create tags when creating the broker.
*/
inline CreateBrokerRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
/**
* Create tags when creating the broker.
*/
inline CreateBrokerRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
/**
* Create tags when creating the broker.
*/
inline CreateBrokerRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
/**
* Required. The list of ActiveMQ users (persons or applications) who can access
* queues and topics. This value can contain only alphanumeric characters, dashes,
* periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters
* long.
*/
inline const Aws::Vector& GetUsers() const{ return m_users; }
/**
* Required. The list of ActiveMQ users (persons or applications) who can access
* queues and topics. This value can contain only alphanumeric characters, dashes,
* periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters
* long.
*/
inline bool UsersHasBeenSet() const { return m_usersHasBeenSet; }
/**
* Required. The list of ActiveMQ users (persons or applications) who can access
* queues and topics. This value can contain only alphanumeric characters, dashes,
* periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters
* long.
*/
inline void SetUsers(const Aws::Vector& value) { m_usersHasBeenSet = true; m_users = value; }
/**
* Required. The list of ActiveMQ users (persons or applications) who can access
* queues and topics. This value can contain only alphanumeric characters, dashes,
* periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters
* long.
*/
inline void SetUsers(Aws::Vector&& value) { m_usersHasBeenSet = true; m_users = std::move(value); }
/**
* Required. The list of ActiveMQ users (persons or applications) who can access
* queues and topics. This value can contain only alphanumeric characters, dashes,
* periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters
* long.
*/
inline CreateBrokerRequest& WithUsers(const Aws::Vector& value) { SetUsers(value); return *this;}
/**
* Required. The list of ActiveMQ users (persons or applications) who can access
* queues and topics. This value can contain only alphanumeric characters, dashes,
* periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters
* long.
*/
inline CreateBrokerRequest& WithUsers(Aws::Vector&& value) { SetUsers(std::move(value)); return *this;}
/**
* Required. The list of ActiveMQ users (persons or applications) who can access
* queues and topics. This value can contain only alphanumeric characters, dashes,
* periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters
* long.
*/
inline CreateBrokerRequest& AddUsers(const User& value) { m_usersHasBeenSet = true; m_users.push_back(value); return *this; }
/**
* Required. The list of ActiveMQ users (persons or applications) who can access
* queues and topics. This value can contain only alphanumeric characters, dashes,
* periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters
* long.
*/
inline CreateBrokerRequest& AddUsers(User&& value) { m_usersHasBeenSet = true; m_users.push_back(std::move(value)); return *this; }
private:
AuthenticationStrategy m_authenticationStrategy;
bool m_authenticationStrategyHasBeenSet;
bool m_autoMinorVersionUpgrade;
bool m_autoMinorVersionUpgradeHasBeenSet;
Aws::String m_brokerName;
bool m_brokerNameHasBeenSet;
ConfigurationId m_configuration;
bool m_configurationHasBeenSet;
Aws::String m_creatorRequestId;
bool m_creatorRequestIdHasBeenSet;
DeploymentMode m_deploymentMode;
bool m_deploymentModeHasBeenSet;
EncryptionOptions m_encryptionOptions;
bool m_encryptionOptionsHasBeenSet;
EngineType m_engineType;
bool m_engineTypeHasBeenSet;
Aws::String m_engineVersion;
bool m_engineVersionHasBeenSet;
Aws::String m_hostInstanceType;
bool m_hostInstanceTypeHasBeenSet;
LdapServerMetadataInput m_ldapServerMetadata;
bool m_ldapServerMetadataHasBeenSet;
Logs m_logs;
bool m_logsHasBeenSet;
WeeklyStartTime m_maintenanceWindowStartTime;
bool m_maintenanceWindowStartTimeHasBeenSet;
bool m_publiclyAccessible;
bool m_publiclyAccessibleHasBeenSet;
Aws::Vector m_securityGroups;
bool m_securityGroupsHasBeenSet;
BrokerStorageType m_storageType;
bool m_storageTypeHasBeenSet;
Aws::Vector m_subnetIds;
bool m_subnetIdsHasBeenSet;
Aws::Map m_tags;
bool m_tagsHasBeenSet;
Aws::Vector m_users;
bool m_usersHasBeenSet;
};
} // namespace Model
} // namespace MQ
} // namespace Aws