/** * 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 Transfer { namespace Model { /** *

Describes the properties of a security policy that was specified. For more * information about security policies, see Working * with security policies.

See Also:

AWS * API Reference

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

Specifies whether this policy enables Federal Information Processing * Standards (FIPS).

*/ inline bool GetFips() const{ return m_fips; } /** *

Specifies whether this policy enables Federal Information Processing * Standards (FIPS).

*/ inline bool FipsHasBeenSet() const { return m_fipsHasBeenSet; } /** *

Specifies whether this policy enables Federal Information Processing * Standards (FIPS).

*/ inline void SetFips(bool value) { m_fipsHasBeenSet = true; m_fips = value; } /** *

Specifies whether this policy enables Federal Information Processing * Standards (FIPS).

*/ inline DescribedSecurityPolicy& WithFips(bool value) { SetFips(value); return *this;} /** *

Specifies the name of the security policy that is attached to the server.

*/ inline const Aws::String& GetSecurityPolicyName() const{ return m_securityPolicyName; } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline bool SecurityPolicyNameHasBeenSet() const { return m_securityPolicyNameHasBeenSet; } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline void SetSecurityPolicyName(const Aws::String& value) { m_securityPolicyNameHasBeenSet = true; m_securityPolicyName = value; } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline void SetSecurityPolicyName(Aws::String&& value) { m_securityPolicyNameHasBeenSet = true; m_securityPolicyName = std::move(value); } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline void SetSecurityPolicyName(const char* value) { m_securityPolicyNameHasBeenSet = true; m_securityPolicyName.assign(value); } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithSecurityPolicyName(const Aws::String& value) { SetSecurityPolicyName(value); return *this;} /** *

Specifies the name of the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithSecurityPolicyName(Aws::String&& value) { SetSecurityPolicyName(std::move(value)); return *this;} /** *

Specifies the name of the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithSecurityPolicyName(const char* value) { SetSecurityPolicyName(value); return *this;} /** *

Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the * security policy that is attached to the server.

*/ inline const Aws::Vector& GetSshCiphers() const{ return m_sshCiphers; } /** *

Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the * security policy that is attached to the server.

*/ inline bool SshCiphersHasBeenSet() const { return m_sshCiphersHasBeenSet; } /** *

Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the * security policy that is attached to the server.

*/ inline void SetSshCiphers(const Aws::Vector& value) { m_sshCiphersHasBeenSet = true; m_sshCiphers = value; } /** *

Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the * security policy that is attached to the server.

*/ inline void SetSshCiphers(Aws::Vector&& value) { m_sshCiphersHasBeenSet = true; m_sshCiphers = std::move(value); } /** *

Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the * security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithSshCiphers(const Aws::Vector& value) { SetSshCiphers(value); return *this;} /** *

Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the * security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithSshCiphers(Aws::Vector&& value) { SetSshCiphers(std::move(value)); return *this;} /** *

Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the * security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddSshCiphers(const Aws::String& value) { m_sshCiphersHasBeenSet = true; m_sshCiphers.push_back(value); return *this; } /** *

Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the * security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddSshCiphers(Aws::String&& value) { m_sshCiphersHasBeenSet = true; m_sshCiphers.push_back(std::move(value)); return *this; } /** *

Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the * security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddSshCiphers(const char* value) { m_sshCiphersHasBeenSet = true; m_sshCiphers.push_back(value); return *this; } /** *

Specifies the enabled SSH key exchange (KEX) encryption algorithms in the * security policy that is attached to the server.

*/ inline const Aws::Vector& GetSshKexs() const{ return m_sshKexs; } /** *

Specifies the enabled SSH key exchange (KEX) encryption algorithms in the * security policy that is attached to the server.

*/ inline bool SshKexsHasBeenSet() const { return m_sshKexsHasBeenSet; } /** *

Specifies the enabled SSH key exchange (KEX) encryption algorithms in the * security policy that is attached to the server.

*/ inline void SetSshKexs(const Aws::Vector& value) { m_sshKexsHasBeenSet = true; m_sshKexs = value; } /** *

Specifies the enabled SSH key exchange (KEX) encryption algorithms in the * security policy that is attached to the server.

*/ inline void SetSshKexs(Aws::Vector&& value) { m_sshKexsHasBeenSet = true; m_sshKexs = std::move(value); } /** *

Specifies the enabled SSH key exchange (KEX) encryption algorithms in the * security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithSshKexs(const Aws::Vector& value) { SetSshKexs(value); return *this;} /** *

Specifies the enabled SSH key exchange (KEX) encryption algorithms in the * security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithSshKexs(Aws::Vector&& value) { SetSshKexs(std::move(value)); return *this;} /** *

Specifies the enabled SSH key exchange (KEX) encryption algorithms in the * security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddSshKexs(const Aws::String& value) { m_sshKexsHasBeenSet = true; m_sshKexs.push_back(value); return *this; } /** *

Specifies the enabled SSH key exchange (KEX) encryption algorithms in the * security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddSshKexs(Aws::String&& value) { m_sshKexsHasBeenSet = true; m_sshKexs.push_back(std::move(value)); return *this; } /** *

Specifies the enabled SSH key exchange (KEX) encryption algorithms in the * security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddSshKexs(const char* value) { m_sshKexsHasBeenSet = true; m_sshKexs.push_back(value); return *this; } /** *

Specifies the enabled SSH message authentication code (MAC) encryption * algorithms in the security policy that is attached to the server.

*/ inline const Aws::Vector& GetSshMacs() const{ return m_sshMacs; } /** *

Specifies the enabled SSH message authentication code (MAC) encryption * algorithms in the security policy that is attached to the server.

*/ inline bool SshMacsHasBeenSet() const { return m_sshMacsHasBeenSet; } /** *

Specifies the enabled SSH message authentication code (MAC) encryption * algorithms in the security policy that is attached to the server.

*/ inline void SetSshMacs(const Aws::Vector& value) { m_sshMacsHasBeenSet = true; m_sshMacs = value; } /** *

Specifies the enabled SSH message authentication code (MAC) encryption * algorithms in the security policy that is attached to the server.

*/ inline void SetSshMacs(Aws::Vector&& value) { m_sshMacsHasBeenSet = true; m_sshMacs = std::move(value); } /** *

Specifies the enabled SSH message authentication code (MAC) encryption * algorithms in the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithSshMacs(const Aws::Vector& value) { SetSshMacs(value); return *this;} /** *

Specifies the enabled SSH message authentication code (MAC) encryption * algorithms in the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithSshMacs(Aws::Vector&& value) { SetSshMacs(std::move(value)); return *this;} /** *

Specifies the enabled SSH message authentication code (MAC) encryption * algorithms in the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddSshMacs(const Aws::String& value) { m_sshMacsHasBeenSet = true; m_sshMacs.push_back(value); return *this; } /** *

Specifies the enabled SSH message authentication code (MAC) encryption * algorithms in the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddSshMacs(Aws::String&& value) { m_sshMacsHasBeenSet = true; m_sshMacs.push_back(std::move(value)); return *this; } /** *

Specifies the enabled SSH message authentication code (MAC) encryption * algorithms in the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddSshMacs(const char* value) { m_sshMacsHasBeenSet = true; m_sshMacs.push_back(value); return *this; } /** *

Specifies the enabled Transport Layer Security (TLS) cipher encryption * algorithms in the security policy that is attached to the server.

*/ inline const Aws::Vector& GetTlsCiphers() const{ return m_tlsCiphers; } /** *

Specifies the enabled Transport Layer Security (TLS) cipher encryption * algorithms in the security policy that is attached to the server.

*/ inline bool TlsCiphersHasBeenSet() const { return m_tlsCiphersHasBeenSet; } /** *

Specifies the enabled Transport Layer Security (TLS) cipher encryption * algorithms in the security policy that is attached to the server.

*/ inline void SetTlsCiphers(const Aws::Vector& value) { m_tlsCiphersHasBeenSet = true; m_tlsCiphers = value; } /** *

Specifies the enabled Transport Layer Security (TLS) cipher encryption * algorithms in the security policy that is attached to the server.

*/ inline void SetTlsCiphers(Aws::Vector&& value) { m_tlsCiphersHasBeenSet = true; m_tlsCiphers = std::move(value); } /** *

Specifies the enabled Transport Layer Security (TLS) cipher encryption * algorithms in the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithTlsCiphers(const Aws::Vector& value) { SetTlsCiphers(value); return *this;} /** *

Specifies the enabled Transport Layer Security (TLS) cipher encryption * algorithms in the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& WithTlsCiphers(Aws::Vector&& value) { SetTlsCiphers(std::move(value)); return *this;} /** *

Specifies the enabled Transport Layer Security (TLS) cipher encryption * algorithms in the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddTlsCiphers(const Aws::String& value) { m_tlsCiphersHasBeenSet = true; m_tlsCiphers.push_back(value); return *this; } /** *

Specifies the enabled Transport Layer Security (TLS) cipher encryption * algorithms in the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddTlsCiphers(Aws::String&& value) { m_tlsCiphersHasBeenSet = true; m_tlsCiphers.push_back(std::move(value)); return *this; } /** *

Specifies the enabled Transport Layer Security (TLS) cipher encryption * algorithms in the security policy that is attached to the server.

*/ inline DescribedSecurityPolicy& AddTlsCiphers(const char* value) { m_tlsCiphersHasBeenSet = true; m_tlsCiphers.push_back(value); return *this; } private: bool m_fips; bool m_fipsHasBeenSet = false; Aws::String m_securityPolicyName; bool m_securityPolicyNameHasBeenSet = false; Aws::Vector m_sshCiphers; bool m_sshCiphersHasBeenSet = false; Aws::Vector m_sshKexs; bool m_sshKexsHasBeenSet = false; Aws::Vector m_sshMacs; bool m_sshMacsHasBeenSet = false; Aws::Vector m_tlsCiphers; bool m_tlsCiphersHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws