AWS SDK for C++  0.14.3
AWS SDK for C++
Transition.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>
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  Transition();
38  Transition(const Aws::Utils::Xml::XmlNode& xmlNode);
39  Transition& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
40 
41  void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
42 
47  inline const Aws::Utils::DateTime& GetDate() const{ return m_date; }
48 
53  inline void SetDate(const Aws::Utils::DateTime& value) { m_dateHasBeenSet = true; m_date = value; }
54 
59  inline void SetDate(Aws::Utils::DateTime&& value) { m_dateHasBeenSet = true; m_date = value; }
60 
65  inline Transition& WithDate(const Aws::Utils::DateTime& value) { SetDate(value); return *this;}
66 
71  inline Transition& WithDate(Aws::Utils::DateTime&& value) { SetDate(value); return *this;}
72 
77  inline int GetDays() const{ return m_days; }
78 
83  inline void SetDays(int value) { m_daysHasBeenSet = true; m_days = value; }
84 
89  inline Transition& WithDays(int value) { SetDays(value); return *this;}
90 
94  inline const TransitionStorageClass& GetStorageClass() const{ return m_storageClass; }
95 
99  inline void SetStorageClass(const TransitionStorageClass& value) { m_storageClassHasBeenSet = true; m_storageClass = value; }
100 
104  inline void SetStorageClass(TransitionStorageClass&& value) { m_storageClassHasBeenSet = true; m_storageClass = value; }
105 
109  inline Transition& WithStorageClass(const TransitionStorageClass& value) { SetStorageClass(value); return *this;}
110 
114  inline Transition& WithStorageClass(TransitionStorageClass&& value) { SetStorageClass(value); return *this;}
115 
116  private:
117  Aws::Utils::DateTime m_date;
118  bool m_dateHasBeenSet;
119  int m_days;
120  bool m_daysHasBeenSet;
121  TransitionStorageClass m_storageClass;
122  bool m_storageClassHasBeenSet;
123  };
124 
125 } // namespace Model
126 } // namespace S3
127 } // namespace Aws
Transition & WithDate(const Aws::Utils::DateTime &value)
Definition: Transition.h:65
void SetDays(int value)
Definition: Transition.h:83
const TransitionStorageClass & GetStorageClass() const
Definition: Transition.h:94
void SetDate(const Aws::Utils::DateTime &value)
Definition: Transition.h:53
Transition & WithStorageClass(const TransitionStorageClass &value)
Definition: Transition.h:109
#define AWS_S3_API
Definition: S3_EXPORTS.h:37
Transition & WithStorageClass(TransitionStorageClass &&value)
Definition: Transition.h:114
const Aws::Utils::DateTime & GetDate() const
Definition: Transition.h:47
void SetDate(Aws::Utils::DateTime &&value)
Definition: Transition.h:59
Transition & WithDays(int value)
Definition: Transition.h:89
void SetStorageClass(const TransitionStorageClass &value)
Definition: Transition.h:99
void SetStorageClass(TransitionStorageClass &&value)
Definition: Transition.h:104
Transition & WithDate(Aws::Utils::DateTime &&value)
Definition: Transition.h:71
JSON (JavaScript Object Notation).