Skip to content

Commit 3e59a7a

Browse files
author
awstools
committed
feat(client-medialive): AWS Elemental MediaLive now supports forwarding SCTE-35 messages through the Event Signaling and Management (ESAM) API, and can read those SCTE-35 messages from an inactive source.
1 parent 1d6ea7d commit 3e59a7a

File tree

6 files changed

+349
-113
lines changed

6 files changed

+349
-113
lines changed

clients/client-medialive/src/commands/StopMultiplexCommand.ts

+2-6
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,8 @@ import {
1313
} from "@aws-sdk/types";
1414

1515
import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient";
16-
import {
17-
StopMultiplexRequest,
18-
StopMultiplexRequestFilterSensitiveLog,
19-
StopMultiplexResponse,
20-
StopMultiplexResponseFilterSensitiveLog,
21-
} from "../models/models_1";
16+
import { StopMultiplexRequest, StopMultiplexRequestFilterSensitiveLog } from "../models/models_1";
17+
import { StopMultiplexResponse, StopMultiplexResponseFilterSensitiveLog } from "../models/models_2";
2218
import {
2319
deserializeAws_restJson1StopMultiplexCommand,
2420
serializeAws_restJson1StopMultiplexCommand,

clients/client-medialive/src/commands/TransferInputDeviceCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {
1818
TransferInputDeviceRequestFilterSensitiveLog,
1919
TransferInputDeviceResponse,
2020
TransferInputDeviceResponseFilterSensitiveLog,
21-
} from "../models/models_1";
21+
} from "../models/models_2";
2222
import {
2323
deserializeAws_restJson1TransferInputDeviceCommand,
2424
serializeAws_restJson1TransferInputDeviceCommand,

clients/client-medialive/src/models/models_1.ts

+79-106
Original file line numberDiff line numberDiff line change
@@ -1036,6 +1036,26 @@ export interface PauseStateScheduleActionSettings {
10361036
Pipelines?: PipelinePauseStateSettings[];
10371037
}
10381038

1039+
export enum Scte35InputMode {
1040+
FIXED = "FIXED",
1041+
FOLLOW_ACTIVE = "FOLLOW_ACTIVE",
1042+
}
1043+
1044+
/**
1045+
* Settings for the "scte35 input" action
1046+
*/
1047+
export interface Scte35InputScheduleActionSettings {
1048+
/**
1049+
* In fixed mode, enter the name of the input attachment that you want to use as a SCTE-35 input. (Don't enter the ID of the input.)"
1050+
*/
1051+
InputAttachmentNameReference?: string;
1052+
1053+
/**
1054+
* Whether the SCTE-35 input should be the active input or a fixed input.
1055+
*/
1056+
Mode: Scte35InputMode | string | undefined;
1057+
}
1058+
10391059
/**
10401060
* Settings for a SCTE-35 return_to_network message.
10411061
*/
@@ -1312,6 +1332,11 @@ export interface ScheduleActionSettings {
13121332
*/
13131333
PauseStateSettings?: PauseStateScheduleActionSettings;
13141334

1335+
/**
1336+
* Action to specify scte35 input
1337+
*/
1338+
Scte35InputSettings?: Scte35InputScheduleActionSettings;
1339+
13151340
/**
13161341
* Action to insert SCTE-35 return_to_network message
13171342
*/
@@ -2747,6 +2772,41 @@ export interface AvailBlanking {
27472772
State?: AvailBlankingState | string;
27482773
}
27492774

2775+
/**
2776+
* Settings for the Esam
2777+
*/
2778+
export interface Esam {
2779+
/**
2780+
* Sent as acquisitionPointIdentity to identify the MediaLive channel to the POIS.
2781+
*/
2782+
AcquisitionPointId: string | undefined;
2783+
2784+
/**
2785+
* When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages.
2786+
*/
2787+
AdAvailOffset?: number;
2788+
2789+
/**
2790+
* Password if credentials are required to access the POIS endpoint. This is a reference to an AWS parameter store name from which the password can be retrieved. AWS Parameter store format: "ssm://<parameter name>"
2791+
*/
2792+
PasswordParam?: string;
2793+
2794+
/**
2795+
* The URL of the signal conditioner endpoint on the Placement Opportunity Information System (POIS). MediaLive sends SignalProcessingEvents here when SCTE-35 messages are read.
2796+
*/
2797+
PoisEndpoint: string | undefined;
2798+
2799+
/**
2800+
* Username if credentials are required to access the POIS endpoint. This can be either a plaintext username, or a reference to an AWS parameter store name from which the username can be retrieved. AWS Parameter store format: "ssm://<parameter name>"
2801+
*/
2802+
Username?: string;
2803+
2804+
/**
2805+
* Optional data sent as zoneIdentity to identify the MediaLive channel to the POIS.
2806+
*/
2807+
ZoneIdentity?: string;
2808+
}
2809+
27502810
export enum Scte35SpliceInsertNoRegionalBlackoutBehavior {
27512811
FOLLOW = "FOLLOW",
27522812
IGNORE = "IGNORE",
@@ -2811,6 +2871,11 @@ export interface Scte35TimeSignalApos {
28112871
* Avail Settings
28122872
*/
28132873
export interface AvailSettings {
2874+
/**
2875+
* Settings for the Esam
2876+
*/
2877+
Esam?: Esam;
2878+
28142879
/**
28152880
* Scte35 Splice Insert
28162881
*/
@@ -5967,91 +6032,6 @@ export interface StopMultiplexRequest {
59676032
MultiplexId: string | undefined;
59686033
}
59696034

5970-
/**
5971-
* Placeholder documentation for StopMultiplexResponse
5972-
*/
5973-
export interface StopMultiplexResponse {
5974-
/**
5975-
* The unique arn of the multiplex.
5976-
*/
5977-
Arn?: string;
5978-
5979-
/**
5980-
* A list of availability zones for the multiplex.
5981-
*/
5982-
AvailabilityZones?: string[];
5983-
5984-
/**
5985-
* A list of the multiplex output destinations.
5986-
*/
5987-
Destinations?: MultiplexOutputDestination[];
5988-
5989-
/**
5990-
* The unique id of the multiplex.
5991-
*/
5992-
Id?: string;
5993-
5994-
/**
5995-
* Configuration for a multiplex event.
5996-
*/
5997-
MultiplexSettings?: MultiplexSettings;
5998-
5999-
/**
6000-
* The name of the multiplex.
6001-
*/
6002-
Name?: string;
6003-
6004-
/**
6005-
* The number of currently healthy pipelines.
6006-
*/
6007-
PipelinesRunningCount?: number;
6008-
6009-
/**
6010-
* The number of programs in the multiplex.
6011-
*/
6012-
ProgramCount?: number;
6013-
6014-
/**
6015-
* The current state of the multiplex.
6016-
*/
6017-
State?: MultiplexState | string;
6018-
6019-
/**
6020-
* A collection of key-value pairs.
6021-
*/
6022-
Tags?: Record<string, string>;
6023-
}
6024-
6025-
/**
6026-
* A request to transfer an input device.
6027-
*/
6028-
export interface TransferInputDeviceRequest {
6029-
/**
6030-
* The unique ID of this input device. For example, hd-123456789abcdef.
6031-
*/
6032-
InputDeviceId: string | undefined;
6033-
6034-
/**
6035-
* The AWS account ID (12 digits) for the recipient of the device transfer.
6036-
*/
6037-
TargetCustomerId?: string;
6038-
6039-
/**
6040-
* The target AWS region to transfer the device.
6041-
*/
6042-
TargetRegion?: string;
6043-
6044-
/**
6045-
* An optional message for the recipient. Maximum 280 characters.
6046-
*/
6047-
TransferMessage?: string;
6048-
}
6049-
6050-
/**
6051-
* Placeholder documentation for TransferInputDeviceResponse
6052-
*/
6053-
export interface TransferInputDeviceResponse {}
6054-
60556035
/**
60566036
* @internal
60576037
*/
@@ -6214,6 +6194,13 @@ export const PauseStateScheduleActionSettingsFilterSensitiveLog = (obj: PauseSta
62146194
...obj,
62156195
});
62166196

6197+
/**
6198+
* @internal
6199+
*/
6200+
export const Scte35InputScheduleActionSettingsFilterSensitiveLog = (obj: Scte35InputScheduleActionSettings): any => ({
6201+
...obj,
6202+
});
6203+
62176204
/**
62186205
* @internal
62196206
*/
@@ -6482,6 +6469,13 @@ export const AvailBlankingFilterSensitiveLog = (obj: AvailBlanking): any => ({
64826469
...obj,
64836470
});
64846471

6472+
/**
6473+
* @internal
6474+
*/
6475+
export const EsamFilterSensitiveLog = (obj: Esam): any => ({
6476+
...obj,
6477+
});
6478+
64856479
/**
64866480
* @internal
64876481
*/
@@ -7380,24 +7374,3 @@ export const StopChannelResponseFilterSensitiveLog = (obj: StopChannelResponse):
73807374
export const StopMultiplexRequestFilterSensitiveLog = (obj: StopMultiplexRequest): any => ({
73817375
...obj,
73827376
});
7383-
7384-
/**
7385-
* @internal
7386-
*/
7387-
export const StopMultiplexResponseFilterSensitiveLog = (obj: StopMultiplexResponse): any => ({
7388-
...obj,
7389-
});
7390-
7391-
/**
7392-
* @internal
7393-
*/
7394-
export const TransferInputDeviceRequestFilterSensitiveLog = (obj: TransferInputDeviceRequest): any => ({
7395-
...obj,
7396-
});
7397-
7398-
/**
7399-
* @internal
7400-
*/
7401-
export const TransferInputDeviceResponseFilterSensitiveLog = (obj: TransferInputDeviceResponse): any => ({
7402-
...obj,
7403-
});

clients/client-medialive/src/models/models_2.ts

+108
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import {
1919
InputWhitelistRuleCidr,
2020
LogLevel,
2121
MediaConnectFlowRequest,
22+
MultiplexOutputDestination,
23+
MultiplexState,
2224
OutputDestination,
2325
} from "./models_0";
2426
import {
@@ -34,6 +36,91 @@ import {
3436
Reservation,
3537
} from "./models_1";
3638

39+
/**
40+
* Placeholder documentation for StopMultiplexResponse
41+
*/
42+
export interface StopMultiplexResponse {
43+
/**
44+
* The unique arn of the multiplex.
45+
*/
46+
Arn?: string;
47+
48+
/**
49+
* A list of availability zones for the multiplex.
50+
*/
51+
AvailabilityZones?: string[];
52+
53+
/**
54+
* A list of the multiplex output destinations.
55+
*/
56+
Destinations?: MultiplexOutputDestination[];
57+
58+
/**
59+
* The unique id of the multiplex.
60+
*/
61+
Id?: string;
62+
63+
/**
64+
* Configuration for a multiplex event.
65+
*/
66+
MultiplexSettings?: MultiplexSettings;
67+
68+
/**
69+
* The name of the multiplex.
70+
*/
71+
Name?: string;
72+
73+
/**
74+
* The number of currently healthy pipelines.
75+
*/
76+
PipelinesRunningCount?: number;
77+
78+
/**
79+
* The number of programs in the multiplex.
80+
*/
81+
ProgramCount?: number;
82+
83+
/**
84+
* The current state of the multiplex.
85+
*/
86+
State?: MultiplexState | string;
87+
88+
/**
89+
* A collection of key-value pairs.
90+
*/
91+
Tags?: Record<string, string>;
92+
}
93+
94+
/**
95+
* A request to transfer an input device.
96+
*/
97+
export interface TransferInputDeviceRequest {
98+
/**
99+
* The unique ID of this input device. For example, hd-123456789abcdef.
100+
*/
101+
InputDeviceId: string | undefined;
102+
103+
/**
104+
* The AWS account ID (12 digits) for the recipient of the device transfer.
105+
*/
106+
TargetCustomerId?: string;
107+
108+
/**
109+
* The target AWS region to transfer the device.
110+
*/
111+
TargetRegion?: string;
112+
113+
/**
114+
* An optional message for the recipient. Maximum 280 characters.
115+
*/
116+
TransferMessage?: string;
117+
}
118+
119+
/**
120+
* Placeholder documentation for TransferInputDeviceResponse
121+
*/
122+
export interface TransferInputDeviceResponse {}
123+
37124
/**
38125
* A request to update a channel.
39126
*/
@@ -398,6 +485,27 @@ export interface UpdateReservationResponse {
398485
Reservation?: Reservation;
399486
}
400487

488+
/**
489+
* @internal
490+
*/
491+
export const StopMultiplexResponseFilterSensitiveLog = (obj: StopMultiplexResponse): any => ({
492+
...obj,
493+
});
494+
495+
/**
496+
* @internal
497+
*/
498+
export const TransferInputDeviceRequestFilterSensitiveLog = (obj: TransferInputDeviceRequest): any => ({
499+
...obj,
500+
});
501+
502+
/**
503+
* @internal
504+
*/
505+
export const TransferInputDeviceResponseFilterSensitiveLog = (obj: TransferInputDeviceResponse): any => ({
506+
...obj,
507+
});
508+
401509
/**
402510
* @internal
403511
*/

0 commit comments

Comments
 (0)