AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
KmsKeyConfiguration.h
1
6#pragma once
7#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/accessanalyzer/model/KmsGrantConfiguration.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace AccessAnalyzer
25{
26namespace Model
27{
28
46 {
47 public:
48 AWS_ACCESSANALYZER_API KmsKeyConfiguration() = default;
49 AWS_ACCESSANALYZER_API KmsKeyConfiguration(Aws::Utils::Json::JsonView jsonValue);
50 AWS_ACCESSANALYZER_API KmsKeyConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
51 AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const;
52
53
55
61 inline const Aws::Map<Aws::String, Aws::String>& GetKeyPolicies() const { return m_keyPolicies; }
62 inline bool KeyPoliciesHasBeenSet() const { return m_keyPoliciesHasBeenSet; }
63 template<typename KeyPoliciesT = Aws::Map<Aws::String, Aws::String>>
64 void SetKeyPolicies(KeyPoliciesT&& value) { m_keyPoliciesHasBeenSet = true; m_keyPolicies = std::forward<KeyPoliciesT>(value); }
65 template<typename KeyPoliciesT = Aws::Map<Aws::String, Aws::String>>
66 KmsKeyConfiguration& WithKeyPolicies(KeyPoliciesT&& value) { SetKeyPolicies(std::forward<KeyPoliciesT>(value)); return *this;}
67 template<typename KeyPoliciesKeyT = Aws::String, typename KeyPoliciesValueT = Aws::String>
68 KmsKeyConfiguration& AddKeyPolicies(KeyPoliciesKeyT&& key, KeyPoliciesValueT&& value) {
69 m_keyPoliciesHasBeenSet = true; m_keyPolicies.emplace(std::forward<KeyPoliciesKeyT>(key), std::forward<KeyPoliciesValueT>(value)); return *this;
70 }
72
74
80 inline const Aws::Vector<KmsGrantConfiguration>& GetGrants() const { return m_grants; }
81 inline bool GrantsHasBeenSet() const { return m_grantsHasBeenSet; }
82 template<typename GrantsT = Aws::Vector<KmsGrantConfiguration>>
83 void SetGrants(GrantsT&& value) { m_grantsHasBeenSet = true; m_grants = std::forward<GrantsT>(value); }
84 template<typename GrantsT = Aws::Vector<KmsGrantConfiguration>>
85 KmsKeyConfiguration& WithGrants(GrantsT&& value) { SetGrants(std::forward<GrantsT>(value)); return *this;}
86 template<typename GrantsT = KmsGrantConfiguration>
87 KmsKeyConfiguration& AddGrants(GrantsT&& value) { m_grantsHasBeenSet = true; m_grants.emplace_back(std::forward<GrantsT>(value)); return *this; }
89 private:
90
92 bool m_keyPoliciesHasBeenSet = false;
93
95 bool m_grantsHasBeenSet = false;
96 };
97
98} // namespace Model
99} // namespace AccessAnalyzer
100} // namespace Aws
const Aws::Vector< KmsGrantConfiguration > & GetGrants() const
KmsKeyConfiguration & WithGrants(GrantsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetKeyPolicies() const
AWS_ACCESSANALYZER_API KmsKeyConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const
KmsKeyConfiguration & AddGrants(GrantsT &&value)
KmsKeyConfiguration & AddKeyPolicies(KeyPoliciesKeyT &&key, KeyPoliciesValueT &&value)
AWS_ACCESSANALYZER_API KmsKeyConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_ACCESSANALYZER_API KmsKeyConfiguration()=default
KmsKeyConfiguration & WithKeyPolicies(KeyPoliciesT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue