AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
CreateAccessPolicyRequest.h
1
6#pragma once
7#include <aws/iotsitewise/IoTSiteWise_EXPORTS.h>
8#include <aws/iotsitewise/IoTSiteWiseRequest.h>
9#include <aws/iotsitewise/model/Identity.h>
10#include <aws/iotsitewise/model/Resource.h>
11#include <aws/iotsitewise/model/Permission.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <utility>
15#include <aws/core/utils/UUID.h>
16
17namespace Aws
18{
19namespace IoTSiteWise
20{
21namespace Model
22{
23
27 {
28 public:
29 AWS_IOTSITEWISE_API CreateAccessPolicyRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "CreateAccessPolicy"; }
36
37 AWS_IOTSITEWISE_API Aws::String SerializePayload() const override;
38
39
41
45 inline const Identity& GetAccessPolicyIdentity() const { return m_accessPolicyIdentity; }
46 inline bool AccessPolicyIdentityHasBeenSet() const { return m_accessPolicyIdentityHasBeenSet; }
47 template<typename AccessPolicyIdentityT = Identity>
48 void SetAccessPolicyIdentity(AccessPolicyIdentityT&& value) { m_accessPolicyIdentityHasBeenSet = true; m_accessPolicyIdentity = std::forward<AccessPolicyIdentityT>(value); }
49 template<typename AccessPolicyIdentityT = Identity>
50 CreateAccessPolicyRequest& WithAccessPolicyIdentity(AccessPolicyIdentityT&& value) { SetAccessPolicyIdentity(std::forward<AccessPolicyIdentityT>(value)); return *this;}
52
54
58 inline const Resource& GetAccessPolicyResource() const { return m_accessPolicyResource; }
59 inline bool AccessPolicyResourceHasBeenSet() const { return m_accessPolicyResourceHasBeenSet; }
60 template<typename AccessPolicyResourceT = Resource>
61 void SetAccessPolicyResource(AccessPolicyResourceT&& value) { m_accessPolicyResourceHasBeenSet = true; m_accessPolicyResource = std::forward<AccessPolicyResourceT>(value); }
62 template<typename AccessPolicyResourceT = Resource>
63 CreateAccessPolicyRequest& WithAccessPolicyResource(AccessPolicyResourceT&& value) { SetAccessPolicyResource(std::forward<AccessPolicyResourceT>(value)); return *this;}
65
67
71 inline Permission GetAccessPolicyPermission() const { return m_accessPolicyPermission; }
72 inline bool AccessPolicyPermissionHasBeenSet() const { return m_accessPolicyPermissionHasBeenSet; }
73 inline void SetAccessPolicyPermission(Permission value) { m_accessPolicyPermissionHasBeenSet = true; m_accessPolicyPermission = value; }
76
78
83 inline const Aws::String& GetClientToken() const { return m_clientToken; }
84 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
85 template<typename ClientTokenT = Aws::String>
86 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
87 template<typename ClientTokenT = Aws::String>
88 CreateAccessPolicyRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
90
92
98 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
99 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
100 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
101 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
102 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
103 CreateAccessPolicyRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
104 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
105 CreateAccessPolicyRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
106 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
107 }
109 private:
110
111 Identity m_accessPolicyIdentity;
112 bool m_accessPolicyIdentityHasBeenSet = false;
113
114 Resource m_accessPolicyResource;
115 bool m_accessPolicyResourceHasBeenSet = false;
116
117 Permission m_accessPolicyPermission{Permission::NOT_SET};
118 bool m_accessPolicyPermissionHasBeenSet = false;
119
121 bool m_clientTokenHasBeenSet = true;
122
124 bool m_tagsHasBeenSet = false;
125 };
126
127} // namespace Model
128} // namespace IoTSiteWise
129} // namespace Aws
virtual const char * GetServiceRequestName() const override
CreateAccessPolicyRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateAccessPolicyRequest & WithAccessPolicyIdentity(AccessPolicyIdentityT &&value)
CreateAccessPolicyRequest & WithAccessPolicyResource(AccessPolicyResourceT &&value)
void SetAccessPolicyIdentity(AccessPolicyIdentityT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
AWS_IOTSITEWISE_API CreateAccessPolicyRequest()=default
CreateAccessPolicyRequest & WithClientToken(ClientTokenT &&value)
CreateAccessPolicyRequest & WithTags(TagsT &&value)
void SetAccessPolicyResource(AccessPolicyResourceT &&value)
CreateAccessPolicyRequest & WithAccessPolicyPermission(Permission value)
AWS_IOTSITEWISE_API Aws::String SerializePayload() const override
static Aws::Utils::UUID PseudoRandomUUID()
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String