AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AutomaticTapeCreationPolicyInfo.h
1
6#pragma once
7#include <aws/storagegateway/StorageGateway_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/storagegateway/model/AutomaticTapeCreationRule.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace StorageGateway
24{
25namespace Model
26{
27
36 {
37 public:
38 AWS_STORAGEGATEWAY_API AutomaticTapeCreationPolicyInfo() = default;
41 AWS_STORAGEGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
50 inline const Aws::Vector<AutomaticTapeCreationRule>& GetAutomaticTapeCreationRules() const { return m_automaticTapeCreationRules; }
51 inline bool AutomaticTapeCreationRulesHasBeenSet() const { return m_automaticTapeCreationRulesHasBeenSet; }
52 template<typename AutomaticTapeCreationRulesT = Aws::Vector<AutomaticTapeCreationRule>>
53 void SetAutomaticTapeCreationRules(AutomaticTapeCreationRulesT&& value) { m_automaticTapeCreationRulesHasBeenSet = true; m_automaticTapeCreationRules = std::forward<AutomaticTapeCreationRulesT>(value); }
54 template<typename AutomaticTapeCreationRulesT = Aws::Vector<AutomaticTapeCreationRule>>
55 AutomaticTapeCreationPolicyInfo& WithAutomaticTapeCreationRules(AutomaticTapeCreationRulesT&& value) { SetAutomaticTapeCreationRules(std::forward<AutomaticTapeCreationRulesT>(value)); return *this;}
56 template<typename AutomaticTapeCreationRulesT = AutomaticTapeCreationRule>
57 AutomaticTapeCreationPolicyInfo& AddAutomaticTapeCreationRules(AutomaticTapeCreationRulesT&& value) { m_automaticTapeCreationRulesHasBeenSet = true; m_automaticTapeCreationRules.emplace_back(std::forward<AutomaticTapeCreationRulesT>(value)); return *this; }
59
61
62 inline const Aws::String& GetGatewayARN() const { return m_gatewayARN; }
63 inline bool GatewayARNHasBeenSet() const { return m_gatewayARNHasBeenSet; }
64 template<typename GatewayARNT = Aws::String>
65 void SetGatewayARN(GatewayARNT&& value) { m_gatewayARNHasBeenSet = true; m_gatewayARN = std::forward<GatewayARNT>(value); }
66 template<typename GatewayARNT = Aws::String>
67 AutomaticTapeCreationPolicyInfo& WithGatewayARN(GatewayARNT&& value) { SetGatewayARN(std::forward<GatewayARNT>(value)); return *this;}
69 private:
70
71 Aws::Vector<AutomaticTapeCreationRule> m_automaticTapeCreationRules;
72 bool m_automaticTapeCreationRulesHasBeenSet = false;
73
74 Aws::String m_gatewayARN;
75 bool m_gatewayARNHasBeenSet = false;
76 };
77
78} // namespace Model
79} // namespace StorageGateway
80} // namespace Aws
AutomaticTapeCreationPolicyInfo & WithAutomaticTapeCreationRules(AutomaticTapeCreationRulesT &&value)
AWS_STORAGEGATEWAY_API AutomaticTapeCreationPolicyInfo(Aws::Utils::Json::JsonView jsonValue)
AutomaticTapeCreationPolicyInfo & WithGatewayARN(GatewayARNT &&value)
AutomaticTapeCreationPolicyInfo & AddAutomaticTapeCreationRules(AutomaticTapeCreationRulesT &&value)
AWS_STORAGEGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< AutomaticTapeCreationRule > & GetAutomaticTapeCreationRules() const
AWS_STORAGEGATEWAY_API AutomaticTapeCreationPolicyInfo & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_STORAGEGATEWAY_API AutomaticTapeCreationPolicyInfo()=default
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue