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 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876
|
// 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
// The input type will be an immutable field which will be used to define whether
// the channel will allow CMAF ingest or HLS ingest. If unprovided, it will default
// to HLS to preserve current behavior.
//
// The allowed values are:
//
// - HLS - The HLS streaming specification (which defines M3U8 manifests and TS
// segments).
//
// - CMAF - The DASH-IF CMAF Ingest specification (which defines CMAF segments
// with optional DASH manifests).
InputType InputType
noSmithyDocumentSerde
}
// Create a DASH manifest configuration.
type CreateDashManifestConfiguration struct {
// A short string that's appended to the endpoint URL. The child manifest name
// creates a unique path to this endpoint.
//
// This member is required.
ManifestName *string
// Determines how the DASH manifest signals the DRM content.
DrmSignaling DashDrmSignaling
// 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
// Minimum amount of content (in seconds) that a player must keep available in the
// buffer.
MinBufferTimeSeconds *int32
// Minimum amount of time (in seconds) that the player should wait before
// requesting updates to the manifest.
MinUpdatePeriodSeconds *int32
// A list of triggers that controls when AWS Elemental MediaPackage separates the
// MPEG-DASH manifest into multiple periods. Type ADS to indicate that AWS
// Elemental MediaPackage must create periods in the output manifest that
// correspond to SCTE-35 ad markers in the input source. Leave this value empty to
// indicate that the manifest is contained all in one period. For more information
// about periods in the DASH manifest, see [Multi-period DASH in AWS Elemental MediaPackage].
//
// [Multi-period DASH in AWS Elemental MediaPackage]: https://docs.aws.amazon.com/mediapackage/latest/userguide/multi-period.html
PeriodTriggers []DashPeriodTrigger
// The SCTE configuration.
ScteDash *ScteDash
// Determines the type of variable used in the media URL of the SegmentTemplate
// tag in the manifest. Also specifies if segment timeline information is included
// in SegmentTimeline or SegmentTemplate .
//
// Value description:
//
// - NUMBER_WITH_TIMELINE - The $Number$ variable is used in the media URL. The
// value of this variable is the sequential number of the segment. A full
// SegmentTimeline object is presented in each SegmentTemplate .
SegmentTemplateFormat DashSegmentTemplateFormat
// The amount of time (in seconds) that the player should be from the end of the
// manifest.
SuggestedPresentationDelaySeconds *int32
// Determines the type of UTC timing included in the DASH Media Presentation
// Description (MPD).
UtcTiming *DashUtcTiming
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
}
// Determines the type of UTC timing included in the DASH Media Presentation
// Description (MPD).
type DashUtcTiming struct {
// The UTC timing mode.
TimingMode DashUtcTimingMode
// The the method that the player uses to synchronize to coordinated universal
// time (UTC) wall clock time.
TimingSource *string
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
}
// The failover settings for the endpoint.
type ForceEndpointErrorConfiguration struct {
// The failover conditions for the endpoint. The options are:
//
// - STALE_MANIFEST - The manifest stalled and there are no new segments or parts.
//
// - INCOMPLETE_MANIFEST - There is a gap in the manifest.
//
// - MISSING_DRM_KEY - Key rotation is enabled but we're unable to fetch the key
// for the current key period.
//
// - SLATE_INPUT - The segments which contain slate content are considered to be
// missing content.
EndpointErrorConditions []EndpointErrorCondition
noSmithyDocumentSerde
}
// Retrieve the DASH manifest configuration.
type GetDashManifestConfiguration struct {
// A 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.
//
// This member is required.
ManifestName *string
// The egress domain URL for stream delivery from MediaPackage.
//
// This member is required.
Url *string
// Determines how the DASH manifest signals the DRM content.
DrmSignaling DashDrmSignaling
// 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
// Minimum amount of content (in seconds) that a player must keep available in the
// buffer.
MinBufferTimeSeconds *int32
// Minimum amount of time (in seconds) that the player should wait before
// requesting updates to the manifest.
MinUpdatePeriodSeconds *int32
// A list of triggers that controls when AWS Elemental MediaPackage separates the
// MPEG-DASH manifest into multiple periods. Leave this value empty to indicate
// that the manifest is contained all in one period. For more information about
// periods in the DASH manifest, see [Multi-period DASH in AWS Elemental MediaPackage].
//
// [Multi-period DASH in AWS Elemental MediaPackage]: https://docs.aws.amazon.com/mediapackage/latest/userguide/multi-period.html
PeriodTriggers []DashPeriodTrigger
// The SCTE configuration.
ScteDash *ScteDash
// Determines the type of variable used in the media URL of the SegmentTemplate
// tag in the manifest. Also specifies if segment timeline information is included
// in SegmentTimeline or SegmentTemplate .
//
// Value description:
//
// - NUMBER_WITH_TIMELINE - The $Number$ variable is used in the media URL. The
// value of this variable is the sequential number of the segment. A full
// SegmentTimeline object is presented in each SegmentTemplate .
SegmentTemplateFormat DashSegmentTemplateFormat
// The amount of time (in seconds) that the player should be from the end of the
// manifest.
SuggestedPresentationDelaySeconds *int32
// Determines the type of UTC timing included in the DASH Media Presentation
// Description (MPD).
UtcTiming *DashUtcTiming
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 DASH manifest configuration.
type ListDashManifestConfiguration struct {
// A 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.
//
// This member is required.
ManifestName *string
// The egress domain URL for stream delivery from MediaPackage.
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
// A DASH manifest configuration.
DashManifests []ListDashManifestConfiguration
// Any descriptive information that you want to add to the origin endpoint for
// future identification purposes.
Description *string
// The failover settings for the endpoint.
ForceEndpointErrorConfiguration *ForceEndpointErrorConfiguration
// 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 ScteDash struct {
// Choose how ad markers are included in the packaged content. 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.
//
// Value description:
//
// - Binary - The SCTE-35 marker is expressed as a hex-string (Base64 string)
// rather than full XML.
//
// - XML - The SCTE marker is expressed fully in XML.
AdMarkerDash AdMarkerDash
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].
//
// [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
|