AWS SDK for C++

AWS SDK for C++ Version 1.11.763

Loading...
Searching...
No Matches
RelatedResource.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/iot/IoT_EXPORTS.h>
10#include <aws/iot/model/ResourceIdentifier.h>
11#include <aws/iot/model/ResourceType.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace IoT {
23namespace Model {
24
31 public:
32 AWS_IOT_API RelatedResource() = default;
36
38
41 inline ResourceType GetResourceType() const { return m_resourceType; }
42 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
43 inline void SetResourceType(ResourceType value) {
44 m_resourceTypeHasBeenSet = true;
45 m_resourceType = value;
46 }
48 SetResourceType(value);
49 return *this;
50 }
52
54
57 inline const ResourceIdentifier& GetResourceIdentifier() const { return m_resourceIdentifier; }
58 inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; }
59 template <typename ResourceIdentifierT = ResourceIdentifier>
60 void SetResourceIdentifier(ResourceIdentifierT&& value) {
61 m_resourceIdentifierHasBeenSet = true;
62 m_resourceIdentifier = std::forward<ResourceIdentifierT>(value);
63 }
64 template <typename ResourceIdentifierT = ResourceIdentifier>
65 RelatedResource& WithResourceIdentifier(ResourceIdentifierT&& value) {
66 SetResourceIdentifier(std::forward<ResourceIdentifierT>(value));
67 return *this;
68 }
70
72
75 inline const Aws::Map<Aws::String, Aws::String>& GetAdditionalInfo() const { return m_additionalInfo; }
76 inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; }
77 template <typename AdditionalInfoT = Aws::Map<Aws::String, Aws::String>>
78 void SetAdditionalInfo(AdditionalInfoT&& value) {
79 m_additionalInfoHasBeenSet = true;
80 m_additionalInfo = std::forward<AdditionalInfoT>(value);
81 }
82 template <typename AdditionalInfoT = Aws::Map<Aws::String, Aws::String>>
83 RelatedResource& WithAdditionalInfo(AdditionalInfoT&& value) {
84 SetAdditionalInfo(std::forward<AdditionalInfoT>(value));
85 return *this;
86 }
87 template <typename AdditionalInfoKeyT = Aws::String, typename AdditionalInfoValueT = Aws::String>
88 RelatedResource& AddAdditionalInfo(AdditionalInfoKeyT&& key, AdditionalInfoValueT&& value) {
89 m_additionalInfoHasBeenSet = true;
90 m_additionalInfo.emplace(std::forward<AdditionalInfoKeyT>(key), std::forward<AdditionalInfoValueT>(value));
91 return *this;
92 }
94 private:
95 ResourceType m_resourceType{ResourceType::NOT_SET};
96
97 ResourceIdentifier m_resourceIdentifier;
98
100 bool m_resourceTypeHasBeenSet = false;
101 bool m_resourceIdentifierHasBeenSet = false;
102 bool m_additionalInfoHasBeenSet = false;
103};
104
105} // namespace Model
106} // namespace IoT
107} // namespace Aws
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
Aws::Utils::Json::JsonValue JsonValue