AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
Scope.h
1
6#pragma once
7#include <aws/s3control/S3Control_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/s3control/model/ScopePermission.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Xml
18{
19 class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace S3Control
23{
24namespace Model
25{
26
36 class Scope
37 {
38 public:
39 AWS_S3CONTROL_API Scope() = default;
40 AWS_S3CONTROL_API Scope(const Aws::Utils::Xml::XmlNode& xmlNode);
41 AWS_S3CONTROL_API Scope& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
42
43 AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
44
45
47
51 inline const Aws::Vector<Aws::String>& GetPrefixes() const { return m_prefixes; }
52 inline bool PrefixesHasBeenSet() const { return m_prefixesHasBeenSet; }
53 template<typename PrefixesT = Aws::Vector<Aws::String>>
54 void SetPrefixes(PrefixesT&& value) { m_prefixesHasBeenSet = true; m_prefixes = std::forward<PrefixesT>(value); }
55 template<typename PrefixesT = Aws::Vector<Aws::String>>
56 Scope& WithPrefixes(PrefixesT&& value) { SetPrefixes(std::forward<PrefixesT>(value)); return *this;}
57 template<typename PrefixesT = Aws::String>
58 Scope& AddPrefixes(PrefixesT&& value) { m_prefixesHasBeenSet = true; m_prefixes.emplace_back(std::forward<PrefixesT>(value)); return *this; }
60
62
65 inline const Aws::Vector<ScopePermission>& GetPermissions() const { return m_permissions; }
66 inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; }
67 template<typename PermissionsT = Aws::Vector<ScopePermission>>
68 void SetPermissions(PermissionsT&& value) { m_permissionsHasBeenSet = true; m_permissions = std::forward<PermissionsT>(value); }
69 template<typename PermissionsT = Aws::Vector<ScopePermission>>
70 Scope& WithPermissions(PermissionsT&& value) { SetPermissions(std::forward<PermissionsT>(value)); return *this;}
71 inline Scope& AddPermissions(ScopePermission value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; }
73 private:
74
75 Aws::Vector<Aws::String> m_prefixes;
76 bool m_prefixesHasBeenSet = false;
77
78 Aws::Vector<ScopePermission> m_permissions;
79 bool m_permissionsHasBeenSet = false;
80 };
81
82} // namespace Model
83} // namespace S3Control
84} // namespace Aws
const Aws::Vector< ScopePermission > & GetPermissions() const
Definition Scope.h:65
AWS_S3CONTROL_API Scope(const Aws::Utils::Xml::XmlNode &xmlNode)
Scope & WithPrefixes(PrefixesT &&value)
Definition Scope.h:56
AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
void SetPrefixes(PrefixesT &&value)
Definition Scope.h:54
bool PrefixesHasBeenSet() const
Definition Scope.h:52
Scope & AddPrefixes(PrefixesT &&value)
Definition Scope.h:58
AWS_S3CONTROL_API Scope()=default
bool PermissionsHasBeenSet() const
Definition Scope.h:66
Scope & AddPermissions(ScopePermission value)
Definition Scope.h:71
const Aws::Vector< Aws::String > & GetPrefixes() const
Definition Scope.h:51
void SetPermissions(PermissionsT &&value)
Definition Scope.h:68
Scope & WithPermissions(PermissionsT &&value)
Definition Scope.h:70
AWS_S3CONTROL_API Scope & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
std::vector< T, Aws::Allocator< T > > Vector