AWS SDK for C++

AWS SDK for C++ Version 1.11.911

Loading...
Searching...
No Matches
SpekeKeyProvider.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/mediapackagev2/Mediapackagev2_EXPORTS.h>
10#include <aws/mediapackagev2/model/ContentKeyPeriodConfiguration.h>
11#include <aws/mediapackagev2/model/DrmSystem.h>
12#include <aws/mediapackagev2/model/EncryptionContractConfiguration.h>
13#include <aws/mediapackagev2/model/SpekeVersion.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace mediapackagev2 {
25namespace Model {
26
33 public:
34 AWS_MEDIAPACKAGEV2_API SpekeKeyProvider() = default;
35 AWS_MEDIAPACKAGEV2_API SpekeKeyProvider(Aws::Utils::Json::JsonView jsonValue);
36 AWS_MEDIAPACKAGEV2_API SpekeKeyProvider& operator=(Aws::Utils::Json::JsonView jsonValue);
37 AWS_MEDIAPACKAGEV2_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
47 inline const EncryptionContractConfiguration& GetEncryptionContractConfiguration() const { return m_encryptionContractConfiguration; }
48 inline bool EncryptionContractConfigurationHasBeenSet() const { return m_encryptionContractConfigurationHasBeenSet; }
49 template <typename EncryptionContractConfigurationT = EncryptionContractConfiguration>
50 void SetEncryptionContractConfiguration(EncryptionContractConfigurationT&& value) {
51 m_encryptionContractConfigurationHasBeenSet = true;
52 m_encryptionContractConfiguration = std::forward<EncryptionContractConfigurationT>(value);
53 }
54 template <typename EncryptionContractConfigurationT = EncryptionContractConfiguration>
55 SpekeKeyProvider& WithEncryptionContractConfiguration(EncryptionContractConfigurationT&& value) {
56 SetEncryptionContractConfiguration(std::forward<EncryptionContractConfigurationT>(value));
57 return *this;
58 }
60
62
70 inline const Aws::String& GetResourceId() const { return m_resourceId; }
71 inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; }
72 template <typename ResourceIdT = Aws::String>
73 void SetResourceId(ResourceIdT&& value) {
74 m_resourceIdHasBeenSet = true;
75 m_resourceId = std::forward<ResourceIdT>(value);
76 }
77 template <typename ResourceIdT = Aws::String>
78 SpekeKeyProvider& WithResourceId(ResourceIdT&& value) {
79 SetResourceId(std::forward<ResourceIdT>(value));
80 return *this;
81 }
83
85
89 inline const Aws::Vector<DrmSystem>& GetDrmSystems() const { return m_drmSystems; }
90 inline bool DrmSystemsHasBeenSet() const { return m_drmSystemsHasBeenSet; }
91 template <typename DrmSystemsT = Aws::Vector<DrmSystem>>
92 void SetDrmSystems(DrmSystemsT&& value) {
93 m_drmSystemsHasBeenSet = true;
94 m_drmSystems = std::forward<DrmSystemsT>(value);
95 }
96 template <typename DrmSystemsT = Aws::Vector<DrmSystem>>
97 SpekeKeyProvider& WithDrmSystems(DrmSystemsT&& value) {
98 SetDrmSystems(std::forward<DrmSystemsT>(value));
99 return *this;
100 }
102 m_drmSystemsHasBeenSet = true;
103 m_drmSystems.push_back(value);
104 return *this;
105 }
107
109
118 inline const Aws::String& GetRoleArn() const { return m_roleArn; }
119 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; }
120 template <typename RoleArnT = Aws::String>
121 void SetRoleArn(RoleArnT&& value) {
122 m_roleArnHasBeenSet = true;
123 m_roleArn = std::forward<RoleArnT>(value);
124 }
125 template <typename RoleArnT = Aws::String>
126 SpekeKeyProvider& WithRoleArn(RoleArnT&& value) {
127 SetRoleArn(std::forward<RoleArnT>(value));
128 return *this;
129 }
131
133
140 inline const Aws::String& GetUrl() const { return m_url; }
141 inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; }
142 template <typename UrlT = Aws::String>
143 void SetUrl(UrlT&& value) {
144 m_urlHasBeenSet = true;
145 m_url = std::forward<UrlT>(value);
146 }
147 template <typename UrlT = Aws::String>
148 SpekeKeyProvider& WithUrl(UrlT&& value) {
149 SetUrl(std::forward<UrlT>(value));
150 return *this;
151 }
153
155
160 inline const Aws::String& GetCertificateArn() const { return m_certificateArn; }
161 inline bool CertificateArnHasBeenSet() const { return m_certificateArnHasBeenSet; }
162 template <typename CertificateArnT = Aws::String>
163 void SetCertificateArn(CertificateArnT&& value) {
164 m_certificateArnHasBeenSet = true;
165 m_certificateArn = std::forward<CertificateArnT>(value);
166 }
167 template <typename CertificateArnT = Aws::String>
168 SpekeKeyProvider& WithCertificateArn(CertificateArnT&& value) {
169 SetCertificateArn(std::forward<CertificateArnT>(value));
170 return *this;
171 }
173
175
187 inline SpekeVersion GetSpekeVersion() const { return m_spekeVersion; }
188 inline bool SpekeVersionHasBeenSet() const { return m_spekeVersionHasBeenSet; }
189 inline void SetSpekeVersion(SpekeVersion value) {
190 m_spekeVersionHasBeenSet = true;
191 m_spekeVersion = value;
192 }
194 SetSpekeVersion(value);
195 return *this;
196 }
198
200
208 inline const ContentKeyPeriodConfiguration& GetContentKeyPeriodConfiguration() const { return m_contentKeyPeriodConfiguration; }
209 inline bool ContentKeyPeriodConfigurationHasBeenSet() const { return m_contentKeyPeriodConfigurationHasBeenSet; }
210 template <typename ContentKeyPeriodConfigurationT = ContentKeyPeriodConfiguration>
211 void SetContentKeyPeriodConfiguration(ContentKeyPeriodConfigurationT&& value) {
212 m_contentKeyPeriodConfigurationHasBeenSet = true;
213 m_contentKeyPeriodConfiguration = std::forward<ContentKeyPeriodConfigurationT>(value);
214 }
215 template <typename ContentKeyPeriodConfigurationT = ContentKeyPeriodConfiguration>
216 SpekeKeyProvider& WithContentKeyPeriodConfiguration(ContentKeyPeriodConfigurationT&& value) {
217 SetContentKeyPeriodConfiguration(std::forward<ContentKeyPeriodConfigurationT>(value));
218 return *this;
219 }
221 private:
222 EncryptionContractConfiguration m_encryptionContractConfiguration;
223
224 Aws::String m_resourceId;
225
226 Aws::Vector<DrmSystem> m_drmSystems;
227
228 Aws::String m_roleArn;
229
230 Aws::String m_url;
231
232 Aws::String m_certificateArn;
233
234 SpekeVersion m_spekeVersion{SpekeVersion::NOT_SET};
235
236 ContentKeyPeriodConfiguration m_contentKeyPeriodConfiguration;
237 bool m_encryptionContractConfigurationHasBeenSet = false;
238 bool m_resourceIdHasBeenSet = false;
239 bool m_drmSystemsHasBeenSet = false;
240 bool m_roleArnHasBeenSet = false;
241 bool m_urlHasBeenSet = false;
242 bool m_certificateArnHasBeenSet = false;
243 bool m_spekeVersionHasBeenSet = false;
244 bool m_contentKeyPeriodConfigurationHasBeenSet = false;
245};
246
247} // namespace Model
248} // namespace mediapackagev2
249} // namespace Aws
SpekeKeyProvider & WithContentKeyPeriodConfiguration(ContentKeyPeriodConfigurationT &&value)
void SetContentKeyPeriodConfiguration(ContentKeyPeriodConfigurationT &&value)
const Aws::Vector< DrmSystem > & GetDrmSystems() const
AWS_MEDIAPACKAGEV2_API SpekeKeyProvider(Aws::Utils::Json::JsonView jsonValue)
SpekeKeyProvider & WithResourceId(ResourceIdT &&value)
SpekeKeyProvider & AddDrmSystems(DrmSystem value)
SpekeKeyProvider & WithEncryptionContractConfiguration(EncryptionContractConfigurationT &&value)
AWS_MEDIAPACKAGEV2_API SpekeKeyProvider()=default
void SetCertificateArn(CertificateArnT &&value)
AWS_MEDIAPACKAGEV2_API SpekeKeyProvider & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_MEDIAPACKAGEV2_API Aws::Utils::Json::JsonValue Jsonize() const
SpekeKeyProvider & WithDrmSystems(DrmSystemsT &&value)
const ContentKeyPeriodConfiguration & GetContentKeyPeriodConfiguration() const
void SetEncryptionContractConfiguration(EncryptionContractConfigurationT &&value)
SpekeKeyProvider & WithRoleArn(RoleArnT &&value)
const EncryptionContractConfiguration & GetEncryptionContractConfiguration() const
SpekeKeyProvider & WithCertificateArn(CertificateArnT &&value)
SpekeKeyProvider & WithSpekeVersion(SpekeVersion value)
SpekeKeyProvider & WithUrl(UrlT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue