1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/s3-crt/S3Crt_EXPORTS.h>
8 #include <aws/s3-crt/model/ObjectLockConfiguration.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 template<typename RESULT_TYPE>
14 class AmazonWebServiceResult;
15 
16 namespace Utils
17 {
18 namespace Xml
19 {
20   class XmlDocument;
21 } // namespace Xml
22 } // namespace Utils
23 namespace S3Crt
24 {
25 namespace Model
26 {
27   class AWS_S3CRT_API GetObjectLockConfigurationResult
28   {
29   public:
30     GetObjectLockConfigurationResult();
31     GetObjectLockConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
32     GetObjectLockConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
33 
34 
35     /**
36      * <p>The specified bucket's Object Lock configuration.</p>
37      */
GetObjectLockConfiguration()38     inline const ObjectLockConfiguration& GetObjectLockConfiguration() const{ return m_objectLockConfiguration; }
39 
40     /**
41      * <p>The specified bucket's Object Lock configuration.</p>
42      */
SetObjectLockConfiguration(const ObjectLockConfiguration & value)43     inline void SetObjectLockConfiguration(const ObjectLockConfiguration& value) { m_objectLockConfiguration = value; }
44 
45     /**
46      * <p>The specified bucket's Object Lock configuration.</p>
47      */
SetObjectLockConfiguration(ObjectLockConfiguration && value)48     inline void SetObjectLockConfiguration(ObjectLockConfiguration&& value) { m_objectLockConfiguration = std::move(value); }
49 
50     /**
51      * <p>The specified bucket's Object Lock configuration.</p>
52      */
WithObjectLockConfiguration(const ObjectLockConfiguration & value)53     inline GetObjectLockConfigurationResult& WithObjectLockConfiguration(const ObjectLockConfiguration& value) { SetObjectLockConfiguration(value); return *this;}
54 
55     /**
56      * <p>The specified bucket's Object Lock configuration.</p>
57      */
WithObjectLockConfiguration(ObjectLockConfiguration && value)58     inline GetObjectLockConfigurationResult& WithObjectLockConfiguration(ObjectLockConfiguration&& value) { SetObjectLockConfiguration(std::move(value)); return *this;}
59 
60   private:
61 
62     ObjectLockConfiguration m_objectLockConfiguration;
63   };
64 
65 } // namespace Model
66 } // namespace S3Crt
67 } // namespace Aws
68