AWS SDK for C++

AWS SDK for C++ Version 1.11.747

Loading...
Searching...
No Matches
PolicyDefinition.h
1
6#pragma once
7#include <aws/verifiedpermissions/VerifiedPermissions_EXPORTS.h>
8#include <aws/verifiedpermissions/model/StaticPolicyDefinition.h>
9#include <aws/verifiedpermissions/model/TemplateLinkedPolicyDefinition.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace VerifiedPermissions {
21namespace Model {
22
35 public:
36 AWS_VERIFIEDPERMISSIONS_API PolicyDefinition() = default;
37 AWS_VERIFIEDPERMISSIONS_API PolicyDefinition(Aws::Utils::Json::JsonView jsonValue);
38 AWS_VERIFIEDPERMISSIONS_API PolicyDefinition& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
46 inline const StaticPolicyDefinition& GetStatic() const { return m_static; }
47 inline bool StaticHasBeenSet() const { return m_staticHasBeenSet; }
48 template <typename StaticT = StaticPolicyDefinition>
49 void SetStatic(StaticT&& value) {
50 m_staticHasBeenSet = true;
51 m_static = std::forward<StaticT>(value);
52 }
53 template <typename StaticT = StaticPolicyDefinition>
54 PolicyDefinition& WithStatic(StaticT&& value) {
55 SetStatic(std::forward<StaticT>(value));
56 return *this;
57 }
59
61
69 inline const TemplateLinkedPolicyDefinition& GetTemplateLinked() const { return m_templateLinked; }
70 inline bool TemplateLinkedHasBeenSet() const { return m_templateLinkedHasBeenSet; }
71 template <typename TemplateLinkedT = TemplateLinkedPolicyDefinition>
72 void SetTemplateLinked(TemplateLinkedT&& value) {
73 m_templateLinkedHasBeenSet = true;
74 m_templateLinked = std::forward<TemplateLinkedT>(value);
75 }
76 template <typename TemplateLinkedT = TemplateLinkedPolicyDefinition>
77 PolicyDefinition& WithTemplateLinked(TemplateLinkedT&& value) {
78 SetTemplateLinked(std::forward<TemplateLinkedT>(value));
79 return *this;
80 }
82 private:
84
85 TemplateLinkedPolicyDefinition m_templateLinked;
86 bool m_staticHasBeenSet = false;
87 bool m_templateLinkedHasBeenSet = false;
88};
89
90} // namespace Model
91} // namespace VerifiedPermissions
92} // namespace Aws
const StaticPolicyDefinition & GetStatic() const
AWS_VERIFIEDPERMISSIONS_API PolicyDefinition(Aws::Utils::Json::JsonView jsonValue)
AWS_VERIFIEDPERMISSIONS_API PolicyDefinition()=default
AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const
const TemplateLinkedPolicyDefinition & GetTemplateLinked() const
PolicyDefinition & WithTemplateLinked(TemplateLinkedT &&value)
PolicyDefinition & WithStatic(StaticT &&value)
AWS_VERIFIEDPERMISSIONS_API PolicyDefinition & operator=(Aws::Utils::Json::JsonView jsonValue)
Aws::Utils::Json::JsonValue JsonValue