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/elasticache/ElastiCache_EXPORTS.h> 8 #include <aws/elasticache/model/Snapshot.h> 9 #include <aws/elasticache/model/ResponseMetadata.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 template<typename RESULT_TYPE> 15 class AmazonWebServiceResult; 16 17 namespace Utils 18 { 19 namespace Xml 20 { 21 class XmlDocument; 22 } // namespace Xml 23 } // namespace Utils 24 namespace ElastiCache 25 { 26 namespace Model 27 { 28 class AWS_ELASTICACHE_API CopySnapshotResult 29 { 30 public: 31 CopySnapshotResult(); 32 CopySnapshotResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); 33 CopySnapshotResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); 34 35 36 GetSnapshot()37 inline const Snapshot& GetSnapshot() const{ return m_snapshot; } 38 39 SetSnapshot(const Snapshot & value)40 inline void SetSnapshot(const Snapshot& value) { m_snapshot = value; } 41 42 SetSnapshot(Snapshot && value)43 inline void SetSnapshot(Snapshot&& value) { m_snapshot = std::move(value); } 44 45 WithSnapshot(const Snapshot & value)46 inline CopySnapshotResult& WithSnapshot(const Snapshot& value) { SetSnapshot(value); return *this;} 47 48 WithSnapshot(Snapshot && value)49 inline CopySnapshotResult& WithSnapshot(Snapshot&& value) { SetSnapshot(std::move(value)); return *this;} 50 51 52 GetResponseMetadata()53 inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } 54 55 SetResponseMetadata(const ResponseMetadata & value)56 inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } 57 58 SetResponseMetadata(ResponseMetadata && value)59 inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } 60 61 WithResponseMetadata(const ResponseMetadata & value)62 inline CopySnapshotResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} 63 64 WithResponseMetadata(ResponseMetadata && value)65 inline CopySnapshotResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} 66 67 private: 68 69 Snapshot m_snapshot; 70 71 ResponseMetadata m_responseMetadata; 72 }; 73 74 } // namespace Model 75 } // namespace ElastiCache 76 } // namespace Aws 77