AWS SDK for C++

AWS SDK for C++ Version 1.11.784

Loading...
Searching...
No Matches
Resource.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/route53-recovery-readiness/Route53RecoveryReadiness_EXPORTS.h>
10#include <aws/route53-recovery-readiness/model/DNSTargetResource.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Route53RecoveryReadiness {
22namespace Model {
23
29class Resource {
30 public:
31 AWS_ROUTE53RECOVERYREADINESS_API Resource() = default;
32 AWS_ROUTE53RECOVERYREADINESS_API Resource(Aws::Utils::Json::JsonView jsonValue);
33 AWS_ROUTE53RECOVERYREADINESS_API Resource& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_ROUTE53RECOVERYREADINESS_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
41 inline const Aws::String& GetComponentId() const { return m_componentId; }
42 inline bool ComponentIdHasBeenSet() const { return m_componentIdHasBeenSet; }
43 template <typename ComponentIdT = Aws::String>
44 void SetComponentId(ComponentIdT&& value) {
45 m_componentIdHasBeenSet = true;
46 m_componentId = std::forward<ComponentIdT>(value);
47 }
48 template <typename ComponentIdT = Aws::String>
49 Resource& WithComponentId(ComponentIdT&& value) {
50 SetComponentId(std::forward<ComponentIdT>(value));
51 return *this;
52 }
54
56
59 inline const DNSTargetResource& GetDnsTargetResource() const { return m_dnsTargetResource; }
60 inline bool DnsTargetResourceHasBeenSet() const { return m_dnsTargetResourceHasBeenSet; }
61 template <typename DnsTargetResourceT = DNSTargetResource>
62 void SetDnsTargetResource(DnsTargetResourceT&& value) {
63 m_dnsTargetResourceHasBeenSet = true;
64 m_dnsTargetResource = std::forward<DnsTargetResourceT>(value);
65 }
66 template <typename DnsTargetResourceT = DNSTargetResource>
67 Resource& WithDnsTargetResource(DnsTargetResourceT&& value) {
68 SetDnsTargetResource(std::forward<DnsTargetResourceT>(value));
69 return *this;
70 }
72
74
78 inline const Aws::Vector<Aws::String>& GetReadinessScopes() const { return m_readinessScopes; }
79 inline bool ReadinessScopesHasBeenSet() const { return m_readinessScopesHasBeenSet; }
80 template <typename ReadinessScopesT = Aws::Vector<Aws::String>>
81 void SetReadinessScopes(ReadinessScopesT&& value) {
82 m_readinessScopesHasBeenSet = true;
83 m_readinessScopes = std::forward<ReadinessScopesT>(value);
84 }
85 template <typename ReadinessScopesT = Aws::Vector<Aws::String>>
86 Resource& WithReadinessScopes(ReadinessScopesT&& value) {
87 SetReadinessScopes(std::forward<ReadinessScopesT>(value));
88 return *this;
89 }
90 template <typename ReadinessScopesT = Aws::String>
91 Resource& AddReadinessScopes(ReadinessScopesT&& value) {
92 m_readinessScopesHasBeenSet = true;
93 m_readinessScopes.emplace_back(std::forward<ReadinessScopesT>(value));
94 return *this;
95 }
97
99
102 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
103 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
104 template <typename ResourceArnT = Aws::String>
105 void SetResourceArn(ResourceArnT&& value) {
106 m_resourceArnHasBeenSet = true;
107 m_resourceArn = std::forward<ResourceArnT>(value);
108 }
109 template <typename ResourceArnT = Aws::String>
110 Resource& WithResourceArn(ResourceArnT&& value) {
111 SetResourceArn(std::forward<ResourceArnT>(value));
112 return *this;
113 }
115 private:
116 Aws::String m_componentId;
117
118 DNSTargetResource m_dnsTargetResource;
119
120 Aws::Vector<Aws::String> m_readinessScopes;
121
122 Aws::String m_resourceArn;
123 bool m_componentIdHasBeenSet = false;
124 bool m_dnsTargetResourceHasBeenSet = false;
125 bool m_readinessScopesHasBeenSet = false;
126 bool m_resourceArnHasBeenSet = false;
127};
128
129} // namespace Model
130} // namespace Route53RecoveryReadiness
131} // namespace Aws
Resource & WithResourceArn(ResourceArnT &&value)
Definition Resource.h:110
const Aws::Vector< Aws::String > & GetReadinessScopes() const
Definition Resource.h:78
void SetReadinessScopes(ReadinessScopesT &&value)
Definition Resource.h:81
AWS_ROUTE53RECOVERYREADINESS_API Resource & operator=(Aws::Utils::Json::JsonView jsonValue)
const DNSTargetResource & GetDnsTargetResource() const
Definition Resource.h:59
void SetDnsTargetResource(DnsTargetResourceT &&value)
Definition Resource.h:62
AWS_ROUTE53RECOVERYREADINESS_API Resource(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetResourceArn() const
Definition Resource.h:102
Resource & AddReadinessScopes(ReadinessScopesT &&value)
Definition Resource.h:91
const Aws::String & GetComponentId() const
Definition Resource.h:41
AWS_ROUTE53RECOVERYREADINESS_API Resource()=default
void SetResourceArn(ResourceArnT &&value)
Definition Resource.h:105
Resource & WithReadinessScopes(ReadinessScopesT &&value)
Definition Resource.h:86
void SetComponentId(ComponentIdT &&value)
Definition Resource.h:44
AWS_ROUTE53RECOVERYREADINESS_API Aws::Utils::Json::JsonValue Jsonize() const
Resource & WithDnsTargetResource(DnsTargetResourceT &&value)
Definition Resource.h:67
Resource & WithComponentId(ComponentIdT &&value)
Definition Resource.h:49
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue