/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Creates a broker using the specified properties.See Also:
* AWS
* API Reference
Optional. The authentication strategy used to secure the broker. The default * is SIMPLE.
*/ inline const AuthenticationStrategy& GetAuthenticationStrategy() const{ return m_authenticationStrategy; } /** *Optional. The authentication strategy used to secure the broker. The default * is SIMPLE.
*/ inline bool AuthenticationStrategyHasBeenSet() const { return m_authenticationStrategyHasBeenSet; } /** *Optional. The authentication strategy used to secure the broker. The default * is SIMPLE.
*/ inline void SetAuthenticationStrategy(const AuthenticationStrategy& value) { m_authenticationStrategyHasBeenSet = true; m_authenticationStrategy = value; } /** *Optional. The authentication strategy used to secure the broker. The default * is SIMPLE.
*/ inline void SetAuthenticationStrategy(AuthenticationStrategy&& value) { m_authenticationStrategyHasBeenSet = true; m_authenticationStrategy = std::move(value); } /** *Optional. The authentication strategy used to secure the broker. The default * is SIMPLE.
*/ inline CreateBrokerRequest& WithAuthenticationStrategy(const AuthenticationStrategy& value) { SetAuthenticationStrategy(value); return *this;} /** *Optional. The authentication strategy used to secure the broker. The default * is SIMPLE.
*/ inline CreateBrokerRequest& WithAuthenticationStrategy(AuthenticationStrategy&& value) { SetAuthenticationStrategy(std::move(value)); return *this;} /** *Enables automatic upgrades to new minor versions for brokers, as new versions * are released and supported by Amazon MQ. Automatic upgrades occur during the * scheduled maintenance window of the broker or after a manual broker reboot. Set * to true by default, if no value is specified.
*/ inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; } /** *Enables automatic upgrades to new minor versions for brokers, as new versions * are released and supported by Amazon MQ. Automatic upgrades occur during the * scheduled maintenance window of the broker or after a manual broker reboot. Set * to true by default, if no value is specified.
*/ inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } /** *Enables automatic upgrades to new minor versions for brokers, as new versions * are released and supported by Amazon MQ. Automatic upgrades occur during the * scheduled maintenance window of the broker or after a manual broker reboot. Set * to true by default, if no value is specified.
*/ inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } /** *Enables automatic upgrades to new minor versions for brokers, as new versions * are released and supported by Amazon MQ. Automatic upgrades occur during the * scheduled maintenance window of the broker or after a manual broker reboot. Set * to true by default, if no value is specified.
*/ inline CreateBrokerRequest& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} /** *Required. The broker's name. This value must be unique in your Amazon Web * Services account, 1-50 characters long, must contain only letters, numbers, * dashes, and underscores, and must not contain white spaces, brackets, wildcard * characters, or special characters.
Do not add personally * identifiable information (PII) or other confidential or sensitive information in * broker names. Broker names are accessible to other Amazon Web Services services, * including CloudWatch Logs. Broker names are not intended to be used for private * or sensitive data.
*/ inline const Aws::String& GetBrokerName() const{ return m_brokerName; } /** *Required. The broker's name. This value must be unique in your Amazon Web * Services account, 1-50 characters long, must contain only letters, numbers, * dashes, and underscores, and must not contain white spaces, brackets, wildcard * characters, or special characters.
Do not add personally * identifiable information (PII) or other confidential or sensitive information in * broker names. Broker names are accessible to other Amazon Web Services services, * including CloudWatch Logs. Broker names are not intended to be used for private * or sensitive data.
*/ inline bool BrokerNameHasBeenSet() const { return m_brokerNameHasBeenSet; } /** *Required. The broker's name. This value must be unique in your Amazon Web * Services account, 1-50 characters long, must contain only letters, numbers, * dashes, and underscores, and must not contain white spaces, brackets, wildcard * characters, or special characters.
Do not add personally * identifiable information (PII) or other confidential or sensitive information in * broker names. Broker names are accessible to other Amazon Web Services services, * including CloudWatch Logs. Broker names are not intended to be used for private * or sensitive data.
*/ inline void SetBrokerName(const Aws::String& value) { m_brokerNameHasBeenSet = true; m_brokerName = value; } /** *Required. The broker's name. This value must be unique in your Amazon Web * Services account, 1-50 characters long, must contain only letters, numbers, * dashes, and underscores, and must not contain white spaces, brackets, wildcard * characters, or special characters.
Do not add personally * identifiable information (PII) or other confidential or sensitive information in * broker names. Broker names are accessible to other Amazon Web Services services, * including CloudWatch Logs. Broker names are not intended to be used for private * or sensitive data.
*/ inline void SetBrokerName(Aws::String&& value) { m_brokerNameHasBeenSet = true; m_brokerName = std::move(value); } /** *Required. The broker's name. This value must be unique in your Amazon Web * Services account, 1-50 characters long, must contain only letters, numbers, * dashes, and underscores, and must not contain white spaces, brackets, wildcard * characters, or special characters.
Do not add personally * identifiable information (PII) or other confidential or sensitive information in * broker names. Broker names are accessible to other Amazon Web Services services, * including CloudWatch Logs. Broker names are not intended to be used for private * or sensitive data.
*/ inline void SetBrokerName(const char* value) { m_brokerNameHasBeenSet = true; m_brokerName.assign(value); } /** *Required. The broker's name. This value must be unique in your Amazon Web * Services account, 1-50 characters long, must contain only letters, numbers, * dashes, and underscores, and must not contain white spaces, brackets, wildcard * characters, or special characters.
Do not add personally * identifiable information (PII) or other confidential or sensitive information in * broker names. Broker names are accessible to other Amazon Web Services services, * including CloudWatch Logs. Broker names are not intended to be used for private * or sensitive data.
*/ inline CreateBrokerRequest& WithBrokerName(const Aws::String& value) { SetBrokerName(value); return *this;} /** *Required. The broker's name. This value must be unique in your Amazon Web * Services account, 1-50 characters long, must contain only letters, numbers, * dashes, and underscores, and must not contain white spaces, brackets, wildcard * characters, or special characters.
Do not add personally * identifiable information (PII) or other confidential or sensitive information in * broker names. Broker names are accessible to other Amazon Web Services services, * including CloudWatch Logs. Broker names are not intended to be used for private * or sensitive data.
*/ inline CreateBrokerRequest& WithBrokerName(Aws::String&& value) { SetBrokerName(std::move(value)); return *this;} /** *Required. The broker's name. This value must be unique in your Amazon Web * Services account, 1-50 characters long, must contain only letters, numbers, * dashes, and underscores, and must not contain white spaces, brackets, wildcard * characters, or special characters.
Do not add personally * identifiable information (PII) or other confidential or sensitive information in * broker names. Broker names are accessible to other Amazon Web Services services, * including CloudWatch Logs. Broker names are not intended to be used for private * or sensitive data.
*/ 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.
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.
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.
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.
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.
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.
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.
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.
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 broker's deployment mode.
*/ inline const DeploymentMode& GetDeploymentMode() const{ return m_deploymentMode; } /** *Required. The broker's deployment mode.
*/ inline bool DeploymentModeHasBeenSet() const { return m_deploymentModeHasBeenSet; } /** *Required. The broker's deployment mode.
*/ inline void SetDeploymentMode(const DeploymentMode& value) { m_deploymentModeHasBeenSet = true; m_deploymentMode = value; } /** *Required. The broker's deployment mode.
*/ inline void SetDeploymentMode(DeploymentMode&& value) { m_deploymentModeHasBeenSet = true; m_deploymentMode = std::move(value); } /** *Required. The broker's deployment mode.
*/ inline CreateBrokerRequest& WithDeploymentMode(const DeploymentMode& value) { SetDeploymentMode(value); return *this;} /** *Required. The broker's deployment mode.
*/ 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. Currently, Amazon MQ supports ACTIVEMQ * and RABBITMQ.
*/ inline const EngineType& GetEngineType() const{ return m_engineType; } /** *Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ * and RABBITMQ.
*/ inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; } /** *Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ * and RABBITMQ.
*/ inline void SetEngineType(const EngineType& value) { m_engineTypeHasBeenSet = true; m_engineType = value; } /** *Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ * and RABBITMQ.
*/ inline void SetEngineType(EngineType&& value) { m_engineTypeHasBeenSet = true; m_engineType = std::move(value); } /** *Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ * and RABBITMQ.
*/ inline CreateBrokerRequest& WithEngineType(const EngineType& value) { SetEngineType(value); return *this;} /** *Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ * and RABBITMQ.
*/ inline CreateBrokerRequest& WithEngineType(EngineType&& value) { SetEngineType(std::move(value)); return *this;} /** *Required. The broker engine's version. For a list of supported engine * versions, see Supported * engines.
*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *Required. The broker engine's version. For a list of supported engine * versions, see Supported * engines.
*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *Required. The broker engine's version. For a list of supported engine * versions, see Supported * engines.
*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *Required. The broker engine's version. For a list of supported engine * versions, see Supported * engines.
*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *Required. The broker engine's version. For a list of supported engine * versions, see Supported * engines.
*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *Required. The broker engine's version. For a list of supported engine * versions, see Supported * engines.
*/ inline CreateBrokerRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *Required. The broker engine's version. For a list of supported engine * versions, see Supported * engines.
*/ inline CreateBrokerRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *Required. The broker engine's version. For a list of supported engine * versions, see Supported * engines.
*/ 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;} /** *Optional. The metadata of the LDAP server used to authenticate and authorize * connections to the broker. Does not apply to RabbitMQ brokers.
*/ inline const LdapServerMetadataInput& GetLdapServerMetadata() const{ return m_ldapServerMetadata; } /** *Optional. The metadata of the LDAP server used to authenticate and authorize * connections to the broker. Does not apply to RabbitMQ brokers.
*/ inline bool LdapServerMetadataHasBeenSet() const { return m_ldapServerMetadataHasBeenSet; } /** *Optional. The metadata of the LDAP server used to authenticate and authorize * connections to the broker. Does not apply to RabbitMQ brokers.
*/ inline void SetLdapServerMetadata(const LdapServerMetadataInput& value) { m_ldapServerMetadataHasBeenSet = true; m_ldapServerMetadata = value; } /** *Optional. The metadata of the LDAP server used to authenticate and authorize * connections to the broker. Does not apply to RabbitMQ brokers.
*/ inline void SetLdapServerMetadata(LdapServerMetadataInput&& value) { m_ldapServerMetadataHasBeenSet = true; m_ldapServerMetadata = std::move(value); } /** *Optional. The metadata of the LDAP server used to authenticate and authorize * connections to the broker. Does not apply to RabbitMQ brokers.
*/ inline CreateBrokerRequest& WithLdapServerMetadata(const LdapServerMetadataInput& value) { SetLdapServerMetadata(value); return *this;} /** *Optional. The metadata of the LDAP server used to authenticate and authorize * connections to the broker. Does not apply to RabbitMQ brokers.
*/ 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;} /** *Enables connections from applications outside of the VPC that hosts the * broker's subnets. Set to false by default, if no value is provided.
*/ inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; } /** *Enables connections from applications outside of the VPC that hosts the * broker's subnets. Set to false by default, if no value is provided.
*/ inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; } /** *Enables connections from applications outside of the VPC that hosts the * broker's subnets. Set to false by default, if no value is provided.
*/ inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; } /** *Enables connections from applications outside of the VPC that hosts the * broker's subnets. Set to false by default, if no value is provided.
*/ inline CreateBrokerRequest& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;} /** *The list of rules (1 minimum, 125 maximum) that authorize connections to * brokers.
*/ inline const Aws::VectorThe list of rules (1 minimum, 125 maximum) that authorize connections to * brokers.
*/ inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } /** *The list of rules (1 minimum, 125 maximum) that authorize connections to * brokers.
*/ inline void SetSecurityGroups(const Aws::VectorThe list of rules (1 minimum, 125 maximum) that authorize connections to * brokers.
*/ inline void SetSecurityGroups(Aws::VectorThe list of rules (1 minimum, 125 maximum) that authorize connections to * brokers.
*/ inline CreateBrokerRequest& WithSecurityGroups(const Aws::VectorThe list of rules (1 minimum, 125 maximum) that authorize connections to * brokers.
*/ inline CreateBrokerRequest& WithSecurityGroups(Aws::VectorThe list of rules (1 minimum, 125 maximum) that authorize connections to * brokers.
*/ inline CreateBrokerRequest& AddSecurityGroups(const Aws::String& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *The list of rules (1 minimum, 125 maximum) that authorize connections to * brokers.
*/ inline CreateBrokerRequest& AddSecurityGroups(Aws::String&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } /** *The list of rules (1 minimum, 125 maximum) that authorize 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 that define which subnets and IP ranges the broker can use * from different Availability Zones. If you specify more than one subnet, the * subnets must be in different Availability Zones. Amazon MQ will not be able to * create VPC endpoints for your broker with multiple subnets in the same * Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for * example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ * deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ * deployment has no subnet requirements when deployed with public accessibility. * Deployment without public accessibility requires at least one subnet.
*If you specify subnets in a shared * VPC for a RabbitMQ broker, the associated VPC to which the specified subnets * belong must be owned by your Amazon Web Services account. Amazon MQ will not be * able to create VPC endpoints in VPCs that are not owned by your Amazon Web * Services account.
*/ inline const Aws::VectorThe list of groups that define which subnets and IP ranges the broker can use * from different Availability Zones. If you specify more than one subnet, the * subnets must be in different Availability Zones. Amazon MQ will not be able to * create VPC endpoints for your broker with multiple subnets in the same * Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for * example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ * deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ * deployment has no subnet requirements when deployed with public accessibility. * Deployment without public accessibility requires at least one subnet.
*If you specify subnets in a shared * VPC for a RabbitMQ broker, the associated VPC to which the specified subnets * belong must be owned by your Amazon Web Services account. Amazon MQ will not be * able to create VPC endpoints in VPCs that are not owned by your Amazon Web * Services account.
*/ inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } /** *The list of groups that define which subnets and IP ranges the broker can use * from different Availability Zones. If you specify more than one subnet, the * subnets must be in different Availability Zones. Amazon MQ will not be able to * create VPC endpoints for your broker with multiple subnets in the same * Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for * example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ * deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ * deployment has no subnet requirements when deployed with public accessibility. * Deployment without public accessibility requires at least one subnet.
*If you specify subnets in a shared * VPC for a RabbitMQ broker, the associated VPC to which the specified subnets * belong must be owned by your Amazon Web Services account. Amazon MQ will not be * able to create VPC endpoints in VPCs that are not owned by your Amazon Web * Services account.
*/ inline void SetSubnetIds(const Aws::VectorThe list of groups that define which subnets and IP ranges the broker can use * from different Availability Zones. If you specify more than one subnet, the * subnets must be in different Availability Zones. Amazon MQ will not be able to * create VPC endpoints for your broker with multiple subnets in the same * Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for * example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ * deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ * deployment has no subnet requirements when deployed with public accessibility. * Deployment without public accessibility requires at least one subnet.
*If you specify subnets in a shared * VPC for a RabbitMQ broker, the associated VPC to which the specified subnets * belong must be owned by your Amazon Web Services account. Amazon MQ will not be * able to create VPC endpoints in VPCs that are not owned by your Amazon Web * Services account.
*/ inline void SetSubnetIds(Aws::VectorThe list of groups that define which subnets and IP ranges the broker can use * from different Availability Zones. If you specify more than one subnet, the * subnets must be in different Availability Zones. Amazon MQ will not be able to * create VPC endpoints for your broker with multiple subnets in the same * Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for * example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ * deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ * deployment has no subnet requirements when deployed with public accessibility. * Deployment without public accessibility requires at least one subnet.
*If you specify subnets in a shared * VPC for a RabbitMQ broker, the associated VPC to which the specified subnets * belong must be owned by your Amazon Web Services account. Amazon MQ will not be * able to create VPC endpoints in VPCs that are not owned by your Amazon Web * Services account.
*/ inline CreateBrokerRequest& WithSubnetIds(const Aws::VectorThe list of groups that define which subnets and IP ranges the broker can use * from different Availability Zones. If you specify more than one subnet, the * subnets must be in different Availability Zones. Amazon MQ will not be able to * create VPC endpoints for your broker with multiple subnets in the same * Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for * example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ * deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ * deployment has no subnet requirements when deployed with public accessibility. * Deployment without public accessibility requires at least one subnet.
*If you specify subnets in a shared * VPC for a RabbitMQ broker, the associated VPC to which the specified subnets * belong must be owned by your Amazon Web Services account. Amazon MQ will not be * able to create VPC endpoints in VPCs that are not owned by your Amazon Web * Services account.
*/ inline CreateBrokerRequest& WithSubnetIds(Aws::VectorThe list of groups that define which subnets and IP ranges the broker can use * from different Availability Zones. If you specify more than one subnet, the * subnets must be in different Availability Zones. Amazon MQ will not be able to * create VPC endpoints for your broker with multiple subnets in the same * Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for * example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ * deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ * deployment has no subnet requirements when deployed with public accessibility. * Deployment without public accessibility requires at least one subnet.
*If you specify subnets in a shared * VPC for a RabbitMQ broker, the associated VPC to which the specified subnets * belong must be owned by your Amazon Web Services account. Amazon MQ will not be * able to create VPC endpoints in VPCs that are not owned by your Amazon Web * Services account.
*/ inline CreateBrokerRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *The list of groups that define which subnets and IP ranges the broker can use * from different Availability Zones. If you specify more than one subnet, the * subnets must be in different Availability Zones. Amazon MQ will not be able to * create VPC endpoints for your broker with multiple subnets in the same * Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for * example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ * deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ * deployment has no subnet requirements when deployed with public accessibility. * Deployment without public accessibility requires at least one subnet.
*If you specify subnets in a shared * VPC for a RabbitMQ broker, the associated VPC to which the specified subnets * belong must be owned by your Amazon Web Services account. Amazon MQ will not be * able to create VPC endpoints in VPCs that are not owned by your Amazon Web * Services account.
*/ inline CreateBrokerRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } /** *The list of groups that define which subnets and IP ranges the broker can use * from different Availability Zones. If you specify more than one subnet, the * subnets must be in different Availability Zones. Amazon MQ will not be able to * create VPC endpoints for your broker with multiple subnets in the same * Availability Zone. A SINGLE_INSTANCE deployment requires one subnet (for * example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ Amazon MQ for ActiveMQ * deployment requires two subnets. A CLUSTER_MULTI_AZ Amazon MQ for RabbitMQ * deployment has no subnet requirements when deployed with public accessibility. * Deployment without public accessibility requires at least one subnet.
*If you specify subnets in a shared * VPC for a RabbitMQ broker, the associated VPC to which the specified subnets * belong must be owned by your Amazon Web Services account. Amazon MQ will not be * able to create VPC endpoints in VPCs that are not owned by your Amazon Web * Services account.
*/ 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::MapCreate tags when creating the broker.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *Create tags when creating the broker.
*/ inline void SetTags(const Aws::MapCreate tags when creating the broker.
*/ inline void SetTags(Aws::MapCreate tags when creating the broker.
*/ inline CreateBrokerRequest& WithTags(const Aws::MapCreate tags when creating the broker.
*/ inline CreateBrokerRequest& WithTags(Aws::MapCreate 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; } /** *The list of broker users (persons or applications) who can access queues and * topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user * is accepted and created when a broker is first provisioned. All subsequent * broker users are created by making RabbitMQ API calls directly to brokers or via * the RabbitMQ web console.
*/ inline const Aws::VectorThe list of broker users (persons or applications) who can access queues and * topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user * is accepted and created when a broker is first provisioned. All subsequent * broker users are created by making RabbitMQ API calls directly to brokers or via * the RabbitMQ web console.
*/ inline bool UsersHasBeenSet() const { return m_usersHasBeenSet; } /** *The list of broker users (persons or applications) who can access queues and * topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user * is accepted and created when a broker is first provisioned. All subsequent * broker users are created by making RabbitMQ API calls directly to brokers or via * the RabbitMQ web console.
*/ inline void SetUsers(const Aws::VectorThe list of broker users (persons or applications) who can access queues and * topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user * is accepted and created when a broker is first provisioned. All subsequent * broker users are created by making RabbitMQ API calls directly to brokers or via * the RabbitMQ web console.
*/ inline void SetUsers(Aws::VectorThe list of broker users (persons or applications) who can access queues and * topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user * is accepted and created when a broker is first provisioned. All subsequent * broker users are created by making RabbitMQ API calls directly to brokers or via * the RabbitMQ web console.
*/ inline CreateBrokerRequest& WithUsers(const Aws::VectorThe list of broker users (persons or applications) who can access queues and * topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user * is accepted and created when a broker is first provisioned. All subsequent * broker users are created by making RabbitMQ API calls directly to brokers or via * the RabbitMQ web console.
*/ inline CreateBrokerRequest& WithUsers(Aws::VectorThe list of broker users (persons or applications) who can access queues and * topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user * is accepted and created when a broker is first provisioned. All subsequent * broker users are created by making RabbitMQ API calls directly to brokers or via * the RabbitMQ web console.
*/ inline CreateBrokerRequest& AddUsers(const User& value) { m_usersHasBeenSet = true; m_users.push_back(value); return *this; } /** *The list of broker users (persons or applications) who can access queues and * topics. For Amazon MQ for RabbitMQ brokers, one and only one administrative user * is accepted and created when a broker is first provisioned. All subsequent * broker users are created by making RabbitMQ API calls directly to brokers or via * the RabbitMQ web console.
*/ inline CreateBrokerRequest& AddUsers(User&& value) { m_usersHasBeenSet = true; m_users.push_back(std::move(value)); return *this; } /** *Defines whether this broker is a part of a data replication pair.
*/ inline const DataReplicationMode& GetDataReplicationMode() const{ return m_dataReplicationMode; } /** *Defines whether this broker is a part of a data replication pair.
*/ inline bool DataReplicationModeHasBeenSet() const { return m_dataReplicationModeHasBeenSet; } /** *Defines whether this broker is a part of a data replication pair.
*/ inline void SetDataReplicationMode(const DataReplicationMode& value) { m_dataReplicationModeHasBeenSet = true; m_dataReplicationMode = value; } /** *Defines whether this broker is a part of a data replication pair.
*/ inline void SetDataReplicationMode(DataReplicationMode&& value) { m_dataReplicationModeHasBeenSet = true; m_dataReplicationMode = std::move(value); } /** *Defines whether this broker is a part of a data replication pair.
*/ inline CreateBrokerRequest& WithDataReplicationMode(const DataReplicationMode& value) { SetDataReplicationMode(value); return *this;} /** *Defines whether this broker is a part of a data replication pair.
*/ inline CreateBrokerRequest& WithDataReplicationMode(DataReplicationMode&& value) { SetDataReplicationMode(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the primary broker that is used to * replicate data from in a data replication pair, and is applied to the replica * broker. Must be set when dataReplicationMode is set to CRDR.
*/ inline const Aws::String& GetDataReplicationPrimaryBrokerArn() const{ return m_dataReplicationPrimaryBrokerArn; } /** *The Amazon Resource Name (ARN) of the primary broker that is used to * replicate data from in a data replication pair, and is applied to the replica * broker. Must be set when dataReplicationMode is set to CRDR.
*/ inline bool DataReplicationPrimaryBrokerArnHasBeenSet() const { return m_dataReplicationPrimaryBrokerArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the primary broker that is used to * replicate data from in a data replication pair, and is applied to the replica * broker. Must be set when dataReplicationMode is set to CRDR.
*/ inline void SetDataReplicationPrimaryBrokerArn(const Aws::String& value) { m_dataReplicationPrimaryBrokerArnHasBeenSet = true; m_dataReplicationPrimaryBrokerArn = value; } /** *The Amazon Resource Name (ARN) of the primary broker that is used to * replicate data from in a data replication pair, and is applied to the replica * broker. Must be set when dataReplicationMode is set to CRDR.
*/ inline void SetDataReplicationPrimaryBrokerArn(Aws::String&& value) { m_dataReplicationPrimaryBrokerArnHasBeenSet = true; m_dataReplicationPrimaryBrokerArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the primary broker that is used to * replicate data from in a data replication pair, and is applied to the replica * broker. Must be set when dataReplicationMode is set to CRDR.
*/ inline void SetDataReplicationPrimaryBrokerArn(const char* value) { m_dataReplicationPrimaryBrokerArnHasBeenSet = true; m_dataReplicationPrimaryBrokerArn.assign(value); } /** *The Amazon Resource Name (ARN) of the primary broker that is used to * replicate data from in a data replication pair, and is applied to the replica * broker. Must be set when dataReplicationMode is set to CRDR.
*/ inline CreateBrokerRequest& WithDataReplicationPrimaryBrokerArn(const Aws::String& value) { SetDataReplicationPrimaryBrokerArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the primary broker that is used to * replicate data from in a data replication pair, and is applied to the replica * broker. Must be set when dataReplicationMode is set to CRDR.
*/ inline CreateBrokerRequest& WithDataReplicationPrimaryBrokerArn(Aws::String&& value) { SetDataReplicationPrimaryBrokerArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the primary broker that is used to * replicate data from in a data replication pair, and is applied to the replica * broker. Must be set when dataReplicationMode is set to CRDR.
*/ inline CreateBrokerRequest& WithDataReplicationPrimaryBrokerArn(const char* value) { SetDataReplicationPrimaryBrokerArn(value); return *this;} private: AuthenticationStrategy m_authenticationStrategy; bool m_authenticationStrategyHasBeenSet = false; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet = false; Aws::String m_brokerName; bool m_brokerNameHasBeenSet = false; ConfigurationId m_configuration; bool m_configurationHasBeenSet = false; Aws::String m_creatorRequestId; bool m_creatorRequestIdHasBeenSet = false; DeploymentMode m_deploymentMode; bool m_deploymentModeHasBeenSet = false; EncryptionOptions m_encryptionOptions; bool m_encryptionOptionsHasBeenSet = false; EngineType m_engineType; bool m_engineTypeHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_hostInstanceType; bool m_hostInstanceTypeHasBeenSet = false; LdapServerMetadataInput m_ldapServerMetadata; bool m_ldapServerMetadataHasBeenSet = false; Logs m_logs; bool m_logsHasBeenSet = false; WeeklyStartTime m_maintenanceWindowStartTime; bool m_maintenanceWindowStartTimeHasBeenSet = false; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; Aws::Vector