AWS SDK for C++  0.14.3
AWS SDK for C++
Tagging.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 #include <aws/s3/model/Tag.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  Tagging();
38  Tagging(const Aws::Utils::Xml::XmlNode& xmlNode);
39  Tagging& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
40 
41  void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
42 
43 
44  inline const Aws::Vector<Tag>& GetTagSet() const{ return m_tagSet; }
45 
46 
47  inline void SetTagSet(const Aws::Vector<Tag>& value) { m_tagSetHasBeenSet = true; m_tagSet = value; }
48 
49 
50  inline void SetTagSet(Aws::Vector<Tag>&& value) { m_tagSetHasBeenSet = true; m_tagSet = value; }
51 
52 
53  inline Tagging& WithTagSet(const Aws::Vector<Tag>& value) { SetTagSet(value); return *this;}
54 
55 
56  inline Tagging& WithTagSet(Aws::Vector<Tag>&& value) { SetTagSet(value); return *this;}
57 
58 
59  inline Tagging& AddTagSet(const Tag& value) { m_tagSetHasBeenSet = true; m_tagSet.push_back(value); return *this; }
60 
61 
62  inline Tagging& AddTagSet(Tag&& value) { m_tagSetHasBeenSet = true; m_tagSet.push_back(value); return *this; }
63 
64  private:
65  Aws::Vector<Tag> m_tagSet;
66  bool m_tagSetHasBeenSet;
67  };
68 
69 } // namespace Model
70 } // namespace S3
71 } // namespace Aws
void SetTagSet(Aws::Vector< Tag > &&value)
Definition: Tagging.h:50
void SetTagSet(const Aws::Vector< Tag > &value)
Definition: Tagging.h:47
Tagging & AddTagSet(Tag &&value)
Definition: Tagging.h:62
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
#define AWS_S3_API
Definition: S3_EXPORTS.h:37
Tagging & WithTagSet(Aws::Vector< Tag > &&value)
Definition: Tagging.h:56
Tagging & AddTagSet(const Tag &value)
Definition: Tagging.h:59
Tagging & WithTagSet(const Aws::Vector< Tag > &value)
Definition: Tagging.h:53
const Aws::Vector< Tag > & GetTagSet() const
Definition: Tagging.h:44
JSON (JavaScript Object Notation).