AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
Scope.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/s3control/S3Control_EXPORTS.h>
10#include <aws/s3control/model/ScopePermission.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace S3Control {
21namespace Model {
22
32class Scope {
33 public:
34 AWS_S3CONTROL_API Scope() = default;
35 AWS_S3CONTROL_API Scope(const Aws::Utils::Xml::XmlNode& xmlNode);
36 AWS_S3CONTROL_API Scope& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37
38 AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
39
41
45 inline const Aws::Vector<Aws::String>& GetPrefixes() const { return m_prefixes; }
46 inline bool PrefixesHasBeenSet() const { return m_prefixesHasBeenSet; }
47 template <typename PrefixesT = Aws::Vector<Aws::String>>
48 void SetPrefixes(PrefixesT&& value) {
49 m_prefixesHasBeenSet = true;
50 m_prefixes = std::forward<PrefixesT>(value);
51 }
52 template <typename PrefixesT = Aws::Vector<Aws::String>>
53 Scope& WithPrefixes(PrefixesT&& value) {
54 SetPrefixes(std::forward<PrefixesT>(value));
55 return *this;
56 }
57 template <typename PrefixesT = Aws::String>
58 Scope& AddPrefixes(PrefixesT&& value) {
59 m_prefixesHasBeenSet = true;
60 m_prefixes.emplace_back(std::forward<PrefixesT>(value));
61 return *this;
62 }
64
66
69 inline const Aws::Vector<ScopePermission>& GetPermissions() const { return m_permissions; }
70 inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; }
71 template <typename PermissionsT = Aws::Vector<ScopePermission>>
72 void SetPermissions(PermissionsT&& value) {
73 m_permissionsHasBeenSet = true;
74 m_permissions = std::forward<PermissionsT>(value);
75 }
76 template <typename PermissionsT = Aws::Vector<ScopePermission>>
77 Scope& WithPermissions(PermissionsT&& value) {
78 SetPermissions(std::forward<PermissionsT>(value));
79 return *this;
80 }
82 m_permissionsHasBeenSet = true;
83 m_permissions.push_back(value);
84 return *this;
85 }
87 private:
88 Aws::Vector<Aws::String> m_prefixes;
89
90 Aws::Vector<ScopePermission> m_permissions;
91 bool m_prefixesHasBeenSet = false;
92 bool m_permissionsHasBeenSet = false;
93};
94
95} // namespace Model
96} // namespace S3Control
97} // namespace Aws
const Aws::Vector< ScopePermission > & GetPermissions() const
Definition Scope.h:69
AWS_S3CONTROL_API Scope(const Aws::Utils::Xml::XmlNode &xmlNode)
Scope & WithPrefixes(PrefixesT &&value)
Definition Scope.h:53
AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
void SetPrefixes(PrefixesT &&value)
Definition Scope.h:48
bool PrefixesHasBeenSet() const
Definition Scope.h:46
Scope & AddPrefixes(PrefixesT &&value)
Definition Scope.h:58
AWS_S3CONTROL_API Scope()=default
bool PermissionsHasBeenSet() const
Definition Scope.h:70
Scope & AddPermissions(ScopePermission value)
Definition Scope.h:81
const Aws::Vector< Aws::String > & GetPrefixes() const
Definition Scope.h:45
void SetPermissions(PermissionsT &&value)
Definition Scope.h:72
Scope & WithPermissions(PermissionsT &&value)
Definition Scope.h:77
AWS_S3CONTROL_API Scope & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
std::vector< T, Aws::Allocator< T > > Vector