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

A key-value pair you set that identifies a property of the authenticating * instance.

See Also:

AWS * API Reference

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

Indicates whether the temporary credential request was successful.

*/ inline bool GetFailed() const{ return m_failed; } /** *

Indicates whether the temporary credential request was successful.

*/ inline bool FailedHasBeenSet() const { return m_failedHasBeenSet; } /** *

Indicates whether the temporary credential request was successful.

*/ inline void SetFailed(bool value) { m_failedHasBeenSet = true; m_failed = value; } /** *

Indicates whether the temporary credential request was successful.

*/ inline InstanceProperty& WithFailed(bool value) { SetFailed(value); return *this;} /** *

A list of instanceProperty objects.

*/ inline const Aws::Map& GetProperties() const{ return m_properties; } /** *

A list of instanceProperty objects.

*/ inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } /** *

A list of instanceProperty objects.

*/ inline void SetProperties(const Aws::Map& value) { m_propertiesHasBeenSet = true; m_properties = value; } /** *

A list of instanceProperty objects.

*/ inline void SetProperties(Aws::Map&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); } /** *

A list of instanceProperty objects.

*/ inline InstanceProperty& WithProperties(const Aws::Map& value) { SetProperties(value); return *this;} /** *

A list of instanceProperty objects.

*/ inline InstanceProperty& WithProperties(Aws::Map&& value) { SetProperties(std::move(value)); return *this;} /** *

A list of instanceProperty objects.

*/ inline InstanceProperty& AddProperties(const Aws::String& key, const Aws::String& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, value); return *this; } /** *

A list of instanceProperty objects.

*/ inline InstanceProperty& AddProperties(Aws::String&& key, const Aws::String& value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), value); return *this; } /** *

A list of instanceProperty objects.

*/ inline InstanceProperty& AddProperties(const Aws::String& key, Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, std::move(value)); return *this; } /** *

A list of instanceProperty objects.

*/ inline InstanceProperty& AddProperties(Aws::String&& key, Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of instanceProperty objects.

*/ inline InstanceProperty& AddProperties(const char* key, Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, std::move(value)); return *this; } /** *

A list of instanceProperty objects.

*/ inline InstanceProperty& AddProperties(Aws::String&& key, const char* value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), value); return *this; } /** *

A list of instanceProperty objects.

*/ inline InstanceProperty& AddProperties(const char* key, const char* value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, value); return *this; } /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline const Aws::Utils::DateTime& GetSeenAt() const{ return m_seenAt; } /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline bool SeenAtHasBeenSet() const { return m_seenAtHasBeenSet; } /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline void SetSeenAt(const Aws::Utils::DateTime& value) { m_seenAtHasBeenSet = true; m_seenAt = value; } /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline void SetSeenAt(Aws::Utils::DateTime&& value) { m_seenAtHasBeenSet = true; m_seenAt = std::move(value); } /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline InstanceProperty& WithSeenAt(const Aws::Utils::DateTime& value) { SetSeenAt(value); return *this;} /** *

The ISO-8601 time stamp of when the certificate was last used in a temporary * credential request.

*/ inline InstanceProperty& WithSeenAt(Aws::Utils::DateTime&& value) { SetSeenAt(std::move(value)); return *this;} private: bool m_failed; bool m_failedHasBeenSet = false; Aws::Map m_properties; bool m_propertiesHasBeenSet = false; Aws::Utils::DateTime m_seenAt; bool m_seenAtHasBeenSet = false; }; } // namespace Model } // namespace RolesAnywhere } // namespace Aws