/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains information about a Remote Authentication Dial In User Service
* (RADIUS) server.See Also:
AWS
* API Reference
An array of strings that contains the fully qualified domain name (FQDN) or * IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your * RADIUS server load balancer.
*/ inline const Aws::VectorAn array of strings that contains the fully qualified domain name (FQDN) or * IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your * RADIUS server load balancer.
*/ inline bool RadiusServersHasBeenSet() const { return m_radiusServersHasBeenSet; } /** *An array of strings that contains the fully qualified domain name (FQDN) or * IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your * RADIUS server load balancer.
*/ inline void SetRadiusServers(const Aws::VectorAn array of strings that contains the fully qualified domain name (FQDN) or * IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your * RADIUS server load balancer.
*/ inline void SetRadiusServers(Aws::VectorAn array of strings that contains the fully qualified domain name (FQDN) or * IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your * RADIUS server load balancer.
*/ inline RadiusSettings& WithRadiusServers(const Aws::VectorAn array of strings that contains the fully qualified domain name (FQDN) or * IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your * RADIUS server load balancer.
*/ inline RadiusSettings& WithRadiusServers(Aws::VectorAn array of strings that contains the fully qualified domain name (FQDN) or * IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your * RADIUS server load balancer.
*/ inline RadiusSettings& AddRadiusServers(const Aws::String& value) { m_radiusServersHasBeenSet = true; m_radiusServers.push_back(value); return *this; } /** *An array of strings that contains the fully qualified domain name (FQDN) or * IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your * RADIUS server load balancer.
*/ inline RadiusSettings& AddRadiusServers(Aws::String&& value) { m_radiusServersHasBeenSet = true; m_radiusServers.push_back(std::move(value)); return *this; } /** *An array of strings that contains the fully qualified domain name (FQDN) or * IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses of your * RADIUS server load balancer.
*/ inline RadiusSettings& AddRadiusServers(const char* value) { m_radiusServersHasBeenSet = true; m_radiusServers.push_back(value); return *this; } /** *The port that your RADIUS server is using for communications. Your * self-managed network must allow inbound traffic over this port from the * Directory Service servers.
*/ inline int GetRadiusPort() const{ return m_radiusPort; } /** *The port that your RADIUS server is using for communications. Your * self-managed network must allow inbound traffic over this port from the * Directory Service servers.
*/ inline bool RadiusPortHasBeenSet() const { return m_radiusPortHasBeenSet; } /** *The port that your RADIUS server is using for communications. Your * self-managed network must allow inbound traffic over this port from the * Directory Service servers.
*/ inline void SetRadiusPort(int value) { m_radiusPortHasBeenSet = true; m_radiusPort = value; } /** *The port that your RADIUS server is using for communications. Your * self-managed network must allow inbound traffic over this port from the * Directory Service servers.
*/ inline RadiusSettings& WithRadiusPort(int value) { SetRadiusPort(value); return *this;} /** *The amount of time, in seconds, to wait for the RADIUS server to respond.
*/ inline int GetRadiusTimeout() const{ return m_radiusTimeout; } /** *The amount of time, in seconds, to wait for the RADIUS server to respond.
*/ inline bool RadiusTimeoutHasBeenSet() const { return m_radiusTimeoutHasBeenSet; } /** *The amount of time, in seconds, to wait for the RADIUS server to respond.
*/ inline void SetRadiusTimeout(int value) { m_radiusTimeoutHasBeenSet = true; m_radiusTimeout = value; } /** *The amount of time, in seconds, to wait for the RADIUS server to respond.
*/ inline RadiusSettings& WithRadiusTimeout(int value) { SetRadiusTimeout(value); return *this;} /** *The maximum number of times that communication with the RADIUS server is * attempted.
*/ inline int GetRadiusRetries() const{ return m_radiusRetries; } /** *The maximum number of times that communication with the RADIUS server is * attempted.
*/ inline bool RadiusRetriesHasBeenSet() const { return m_radiusRetriesHasBeenSet; } /** *The maximum number of times that communication with the RADIUS server is * attempted.
*/ inline void SetRadiusRetries(int value) { m_radiusRetriesHasBeenSet = true; m_radiusRetries = value; } /** *The maximum number of times that communication with the RADIUS server is * attempted.
*/ inline RadiusSettings& WithRadiusRetries(int value) { SetRadiusRetries(value); return *this;} /** *Required for enabling RADIUS on the directory.
*/ inline const Aws::String& GetSharedSecret() const{ return m_sharedSecret; } /** *Required for enabling RADIUS on the directory.
*/ inline bool SharedSecretHasBeenSet() const { return m_sharedSecretHasBeenSet; } /** *Required for enabling RADIUS on the directory.
*/ inline void SetSharedSecret(const Aws::String& value) { m_sharedSecretHasBeenSet = true; m_sharedSecret = value; } /** *Required for enabling RADIUS on the directory.
*/ inline void SetSharedSecret(Aws::String&& value) { m_sharedSecretHasBeenSet = true; m_sharedSecret = std::move(value); } /** *Required for enabling RADIUS on the directory.
*/ inline void SetSharedSecret(const char* value) { m_sharedSecretHasBeenSet = true; m_sharedSecret.assign(value); } /** *Required for enabling RADIUS on the directory.
*/ inline RadiusSettings& WithSharedSecret(const Aws::String& value) { SetSharedSecret(value); return *this;} /** *Required for enabling RADIUS on the directory.
*/ inline RadiusSettings& WithSharedSecret(Aws::String&& value) { SetSharedSecret(std::move(value)); return *this;} /** *Required for enabling RADIUS on the directory.
*/ inline RadiusSettings& WithSharedSecret(const char* value) { SetSharedSecret(value); return *this;} /** *The protocol specified for your RADIUS endpoints.
*/ inline const RadiusAuthenticationProtocol& GetAuthenticationProtocol() const{ return m_authenticationProtocol; } /** *The protocol specified for your RADIUS endpoints.
*/ inline bool AuthenticationProtocolHasBeenSet() const { return m_authenticationProtocolHasBeenSet; } /** *The protocol specified for your RADIUS endpoints.
*/ inline void SetAuthenticationProtocol(const RadiusAuthenticationProtocol& value) { m_authenticationProtocolHasBeenSet = true; m_authenticationProtocol = value; } /** *The protocol specified for your RADIUS endpoints.
*/ inline void SetAuthenticationProtocol(RadiusAuthenticationProtocol&& value) { m_authenticationProtocolHasBeenSet = true; m_authenticationProtocol = std::move(value); } /** *The protocol specified for your RADIUS endpoints.
*/ inline RadiusSettings& WithAuthenticationProtocol(const RadiusAuthenticationProtocol& value) { SetAuthenticationProtocol(value); return *this;} /** *The protocol specified for your RADIUS endpoints.
*/ inline RadiusSettings& WithAuthenticationProtocol(RadiusAuthenticationProtocol&& value) { SetAuthenticationProtocol(std::move(value)); return *this;} /** *Not currently used.
*/ inline const Aws::String& GetDisplayLabel() const{ return m_displayLabel; } /** *Not currently used.
*/ inline bool DisplayLabelHasBeenSet() const { return m_displayLabelHasBeenSet; } /** *Not currently used.
*/ inline void SetDisplayLabel(const Aws::String& value) { m_displayLabelHasBeenSet = true; m_displayLabel = value; } /** *Not currently used.
*/ inline void SetDisplayLabel(Aws::String&& value) { m_displayLabelHasBeenSet = true; m_displayLabel = std::move(value); } /** *Not currently used.
*/ inline void SetDisplayLabel(const char* value) { m_displayLabelHasBeenSet = true; m_displayLabel.assign(value); } /** *Not currently used.
*/ inline RadiusSettings& WithDisplayLabel(const Aws::String& value) { SetDisplayLabel(value); return *this;} /** *Not currently used.
*/ inline RadiusSettings& WithDisplayLabel(Aws::String&& value) { SetDisplayLabel(std::move(value)); return *this;} /** *Not currently used.
*/ inline RadiusSettings& WithDisplayLabel(const char* value) { SetDisplayLabel(value); return *this;} /** *Not currently used.
*/ inline bool GetUseSameUsername() const{ return m_useSameUsername; } /** *Not currently used.
*/ inline bool UseSameUsernameHasBeenSet() const { return m_useSameUsernameHasBeenSet; } /** *Not currently used.
*/ inline void SetUseSameUsername(bool value) { m_useSameUsernameHasBeenSet = true; m_useSameUsername = value; } /** *Not currently used.
*/ inline RadiusSettings& WithUseSameUsername(bool value) { SetUseSameUsername(value); return *this;} private: Aws::Vector