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

Specifies a security configuration.

See Also:

AWS * API Reference

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

The name of the security configuration.

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

The name of the security configuration.

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

The name of the security configuration.

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

The name of the security configuration.

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

The name of the security configuration.

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

The name of the security configuration.

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

The name of the security configuration.

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

The name of the security configuration.

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

The time at which this security configuration was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTimeStamp() const{ return m_createdTimeStamp; } /** *

The time at which this security configuration was created.

*/ inline bool CreatedTimeStampHasBeenSet() const { return m_createdTimeStampHasBeenSet; } /** *

The time at which this security configuration was created.

*/ inline void SetCreatedTimeStamp(const Aws::Utils::DateTime& value) { m_createdTimeStampHasBeenSet = true; m_createdTimeStamp = value; } /** *

The time at which this security configuration was created.

*/ inline void SetCreatedTimeStamp(Aws::Utils::DateTime&& value) { m_createdTimeStampHasBeenSet = true; m_createdTimeStamp = std::move(value); } /** *

The time at which this security configuration was created.

*/ inline SecurityConfiguration& WithCreatedTimeStamp(const Aws::Utils::DateTime& value) { SetCreatedTimeStamp(value); return *this;} /** *

The time at which this security configuration was created.

*/ inline SecurityConfiguration& WithCreatedTimeStamp(Aws::Utils::DateTime&& value) { SetCreatedTimeStamp(std::move(value)); return *this;} /** *

The encryption configuration associated with this security configuration.

*/ inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } /** *

The encryption configuration associated with this security configuration.

*/ inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } /** *

The encryption configuration associated with this security configuration.

*/ inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } /** *

The encryption configuration associated with this security configuration.

*/ inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } /** *

The encryption configuration associated with this security configuration.

*/ inline SecurityConfiguration& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} /** *

The encryption configuration associated with this security configuration.

*/ inline SecurityConfiguration& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Utils::DateTime m_createdTimeStamp; bool m_createdTimeStampHasBeenSet = false; EncryptionConfiguration m_encryptionConfiguration; bool m_encryptionConfigurationHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws