diff --git a/clients/client-mediapackagev2/src/commands/CreateOriginEndpointCommand.ts b/clients/client-mediapackagev2/src/commands/CreateOriginEndpointCommand.ts index d49c66d6a2df..45659c5a61fa 100644 --- a/clients/client-mediapackagev2/src/commands/CreateOriginEndpointCommand.ts +++ b/clients/client-mediapackagev2/src/commands/CreateOriginEndpointCommand.ts @@ -108,6 +108,33 @@ export interface CreateOriginEndpointCommandOutput extends CreateOriginEndpointR * }, * }, * ], + * DashManifests: [ // CreateDashManifests + * { // CreateDashManifestConfiguration + * ManifestName: "STRING_VALUE", // required + * ManifestWindowSeconds: Number("int"), + * FilterConfiguration: { + * ManifestFilter: "STRING_VALUE", + * Start: new Date("TIMESTAMP"), + * End: new Date("TIMESTAMP"), + * TimeDelaySeconds: Number("int"), + * }, + * MinUpdatePeriodSeconds: Number("int"), + * MinBufferTimeSeconds: Number("int"), + * SuggestedPresentationDelaySeconds: Number("int"), + * SegmentTemplateFormat: "NUMBER_WITH_TIMELINE", + * PeriodTriggers: [ // DashPeriodTriggers + * "AVAILS" || "DRM_KEY_ROTATION" || "SOURCE_CHANGES" || "SOURCE_DISRUPTIONS" || "NONE", + * ], + * ScteDash: { // ScteDash + * AdMarkerDash: "BINARY" || "XML", + * }, + * DrmSignaling: "INDIVIDUAL" || "REFERENCED", + * UtcTiming: { // DashUtcTiming + * TimingMode: "HTTP_HEAD" || "HTTP_ISO" || "HTTP_XSDATE" || "UTC_DIRECT", + * TimingSource: "STRING_VALUE", + * }, + * }, + * ], * Tags: { // TagMap * "": "STRING_VALUE", * }, @@ -192,6 +219,34 @@ export interface CreateOriginEndpointCommandOutput extends CreateOriginEndpointR * // }, * // }, * // ], + * // DashManifests: [ // GetDashManifests + * // { // GetDashManifestConfiguration + * // ManifestName: "STRING_VALUE", // required + * // Url: "STRING_VALUE", // required + * // ManifestWindowSeconds: Number("int"), + * // FilterConfiguration: { + * // ManifestFilter: "STRING_VALUE", + * // Start: new Date("TIMESTAMP"), + * // End: new Date("TIMESTAMP"), + * // TimeDelaySeconds: Number("int"), + * // }, + * // MinUpdatePeriodSeconds: Number("int"), + * // MinBufferTimeSeconds: Number("int"), + * // SuggestedPresentationDelaySeconds: Number("int"), + * // SegmentTemplateFormat: "NUMBER_WITH_TIMELINE", + * // PeriodTriggers: [ // DashPeriodTriggers + * // "AVAILS" || "DRM_KEY_ROTATION" || "SOURCE_CHANGES" || "SOURCE_DISRUPTIONS" || "NONE", + * // ], + * // ScteDash: { // ScteDash + * // AdMarkerDash: "BINARY" || "XML", + * // }, + * // DrmSignaling: "INDIVIDUAL" || "REFERENCED", + * // UtcTiming: { // DashUtcTiming + * // TimingMode: "HTTP_HEAD" || "HTTP_ISO" || "HTTP_XSDATE" || "UTC_DIRECT", + * // TimingSource: "STRING_VALUE", + * // }, + * // }, + * // ], * // ETag: "STRING_VALUE", * // Tags: { // TagMap * // "": "STRING_VALUE", diff --git a/clients/client-mediapackagev2/src/commands/GetOriginEndpointCommand.ts b/clients/client-mediapackagev2/src/commands/GetOriginEndpointCommand.ts index b81114434fe8..63ffcad4be37 100644 --- a/clients/client-mediapackagev2/src/commands/GetOriginEndpointCommand.ts +++ b/clients/client-mediapackagev2/src/commands/GetOriginEndpointCommand.ts @@ -123,6 +123,34 @@ export interface GetOriginEndpointCommandOutput extends GetOriginEndpointRespons * // Tags: { // TagMap * // "": "STRING_VALUE", * // }, + * // DashManifests: [ // GetDashManifests + * // { // GetDashManifestConfiguration + * // ManifestName: "STRING_VALUE", // required + * // Url: "STRING_VALUE", // required + * // ManifestWindowSeconds: Number("int"), + * // FilterConfiguration: { + * // ManifestFilter: "STRING_VALUE", + * // Start: new Date("TIMESTAMP"), + * // End: new Date("TIMESTAMP"), + * // TimeDelaySeconds: Number("int"), + * // }, + * // MinUpdatePeriodSeconds: Number("int"), + * // MinBufferTimeSeconds: Number("int"), + * // SuggestedPresentationDelaySeconds: Number("int"), + * // SegmentTemplateFormat: "NUMBER_WITH_TIMELINE", + * // PeriodTriggers: [ // DashPeriodTriggers + * // "AVAILS" || "DRM_KEY_ROTATION" || "SOURCE_CHANGES" || "SOURCE_DISRUPTIONS" || "NONE", + * // ], + * // ScteDash: { // ScteDash + * // AdMarkerDash: "BINARY" || "XML", + * // }, + * // DrmSignaling: "INDIVIDUAL" || "REFERENCED", + * // UtcTiming: { // DashUtcTiming + * // TimingMode: "HTTP_HEAD" || "HTTP_ISO" || "HTTP_XSDATE" || "UTC_DIRECT", + * // TimingSource: "STRING_VALUE", + * // }, + * // }, + * // ], * // }; * * ``` diff --git a/clients/client-mediapackagev2/src/commands/ListOriginEndpointsCommand.ts b/clients/client-mediapackagev2/src/commands/ListOriginEndpointsCommand.ts index 26069bf30bfe..f45b98fdad9d 100644 --- a/clients/client-mediapackagev2/src/commands/ListOriginEndpointsCommand.ts +++ b/clients/client-mediapackagev2/src/commands/ListOriginEndpointsCommand.ts @@ -67,6 +67,12 @@ export interface ListOriginEndpointsCommandOutput extends ListOriginEndpointsRes * // Url: "STRING_VALUE", * // }, * // ], + * // DashManifests: [ // ListDashManifests + * // { // ListDashManifestConfiguration + * // ManifestName: "STRING_VALUE", // required + * // Url: "STRING_VALUE", + * // }, + * // ], * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-mediapackagev2/src/commands/UpdateOriginEndpointCommand.ts b/clients/client-mediapackagev2/src/commands/UpdateOriginEndpointCommand.ts index 46fb463c5138..82ce6e07b274 100644 --- a/clients/client-mediapackagev2/src/commands/UpdateOriginEndpointCommand.ts +++ b/clients/client-mediapackagev2/src/commands/UpdateOriginEndpointCommand.ts @@ -108,6 +108,33 @@ export interface UpdateOriginEndpointCommandOutput extends UpdateOriginEndpointR * }, * }, * ], + * DashManifests: [ // CreateDashManifests + * { // CreateDashManifestConfiguration + * ManifestName: "STRING_VALUE", // required + * ManifestWindowSeconds: Number("int"), + * FilterConfiguration: { + * ManifestFilter: "STRING_VALUE", + * Start: new Date("TIMESTAMP"), + * End: new Date("TIMESTAMP"), + * TimeDelaySeconds: Number("int"), + * }, + * MinUpdatePeriodSeconds: Number("int"), + * MinBufferTimeSeconds: Number("int"), + * SuggestedPresentationDelaySeconds: Number("int"), + * SegmentTemplateFormat: "NUMBER_WITH_TIMELINE", + * PeriodTriggers: [ // DashPeriodTriggers + * "AVAILS" || "DRM_KEY_ROTATION" || "SOURCE_CHANGES" || "SOURCE_DISRUPTIONS" || "NONE", + * ], + * ScteDash: { // ScteDash + * AdMarkerDash: "BINARY" || "XML", + * }, + * DrmSignaling: "INDIVIDUAL" || "REFERENCED", + * UtcTiming: { // DashUtcTiming + * TimingMode: "HTTP_HEAD" || "HTTP_ISO" || "HTTP_XSDATE" || "UTC_DIRECT", + * TimingSource: "STRING_VALUE", + * }, + * }, + * ], * ETag: "STRING_VALUE", * }; * const command = new UpdateOriginEndpointCommand(input); @@ -194,6 +221,34 @@ export interface UpdateOriginEndpointCommandOutput extends UpdateOriginEndpointR * // Tags: { // TagMap * // "": "STRING_VALUE", * // }, + * // DashManifests: [ // GetDashManifests + * // { // GetDashManifestConfiguration + * // ManifestName: "STRING_VALUE", // required + * // Url: "STRING_VALUE", // required + * // ManifestWindowSeconds: Number("int"), + * // FilterConfiguration: { + * // ManifestFilter: "STRING_VALUE", + * // Start: new Date("TIMESTAMP"), + * // End: new Date("TIMESTAMP"), + * // TimeDelaySeconds: Number("int"), + * // }, + * // MinUpdatePeriodSeconds: Number("int"), + * // MinBufferTimeSeconds: Number("int"), + * // SuggestedPresentationDelaySeconds: Number("int"), + * // SegmentTemplateFormat: "NUMBER_WITH_TIMELINE", + * // PeriodTriggers: [ // DashPeriodTriggers + * // "AVAILS" || "DRM_KEY_ROTATION" || "SOURCE_CHANGES" || "SOURCE_DISRUPTIONS" || "NONE", + * // ], + * // ScteDash: { // ScteDash + * // AdMarkerDash: "BINARY" || "XML", + * // }, + * // DrmSignaling: "INDIVIDUAL" || "REFERENCED", + * // UtcTiming: { // DashUtcTiming + * // TimingMode: "HTTP_HEAD" || "HTTP_ISO" || "HTTP_XSDATE" || "UTC_DIRECT", + * // TimingSource: "STRING_VALUE", + * // }, + * // }, + * // ], * // }; * * ``` diff --git a/clients/client-mediapackagev2/src/models/models_0.ts b/clients/client-mediapackagev2/src/models/models_0.ts index 55a70e60aa7a..96429183050d 100644 --- a/clients/client-mediapackagev2/src/models/models_0.ts +++ b/clients/client-mediapackagev2/src/models/models_0.ts @@ -25,6 +25,20 @@ export class AccessDeniedException extends __BaseException { } } +/** + * @public + * @enum + */ +export const AdMarkerDash = { + BINARY: "BINARY", + XML: "XML", +} as const; + +/** + * @public + */ +export type AdMarkerDash = (typeof AdMarkerDash)[keyof typeof AdMarkerDash]; + /** * @public * @enum @@ -191,6 +205,8 @@ export class ThrottlingException extends __BaseException { export const ValidationExceptionType = { CENC_IV_INCOMPATIBLE: "CENC_IV_INCOMPATIBLE", CONTAINER_TYPE_IMMUTABLE: "CONTAINER_TYPE_IMMUTABLE", + DIRECT_MODE_WITH_TIMING_SOURCE: "DIRECT_MODE_WITH_TIMING_SOURCE", + DRM_SIGNALING_MISMATCH_SEGMENT_ENCRYPTION_STATUS: "DRM_SIGNALING_MISMATCH_SEGMENT_ENCRYPTION_STATUS", DRM_SYSTEMS_ENCRYPTION_METHOD_INCOMPATIBLE: "DRM_SYSTEMS_ENCRYPTION_METHOD_INCOMPATIBLE", ENCRYPTION_CONTRACT_SHARED: "ENCRYPTION_CONTRACT_SHARED", ENCRYPTION_CONTRACT_UNENCRYPTED: "ENCRYPTION_CONTRACT_UNENCRYPTED", @@ -203,6 +219,7 @@ export const ValidationExceptionType = { INVALID_POLICY: "INVALID_POLICY", INVALID_ROLE_ARN: "INVALID_ROLE_ARN", INVALID_TIME_DELAY_SECONDS: "INVALID_TIME_DELAY_SECONDS", + MANIFEST_DRM_SYSTEMS_INCOMPATIBLE: "MANIFEST_DRM_SYSTEMS_INCOMPATIBLE", MANIFEST_NAME_COLLISION: "MANIFEST_NAME_COLLISION", MEMBER_DOES_NOT_MATCH_PATTERN: "MEMBER_DOES_NOT_MATCH_PATTERN", MEMBER_INVALID: "MEMBER_INVALID", @@ -212,11 +229,16 @@ export const ValidationExceptionType = { MEMBER_MIN_LENGTH: "MEMBER_MIN_LENGTH", MEMBER_MIN_VALUE: "MEMBER_MIN_VALUE", MEMBER_MISSING: "MEMBER_MISSING", + NONE_MODE_WITH_TIMING_SOURCE: "NONE_MODE_WITH_TIMING_SOURCE", NUM_MANIFESTS_HIGH: "NUM_MANIFESTS_HIGH", NUM_MANIFESTS_LOW: "NUM_MANIFESTS_LOW", + PERIOD_TRIGGERS_NONE_SPECIFIED_WITH_ADDITIONAL_VALUES: "PERIOD_TRIGGERS_NONE_SPECIFIED_WITH_ADDITIONAL_VALUES", ROLE_ARN_INVALID_FORMAT: "ROLE_ARN_INVALID_FORMAT", ROLE_ARN_LENGTH_OUT_OF_RANGE: "ROLE_ARN_LENGTH_OUT_OF_RANGE", ROLE_ARN_NOT_ASSUMABLE: "ROLE_ARN_NOT_ASSUMABLE", + TIMING_SOURCE_MISSING: "TIMING_SOURCE_MISSING", + TS_CONTAINER_TYPE_WITH_DASH_MANIFEST: "TS_CONTAINER_TYPE_WITH_DASH_MANIFEST", + UPDATE_PERIOD_SMALLER_THAN_SEGMENT_DURATION: "UPDATE_PERIOD_SMALLER_THAN_SEGMENT_DURATION", URL_INVALID: "URL_INVALID", URL_LINK_LOCAL_ADDRESS: "URL_LINK_LOCAL_ADDRESS", URL_LOCAL_ADDRESS: "URL_LOCAL_ADDRESS", @@ -706,6 +728,20 @@ export const ContainerType = { */ export type ContainerType = (typeof ContainerType)[keyof typeof ContainerType]; +/** + * @public + * @enum + */ +export const DashDrmSignaling = { + INDIVIDUAL: "INDIVIDUAL", + REFERENCED: "REFERENCED", +} as const; + +/** + * @public + */ +export type DashDrmSignaling = (typeof DashDrmSignaling)[keyof typeof 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.

* @public @@ -736,6 +772,173 @@ export interface FilterConfiguration { TimeDelaySeconds?: number; } +/** + * @public + * @enum + */ +export const DashPeriodTrigger = { + AVAILS: "AVAILS", + DRM_KEY_ROTATION: "DRM_KEY_ROTATION", + NONE: "NONE", + SOURCE_CHANGES: "SOURCE_CHANGES", + SOURCE_DISRUPTIONS: "SOURCE_DISRUPTIONS", +} as const; + +/** + * @public + */ +export type DashPeriodTrigger = (typeof DashPeriodTrigger)[keyof typeof DashPeriodTrigger]; + +/** + *

The SCTE configuration.

+ * @public + */ +export interface ScteDash { + /** + *

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.

    + *
  • + *
+ * @public + */ + AdMarkerDash?: AdMarkerDash; +} + +/** + * @public + * @enum + */ +export const DashSegmentTemplateFormat = { + NUMBER_WITH_TIMELINE: "NUMBER_WITH_TIMELINE", +} as const; + +/** + * @public + */ +export type DashSegmentTemplateFormat = (typeof DashSegmentTemplateFormat)[keyof typeof DashSegmentTemplateFormat]; + +/** + * @public + * @enum + */ +export const DashUtcTimingMode = { + HTTP_HEAD: "HTTP_HEAD", + HTTP_ISO: "HTTP_ISO", + HTTP_XSDATE: "HTTP_XSDATE", + UTC_DIRECT: "UTC_DIRECT", +} as const; + +/** + * @public + */ +export type DashUtcTimingMode = (typeof DashUtcTimingMode)[keyof typeof DashUtcTimingMode]; + +/** + *

Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).

+ * @public + */ +export interface DashUtcTiming { + /** + *

The UTC timing mode.

+ * @public + */ + TimingMode?: DashUtcTimingMode; + + /** + *

The the method that the player uses to synchronize to coordinated universal time (UTC) wall clock time.

+ * @public + */ + TimingSource?: string; +} + +/** + *

Create a DASH manifest configuration.

+ * @public + */ +export interface CreateDashManifestConfiguration { + /** + *

A short string that's appended to the endpoint URL. The child manifest name creates a unique path to this endpoint.

+ * @public + */ + ManifestName: string | undefined; + + /** + *

The total duration (in seconds) of the manifest's content.

+ * @public + */ + ManifestWindowSeconds?: number; + + /** + *

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.

+ * @public + */ + FilterConfiguration?: FilterConfiguration; + + /** + *

Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.

+ * @public + */ + MinUpdatePeriodSeconds?: number; + + /** + *

Minimum amount of content (in seconds) that a player must keep available in the buffer.

+ * @public + */ + MinBufferTimeSeconds?: number; + + /** + *

The amount of time (in seconds) that the player should be from the end of the manifest.

+ * @public + */ + SuggestedPresentationDelaySeconds?: number; + + /** + *

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.

    + *
  • + *
+ * @public + */ + SegmentTemplateFormat?: DashSegmentTemplateFormat; + + /** + *

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.

+ * @public + */ + PeriodTriggers?: DashPeriodTrigger[]; + + /** + *

The SCTE configuration.

+ * @public + */ + ScteDash?: ScteDash; + + /** + *

Determines how the DASH manifest signals the DRM content.

+ * @public + */ + DrmSignaling?: DashDrmSignaling; + + /** + *

Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).

+ * @public + */ + UtcTiming?: DashUtcTiming; +} + /** *

The SCTE configuration.

* @public @@ -1260,6 +1463,12 @@ export interface CreateOriginEndpointRequest { */ LowLatencyHlsManifests?: CreateLowLatencyHlsManifestConfiguration[]; + /** + *

A DASH manifest configuration.

+ * @public + */ + DashManifests?: CreateDashManifestConfiguration[]; + /** *

A comma-separated list of tag key:value pairs that you define. For example:

*

@@ -1273,6 +1482,92 @@ export interface CreateOriginEndpointRequest { Tags?: Record; } +/** + *

Retrieve the DASH manifest configuration.

+ * @public + */ +export interface GetDashManifestConfiguration { + /** + *

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.

+ * @public + */ + ManifestName: string | undefined; + + /** + *

The egress domain URL for stream delivery from MediaPackage.

+ * @public + */ + Url: string | undefined; + + /** + *

The total duration (in seconds) of the manifest's content.

+ * @public + */ + ManifestWindowSeconds?: number; + + /** + *

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.

+ * @public + */ + FilterConfiguration?: FilterConfiguration; + + /** + *

Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.

+ * @public + */ + MinUpdatePeriodSeconds?: number; + + /** + *

Minimum amount of content (in seconds) that a player must keep available in the buffer.

+ * @public + */ + MinBufferTimeSeconds?: number; + + /** + *

The amount of time (in seconds) that the player should be from the end of the manifest.

+ * @public + */ + SuggestedPresentationDelaySeconds?: number; + + /** + *

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.

    + *
  • + *
+ * @public + */ + SegmentTemplateFormat?: DashSegmentTemplateFormat; + + /** + *

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.

+ * @public + */ + PeriodTriggers?: DashPeriodTrigger[]; + + /** + *

The SCTE configuration.

+ * @public + */ + ScteDash?: ScteDash; + + /** + *

Determines how the DASH manifest signals the DRM content.

+ * @public + */ + DrmSignaling?: DashDrmSignaling; + + /** + *

Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).

+ * @public + */ + UtcTiming?: DashUtcTiming; +} + /** *

Retrieve the HTTP live streaming (HLS) manifest configuration.

* @public @@ -1453,6 +1748,12 @@ export interface CreateOriginEndpointResponse { */ LowLatencyHlsManifests?: GetLowLatencyHlsManifestConfiguration[]; + /** + *

A DASH manifest configuration.

+ * @public + */ + DashManifests?: GetDashManifestConfiguration[]; + /** *

The current Entity Tag (ETag) associated with this resource. The entity tag can be used to safely make concurrent updates to the resource.

* @public @@ -1604,6 +1905,12 @@ export interface GetOriginEndpointResponse { * @public */ Tags?: Record; + + /** + *

A DASH manifest configuration.

+ * @public + */ + DashManifests?: GetDashManifestConfiguration[]; } /** @@ -1635,6 +1942,24 @@ export interface ListOriginEndpointsRequest { NextToken?: string; } +/** + *

List the DASH manifest configuration.

+ * @public + */ +export interface ListDashManifestConfiguration { + /** + *

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.

+ * @public + */ + ManifestName: string | undefined; + + /** + *

The egress domain URL for stream delivery from MediaPackage.

+ * @public + */ + Url?: string; +} + /** *

List the HTTP live streaming (HLS) manifest configuration.

* @public @@ -1747,6 +2072,12 @@ export interface OriginEndpointListConfiguration { * @public */ LowLatencyHlsManifests?: ListLowLatencyHlsManifestConfiguration[]; + + /** + *

A DASH manifest configuration.

+ * @public + */ + DashManifests?: ListDashManifestConfiguration[]; } /** @@ -1938,6 +2269,12 @@ export interface UpdateOriginEndpointRequest { */ LowLatencyHlsManifests?: CreateLowLatencyHlsManifestConfiguration[]; + /** + *

A DASH manifest configuration.

+ * @public + */ + DashManifests?: CreateDashManifestConfiguration[]; + /** *

The expected current Entity Tag (ETag) for the resource. If the specified ETag does not match the resource's current entity tag, the update request will be rejected.

* @public @@ -2032,6 +2369,12 @@ export interface UpdateOriginEndpointResponse { * @public */ Tags?: Record; + + /** + *

A DASH manifest configuration.

+ * @public + */ + DashManifests?: GetDashManifestConfiguration[]; } /** diff --git a/clients/client-mediapackagev2/src/protocols/Aws_restJson1.ts b/clients/client-mediapackagev2/src/protocols/Aws_restJson1.ts index 3b0175503a72..af1d1fe97122 100644 --- a/clients/client-mediapackagev2/src/protocols/Aws_restJson1.ts +++ b/clients/client-mediapackagev2/src/protocols/Aws_restJson1.ts @@ -82,19 +82,24 @@ import { ChannelGroupListConfiguration, ChannelListConfiguration, ConflictException, + CreateDashManifestConfiguration, CreateHlsManifestConfiguration, CreateLowLatencyHlsManifestConfiguration, + DashPeriodTrigger, + DashUtcTiming, DrmSystem, Encryption, EncryptionContractConfiguration, EncryptionMethod, FilterConfiguration, + GetDashManifestConfiguration, GetHlsManifestConfiguration, GetLowLatencyHlsManifestConfiguration, InternalServerException, OriginEndpointListConfiguration, ResourceNotFoundException, Scte, + ScteDash, ScteFilter, ScteHls, Segment, @@ -174,6 +179,7 @@ export const se_CreateOriginEndpointCommand = async ( body = JSON.stringify( take(input, { ContainerType: [], + DashManifests: (_) => se_CreateDashManifests(_, context), Description: [], HlsManifests: (_) => se_CreateHlsManifests(_, context), LowLatencyHlsManifests: (_) => se_CreateLowLatencyHlsManifests(_, context), @@ -598,6 +604,7 @@ export const se_UpdateOriginEndpointCommand = async ( body = JSON.stringify( take(input, { ContainerType: [], + DashManifests: (_) => se_CreateDashManifests(_, context), Description: [], HlsManifests: (_) => se_CreateHlsManifests(_, context), LowLatencyHlsManifests: (_) => se_CreateLowLatencyHlsManifests(_, context), @@ -686,6 +693,7 @@ export const de_CreateOriginEndpointCommand = async ( ChannelName: __expectString, ContainerType: __expectString, CreatedAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + DashManifests: (_) => de_GetDashManifests(_, context), Description: __expectString, ETag: __expectString, HlsManifests: (_) => de_GetHlsManifests(_, context), @@ -885,6 +893,7 @@ export const de_GetOriginEndpointCommand = async ( ChannelName: __expectString, ContainerType: __expectString, CreatedAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + DashManifests: (_) => de_GetDashManifests(_, context), Description: __expectString, ETag: __expectString, HlsManifests: (_) => de_GetHlsManifests(_, context), @@ -1155,6 +1164,7 @@ export const de_UpdateOriginEndpointCommand = async ( ChannelName: __expectString, ContainerType: __expectString, CreatedAt: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + DashManifests: (_) => de_GetDashManifests(_, context), Description: __expectString, ETag: __expectString, HlsManifests: (_) => de_GetHlsManifests(_, context), @@ -1345,6 +1355,36 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont return __decorateServiceException(exception, parsedOutput.body); }; +/** + * serializeAws_restJson1CreateDashManifestConfiguration + */ +const se_CreateDashManifestConfiguration = (input: CreateDashManifestConfiguration, context: __SerdeContext): any => { + return take(input, { + DrmSignaling: [], + FilterConfiguration: (_) => se_FilterConfiguration(_, context), + ManifestName: [], + ManifestWindowSeconds: [], + MinBufferTimeSeconds: [], + MinUpdatePeriodSeconds: [], + PeriodTriggers: _json, + ScteDash: _json, + SegmentTemplateFormat: [], + SuggestedPresentationDelaySeconds: [], + UtcTiming: _json, + }); +}; + +/** + * serializeAws_restJson1CreateDashManifests + */ +const se_CreateDashManifests = (input: CreateDashManifestConfiguration[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + return se_CreateDashManifestConfiguration(entry, context); + }); +}; + /** * serializeAws_restJson1CreateHlsManifestConfiguration */ @@ -1401,6 +1441,10 @@ const se_CreateLowLatencyHlsManifests = ( }); }; +// se_DashPeriodTriggers omitted. + +// se_DashUtcTiming omitted. + // se_DrmSystems omitted. // se_Encryption omitted. @@ -1423,6 +1467,8 @@ const se_FilterConfiguration = (input: FilterConfiguration, context: __SerdeCont // se_Scte omitted. +// se_ScteDash omitted. + // se_ScteFilterList omitted. // se_ScteHls omitted. @@ -1484,6 +1530,10 @@ const de_ChannelListConfiguration = (output: any, context: __SerdeContext): Chan }) as any; }; +// de_DashPeriodTriggers omitted. + +// de_DashUtcTiming omitted. + // de_DrmSystems omitted. // de_Encryption omitted. @@ -1504,6 +1554,38 @@ const de_FilterConfiguration = (output: any, context: __SerdeContext): FilterCon }) as any; }; +/** + * deserializeAws_restJson1GetDashManifestConfiguration + */ +const de_GetDashManifestConfiguration = (output: any, context: __SerdeContext): GetDashManifestConfiguration => { + return take(output, { + DrmSignaling: __expectString, + FilterConfiguration: (_: any) => de_FilterConfiguration(_, context), + ManifestName: __expectString, + ManifestWindowSeconds: __expectInt32, + MinBufferTimeSeconds: __expectInt32, + MinUpdatePeriodSeconds: __expectInt32, + PeriodTriggers: _json, + ScteDash: _json, + SegmentTemplateFormat: __expectString, + SuggestedPresentationDelaySeconds: __expectInt32, + Url: __expectString, + UtcTiming: _json, + }) as any; +}; + +/** + * deserializeAws_restJson1GetDashManifests + */ +const de_GetDashManifests = (output: any, context: __SerdeContext): GetDashManifestConfiguration[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_GetDashManifestConfiguration(entry, context); + }); + return retVal; +}; + /** * deserializeAws_restJson1GetHlsManifestConfiguration */ @@ -1568,6 +1650,10 @@ const de_GetLowLatencyHlsManifests = ( // de_IngestEndpointList omitted. +// de_ListDashManifestConfiguration omitted. + +// de_ListDashManifests omitted. + // de_ListHlsManifestConfiguration omitted. // de_ListHlsManifests omitted. @@ -1586,6 +1672,7 @@ const de_OriginEndpointListConfiguration = (output: any, context: __SerdeContext ChannelName: __expectString, ContainerType: __expectString, CreatedAt: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + DashManifests: _json, Description: __expectString, HlsManifests: _json, LowLatencyHlsManifests: _json, @@ -1608,6 +1695,8 @@ const de_OriginEndpointsList = (output: any, context: __SerdeContext): OriginEnd // de_Scte omitted. +// de_ScteDash omitted. + // de_ScteFilterList omitted. // de_ScteHls omitted. diff --git a/codegen/sdk-codegen/aws-models/mediapackagev2.json b/codegen/sdk-codegen/aws-models/mediapackagev2.json index 5c9829cddd8a..9a33a5b0eb69 100644 --- a/codegen/sdk-codegen/aws-models/mediapackagev2.json +++ b/codegen/sdk-codegen/aws-models/mediapackagev2.json @@ -14,6 +14,23 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.mediapackagev2#AdMarkerDash": { + "type": "enum", + "members": { + "BINARY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BINARY" + } + }, + "XML": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XML" + } + } + } + }, "com.amazonaws.mediapackagev2#AdMarkerHls": { "type": "enum", "members": { @@ -681,6 +698,99 @@ "smithy.api#output": {} } }, + "com.amazonaws.mediapackagev2#CreateDashManifestConfiguration": { + "type": "structure", + "members": { + "ManifestName": { + "target": "com.amazonaws.mediapackagev2#ManifestName", + "traits": { + "smithy.api#documentation": "

A short string that's appended to the endpoint URL. The child manifest name creates a unique path to this endpoint.

", + "smithy.api#required": {} + } + }, + "ManifestWindowSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The total duration (in seconds) of the manifest's content.

", + "smithy.api#range": { + "min": 30 + } + } + }, + "FilterConfiguration": { + "target": "com.amazonaws.mediapackagev2#FilterConfiguration" + }, + "MinUpdatePeriodSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.

", + "smithy.api#range": { + "min": 1, + "max": 3600 + } + } + }, + "MinBufferTimeSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Minimum amount of content (in seconds) that a player must keep available in the buffer.

", + "smithy.api#range": { + "min": 0, + "max": 3600 + } + } + }, + "SuggestedPresentationDelaySeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The amount of time (in seconds) that the player should be from the end of the manifest.

", + "smithy.api#range": { + "min": 0, + "max": 3600 + } + } + }, + "SegmentTemplateFormat": { + "target": "com.amazonaws.mediapackagev2#DashSegmentTemplateFormat", + "traits": { + "smithy.api#documentation": "

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.

\n

Value description:

\n
    \n
  • \n

    \n 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.

    \n
  • \n
" + } + }, + "PeriodTriggers": { + "target": "com.amazonaws.mediapackagev2#DashPeriodTriggers", + "traits": { + "smithy.api#documentation": "

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.\n For more information about periods in the DASH manifest, see Multi-period DASH in AWS Elemental MediaPackage.

" + } + }, + "ScteDash": { + "target": "com.amazonaws.mediapackagev2#ScteDash", + "traits": { + "smithy.api#documentation": "

The SCTE configuration.

" + } + }, + "DrmSignaling": { + "target": "com.amazonaws.mediapackagev2#DashDrmSignaling", + "traits": { + "smithy.api#documentation": "

Determines how the DASH manifest signals the DRM content.

" + } + }, + "UtcTiming": { + "target": "com.amazonaws.mediapackagev2#DashUtcTiming", + "traits": { + "smithy.api#documentation": "

Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Create a DASH manifest configuration.

" + } + }, + "com.amazonaws.mediapackagev2#CreateDashManifests": { + "type": "list", + "member": { + "target": "com.amazonaws.mediapackagev2#CreateDashManifestConfiguration" + } + }, "com.amazonaws.mediapackagev2#CreateHlsManifestConfiguration": { "type": "structure", "members": { @@ -996,7 +1106,7 @@ "ChannelGroupName": "exampleChannelGroup", "ChannelName": "exampleChannel", "OriginEndpointName": "exampleOriginEndpointCMAF", - "ContainerType": "TS", + "ContainerType": "CMAF", "StartoverWindowSeconds": 300, "Segment": { "SegmentDurationSeconds": 6, @@ -1063,6 +1173,34 @@ "ProgramDateTimeIntervalSeconds": 60 } ], + "DashManifests": [ + { + "ManifestName": "exampleDashManifest1", + "ManifestWindowSeconds": 300, + "MinUpdatePeriodSeconds": 5, + "MinBufferTimeSeconds": 30, + "SuggestedPresentationDelaySeconds": 2, + "SegmentTemplateFormat": "NUMBER_WITH_TIMELINE", + "PeriodTriggers": ["AVAILS"], + "ScteDash": { + "AdMarkerDash": "XML" + }, + "DrmSignaling": "INDIVIDUAL" + }, + { + "ManifestName": "exampleDashManifest2", + "ManifestWindowSeconds": 60, + "MinUpdatePeriodSeconds": 3, + "MinBufferTimeSeconds": 9, + "SuggestedPresentationDelaySeconds": 12, + "SegmentTemplateFormat": "NUMBER_WITH_TIMELINE", + "PeriodTriggers": ["AVAILS", "DRM_KEY_ROTATION", "SOURCE_CHANGES", "SOURCE_DISRUPTIONS"], + "ScteDash": { + "AdMarkerDash": "XML" + }, + "DrmSignaling": "INDIVIDUAL" + } + ], "Tags": { "key1": "value1", "key2": "value2" @@ -1075,7 +1213,7 @@ "Arn": "arn:aws:mediapackagev2:us-west-2:123456789012:channelGroup/exampleChannelGroup/channel/exampleChannel/originEndpoint/exampleOriginEndpointCMAF", "CreatedAt": "2022-10-18T09:36:00.00Z", "ModifiedAt": "2022-10-18T09:36:00.00Z", - "ContainerType": "TS", + "ContainerType": "CMAF", "StartoverWindowSeconds": 300, "Segment": { "SegmentDurationSeconds": 6, @@ -1146,6 +1284,36 @@ "Url": "https://abcde.egress.vwxyz.mediapackagev2.us-west-2.amazonaws.com/out/v1/exampleChannelGroup/exampleChannel/exampleOriginEndpointCMAF/exampleLLManifest2.m3u8" } ], + "DashManifests": [ + { + "ManifestName": "exampleDashManifest1", + "ManifestWindowSeconds": 300, + "MinUpdatePeriodSeconds": 5, + "MinBufferTimeSeconds": 30, + "SuggestedPresentationDelaySeconds": 2, + "SegmentTemplateFormat": "NUMBER_WITH_TIMELINE", + "PeriodTriggers": ["AVAILS"], + "ScteDash": { + "AdMarkerDash": "XML" + }, + "DrmSignaling": "INDIVIDUAL", + "Url": "https://abcde.egress.vwxyz.mediapackagev2.us-west-2.amazonaws.com/out/v1/exampleChannelGroup/exampleChannel/exampleOriginEndpointCMAF/exampleDashManifest1.mpd" + }, + { + "ManifestName": "exampleDashManifest2", + "ManifestWindowSeconds": 60, + "MinUpdatePeriodSeconds": 3, + "MinBufferTimeSeconds": 9, + "SuggestedPresentationDelaySeconds": 12, + "SegmentTemplateFormat": "NUMBER_WITH_TIMELINE", + "PeriodTriggers": ["AVAILS", "DRM_KEY_ROTATION", "SOURCE_CHANGES", "SOURCE_DISRUPTIONS"], + "ScteDash": { + "AdMarkerDash": "XML" + }, + "DrmSignaling": "INDIVIDUAL", + "Url": "https://abcde.egress.vwxyz.mediapackagev2.us-west-2.amazonaws.com/out/v1/exampleChannelGroup/exampleChannel/exampleOriginEndpointCMAF/exampleDashManifest2.mpd" + } + ], "ETag": "GlfT+dwAyGIR4wuy8nKWl1RDPwSrjQej9qUutLZxoxk=", "Tags": { "key1": "value1", @@ -1238,6 +1406,13 @@ "smithy.api#documentation": "

A low-latency HLS manifest configuration.

" } }, + "DashManifests": { + "target": "com.amazonaws.mediapackagev2#CreateDashManifests", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

A DASH manifest configuration.

" + } + }, "Tags": { "target": "com.amazonaws.mediapackagev2#TagMap", "traits": { @@ -1333,6 +1508,12 @@ "smithy.api#documentation": "

A low-latency HLS manifest configuration.

" } }, + "DashManifests": { + "target": "com.amazonaws.mediapackagev2#GetDashManifests", + "traits": { + "smithy.api#documentation": "

A DASH manifest configuration.

" + } + }, "ETag": { "target": "com.amazonaws.mediapackagev2#EntityTag", "traits": { @@ -1352,6 +1533,134 @@ "smithy.api#output": {} } }, + "com.amazonaws.mediapackagev2#DashDrmSignaling": { + "type": "enum", + "members": { + "INDIVIDUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INDIVIDUAL" + } + }, + "REFERENCED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REFERENCED" + } + } + } + }, + "com.amazonaws.mediapackagev2#DashPeriodTrigger": { + "type": "enum", + "members": { + "AVAILS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AVAILS" + } + }, + "DRM_KEY_ROTATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DRM_KEY_ROTATION" + } + }, + "SOURCE_CHANGES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SOURCE_CHANGES" + } + }, + "SOURCE_DISRUPTIONS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SOURCE_DISRUPTIONS" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + } + } + }, + "com.amazonaws.mediapackagev2#DashPeriodTriggers": { + "type": "list", + "member": { + "target": "com.amazonaws.mediapackagev2#DashPeriodTrigger" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.mediapackagev2#DashSegmentTemplateFormat": { + "type": "enum", + "members": { + "NUMBER_WITH_TIMELINE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NUMBER_WITH_TIMELINE" + } + } + } + }, + "com.amazonaws.mediapackagev2#DashUtcTiming": { + "type": "structure", + "members": { + "TimingMode": { + "target": "com.amazonaws.mediapackagev2#DashUtcTimingMode", + "traits": { + "smithy.api#documentation": "

The UTC timing mode.

" + } + }, + "TimingSource": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The the method that the player uses to synchronize to coordinated universal time (UTC) wall clock time.

", + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).

" + } + }, + "com.amazonaws.mediapackagev2#DashUtcTimingMode": { + "type": "enum", + "members": { + "HTTP_HEAD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HTTP_HEAD" + } + }, + "HTTP_ISO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HTTP_ISO" + } + }, + "HTTP_XSDATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HTTP_XSDATE" + } + }, + "UTC_DIRECT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UTC_DIRECT" + } + } + } + }, "com.amazonaws.mediapackagev2#DeleteChannel": { "type": "operation", "input": { @@ -2308,6 +2617,91 @@ "smithy.api#output": {} } }, + "com.amazonaws.mediapackagev2#GetDashManifestConfiguration": { + "type": "structure", + "members": { + "ManifestName": { + "target": "com.amazonaws.mediapackagev2#ResourceName", + "traits": { + "smithy.api#documentation": "

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.

", + "smithy.api#required": {} + } + }, + "Url": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The egress domain URL for stream delivery from MediaPackage.

", + "smithy.api#required": {} + } + }, + "ManifestWindowSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The total duration (in seconds) of the manifest's content.

" + } + }, + "FilterConfiguration": { + "target": "com.amazonaws.mediapackagev2#FilterConfiguration" + }, + "MinUpdatePeriodSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.

" + } + }, + "MinBufferTimeSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Minimum amount of content (in seconds) that a player must keep available in the buffer.

" + } + }, + "SuggestedPresentationDelaySeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The amount of time (in seconds) that the player should be from the end of the manifest.

" + } + }, + "SegmentTemplateFormat": { + "target": "com.amazonaws.mediapackagev2#DashSegmentTemplateFormat", + "traits": { + "smithy.api#documentation": "

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.

\n

Value description:

\n
    \n
  • \n

    \n 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.

    \n
  • \n
" + } + }, + "PeriodTriggers": { + "target": "com.amazonaws.mediapackagev2#DashPeriodTriggers", + "traits": { + "smithy.api#documentation": "

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.\n For more information about periods in the DASH manifest, see Multi-period DASH in AWS Elemental MediaPackage.

" + } + }, + "ScteDash": { + "target": "com.amazonaws.mediapackagev2#ScteDash", + "traits": { + "smithy.api#documentation": "

The SCTE configuration.

" + } + }, + "DrmSignaling": { + "target": "com.amazonaws.mediapackagev2#DashDrmSignaling", + "traits": { + "smithy.api#documentation": "

Determines how the DASH manifest signals the DRM content.

" + } + }, + "UtcTiming": { + "target": "com.amazonaws.mediapackagev2#DashUtcTiming", + "traits": { + "smithy.api#documentation": "

Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Retrieve the DASH manifest configuration.

" + } + }, + "com.amazonaws.mediapackagev2#GetDashManifests": { + "type": "list", + "member": { + "target": "com.amazonaws.mediapackagev2#GetDashManifestConfiguration" + } + }, "com.amazonaws.mediapackagev2#GetHlsManifestConfiguration": { "type": "structure", "members": { @@ -2790,6 +3184,12 @@ "aws.cloudformation#cfnExcludeProperty": {}, "smithy.api#documentation": "

The comma-separated list of tag key:value pairs assigned to the origin endpoint.

" } + }, + "DashManifests": { + "target": "com.amazonaws.mediapackagev2#GetDashManifests", + "traits": { + "smithy.api#documentation": "

A DASH manifest configuration.

" + } } }, "traits": { @@ -3073,6 +3473,33 @@ "smithy.api#output": {} } }, + "com.amazonaws.mediapackagev2#ListDashManifestConfiguration": { + "type": "structure", + "members": { + "ManifestName": { + "target": "com.amazonaws.mediapackagev2#ResourceName", + "traits": { + "smithy.api#documentation": "

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.

", + "smithy.api#required": {} + } + }, + "Url": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The egress domain URL for stream delivery from MediaPackage.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

List the DASH manifest configuration.

" + } + }, + "com.amazonaws.mediapackagev2#ListDashManifests": { + "type": "list", + "member": { + "target": "com.amazonaws.mediapackagev2#ListDashManifestConfiguration" + } + }, "com.amazonaws.mediapackagev2#ListHlsManifestConfiguration": { "type": "structure", "members": { @@ -3217,7 +3644,7 @@ "Arn": "arn:aws:mediapackagev2:us-west-2:123456789012:channelGroup/exampleChannelGroup/channel/exampleChannel/originEndpoint/exampleOriginEndpointCMAF", "CreatedAt": "2022-10-18T09:36:00.00Z", "ModifiedAt": "2022-10-18T09:36:00.00Z", - "ContainerType": "TS", + "ContainerType": "CMAF", "HlsManifests": [ { "ManifestName": "exampleManifest1", @@ -3241,6 +3668,16 @@ "ChildManifestName": "exampleLLManifest2", "Url": "https://abcde.egress.vwxyz.mediapackagev2.us-west-2.amazonaws.com/out/v1/exampleChannelGroup/exampleChannel/exampleOriginEndpointCMAF/exampleLLManifest2.m3u8" } + ], + "DashManifests": [ + { + "ManifestName": "exampleDashManifest1", + "Url": "https://abcde.egress.vwxyz.mediapackagev2.us-west-2.amazonaws.com/out/v1/exampleChannelGroup/exampleChannel/exampleOriginEndpointCMAF/exampleDashManifest1.mpd" + }, + { + "ManifestName": "exampleDashManifest2", + "Url": "https://abcde.egress.vwxyz.mediapackagev2.us-west-2.amazonaws.com/out/v1/exampleChannelGroup/exampleChannel/exampleOriginEndpointCMAF/exampleDashManifest2.mpd" + } ] } ] @@ -3475,6 +3912,12 @@ "traits": { "smithy.api#documentation": "

A low-latency HLS manifest configuration.

" } + }, + "DashManifests": { + "target": "com.amazonaws.mediapackagev2#ListDashManifests", + "traits": { + "smithy.api#documentation": "

A DASH manifest configuration.

" + } } }, "traits": { @@ -3930,6 +4373,20 @@ "smithy.api#documentation": "

The SCTE configuration.

" } }, + "com.amazonaws.mediapackagev2#ScteDash": { + "type": "structure", + "members": { + "AdMarkerDash": { + "target": "com.amazonaws.mediapackagev2#AdMarkerDash", + "traits": { + "smithy.api#documentation": "

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.

\n

Value description:

\n
    \n
  • \n

    \n Binary - The SCTE-35 marker is expressed as a hex-string (Base64 string) rather than full XML.

    \n
  • \n
  • \n

    \n XML - The SCTE marker is expressed fully in XML.

    \n
  • \n
" + } + } + }, + "traits": { + "smithy.api#documentation": "

The SCTE configuration.

" + } + }, "com.amazonaws.mediapackagev2#ScteFilter": { "type": "enum", "members": { @@ -4929,6 +5386,13 @@ "smithy.api#documentation": "

A low-latency HLS manifest configuration.

" } }, + "DashManifests": { + "target": "com.amazonaws.mediapackagev2#CreateDashManifests", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

A DASH manifest configuration.

" + } + }, "ETag": { "target": "com.amazonaws.mediapackagev2#EntityTag", "traits": { @@ -5039,6 +5503,12 @@ "smithy.api#documentation": "

The comma-separated list of tag key:value pairs assigned to the origin endpoint.

", "smithy.api#jsonName": "tags" } + }, + "DashManifests": { + "target": "com.amazonaws.mediapackagev2#GetDashManifests", + "traits": { + "smithy.api#documentation": "

A DASH manifest configuration.

" + } } }, "traits": { @@ -5144,6 +5614,12 @@ "smithy.api#enumValue": "NUM_MANIFESTS_HIGH" } }, + "MANIFEST_DRM_SYSTEMS_INCOMPATIBLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MANIFEST_DRM_SYSTEMS_INCOMPATIBLE" + } + }, "DRM_SYSTEMS_ENCRYPTION_METHOD_INCOMPATIBLE": { "target": "smithy.api#Unit", "traits": { @@ -5287,6 +5763,48 @@ "traits": { "smithy.api#enumValue": "END_TIME_EARLIER_THAN_START_TIME" } + }, + "TS_CONTAINER_TYPE_WITH_DASH_MANIFEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TS_CONTAINER_TYPE_WITH_DASH_MANIFEST" + } + }, + "DIRECT_MODE_WITH_TIMING_SOURCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DIRECT_MODE_WITH_TIMING_SOURCE" + } + }, + "NONE_MODE_WITH_TIMING_SOURCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE_MODE_WITH_TIMING_SOURCE" + } + }, + "TIMING_SOURCE_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIMING_SOURCE_MISSING" + } + }, + "UPDATE_PERIOD_SMALLER_THAN_SEGMENT_DURATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE_PERIOD_SMALLER_THAN_SEGMENT_DURATION" + } + }, + "PERIOD_TRIGGERS_NONE_SPECIFIED_WITH_ADDITIONAL_VALUES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PERIOD_TRIGGERS_NONE_SPECIFIED_WITH_ADDITIONAL_VALUES" + } + }, + "DRM_SIGNALING_MISMATCH_SEGMENT_ENCRYPTION_STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DRM_SIGNALING_MISMATCH_SEGMENT_ENCRYPTION_STATUS" + } } } },