AWS SDK for C++  0.12.9
AWS SDK for C++
BucketLifecycleConfiguration.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:
39  BucketLifecycleConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
40 
41  void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
42 
43 
44  inline const Aws::Vector<LifecycleRule>& GetRules() const{ return m_rules; }
45 
46 
47  inline void SetRules(const Aws::Vector<LifecycleRule>& value) { m_rulesHasBeenSet = true; m_rules = value; }
48 
49 
50  inline void SetRules(Aws::Vector<LifecycleRule>&& value) { m_rulesHasBeenSet = true; m_rules = value; }
51 
52 
53  inline BucketLifecycleConfiguration& WithRules(const Aws::Vector<LifecycleRule>& value) { SetRules(value); return *this;}
54 
55 
56  inline BucketLifecycleConfiguration& WithRules(Aws::Vector<LifecycleRule>&& value) { SetRules(value); return *this;}
57 
58 
59  inline BucketLifecycleConfiguration& AddRules(const LifecycleRule& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; }
60 
61 
62  inline BucketLifecycleConfiguration& AddRules(LifecycleRule&& value) { m_rulesHasBeenSet = true; m_rules.push_back(value); return *this; }
63 
64  private:
66  bool m_rulesHasBeenSet;
67  };
68 
69 } // namespace Model
70 } // namespace S3
71 } // namespace Aws
BucketLifecycleConfiguration & WithRules(const Aws::Vector< LifecycleRule > &value)
BucketLifecycleConfiguration & AddRules(const LifecycleRule &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
#define AWS_S3_API
Definition: S3_EXPORTS.h:34
BucketLifecycleConfiguration & WithRules(Aws::Vector< LifecycleRule > &&value)
const Aws::Vector< LifecycleRule > & GetRules() const
void SetRules(Aws::Vector< LifecycleRule > &&value)
void SetRules(const Aws::Vector< LifecycleRule > &value)
JSON (JavaScript Object Notation).
BucketLifecycleConfiguration & AddRules(LifecycleRule &&value)