AWS SDK for C++  0.14.3
AWS SDK for C++
TargetGrant.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
16 #include <aws/s3/S3_EXPORTS.h>
17 #include <aws/s3/model/Grantee.h>
19 
20 namespace Aws
21 {
22 namespace Utils
23 {
24 namespace Xml
25 {
26  class XmlNode;
27 } // namespace Xml
28 } // namespace Utils
29 namespace S3
30 {
31 namespace Model
32 {
33 
35  {
36  public:
37  TargetGrant();
38  TargetGrant(const Aws::Utils::Xml::XmlNode& xmlNode);
39  TargetGrant& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
40 
41  void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
42 
43 
44  inline const Grantee& GetGrantee() const{ return m_grantee; }
45 
46 
47  inline void SetGrantee(const Grantee& value) { m_granteeHasBeenSet = true; m_grantee = value; }
48 
49 
50  inline void SetGrantee(Grantee&& value) { m_granteeHasBeenSet = true; m_grantee = value; }
51 
52 
53  inline TargetGrant& WithGrantee(const Grantee& value) { SetGrantee(value); return *this;}
54 
55 
56  inline TargetGrant& WithGrantee(Grantee&& value) { SetGrantee(value); return *this;}
57 
61  inline const BucketLogsPermission& GetPermission() const{ return m_permission; }
62 
66  inline void SetPermission(const BucketLogsPermission& value) { m_permissionHasBeenSet = true; m_permission = value; }
67 
71  inline void SetPermission(BucketLogsPermission&& value) { m_permissionHasBeenSet = true; m_permission = value; }
72 
76  inline TargetGrant& WithPermission(const BucketLogsPermission& value) { SetPermission(value); return *this;}
77 
81  inline TargetGrant& WithPermission(BucketLogsPermission&& value) { SetPermission(value); return *this;}
82 
83  private:
84  Grantee m_grantee;
85  bool m_granteeHasBeenSet;
86  BucketLogsPermission m_permission;
87  bool m_permissionHasBeenSet;
88  };
89 
90 } // namespace Model
91 } // namespace S3
92 } // namespace Aws
TargetGrant & WithPermission(const BucketLogsPermission &value)
Definition: TargetGrant.h:76
void SetGrantee(Grantee &&value)
Definition: TargetGrant.h:50
void SetPermission(BucketLogsPermission &&value)
Definition: TargetGrant.h:71
TargetGrant & WithGrantee(Grantee &&value)
Definition: TargetGrant.h:56
void SetGrantee(const Grantee &value)
Definition: TargetGrant.h:47
const BucketLogsPermission & GetPermission() const
Definition: TargetGrant.h:61
TargetGrant & WithPermission(BucketLogsPermission &&value)
Definition: TargetGrant.h:81
#define AWS_S3_API
Definition: S3_EXPORTS.h:37
void SetPermission(const BucketLogsPermission &value)
Definition: TargetGrant.h:66
const Grantee & GetGrantee() const
Definition: TargetGrant.h:44
JSON (JavaScript Object Notation).
TargetGrant & WithGrantee(const Grantee &value)
Definition: TargetGrant.h:53