AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
CreateMultiplexRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/medialive/MediaLiveRequest.h>
12#include <aws/medialive/MediaLive_EXPORTS.h>
13#include <aws/medialive/model/MultiplexSettings.h>
14
15#include <utility>
16
17namespace Aws {
18namespace MediaLive {
19namespace Model {
20
27 public:
28 AWS_MEDIALIVE_API CreateMultiplexRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateMultiplex"; }
35
36 AWS_MEDIALIVE_API Aws::String SerializePayload() const override;
37
39
42 inline const Aws::Vector<Aws::String>& GetAvailabilityZones() const { return m_availabilityZones; }
43 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
44 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
45 void SetAvailabilityZones(AvailabilityZonesT&& value) {
46 m_availabilityZonesHasBeenSet = true;
47 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
48 }
49 template <typename AvailabilityZonesT = Aws::Vector<Aws::String>>
50 CreateMultiplexRequest& WithAvailabilityZones(AvailabilityZonesT&& value) {
51 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
52 return *this;
53 }
54 template <typename AvailabilityZonesT = Aws::String>
55 CreateMultiplexRequest& AddAvailabilityZones(AvailabilityZonesT&& value) {
56 m_availabilityZonesHasBeenSet = true;
57 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
58 return *this;
59 }
61
63
66 inline const MultiplexSettings& GetMultiplexSettings() const { return m_multiplexSettings; }
67 inline bool MultiplexSettingsHasBeenSet() const { return m_multiplexSettingsHasBeenSet; }
68 template <typename MultiplexSettingsT = MultiplexSettings>
69 void SetMultiplexSettings(MultiplexSettingsT&& value) {
70 m_multiplexSettingsHasBeenSet = true;
71 m_multiplexSettings = std::forward<MultiplexSettingsT>(value);
72 }
73 template <typename MultiplexSettingsT = MultiplexSettings>
74 CreateMultiplexRequest& WithMultiplexSettings(MultiplexSettingsT&& value) {
75 SetMultiplexSettings(std::forward<MultiplexSettingsT>(value));
76 return *this;
77 }
79
81
84 inline const Aws::String& GetName() const { return m_name; }
85 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
86 template <typename NameT = Aws::String>
87 void SetName(NameT&& value) {
88 m_nameHasBeenSet = true;
89 m_name = std::forward<NameT>(value);
90 }
91 template <typename NameT = Aws::String>
93 SetName(std::forward<NameT>(value));
94 return *this;
95 }
97
99
103 inline const Aws::String& GetRequestId() const { return m_requestId; }
104 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
105 template <typename RequestIdT = Aws::String>
106 void SetRequestId(RequestIdT&& value) {
107 m_requestIdHasBeenSet = true;
108 m_requestId = std::forward<RequestIdT>(value);
109 }
110 template <typename RequestIdT = Aws::String>
112 SetRequestId(std::forward<RequestIdT>(value));
113 return *this;
114 }
116
118
121 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
122 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
123 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
124 void SetTags(TagsT&& value) {
125 m_tagsHasBeenSet = true;
126 m_tags = std::forward<TagsT>(value);
127 }
128 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
130 SetTags(std::forward<TagsT>(value));
131 return *this;
132 }
133 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
134 CreateMultiplexRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
135 m_tagsHasBeenSet = true;
136 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
137 return *this;
138 }
140 private:
141 Aws::Vector<Aws::String> m_availabilityZones;
142
143 MultiplexSettings m_multiplexSettings;
144
145 Aws::String m_name;
146
148
150 bool m_availabilityZonesHasBeenSet = false;
151 bool m_multiplexSettingsHasBeenSet = false;
152 bool m_nameHasBeenSet = false;
153 bool m_requestIdHasBeenSet = true;
154 bool m_tagsHasBeenSet = false;
155};
156
157} // namespace Model
158} // namespace MediaLive
159} // namespace Aws
const Aws::Map< Aws::String, Aws::String > & GetTags() const
void SetMultiplexSettings(MultiplexSettingsT &&value)
AWS_MEDIALIVE_API CreateMultiplexRequest()=default
const MultiplexSettings & GetMultiplexSettings() const
virtual const char * GetServiceRequestName() const override
CreateMultiplexRequest & WithMultiplexSettings(MultiplexSettingsT &&value)
CreateMultiplexRequest & WithName(NameT &&value)
void SetAvailabilityZones(AvailabilityZonesT &&value)
AWS_MEDIALIVE_API Aws::String SerializePayload() const override
CreateMultiplexRequest & WithAvailabilityZones(AvailabilityZonesT &&value)
CreateMultiplexRequest & WithTags(TagsT &&value)
const Aws::Vector< Aws::String > & GetAvailabilityZones() const
CreateMultiplexRequest & AddAvailabilityZones(AvailabilityZonesT &&value)
CreateMultiplexRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateMultiplexRequest & WithRequestId(RequestIdT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector