AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
S3Grant.h
1
6#pragma once
7#include <aws/s3control/S3Control_EXPORTS.h>
8#include <aws/s3control/model/S3Grantee.h>
9#include <aws/s3control/model/S3Permission.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Xml {
16class XmlNode;
17} // namespace Xml
18} // namespace Utils
19namespace S3Control {
20namespace Model {
21
27class S3Grant {
28 public:
29 AWS_S3CONTROL_API S3Grant() = default;
30 AWS_S3CONTROL_API S3Grant(const Aws::Utils::Xml::XmlNode& xmlNode);
31 AWS_S3CONTROL_API S3Grant& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
32
33 AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
34
36
39 inline const S3Grantee& GetGrantee() const { return m_grantee; }
40 inline bool GranteeHasBeenSet() const { return m_granteeHasBeenSet; }
41 template <typename GranteeT = S3Grantee>
42 void SetGrantee(GranteeT&& value) {
43 m_granteeHasBeenSet = true;
44 m_grantee = std::forward<GranteeT>(value);
45 }
46 template <typename GranteeT = S3Grantee>
47 S3Grant& WithGrantee(GranteeT&& value) {
48 SetGrantee(std::forward<GranteeT>(value));
49 return *this;
50 }
52
54
57 inline S3Permission GetPermission() const { return m_permission; }
58 inline bool PermissionHasBeenSet() const { return m_permissionHasBeenSet; }
59 inline void SetPermission(S3Permission value) {
60 m_permissionHasBeenSet = true;
61 m_permission = value;
62 }
64 SetPermission(value);
65 return *this;
66 }
68 private:
69 S3Grantee m_grantee;
70
72 bool m_granteeHasBeenSet = false;
73 bool m_permissionHasBeenSet = false;
74};
75
76} // namespace Model
77} // namespace S3Control
78} // namespace Aws
void SetGrantee(GranteeT &&value)
Definition S3Grant.h:42
S3Grant & WithGrantee(GranteeT &&value)
Definition S3Grant.h:47
const S3Grantee & GetGrantee() const
Definition S3Grant.h:39
S3Grant & WithPermission(S3Permission value)
Definition S3Grant.h:63
S3Permission GetPermission() const
Definition S3Grant.h:57
AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
void SetPermission(S3Permission value)
Definition S3Grant.h:59
bool PermissionHasBeenSet() const
Definition S3Grant.h:58
AWS_S3CONTROL_API S3Grant & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool GranteeHasBeenSet() const
Definition S3Grant.h:40
AWS_S3CONTROL_API S3Grant(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3CONTROL_API S3Grant()=default