/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Provides details about an Amazon MQ message broker. A message broker allows * software applications and components to communicate using various programming * languages, operating systems, and formal messaging protocols.

See * Also:

AWS * API Reference

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

The authentication strategy used to secure the broker. The default is * SIMPLE.

*/ inline const Aws::String& GetAuthenticationStrategy() const{ return m_authenticationStrategy; } /** *

The authentication strategy used to secure the broker. The default is * SIMPLE.

*/ inline bool AuthenticationStrategyHasBeenSet() const { return m_authenticationStrategyHasBeenSet; } /** *

The authentication strategy used to secure the broker. The default is * SIMPLE.

*/ inline void SetAuthenticationStrategy(const Aws::String& value) { m_authenticationStrategyHasBeenSet = true; m_authenticationStrategy = value; } /** *

The authentication strategy used to secure the broker. The default is * SIMPLE.

*/ inline void SetAuthenticationStrategy(Aws::String&& value) { m_authenticationStrategyHasBeenSet = true; m_authenticationStrategy = std::move(value); } /** *

The authentication strategy used to secure the broker. The default is * SIMPLE.

*/ inline void SetAuthenticationStrategy(const char* value) { m_authenticationStrategyHasBeenSet = true; m_authenticationStrategy.assign(value); } /** *

The authentication strategy used to secure the broker. The default is * SIMPLE.

*/ inline AwsAmazonMqBrokerDetails& WithAuthenticationStrategy(const Aws::String& value) { SetAuthenticationStrategy(value); return *this;} /** *

The authentication strategy used to secure the broker. The default is * SIMPLE.

*/ inline AwsAmazonMqBrokerDetails& WithAuthenticationStrategy(Aws::String&& value) { SetAuthenticationStrategy(std::move(value)); return *this;} /** *

The authentication strategy used to secure the broker. The default is * SIMPLE.

*/ inline AwsAmazonMqBrokerDetails& WithAuthenticationStrategy(const char* value) { SetAuthenticationStrategy(value); return *this;} /** *

Whether automatically upgrade 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.

*/ inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; } /** *

Whether automatically upgrade 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.

*/ inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } /** *

Whether automatically upgrade 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.

*/ inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } /** *

Whether automatically upgrade 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.

*/ inline AwsAmazonMqBrokerDetails& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} /** *

The Amazon Resource Name (ARN) of the broker.

*/ inline const Aws::String& GetBrokerArn() const{ return m_brokerArn; } /** *

The Amazon Resource Name (ARN) of the broker.

*/ inline bool BrokerArnHasBeenSet() const { return m_brokerArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the broker.

*/ inline void SetBrokerArn(const Aws::String& value) { m_brokerArnHasBeenSet = true; m_brokerArn = value; } /** *

The Amazon Resource Name (ARN) of the broker.

*/ inline void SetBrokerArn(Aws::String&& value) { m_brokerArnHasBeenSet = true; m_brokerArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the broker.

*/ inline void SetBrokerArn(const char* value) { m_brokerArnHasBeenSet = true; m_brokerArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the broker.

*/ inline AwsAmazonMqBrokerDetails& WithBrokerArn(const Aws::String& value) { SetBrokerArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the broker.

*/ inline AwsAmazonMqBrokerDetails& WithBrokerArn(Aws::String&& value) { SetBrokerArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the broker.

*/ inline AwsAmazonMqBrokerDetails& WithBrokerArn(const char* value) { SetBrokerArn(value); return *this;} /** *

The broker's name.

*/ inline const Aws::String& GetBrokerName() const{ return m_brokerName; } /** *

The broker's name.

*/ inline bool BrokerNameHasBeenSet() const { return m_brokerNameHasBeenSet; } /** *

The broker's name.

*/ inline void SetBrokerName(const Aws::String& value) { m_brokerNameHasBeenSet = true; m_brokerName = value; } /** *

The broker's name.

*/ inline void SetBrokerName(Aws::String&& value) { m_brokerNameHasBeenSet = true; m_brokerName = std::move(value); } /** *

The broker's name.

*/ inline void SetBrokerName(const char* value) { m_brokerNameHasBeenSet = true; m_brokerName.assign(value); } /** *

The broker's name.

*/ inline AwsAmazonMqBrokerDetails& WithBrokerName(const Aws::String& value) { SetBrokerName(value); return *this;} /** *

The broker's name.

*/ inline AwsAmazonMqBrokerDetails& WithBrokerName(Aws::String&& value) { SetBrokerName(std::move(value)); return *this;} /** *

The broker's name.

*/ inline AwsAmazonMqBrokerDetails& WithBrokerName(const char* value) { SetBrokerName(value); return *this;} /** *

The broker's deployment mode.

*/ inline const Aws::String& GetDeploymentMode() const{ return m_deploymentMode; } /** *

The broker's deployment mode.

*/ inline bool DeploymentModeHasBeenSet() const { return m_deploymentModeHasBeenSet; } /** *

The broker's deployment mode.

*/ inline void SetDeploymentMode(const Aws::String& value) { m_deploymentModeHasBeenSet = true; m_deploymentMode = value; } /** *

The broker's deployment mode.

*/ inline void SetDeploymentMode(Aws::String&& value) { m_deploymentModeHasBeenSet = true; m_deploymentMode = std::move(value); } /** *

The broker's deployment mode.

*/ inline void SetDeploymentMode(const char* value) { m_deploymentModeHasBeenSet = true; m_deploymentMode.assign(value); } /** *

The broker's deployment mode.

*/ inline AwsAmazonMqBrokerDetails& WithDeploymentMode(const Aws::String& value) { SetDeploymentMode(value); return *this;} /** *

The broker's deployment mode.

*/ inline AwsAmazonMqBrokerDetails& WithDeploymentMode(Aws::String&& value) { SetDeploymentMode(std::move(value)); return *this;} /** *

The broker's deployment mode.

*/ inline AwsAmazonMqBrokerDetails& WithDeploymentMode(const char* value) { SetDeploymentMode(value); return *this;} /** *

Encryption options for the broker. Doesn’t apply to RabbitMQ brokers.

*/ inline const AwsAmazonMqBrokerEncryptionOptionsDetails& GetEncryptionOptions() const{ return m_encryptionOptions; } /** *

Encryption options for the broker. Doesn’t apply to RabbitMQ brokers.

*/ inline bool EncryptionOptionsHasBeenSet() const { return m_encryptionOptionsHasBeenSet; } /** *

Encryption options for the broker. Doesn’t apply to RabbitMQ brokers.

*/ inline void SetEncryptionOptions(const AwsAmazonMqBrokerEncryptionOptionsDetails& value) { m_encryptionOptionsHasBeenSet = true; m_encryptionOptions = value; } /** *

Encryption options for the broker. Doesn’t apply to RabbitMQ brokers.

*/ inline void SetEncryptionOptions(AwsAmazonMqBrokerEncryptionOptionsDetails&& value) { m_encryptionOptionsHasBeenSet = true; m_encryptionOptions = std::move(value); } /** *

Encryption options for the broker. Doesn’t apply to RabbitMQ brokers.

*/ inline AwsAmazonMqBrokerDetails& WithEncryptionOptions(const AwsAmazonMqBrokerEncryptionOptionsDetails& value) { SetEncryptionOptions(value); return *this;} /** *

Encryption options for the broker. Doesn’t apply to RabbitMQ brokers.

*/ inline AwsAmazonMqBrokerDetails& WithEncryptionOptions(AwsAmazonMqBrokerEncryptionOptionsDetails&& value) { SetEncryptionOptions(std::move(value)); return *this;} /** *

The type of broker engine.

*/ inline const Aws::String& GetEngineType() const{ return m_engineType; } /** *

The type of broker engine.

*/ inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; } /** *

The type of broker engine.

*/ inline void SetEngineType(const Aws::String& value) { m_engineTypeHasBeenSet = true; m_engineType = value; } /** *

The type of broker engine.

*/ inline void SetEngineType(Aws::String&& value) { m_engineTypeHasBeenSet = true; m_engineType = std::move(value); } /** *

The type of broker engine.

*/ inline void SetEngineType(const char* value) { m_engineTypeHasBeenSet = true; m_engineType.assign(value); } /** *

The type of broker engine.

*/ inline AwsAmazonMqBrokerDetails& WithEngineType(const Aws::String& value) { SetEngineType(value); return *this;} /** *

The type of broker engine.

*/ inline AwsAmazonMqBrokerDetails& WithEngineType(Aws::String&& value) { SetEngineType(std::move(value)); return *this;} /** *

The type of broker engine.

*/ inline AwsAmazonMqBrokerDetails& WithEngineType(const char* value) { SetEngineType(value); return *this;} /** *

The version of the broker engine.

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

The version of the broker engine.

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

The version of the broker engine.

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

The version of the broker engine.

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

The version of the broker engine.

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

The version of the broker engine.

*/ inline AwsAmazonMqBrokerDetails& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

The version of the broker engine.

*/ inline AwsAmazonMqBrokerDetails& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

The version of the broker engine.

*/ inline AwsAmazonMqBrokerDetails& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

The broker's instance type.

*/ inline const Aws::String& GetHostInstanceType() const{ return m_hostInstanceType; } /** *

The broker's instance type.

*/ inline bool HostInstanceTypeHasBeenSet() const { return m_hostInstanceTypeHasBeenSet; } /** *

The broker's instance type.

*/ inline void SetHostInstanceType(const Aws::String& value) { m_hostInstanceTypeHasBeenSet = true; m_hostInstanceType = value; } /** *

The broker's instance type.

*/ inline void SetHostInstanceType(Aws::String&& value) { m_hostInstanceTypeHasBeenSet = true; m_hostInstanceType = std::move(value); } /** *

The broker's instance type.

*/ inline void SetHostInstanceType(const char* value) { m_hostInstanceTypeHasBeenSet = true; m_hostInstanceType.assign(value); } /** *

The broker's instance type.

*/ inline AwsAmazonMqBrokerDetails& WithHostInstanceType(const Aws::String& value) { SetHostInstanceType(value); return *this;} /** *

The broker's instance type.

*/ inline AwsAmazonMqBrokerDetails& WithHostInstanceType(Aws::String&& value) { SetHostInstanceType(std::move(value)); return *this;} /** *

The broker's instance type.

*/ inline AwsAmazonMqBrokerDetails& WithHostInstanceType(const char* value) { SetHostInstanceType(value); return *this;} /** *

The unique ID that Amazon MQ generates for the broker.

*/ inline const Aws::String& GetBrokerId() const{ return m_brokerId; } /** *

The unique ID that Amazon MQ generates for the broker.

*/ inline bool BrokerIdHasBeenSet() const { return m_brokerIdHasBeenSet; } /** *

The unique ID that Amazon MQ generates for the broker.

*/ inline void SetBrokerId(const Aws::String& value) { m_brokerIdHasBeenSet = true; m_brokerId = value; } /** *

The unique ID that Amazon MQ generates for the broker.

*/ inline void SetBrokerId(Aws::String&& value) { m_brokerIdHasBeenSet = true; m_brokerId = std::move(value); } /** *

The unique ID that Amazon MQ generates for the broker.

*/ inline void SetBrokerId(const char* value) { m_brokerIdHasBeenSet = true; m_brokerId.assign(value); } /** *

The unique ID that Amazon MQ generates for the broker.

*/ inline AwsAmazonMqBrokerDetails& WithBrokerId(const Aws::String& value) { SetBrokerId(value); return *this;} /** *

The unique ID that Amazon MQ generates for the broker.

*/ inline AwsAmazonMqBrokerDetails& WithBrokerId(Aws::String&& value) { SetBrokerId(std::move(value)); return *this;} /** *

The unique ID that Amazon MQ generates for the broker.

*/ inline AwsAmazonMqBrokerDetails& WithBrokerId(const char* value) { SetBrokerId(value); return *this;} /** *

The metadata of the Lightweight Directory Access Protocol (LDAP) server used * to authenticate and authorize connections to the broker. This is an optional * failover server.

*/ inline const AwsAmazonMqBrokerLdapServerMetadataDetails& GetLdapServerMetadata() const{ return m_ldapServerMetadata; } /** *

The metadata of the Lightweight Directory Access Protocol (LDAP) server used * to authenticate and authorize connections to the broker. This is an optional * failover server.

*/ inline bool LdapServerMetadataHasBeenSet() const { return m_ldapServerMetadataHasBeenSet; } /** *

The metadata of the Lightweight Directory Access Protocol (LDAP) server used * to authenticate and authorize connections to the broker. This is an optional * failover server.

*/ inline void SetLdapServerMetadata(const AwsAmazonMqBrokerLdapServerMetadataDetails& value) { m_ldapServerMetadataHasBeenSet = true; m_ldapServerMetadata = value; } /** *

The metadata of the Lightweight Directory Access Protocol (LDAP) server used * to authenticate and authorize connections to the broker. This is an optional * failover server.

*/ inline void SetLdapServerMetadata(AwsAmazonMqBrokerLdapServerMetadataDetails&& value) { m_ldapServerMetadataHasBeenSet = true; m_ldapServerMetadata = std::move(value); } /** *

The metadata of the Lightweight Directory Access Protocol (LDAP) server used * to authenticate and authorize connections to the broker. This is an optional * failover server.

*/ inline AwsAmazonMqBrokerDetails& WithLdapServerMetadata(const AwsAmazonMqBrokerLdapServerMetadataDetails& value) { SetLdapServerMetadata(value); return *this;} /** *

The metadata of the Lightweight Directory Access Protocol (LDAP) server used * to authenticate and authorize connections to the broker. This is an optional * failover server.

*/ inline AwsAmazonMqBrokerDetails& WithLdapServerMetadata(AwsAmazonMqBrokerLdapServerMetadataDetails&& value) { SetLdapServerMetadata(std::move(value)); return *this;} /** *

Turns on Amazon CloudWatch logging for brokers.

*/ inline const AwsAmazonMqBrokerLogsDetails& GetLogs() const{ return m_logs; } /** *

Turns on Amazon CloudWatch logging for brokers.

*/ inline bool LogsHasBeenSet() const { return m_logsHasBeenSet; } /** *

Turns on Amazon CloudWatch logging for brokers.

*/ inline void SetLogs(const AwsAmazonMqBrokerLogsDetails& value) { m_logsHasBeenSet = true; m_logs = value; } /** *

Turns on Amazon CloudWatch logging for brokers.

*/ inline void SetLogs(AwsAmazonMqBrokerLogsDetails&& value) { m_logsHasBeenSet = true; m_logs = std::move(value); } /** *

Turns on Amazon CloudWatch logging for brokers.

*/ inline AwsAmazonMqBrokerDetails& WithLogs(const AwsAmazonMqBrokerLogsDetails& value) { SetLogs(value); return *this;} /** *

Turns on Amazon CloudWatch logging for brokers.

*/ inline AwsAmazonMqBrokerDetails& WithLogs(AwsAmazonMqBrokerLogsDetails&& value) { SetLogs(std::move(value)); return *this;} /** *

The scheduled time period (UTC) during which Amazon MQ begins to apply * pending updates or patches to the broker.

*/ inline const AwsAmazonMqBrokerMaintenanceWindowStartTimeDetails& GetMaintenanceWindowStartTime() const{ return m_maintenanceWindowStartTime; } /** *

The scheduled time period (UTC) during which Amazon MQ begins to apply * pending updates or patches to the broker.

*/ inline bool MaintenanceWindowStartTimeHasBeenSet() const { return m_maintenanceWindowStartTimeHasBeenSet; } /** *

The scheduled time period (UTC) during which Amazon MQ begins to apply * pending updates or patches to the broker.

*/ inline void SetMaintenanceWindowStartTime(const AwsAmazonMqBrokerMaintenanceWindowStartTimeDetails& value) { m_maintenanceWindowStartTimeHasBeenSet = true; m_maintenanceWindowStartTime = value; } /** *

The scheduled time period (UTC) during which Amazon MQ begins to apply * pending updates or patches to the broker.

*/ inline void SetMaintenanceWindowStartTime(AwsAmazonMqBrokerMaintenanceWindowStartTimeDetails&& value) { m_maintenanceWindowStartTimeHasBeenSet = true; m_maintenanceWindowStartTime = std::move(value); } /** *

The scheduled time period (UTC) during which Amazon MQ begins to apply * pending updates or patches to the broker.

*/ inline AwsAmazonMqBrokerDetails& WithMaintenanceWindowStartTime(const AwsAmazonMqBrokerMaintenanceWindowStartTimeDetails& value) { SetMaintenanceWindowStartTime(value); return *this;} /** *

The scheduled time period (UTC) during which Amazon MQ begins to apply * pending updates or patches to the broker.

*/ inline AwsAmazonMqBrokerDetails& WithMaintenanceWindowStartTime(AwsAmazonMqBrokerMaintenanceWindowStartTimeDetails&& value) { SetMaintenanceWindowStartTime(std::move(value)); return *this;} /** *

Permits connections from applications outside of the VPC that hosts the * broker's subnets.

*/ inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; } /** *

Permits connections from applications outside of the VPC that hosts the * broker's subnets.

*/ inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; } /** *

Permits connections from applications outside of the VPC that hosts the * broker's subnets.

*/ inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; } /** *

Permits connections from applications outside of the VPC that hosts the * broker's subnets.

*/ inline AwsAmazonMqBrokerDetails& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;} /** *

The list of rules (one minimum, 125 maximum) that authorize connections to * brokers.

*/ inline const Aws::Vector& GetSecurityGroups() const{ return m_securityGroups; } /** *

The list of rules (one minimum, 125 maximum) that authorize connections to * brokers.

*/ inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; } /** *

The list of rules (one minimum, 125 maximum) that authorize connections to * brokers.

*/ inline void SetSecurityGroups(const Aws::Vector& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = value; } /** *

The list of rules (one minimum, 125 maximum) that authorize connections to * brokers.

*/ inline void SetSecurityGroups(Aws::Vector&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::move(value); } /** *

The list of rules (one minimum, 125 maximum) that authorize connections to * brokers.

*/ inline AwsAmazonMqBrokerDetails& WithSecurityGroups(const Aws::Vector& value) { SetSecurityGroups(value); return *this;} /** *

The list of rules (one minimum, 125 maximum) that authorize connections to * brokers.

*/ inline AwsAmazonMqBrokerDetails& WithSecurityGroups(Aws::Vector&& value) { SetSecurityGroups(std::move(value)); return *this;} /** *

The list of rules (one minimum, 125 maximum) that authorize connections to * brokers.

*/ inline AwsAmazonMqBrokerDetails& AddSecurityGroups(const Aws::String& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *

The list of rules (one minimum, 125 maximum) that authorize connections to * brokers.

*/ inline AwsAmazonMqBrokerDetails& AddSecurityGroups(Aws::String&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(std::move(value)); return *this; } /** *

The list of rules (one minimum, 125 maximum) that authorize connections to * brokers.

*/ inline AwsAmazonMqBrokerDetails& AddSecurityGroups(const char* value) { m_securityGroupsHasBeenSet = true; m_securityGroups.push_back(value); return *this; } /** *

The broker's storage type.

*/ inline const Aws::String& 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 Aws::String& value) { m_storageTypeHasBeenSet = true; m_storageType = value; } /** *

The broker's storage type.

*/ inline void SetStorageType(Aws::String&& value) { m_storageTypeHasBeenSet = true; m_storageType = std::move(value); } /** *

The broker's storage type.

*/ inline void SetStorageType(const char* value) { m_storageTypeHasBeenSet = true; m_storageType.assign(value); } /** *

The broker's storage type.

*/ inline AwsAmazonMqBrokerDetails& WithStorageType(const Aws::String& value) { SetStorageType(value); return *this;} /** *

The broker's storage type.

*/ inline AwsAmazonMqBrokerDetails& WithStorageType(Aws::String&& value) { SetStorageType(std::move(value)); return *this;} /** *

The broker's storage type.

*/ inline AwsAmazonMqBrokerDetails& WithStorageType(const char* value) { SetStorageType(value); return *this;} /** *

The list of groups that define which subnets and IP ranges the broker can * use from different Availability Zones.

*/ inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } /** *

The list of groups that define which subnets and IP ranges the broker can * use from different Availability Zones.

*/ 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.

*/ inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } /** *

The list of groups that define which subnets and IP ranges the broker can * use from different Availability Zones.

*/ inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } /** *

The list of groups that define which subnets and IP ranges the broker can * use from different Availability Zones.

*/ inline AwsAmazonMqBrokerDetails& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} /** *

The list of groups that define which subnets and IP ranges the broker can * use from different Availability Zones.

*/ inline AwsAmazonMqBrokerDetails& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} /** *

The list of groups that define which subnets and IP ranges the broker can * use from different Availability Zones.

*/ inline AwsAmazonMqBrokerDetails& 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.

*/ inline AwsAmazonMqBrokerDetails& 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.

*/ inline AwsAmazonMqBrokerDetails& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *

The list of all broker usernames for the specified broker. Doesn't apply to * RabbitMQ brokers.

*/ inline const Aws::Vector& GetUsers() const{ return m_users; } /** *

The list of all broker usernames for the specified broker. Doesn't apply to * RabbitMQ brokers.

*/ inline bool UsersHasBeenSet() const { return m_usersHasBeenSet; } /** *

The list of all broker usernames for the specified broker. Doesn't apply to * RabbitMQ brokers.

*/ inline void SetUsers(const Aws::Vector& value) { m_usersHasBeenSet = true; m_users = value; } /** *

The list of all broker usernames for the specified broker. Doesn't apply to * RabbitMQ brokers.

*/ inline void SetUsers(Aws::Vector&& value) { m_usersHasBeenSet = true; m_users = std::move(value); } /** *

The list of all broker usernames for the specified broker. Doesn't apply to * RabbitMQ brokers.

*/ inline AwsAmazonMqBrokerDetails& WithUsers(const Aws::Vector& value) { SetUsers(value); return *this;} /** *

The list of all broker usernames for the specified broker. Doesn't apply to * RabbitMQ brokers.

*/ inline AwsAmazonMqBrokerDetails& WithUsers(Aws::Vector&& value) { SetUsers(std::move(value)); return *this;} /** *

The list of all broker usernames for the specified broker. Doesn't apply to * RabbitMQ brokers.

*/ inline AwsAmazonMqBrokerDetails& AddUsers(const AwsAmazonMqBrokerUsersDetails& value) { m_usersHasBeenSet = true; m_users.push_back(value); return *this; } /** *

The list of all broker usernames for the specified broker. Doesn't apply to * RabbitMQ brokers.

*/ inline AwsAmazonMqBrokerDetails& AddUsers(AwsAmazonMqBrokerUsersDetails&& value) { m_usersHasBeenSet = true; m_users.push_back(std::move(value)); return *this; } private: Aws::String m_authenticationStrategy; bool m_authenticationStrategyHasBeenSet = false; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet = false; Aws::String m_brokerArn; bool m_brokerArnHasBeenSet = false; Aws::String m_brokerName; bool m_brokerNameHasBeenSet = false; Aws::String m_deploymentMode; bool m_deploymentModeHasBeenSet = false; AwsAmazonMqBrokerEncryptionOptionsDetails m_encryptionOptions; bool m_encryptionOptionsHasBeenSet = false; Aws::String m_engineType; bool m_engineTypeHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_hostInstanceType; bool m_hostInstanceTypeHasBeenSet = false; Aws::String m_brokerId; bool m_brokerIdHasBeenSet = false; AwsAmazonMqBrokerLdapServerMetadataDetails m_ldapServerMetadata; bool m_ldapServerMetadataHasBeenSet = false; AwsAmazonMqBrokerLogsDetails m_logs; bool m_logsHasBeenSet = false; AwsAmazonMqBrokerMaintenanceWindowStartTimeDetails m_maintenanceWindowStartTime; bool m_maintenanceWindowStartTimeHasBeenSet = false; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; Aws::Vector m_securityGroups; bool m_securityGroupsHasBeenSet = false; Aws::String m_storageType; bool m_storageTypeHasBeenSet = false; Aws::Vector m_subnetIds; bool m_subnetIdsHasBeenSet = false; Aws::Vector m_users; bool m_usersHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws