AWS SDK for C++  0.12.9
AWS SDK for C++
LifecycleExpiration.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>
18 
19 namespace Aws
20 {
21 namespace Utils
22 {
23 namespace Xml
24 {
25  class XmlNode;
26 } // namespace Xml
27 } // namespace Utils
28 namespace S3
29 {
30 namespace Model
31 {
32 
34  {
35  public:
38  LifecycleExpiration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
39 
40  void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
41 
46  inline const Aws::Utils::DateTime& GetDate() const{ return m_date; }
47 
52  inline void SetDate(const Aws::Utils::DateTime& value) { m_dateHasBeenSet = true; m_date = value; }
53 
58  inline void SetDate(Aws::Utils::DateTime&& value) { m_dateHasBeenSet = true; m_date = value; }
59 
64  inline LifecycleExpiration& WithDate(const Aws::Utils::DateTime& value) { SetDate(value); return *this;}
65 
70  inline LifecycleExpiration& WithDate(Aws::Utils::DateTime&& value) { SetDate(value); return *this;}
71 
76  inline long GetDays() const{ return m_days; }
77 
82  inline void SetDays(long value) { m_daysHasBeenSet = true; m_days = value; }
83 
88  inline LifecycleExpiration& WithDays(long value) { SetDays(value); return *this;}
89 
96  inline bool GetExpiredObjectDeleteMarker() const{ return m_expiredObjectDeleteMarker; }
97 
104  inline void SetExpiredObjectDeleteMarker(bool value) { m_expiredObjectDeleteMarkerHasBeenSet = true; m_expiredObjectDeleteMarker = value; }
105 
112  inline LifecycleExpiration& WithExpiredObjectDeleteMarker(bool value) { SetExpiredObjectDeleteMarker(value); return *this;}
113 
114  private:
115  Aws::Utils::DateTime m_date;
116  bool m_dateHasBeenSet;
117  long m_days;
118  bool m_daysHasBeenSet;
119  bool m_expiredObjectDeleteMarker;
120  bool m_expiredObjectDeleteMarkerHasBeenSet;
121  };
122 
123 } // namespace Model
124 } // namespace S3
125 } // namespace Aws
LifecycleExpiration & WithDays(long value)
LifecycleExpiration & WithDate(Aws::Utils::DateTime &&value)
void SetDate(Aws::Utils::DateTime &&value)
#define AWS_S3_API
Definition: S3_EXPORTS.h:34
void SetDate(const Aws::Utils::DateTime &value)
LifecycleExpiration & WithDate(const Aws::Utils::DateTime &value)
LifecycleExpiration & WithExpiredObjectDeleteMarker(bool value)
const Aws::Utils::DateTime & GetDate() const
JSON (JavaScript Object Notation).