1/*
2* Copyright 2010-2017 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
16#pragma once
17#include <aws/s3/S3_EXPORTS.h>
18#include <aws/s3/model/BucketVersioningStatus.h>
19#include <aws/s3/model/MFADeleteStatus.h>
20#include <utility>
21
22namespace Aws
23{
24template<typename RESULT_TYPE>
25class AmazonWebServiceResult;
26
27namespace Utils
28{
29namespace Xml
30{
31 class XmlDocument;
32} // namespace Xml
33} // namespace Utils
34namespace S3
35{
36namespace Model
37{
38 class AWS_S3_API GetBucketVersioningResult
39 {
40 public:
41 GetBucketVersioningResult();
42 GetBucketVersioningResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
43 GetBucketVersioningResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
44
45
46 /**
47 * <p>The versioning state of the bucket.</p>
48 */
49 inline const BucketVersioningStatus& GetStatus() const{ return m_status; }
50
51 /**
52 * <p>The versioning state of the bucket.</p>
53 */
54 inline void SetStatus(const BucketVersioningStatus& value) { m_status = value; }
55
56 /**
57 * <p>The versioning state of the bucket.</p>
58 */
59 inline void SetStatus(BucketVersioningStatus&& value) { m_status = std::move(value); }
60
61 /**
62 * <p>The versioning state of the bucket.</p>
63 */
64 inline GetBucketVersioningResult& WithStatus(const BucketVersioningStatus& value) { SetStatus(value); return *this;}
65
66 /**
67 * <p>The versioning state of the bucket.</p>
68 */
69 inline GetBucketVersioningResult& WithStatus(BucketVersioningStatus&& value) { SetStatus(std::move(value)); return *this;}
70
71
72 /**
73 * <p>Specifies whether MFA delete is enabled in the bucket versioning
74 * configuration. This element is only returned if the bucket has been configured
75 * with MFA delete. If the bucket has never been so configured, this element is not
76 * returned.</p>
77 */
78 inline const MFADeleteStatus& GetMFADelete() const{ return m_mFADelete; }
79
80 /**
81 * <p>Specifies whether MFA delete is enabled in the bucket versioning
82 * configuration. This element is only returned if the bucket has been configured
83 * with MFA delete. If the bucket has never been so configured, this element is not
84 * returned.</p>
85 */
86 inline void SetMFADelete(const MFADeleteStatus& value) { m_mFADelete = value; }
87
88 /**
89 * <p>Specifies whether MFA delete is enabled in the bucket versioning
90 * configuration. This element is only returned if the bucket has been configured
91 * with MFA delete. If the bucket has never been so configured, this element is not
92 * returned.</p>
93 */
94 inline void SetMFADelete(MFADeleteStatus&& value) { m_mFADelete = std::move(value); }
95
96 /**
97 * <p>Specifies whether MFA delete is enabled in the bucket versioning
98 * configuration. This element is only returned if the bucket has been configured
99 * with MFA delete. If the bucket has never been so configured, this element is not
100 * returned.</p>
101 */
102 inline GetBucketVersioningResult& WithMFADelete(const MFADeleteStatus& value) { SetMFADelete(value); return *this;}
103
104 /**
105 * <p>Specifies whether MFA delete is enabled in the bucket versioning
106 * configuration. This element is only returned if the bucket has been configured
107 * with MFA delete. If the bucket has never been so configured, this element is not
108 * returned.</p>
109 */
110 inline GetBucketVersioningResult& WithMFADelete(MFADeleteStatus&& value) { SetMFADelete(std::move(value)); return *this;}
111
112 private:
113
114 BucketVersioningStatus m_status;
115
116 MFADeleteStatus m_mFADelete;
117 };
118
119} // namespace Model
120} // namespace S3
121} // namespace Aws
122