AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
CreatePermissionRequest.h
1
6#pragma once
7#include <aws/ram/RAM_EXPORTS.h>
8#include <aws/ram/RAMRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ram/model/Tag.h>
12#include <utility>
13
14namespace Aws
15{
16namespace RAM
17{
18namespace Model
19{
20
24 {
25 public:
26 AWS_RAM_API CreatePermissionRequest() = default;
27
28 // Service request name is the Operation name which will send this request out,
29 // each operation should has unique request name, so that we can get operation's name from this request.
30 // Note: this is not true for response, multiple operations may have the same response name,
31 // so we can not get operation's name from response.
32 inline virtual const char* GetServiceRequestName() const override { return "CreatePermission"; }
33
34 AWS_RAM_API Aws::String SerializePayload() const override;
35
36
38
42 inline const Aws::String& GetName() const { return m_name; }
43 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
44 template<typename NameT = Aws::String>
45 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
46 template<typename NameT = Aws::String>
47 CreatePermissionRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
49
51
59 inline const Aws::String& GetResourceType() const { return m_resourceType; }
60 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
61 template<typename ResourceTypeT = Aws::String>
62 void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::forward<ResourceTypeT>(value); }
63 template<typename ResourceTypeT = Aws::String>
64 CreatePermissionRequest& WithResourceType(ResourceTypeT&& value) { SetResourceType(std::forward<ResourceTypeT>(value)); return *this;}
66
68
90 inline const Aws::String& GetPolicyTemplate() const { return m_policyTemplate; }
91 inline bool PolicyTemplateHasBeenSet() const { return m_policyTemplateHasBeenSet; }
92 template<typename PolicyTemplateT = Aws::String>
93 void SetPolicyTemplate(PolicyTemplateT&& value) { m_policyTemplateHasBeenSet = true; m_policyTemplate = std::forward<PolicyTemplateT>(value); }
94 template<typename PolicyTemplateT = Aws::String>
95 CreatePermissionRequest& WithPolicyTemplate(PolicyTemplateT&& value) { SetPolicyTemplate(std::forward<PolicyTemplateT>(value)); return *this;}
97
99
111 inline const Aws::String& GetClientToken() const { return m_clientToken; }
112 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
113 template<typename ClientTokenT = Aws::String>
114 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
115 template<typename ClientTokenT = Aws::String>
116 CreatePermissionRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
118
120
124 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
125 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
126 template<typename TagsT = Aws::Vector<Tag>>
127 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
128 template<typename TagsT = Aws::Vector<Tag>>
129 CreatePermissionRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
130 template<typename TagsT = Tag>
131 CreatePermissionRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
133 private:
134
135 Aws::String m_name;
136 bool m_nameHasBeenSet = false;
137
138 Aws::String m_resourceType;
139 bool m_resourceTypeHasBeenSet = false;
140
141 Aws::String m_policyTemplate;
142 bool m_policyTemplateHasBeenSet = false;
143
144 Aws::String m_clientToken;
145 bool m_clientTokenHasBeenSet = false;
146
147 Aws::Vector<Tag> m_tags;
148 bool m_tagsHasBeenSet = false;
149 };
150
151} // namespace Model
152} // namespace RAM
153} // namespace Aws
CreatePermissionRequest & WithPolicyTemplate(PolicyTemplateT &&value)
void SetPolicyTemplate(PolicyTemplateT &&value)
CreatePermissionRequest & WithClientToken(ClientTokenT &&value)
CreatePermissionRequest & AddTags(TagsT &&value)
AWS_RAM_API CreatePermissionRequest()=default
CreatePermissionRequest & WithTags(TagsT &&value)
virtual const char * GetServiceRequestName() const override
CreatePermissionRequest & WithResourceType(ResourceTypeT &&value)
const Aws::Vector< Tag > & GetTags() const
CreatePermissionRequest & WithName(NameT &&value)
AWS_RAM_API Aws::String SerializePayload() const override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector