File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (622 lines) | stat: -rw-r--r-- 25,186 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// The configuration of the channel group.
type ChannelGroupListConfiguration struct {

	// The Amazon Resource Name (ARN) associated with the resource.
	//
	// This member is required.
	Arn *string

	// The name that describes the channel group. The name is the primary identifier
	// for the channel group, and must be unique for your account in the AWS Region.
	//
	// This member is required.
	ChannelGroupName *string

	// The date and time the channel group was created.
	//
	// This member is required.
	CreatedAt *time.Time

	// The date and time the channel group was modified.
	//
	// This member is required.
	ModifiedAt *time.Time

	// Any descriptive information that you want to add to the channel group for
	// future identification purposes.
	Description *string

	noSmithyDocumentSerde
}

// The configuration of the channel.
type ChannelListConfiguration struct {

	// The Amazon Resource Name (ARN) associated with the resource.
	//
	// This member is required.
	Arn *string

	// The name that describes the channel group. The name is the primary identifier
	// for the channel group, and must be unique for your account in the AWS Region.
	//
	// This member is required.
	ChannelGroupName *string

	// The name that describes the channel. The name is the primary identifier for the
	// channel, and must be unique for your account in the AWS Region and channel
	// group.
	//
	// This member is required.
	ChannelName *string

	// The date and time the channel was created.
	//
	// This member is required.
	CreatedAt *time.Time

	// The date and time the channel was modified.
	//
	// This member is required.
	ModifiedAt *time.Time

	// Any descriptive information that you want to add to the channel for future
	// identification purposes.
	Description *string

	noSmithyDocumentSerde
}

// Create an HTTP live streaming (HLS) manifest configuration.
type CreateHlsManifestConfiguration struct {

	// A short short string that's appended to the endpoint URL. The manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default manifest name, index. MediaPackage automatically inserts the
	// format extension, such as .m3u8. You can't use the same manifest name if you use
	// HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest
	// object overrides the manifestName you provided on the originEndpoint object.
	//
	// This member is required.
	ManifestName *string

	// A short string that's appended to the endpoint URL. The child manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default manifest name, index, with an added suffix to distinguish it
	// from the manifest name. The manifestName on the HLSManifest object overrides the
	// manifestName you provided on the originEndpoint object.
	ChildManifestName *string

	// Filter configuration includes settings for manifest filtering, start and end
	// times, and time delay that apply to all of your egress requests for this
	// manifest.
	FilterConfiguration *FilterConfiguration

	// The total duration (in seconds) of the manifest's content.
	ManifestWindowSeconds *int32

	// Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval
	// that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags
	// aren't included in the manifest. The tags sync the stream to the wall clock so
	// that viewers can seek to a specific time in the playback timeline on the player.
	// ID3Timed metadata messages generate every 5 seconds whenever the content is
	// ingested. Irrespective of this parameter, if any ID3Timed metadata is in the HLS
	// input, it is passed through to the HLS output.
	ProgramDateTimeIntervalSeconds *int32

	// The SCTE configuration.
	ScteHls *ScteHls

	noSmithyDocumentSerde
}

// Create a low-latency HTTP live streaming (HLS) manifest configuration.
type CreateLowLatencyHlsManifestConfiguration struct {

	// A short short string that's appended to the endpoint URL. The manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default manifest name, index. MediaPackage automatically inserts the
	// format extension, such as .m3u8. You can't use the same manifest name if you use
	// HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest
	// object overrides the manifestName you provided on the originEndpoint object.
	//
	// This member is required.
	ManifestName *string

	// A short string that's appended to the endpoint URL. The child manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default manifest name, index, with an added suffix to distinguish it
	// from the manifest name. The manifestName on the HLSManifest object overrides the
	// manifestName you provided on the originEndpoint object.
	ChildManifestName *string

	// Filter configuration includes settings for manifest filtering, start and end
	// times, and time delay that apply to all of your egress requests for this
	// manifest.
	FilterConfiguration *FilterConfiguration

	// The total duration (in seconds) of the manifest's content.
	ManifestWindowSeconds *int32

	// Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval
	// that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags
	// aren't included in the manifest. The tags sync the stream to the wall clock so
	// that viewers can seek to a specific time in the playback timeline on the player.
	// ID3Timed metadata messages generate every 5 seconds whenever the content is
	// ingested. Irrespective of this parameter, if any ID3Timed metadata is in the HLS
	// input, it is passed through to the HLS output.
	ProgramDateTimeIntervalSeconds *int32

	// The SCTE configuration.
	ScteHls *ScteHls

	noSmithyDocumentSerde
}

// The parameters for encrypting content.
type Encryption struct {

	// The encryption method to use.
	//
	// This member is required.
	EncryptionMethod *EncryptionMethod

	// The parameters for the SPEKE key provider.
	//
	// This member is required.
	SpekeKeyProvider *SpekeKeyProvider

	// A 128-bit, 16-byte hex value represented by a 32-character string, used in
	// conjunction with the key for encrypting content. If you don't specify a value,
	// then MediaPackage creates the constant initialization vector (IV).
	ConstantInitializationVector *string

	// The frequency (in seconds) of key changes for live workflows, in which content
	// is streamed real time. The service retrieves content keys before the live
	// content begins streaming, and then retrieves them as needed over the lifetime of
	// the workflow. By default, key rotation is set to 300 seconds (5 minutes), the
	// minimum rotation interval, which is equivalent to setting it to 300. If you
	// don't enter an interval, content keys aren't rotated. The following example
	// setting causes the service to rotate keys every thirty minutes: 1800
	KeyRotationIntervalSeconds *int32

	noSmithyDocumentSerde
}

// Configure one or more content encryption keys for your endpoints that use SPEKE
// Version 2.0. The encryption contract defines which content keys are used to
// encrypt the audio and video tracks in your stream. To configure the encryption
// contract, specify which audio and video encryption presets to use.
type EncryptionContractConfiguration struct {

	// A collection of audio encryption presets. Value description:
	//   - PRESET-AUDIO-1 - Use one content key to encrypt all of the audio tracks in
	//   your stream.
	//   - PRESET-AUDIO-2 - Use one content key to encrypt all of the stereo audio
	//   tracks and one content key to encrypt all of the multichannel audio tracks.
	//   - PRESET-AUDIO-3 - Use one content key to encrypt all of the stereo audio
	//   tracks, one content key to encrypt all of the multichannel audio tracks with 3
	//   to 6 channels, and one content key to encrypt all of the multichannel audio
	//   tracks with more than 6 channels.
	//   - SHARED - Use the same content key for all of the audio and video tracks in
	//   your stream.
	//   - UNENCRYPTED - Don't encrypt any of the audio tracks in your stream.
	//
	// This member is required.
	PresetSpeke20Audio PresetSpeke20Audio

	// A collection of video encryption presets. Value description:
	//   - PRESET-VIDEO-1 - Use one content key to encrypt all of the video tracks in
	//   your stream.
	//   - PRESET-VIDEO-2 - Use one content key to encrypt all of the SD video tracks
	//   and one content key for all HD and higher resolutions video tracks.
	//   - PRESET-VIDEO-3 - Use one content key to encrypt all of the SD video tracks,
	//   one content key for HD video tracks and one content key for all UHD video
	//   tracks.
	//   - PRESET-VIDEO-4 - Use one content key to encrypt all of the SD video tracks,
	//   one content key for HD video tracks, one content key for all UHD1 video tracks
	//   and one content key for all UHD2 video tracks.
	//   - PRESET-VIDEO-5 - Use one content key to encrypt all of the SD video tracks,
	//   one content key for HD1 video tracks, one content key for HD2 video tracks, one
	//   content key for all UHD1 video tracks and one content key for all UHD2 video
	//   tracks.
	//   - PRESET-VIDEO-6 - Use one content key to encrypt all of the SD video tracks,
	//   one content key for HD1 video tracks, one content key for HD2 video tracks and
	//   one content key for all UHD video tracks.
	//   - PRESET-VIDEO-7 - Use one content key to encrypt all of the SD+HD1 video
	//   tracks, one content key for HD2 video tracks and one content key for all UHD
	//   video tracks.
	//   - PRESET-VIDEO-8 - Use one content key to encrypt all of the SD+HD1 video
	//   tracks, one content key for HD2 video tracks, one content key for all UHD1 video
	//   tracks and one content key for all UHD2 video tracks.
	//   - SHARED - Use the same content key for all of the video and audio tracks in
	//   your stream.
	//   - UNENCRYPTED - Don't encrypt any of the video tracks in your stream.
	//
	// This member is required.
	PresetSpeke20Video PresetSpeke20Video

	noSmithyDocumentSerde
}

// The encryption type.
type EncryptionMethod struct {

	// The encryption method to use.
	CmafEncryptionMethod CmafEncryptionMethod

	// The encryption method to use.
	TsEncryptionMethod TsEncryptionMethod

	noSmithyDocumentSerde
}

// Filter configuration includes settings for manifest filtering, start and end
// times, and time delay that apply to all of your egress requests for this
// manifest.
type FilterConfiguration struct {

	// Optionally specify the end time for all of your manifest egress requests. When
	// you include end time, note that you cannot use end time query parameters for
	// this manifest's endpoint URL.
	End *time.Time

	// Optionally specify one or more manifest filters for all of your manifest egress
	// requests. When you include a manifest filter, note that you cannot use an
	// identical manifest filter query parameter for this manifest's endpoint URL.
	ManifestFilter *string

	// Optionally specify the start time for all of your manifest egress requests.
	// When you include start time, note that you cannot use start time query
	// parameters for this manifest's endpoint URL.
	Start *time.Time

	// Optionally specify the time delay for all of your manifest egress requests.
	// Enter a value that is smaller than your endpoint's startover window. When you
	// include time delay, note that you cannot use time delay query parameters for
	// this manifest's endpoint URL.
	TimeDelaySeconds *int32

	noSmithyDocumentSerde
}

// Retrieve the HTTP live streaming (HLS) manifest configuration.
type GetHlsManifestConfiguration struct {

	// A short short string that's appended to the endpoint URL. The manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default manifest name, index. MediaPackage automatically inserts the
	// format extension, such as .m3u8. You can't use the same manifest name if you use
	// HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest
	// object overrides the manifestName you provided on the originEndpoint object.
	//
	// This member is required.
	ManifestName *string

	// The egress domain URL for stream delivery from MediaPackage.
	//
	// This member is required.
	Url *string

	// A short string that's appended to the endpoint URL. The child manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default child manifest name, index_1. The manifestName on the
	// HLSManifest object overrides the manifestName you provided on the originEndpoint
	// object.
	ChildManifestName *string

	// Filter configuration includes settings for manifest filtering, start and end
	// times, and time delay that apply to all of your egress requests for this
	// manifest.
	FilterConfiguration *FilterConfiguration

	// The total duration (in seconds) of the manifest's content.
	ManifestWindowSeconds *int32

	// Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval
	// that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags
	// aren't included in the manifest. The tags sync the stream to the wall clock so
	// that viewers can seek to a specific time in the playback timeline on the player.
	// ID3Timed metadata messages generate every 5 seconds whenever the content is
	// ingested. Irrespective of this parameter, if any ID3Timed metadata is in the HLS
	// input, it is passed through to the HLS output.
	ProgramDateTimeIntervalSeconds *int32

	// The SCTE configuration.
	ScteHls *ScteHls

	noSmithyDocumentSerde
}

// Retrieve the low-latency HTTP live streaming (HLS) manifest configuration.
type GetLowLatencyHlsManifestConfiguration struct {

	// A short short string that's appended to the endpoint URL. The manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default manifest name, index. MediaPackage automatically inserts the
	// format extension, such as .m3u8. You can't use the same manifest name if you use
	// HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest
	// object overrides the manifestName you provided on the originEndpoint object.
	//
	// This member is required.
	ManifestName *string

	// The egress domain URL for stream delivery from MediaPackage.
	//
	// This member is required.
	Url *string

	// A short string that's appended to the endpoint URL. The child manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default child manifest name, index_1. The manifestName on the
	// HLSManifest object overrides the manifestName you provided on the originEndpoint
	// object.
	ChildManifestName *string

	// Filter configuration includes settings for manifest filtering, start and end
	// times, and time delay that apply to all of your egress requests for this
	// manifest.
	FilterConfiguration *FilterConfiguration

	// The total duration (in seconds) of the manifest's content.
	ManifestWindowSeconds *int32

	// Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval
	// that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags
	// aren't included in the manifest. The tags sync the stream to the wall clock so
	// that viewers can seek to a specific time in the playback timeline on the player.
	// ID3Timed metadata messages generate every 5 seconds whenever the content is
	// ingested. Irrespective of this parameter, if any ID3Timed metadata is in the HLS
	// input, it is passed through to the HLS output.
	ProgramDateTimeIntervalSeconds *int32

	// The SCTE configuration.
	ScteHls *ScteHls

	noSmithyDocumentSerde
}

// The ingest domain URL where the source stream should be sent.
type IngestEndpoint struct {

	// The system-generated unique identifier for the IngestEndpoint.
	Id *string

	// The ingest domain URL where the source stream should be sent.
	Url *string

	noSmithyDocumentSerde
}

// List the HTTP live streaming (HLS) manifest configuration.
type ListHlsManifestConfiguration struct {

	// A short short string that's appended to the endpoint URL. The manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default manifest name, index. MediaPackage automatically inserts the
	// format extension, such as .m3u8. You can't use the same manifest name if you use
	// HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest
	// object overrides the manifestName you provided on the originEndpoint object.
	//
	// This member is required.
	ManifestName *string

	// A short string that's appended to the endpoint URL. The child manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default child manifest name, index_1. The manifestName on the
	// HLSManifest object overrides the manifestName you provided on the originEndpoint
	// object.
	ChildManifestName *string

	// The egress domain URL for stream delivery from MediaPackage.
	Url *string

	noSmithyDocumentSerde
}

// List the low-latency HTTP live streaming (HLS) manifest configuration.
type ListLowLatencyHlsManifestConfiguration struct {

	// A short short string that's appended to the endpoint URL. The manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default manifest name, index. MediaPackage automatically inserts the
	// format extension, such as .m3u8. You can't use the same manifest name if you use
	// HLS manifest and low-latency HLS manifest. The manifestName on the HLSManifest
	// object overrides the manifestName you provided on the originEndpoint object.
	//
	// This member is required.
	ManifestName *string

	// A short string that's appended to the endpoint URL. The child manifest name
	// creates a unique path to this endpoint. If you don't enter a value, MediaPackage
	// uses the default child manifest name, index_1. The manifestName on the
	// HLSManifest object overrides the manifestName you provided on the originEndpoint
	// object.
	ChildManifestName *string

	// The egress domain URL for stream delivery from MediaPackage.
	Url *string

	noSmithyDocumentSerde
}

// The configuration of the origin endpoint.
type OriginEndpointListConfiguration struct {

	// The Amazon Resource Name (ARN) associated with the resource.
	//
	// This member is required.
	Arn *string

	// The name that describes the channel group. The name is the primary identifier
	// for the channel group, and must be unique for your account in the AWS Region.
	//
	// This member is required.
	ChannelGroupName *string

	// The name that describes the channel. The name is the primary identifier for the
	// channel, and must be unique for your account in the AWS Region and channel
	// group.
	//
	// This member is required.
	ChannelName *string

	// The type of container attached to this origin endpoint. A container type is a
	// file format that encapsulates one or more media streams, such as audio and
	// video, into a single file.
	//
	// This member is required.
	ContainerType ContainerType

	// The name that describes the origin endpoint. The name is the primary identifier
	// for the origin endpoint, and and must be unique for your account in the AWS
	// Region and channel.
	//
	// This member is required.
	OriginEndpointName *string

	// The date and time the origin endpoint was created.
	CreatedAt *time.Time

	// Any descriptive information that you want to add to the origin endpoint for
	// future identification purposes.
	Description *string

	// An HTTP live streaming (HLS) manifest configuration.
	HlsManifests []ListHlsManifestConfiguration

	// A low-latency HLS manifest configuration.
	LowLatencyHlsManifests []ListLowLatencyHlsManifestConfiguration

	// The date and time the origin endpoint was modified.
	ModifiedAt *time.Time

	noSmithyDocumentSerde
}

// The SCTE configuration.
type Scte struct {

	// The SCTE-35 message types that you want to be treated as ad markers in the
	// output.
	ScteFilter []ScteFilter

	noSmithyDocumentSerde
}

// The SCTE configuration.
type ScteHls struct {

	// Ad markers indicate when ads should be inserted during playback. If you include
	// ad markers in the content stream in your upstream encoders, then you need to
	// inform MediaPackage what to do with the ad markers in the output. Choose what
	// you want MediaPackage to do with the ad markers. Value description:
	//   - DATERANGE - Insert EXT-X-DATERANGE tags to signal ad and program transition
	//   events in TS and CMAF manifests. If you use DATERANGE, you must set a
	//   programDateTimeIntervalSeconds value of 1 or higher. To learn more about
	//   DATERANGE, see SCTE-35 Ad Marker EXT-X-DATERANGE (http://docs.aws.amazon.com/mediapackage/latest/ug/scte-35-ad-marker-ext-x-daterange.html)
	//   .
	AdMarkerHls AdMarkerHls

	noSmithyDocumentSerde
}

// The segment configuration, including the segment name, duration, and other
// configuration values.
type Segment struct {

	// The parameters for encrypting content.
	Encryption *Encryption

	// When selected, the stream set includes an additional I-frame only stream, along
	// with the other tracks. If false, this extra stream is not included. MediaPackage
	// generates an I-frame only stream from the first rendition in the manifest. The
	// service inserts EXT-I-FRAMES-ONLY tags in the output manifest, and then
	// generates and includes an I-frames only playlist in the stream. This playlist
	// permits player functionality like fast forward and rewind.
	IncludeIframeOnlyStreams *bool

	// The SCTE configuration options in the segment settings.
	Scte *Scte

	// The duration (in seconds) of each segment. Enter a value equal to, or a
	// multiple of, the input segment duration. If the value that you enter is
	// different from the input segment duration, MediaPackage rounds segments to the
	// nearest multiple of the input segment duration.
	SegmentDurationSeconds *int32

	// The name that describes the segment. The name is the base name of the segment
	// used in all content manifests inside of the endpoint. You can't use spaces in
	// the name.
	SegmentName *string

	// By default, MediaPackage excludes all digital video broadcasting (DVB)
	// subtitles from the output. When selected, MediaPackage passes through DVB
	// subtitles into the output.
	TsIncludeDvbSubtitles *bool

	// When selected, MediaPackage bundles all audio tracks in a rendition group. All
	// other tracks in the stream can be used with any audio rendition from the group.
	TsUseAudioRenditionGroup *bool

	noSmithyDocumentSerde
}

// The parameters for the SPEKE key provider.
type SpekeKeyProvider struct {

	// The DRM solution provider you're using to protect your content during
	// distribution.
	//
	// This member is required.
	DrmSystems []DrmSystem

	// Configure one or more content encryption keys for your endpoints that use SPEKE
	// Version 2.0. The encryption contract defines which content keys are used to
	// encrypt the audio and video tracks in your stream. To configure the encryption
	// contract, specify which audio and video encryption presets to use.
	//
	// This member is required.
	EncryptionContractConfiguration *EncryptionContractConfiguration

	// The unique identifier for the content. The service sends this to the key server
	// to identify the current endpoint. How unique you make this depends on how
	// fine-grained you want access controls to be. The service does not permit you to
	// use the same ID for two simultaneous encryption processes. The resource ID is
	// also known as the content ID. The following example shows a resource ID:
	// MovieNight20171126093045
	//
	// This member is required.
	ResourceId *string

	// The ARN for the IAM role granted by the key provider that provides access to
	// the key provider API. This role must have a trust policy that allows
	// MediaPackage to assume the role, and it must have a sufficient permissions
	// policy to allow access to the specific key retrieval URL. Get this from your DRM
	// solution provider. Valid format: arn:aws:iam::{accountID}:role/{name} . The
	// following example shows a role ARN: arn:aws:iam::444455556666:role/SpekeAccess
	//
	// This member is required.
	RoleArn *string

	// The URL of the API Gateway proxy that you set up to talk to your key server.
	// The API Gateway proxy must reside in the same AWS Region as MediaPackage and
	// must start with https://. The following example shows a URL:
	// https://1wm2dx1f33.execute-api.us-west-2.amazonaws.com/SpekeSample/copyProtection
	//
	// This member is required.
	Url *string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde