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

Describes the TLS security policies that are available for Lightsail load * balancers.

For more information about load balancer TLS security * policies, see Configuring * TLS security policies on your Amazon Lightsail load balancers in the * Amazon Lightsail Developer Guide.

See Also:

AWS * API Reference

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

The name of the TLS security policy.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the TLS security policy.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the TLS security policy.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the TLS security policy.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the TLS security policy.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the TLS security policy.

*/ inline LoadBalancerTlsPolicy& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the TLS security policy.

*/ inline LoadBalancerTlsPolicy& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the TLS security policy.

*/ inline LoadBalancerTlsPolicy& WithName(const char* value) { SetName(value); return *this;} /** *

A Boolean value that indicates whether the TLS security policy is the * default.

*/ inline bool GetIsDefault() const{ return m_isDefault; } /** *

A Boolean value that indicates whether the TLS security policy is the * default.

*/ inline bool IsDefaultHasBeenSet() const { return m_isDefaultHasBeenSet; } /** *

A Boolean value that indicates whether the TLS security policy is the * default.

*/ inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } /** *

A Boolean value that indicates whether the TLS security policy is the * default.

*/ inline LoadBalancerTlsPolicy& WithIsDefault(bool value) { SetIsDefault(value); return *this;} /** *

The description of the TLS security policy.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the TLS security policy.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the TLS security policy.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the TLS security policy.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the TLS security policy.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the TLS security policy.

*/ inline LoadBalancerTlsPolicy& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the TLS security policy.

*/ inline LoadBalancerTlsPolicy& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the TLS security policy.

*/ inline LoadBalancerTlsPolicy& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The protocols used in a given TLS security policy.

*/ inline const Aws::Vector& GetProtocols() const{ return m_protocols; } /** *

The protocols used in a given TLS security policy.

*/ inline bool ProtocolsHasBeenSet() const { return m_protocolsHasBeenSet; } /** *

The protocols used in a given TLS security policy.

*/ inline void SetProtocols(const Aws::Vector& value) { m_protocolsHasBeenSet = true; m_protocols = value; } /** *

The protocols used in a given TLS security policy.

*/ inline void SetProtocols(Aws::Vector&& value) { m_protocolsHasBeenSet = true; m_protocols = std::move(value); } /** *

The protocols used in a given TLS security policy.

*/ inline LoadBalancerTlsPolicy& WithProtocols(const Aws::Vector& value) { SetProtocols(value); return *this;} /** *

The protocols used in a given TLS security policy.

*/ inline LoadBalancerTlsPolicy& WithProtocols(Aws::Vector&& value) { SetProtocols(std::move(value)); return *this;} /** *

The protocols used in a given TLS security policy.

*/ inline LoadBalancerTlsPolicy& AddProtocols(const Aws::String& value) { m_protocolsHasBeenSet = true; m_protocols.push_back(value); return *this; } /** *

The protocols used in a given TLS security policy.

*/ inline LoadBalancerTlsPolicy& AddProtocols(Aws::String&& value) { m_protocolsHasBeenSet = true; m_protocols.push_back(std::move(value)); return *this; } /** *

The protocols used in a given TLS security policy.

*/ inline LoadBalancerTlsPolicy& AddProtocols(const char* value) { m_protocolsHasBeenSet = true; m_protocols.push_back(value); return *this; } /** *

The ciphers used by the TLS security policy.

The ciphers are listed in * order of preference.

*/ inline const Aws::Vector& GetCiphers() const{ return m_ciphers; } /** *

The ciphers used by the TLS security policy.

The ciphers are listed in * order of preference.

*/ inline bool CiphersHasBeenSet() const { return m_ciphersHasBeenSet; } /** *

The ciphers used by the TLS security policy.

The ciphers are listed in * order of preference.

*/ inline void SetCiphers(const Aws::Vector& value) { m_ciphersHasBeenSet = true; m_ciphers = value; } /** *

The ciphers used by the TLS security policy.

The ciphers are listed in * order of preference.

*/ inline void SetCiphers(Aws::Vector&& value) { m_ciphersHasBeenSet = true; m_ciphers = std::move(value); } /** *

The ciphers used by the TLS security policy.

The ciphers are listed in * order of preference.

*/ inline LoadBalancerTlsPolicy& WithCiphers(const Aws::Vector& value) { SetCiphers(value); return *this;} /** *

The ciphers used by the TLS security policy.

The ciphers are listed in * order of preference.

*/ inline LoadBalancerTlsPolicy& WithCiphers(Aws::Vector&& value) { SetCiphers(std::move(value)); return *this;} /** *

The ciphers used by the TLS security policy.

The ciphers are listed in * order of preference.

*/ inline LoadBalancerTlsPolicy& AddCiphers(const Aws::String& value) { m_ciphersHasBeenSet = true; m_ciphers.push_back(value); return *this; } /** *

The ciphers used by the TLS security policy.

The ciphers are listed in * order of preference.

*/ inline LoadBalancerTlsPolicy& AddCiphers(Aws::String&& value) { m_ciphersHasBeenSet = true; m_ciphers.push_back(std::move(value)); return *this; } /** *

The ciphers used by the TLS security policy.

The ciphers are listed in * order of preference.

*/ inline LoadBalancerTlsPolicy& AddCiphers(const char* value) { m_ciphersHasBeenSet = true; m_ciphers.push_back(value); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = false; bool m_isDefault; bool m_isDefaultHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_protocols; bool m_protocolsHasBeenSet = false; Aws::Vector m_ciphers; bool m_ciphersHasBeenSet = false; }; } // namespace Model } // namespace Lightsail } // namespace Aws