Skip to content

Commit 29e9aba

Browse files
author
awstools
committed
feat(client-medialive): AWS Elemental Link now supports attaching a Link UHD device to a MediaConnect flow.
1 parent c885d48 commit 29e9aba

17 files changed

+1382
-193
lines changed

clients/client-medialive/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -586,6 +586,14 @@ StartChannel
586586

587587
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/classes/startchannelcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/interfaces/startchannelcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/interfaces/startchannelcommandoutput.html)
588588

589+
</details>
590+
<details>
591+
<summary>
592+
StartInputDevice
593+
</summary>
594+
595+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/classes/startinputdevicecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/interfaces/startinputdevicecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/interfaces/startinputdevicecommandoutput.html)
596+
589597
</details>
590598
<details>
591599
<summary>
@@ -610,6 +618,14 @@ StopChannel
610618

611619
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/classes/stopchannelcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/interfaces/stopchannelcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/interfaces/stopchannelcommandoutput.html)
612620

621+
</details>
622+
<details>
623+
<summary>
624+
StopInputDevice
625+
</summary>
626+
627+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/classes/stopinputdevicecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/interfaces/stopinputdevicecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-medialive/interfaces/stopinputdevicecommandoutput.html)
628+
613629
</details>
614630
<details>
615631
<summary>

clients/client-medialive/src/MediaLive.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,11 @@ import {
206206
StartChannelCommandInput,
207207
StartChannelCommandOutput,
208208
} from "./commands/StartChannelCommand";
209+
import {
210+
StartInputDeviceCommand,
211+
StartInputDeviceCommandInput,
212+
StartInputDeviceCommandOutput,
213+
} from "./commands/StartInputDeviceCommand";
209214
import {
210215
StartInputDeviceMaintenanceWindowCommand,
211216
StartInputDeviceMaintenanceWindowCommandInput,
@@ -217,6 +222,11 @@ import {
217222
StartMultiplexCommandOutput,
218223
} from "./commands/StartMultiplexCommand";
219224
import { StopChannelCommand, StopChannelCommandInput, StopChannelCommandOutput } from "./commands/StopChannelCommand";
225+
import {
226+
StopInputDeviceCommand,
227+
StopInputDeviceCommandInput,
228+
StopInputDeviceCommandOutput,
229+
} from "./commands/StopInputDeviceCommand";
220230
import {
221231
StopMultiplexCommand,
222232
StopMultiplexCommandInput,
@@ -319,9 +329,11 @@ const commands = {
319329
RebootInputDeviceCommand,
320330
RejectInputDeviceTransferCommand,
321331
StartChannelCommand,
332+
StartInputDeviceCommand,
322333
StartInputDeviceMaintenanceWindowCommand,
323334
StartMultiplexCommand,
324335
StopChannelCommand,
336+
StopInputDeviceCommand,
325337
StopMultiplexCommand,
326338
TransferInputDeviceCommand,
327339
UpdateAccountConfigurationCommand,
@@ -1047,6 +1059,23 @@ export interface MediaLive {
10471059
cb: (err: any, data?: StartChannelCommandOutput) => void
10481060
): void;
10491061

1062+
/**
1063+
* @see {@link StartInputDeviceCommand}
1064+
*/
1065+
startInputDevice(
1066+
args: StartInputDeviceCommandInput,
1067+
options?: __HttpHandlerOptions
1068+
): Promise<StartInputDeviceCommandOutput>;
1069+
startInputDevice(
1070+
args: StartInputDeviceCommandInput,
1071+
cb: (err: any, data?: StartInputDeviceCommandOutput) => void
1072+
): void;
1073+
startInputDevice(
1074+
args: StartInputDeviceCommandInput,
1075+
options: __HttpHandlerOptions,
1076+
cb: (err: any, data?: StartInputDeviceCommandOutput) => void
1077+
): void;
1078+
10501079
/**
10511080
* @see {@link StartInputDeviceMaintenanceWindowCommand}
10521081
*/
@@ -1089,6 +1118,20 @@ export interface MediaLive {
10891118
cb: (err: any, data?: StopChannelCommandOutput) => void
10901119
): void;
10911120

1121+
/**
1122+
* @see {@link StopInputDeviceCommand}
1123+
*/
1124+
stopInputDevice(
1125+
args: StopInputDeviceCommandInput,
1126+
options?: __HttpHandlerOptions
1127+
): Promise<StopInputDeviceCommandOutput>;
1128+
stopInputDevice(args: StopInputDeviceCommandInput, cb: (err: any, data?: StopInputDeviceCommandOutput) => void): void;
1129+
stopInputDevice(
1130+
args: StopInputDeviceCommandInput,
1131+
options: __HttpHandlerOptions,
1132+
cb: (err: any, data?: StopInputDeviceCommandOutput) => void
1133+
): void;
1134+
10921135
/**
10931136
* @see {@link StopMultiplexCommand}
10941137
*/

clients/client-medialive/src/MediaLiveClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,14 @@ import {
153153
RejectInputDeviceTransferCommandOutput,
154154
} from "./commands/RejectInputDeviceTransferCommand";
155155
import { StartChannelCommandInput, StartChannelCommandOutput } from "./commands/StartChannelCommand";
156+
import { StartInputDeviceCommandInput, StartInputDeviceCommandOutput } from "./commands/StartInputDeviceCommand";
156157
import {
157158
StartInputDeviceMaintenanceWindowCommandInput,
158159
StartInputDeviceMaintenanceWindowCommandOutput,
159160
} from "./commands/StartInputDeviceMaintenanceWindowCommand";
160161
import { StartMultiplexCommandInput, StartMultiplexCommandOutput } from "./commands/StartMultiplexCommand";
161162
import { StopChannelCommandInput, StopChannelCommandOutput } from "./commands/StopChannelCommand";
163+
import { StopInputDeviceCommandInput, StopInputDeviceCommandOutput } from "./commands/StopInputDeviceCommand";
162164
import { StopMultiplexCommandInput, StopMultiplexCommandOutput } from "./commands/StopMultiplexCommand";
163165
import {
164166
TransferInputDeviceCommandInput,
@@ -245,9 +247,11 @@ export type ServiceInputTypes =
245247
| RebootInputDeviceCommandInput
246248
| RejectInputDeviceTransferCommandInput
247249
| StartChannelCommandInput
250+
| StartInputDeviceCommandInput
248251
| StartInputDeviceMaintenanceWindowCommandInput
249252
| StartMultiplexCommandInput
250253
| StopChannelCommandInput
254+
| StopInputDeviceCommandInput
251255
| StopMultiplexCommandInput
252256
| TransferInputDeviceCommandInput
253257
| UpdateAccountConfigurationCommandInput
@@ -312,9 +316,11 @@ export type ServiceOutputTypes =
312316
| RebootInputDeviceCommandOutput
313317
| RejectInputDeviceTransferCommandOutput
314318
| StartChannelCommandOutput
319+
| StartInputDeviceCommandOutput
315320
| StartInputDeviceMaintenanceWindowCommandOutput
316321
| StartMultiplexCommandOutput
317322
| StopChannelCommandOutput
323+
| StopInputDeviceCommandOutput
318324
| StopMultiplexCommandOutput
319325
| TransferInputDeviceCommandOutput
320326
| UpdateAccountConfigurationCommandOutput

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,22 @@ export interface DescribeInputDeviceCommandOutput extends DescribeInputDeviceRes
8888
* // ScanType: "INTERLACED" || "PROGRESSIVE",
8989
* // Width: Number("int"),
9090
* // LatencyMs: Number("int"),
91+
* // Codec: "HEVC" || "AVC",
92+
* // MediaconnectSettings: { // InputDeviceMediaConnectSettings
93+
* // FlowArn: "STRING_VALUE",
94+
* // RoleArn: "STRING_VALUE",
95+
* // SecretArn: "STRING_VALUE",
96+
* // SourceName: "STRING_VALUE",
97+
* // },
9198
* // },
9299
* // Tags: { // Tags
93100
* // "<keys>": "STRING_VALUE",
94101
* // },
95102
* // AvailabilityZone: "STRING_VALUE",
103+
* // MedialiveInputArns: [
104+
* // "STRING_VALUE",
105+
* // ],
106+
* // OutputType: "NONE" || "MEDIALIVE_INPUT" || "MEDIACONNECT_FLOW",
96107
* // };
97108
*
98109
* ```

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,22 @@ export interface ListInputDevicesCommandOutput extends ListInputDevicesResponse,
9191
* // ScanType: "INTERLACED" || "PROGRESSIVE",
9292
* // Width: Number("int"),
9393
* // LatencyMs: Number("int"),
94+
* // Codec: "HEVC" || "AVC",
95+
* // MediaconnectSettings: { // InputDeviceMediaConnectSettings
96+
* // FlowArn: "STRING_VALUE",
97+
* // RoleArn: "STRING_VALUE",
98+
* // SecretArn: "STRING_VALUE",
99+
* // SourceName: "STRING_VALUE",
100+
* // },
94101
* // },
95102
* // Tags: { // Tags
96103
* // "<keys>": "STRING_VALUE",
97104
* // },
98105
* // AvailabilityZone: "STRING_VALUE",
106+
* // MedialiveInputArns: [
107+
* // "STRING_VALUE",
108+
* // ],
109+
* // OutputType: "NONE" || "MEDIALIVE_INPUT" || "MEDIACONNECT_FLOW",
99110
* // },
100111
* // ],
101112
* // NextToken: "STRING_VALUE",

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
} from "@smithy/types";
1515

1616
import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient";
17-
import { ListMultiplexProgramsRequest, ListMultiplexProgramsResponse } from "../models/models_1";
17+
import { ListMultiplexProgramsRequest, ListMultiplexProgramsResponse } from "../models/models_2";
1818
import { de_ListMultiplexProgramsCommand, se_ListMultiplexProgramsCommand } from "../protocols/Aws_restJson1";
1919

2020
/**

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import {
1414
} from "@smithy/types";
1515

1616
import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient";
17-
import { ListMultiplexesRequest, ListMultiplexesResponse } from "../models/models_1";
17+
import { ListMultiplexesRequest } from "../models/models_1";
18+
import { ListMultiplexesResponse } from "../models/models_2";
1819
import { de_ListMultiplexesCommand, se_ListMultiplexesCommand } from "../protocols/Aws_restJson1";
1920

2021
/**

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ import {
1414
} from "@smithy/types";
1515

1616
import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient";
17-
import { ListOfferingsRequest } from "../models/models_1";
18-
import { ListOfferingsResponse } from "../models/models_2";
17+
import { ListOfferingsRequest, ListOfferingsResponse } from "../models/models_2";
1918
import { de_ListOfferingsCommand, se_ListOfferingsCommand } from "../protocols/Aws_restJson1";
2019

2120
/**
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
// smithy-typescript generated code
2+
import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
4+
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
5+
import { Command as $Command } from "@smithy/smithy-client";
6+
import {
7+
FinalizeHandlerArguments,
8+
Handler,
9+
HandlerExecutionContext,
10+
HttpHandlerOptions as __HttpHandlerOptions,
11+
MetadataBearer as __MetadataBearer,
12+
MiddlewareStack,
13+
SerdeContext as __SerdeContext,
14+
} from "@smithy/types";
15+
16+
import { MediaLiveClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaLiveClient";
17+
import { StartInputDeviceRequest, StartInputDeviceResponse } from "../models/models_2";
18+
import { de_StartInputDeviceCommand, se_StartInputDeviceCommand } from "../protocols/Aws_restJson1";
19+
20+
/**
21+
* @public
22+
*/
23+
export { __MetadataBearer, $Command };
24+
/**
25+
* @public
26+
*
27+
* The input for {@link StartInputDeviceCommand}.
28+
*/
29+
export interface StartInputDeviceCommandInput extends StartInputDeviceRequest {}
30+
/**
31+
* @public
32+
*
33+
* The output of {@link StartInputDeviceCommand}.
34+
*/
35+
export interface StartInputDeviceCommandOutput extends StartInputDeviceResponse, __MetadataBearer {}
36+
37+
/**
38+
* @public
39+
* Start an input device that is attached to a MediaConnect flow. (There is no need to start a device that is attached to a MediaLive input; MediaLive starts the device when the channel starts.)
40+
* @example
41+
* Use a bare-bones client and the command you need to make an API call.
42+
* ```javascript
43+
* import { MediaLiveClient, StartInputDeviceCommand } from "@aws-sdk/client-medialive"; // ES Modules import
44+
* // const { MediaLiveClient, StartInputDeviceCommand } = require("@aws-sdk/client-medialive"); // CommonJS import
45+
* const client = new MediaLiveClient(config);
46+
* const input = { // StartInputDeviceRequest
47+
* InputDeviceId: "STRING_VALUE", // required
48+
* };
49+
* const command = new StartInputDeviceCommand(input);
50+
* const response = await client.send(command);
51+
* // {};
52+
*
53+
* ```
54+
*
55+
* @param StartInputDeviceCommandInput - {@link StartInputDeviceCommandInput}
56+
* @returns {@link StartInputDeviceCommandOutput}
57+
* @see {@link StartInputDeviceCommandInput} for command's `input` shape.
58+
* @see {@link StartInputDeviceCommandOutput} for command's `response` shape.
59+
* @see {@link MediaLiveClientResolvedConfig | config} for MediaLiveClient's `config` shape.
60+
*
61+
* @throws {@link BadGatewayException} (server fault)
62+
* Placeholder documentation for BadGatewayException
63+
*
64+
* @throws {@link BadRequestException} (client fault)
65+
* Placeholder documentation for BadRequestException
66+
*
67+
* @throws {@link ForbiddenException} (client fault)
68+
* Placeholder documentation for ForbiddenException
69+
*
70+
* @throws {@link GatewayTimeoutException} (server fault)
71+
* Placeholder documentation for GatewayTimeoutException
72+
*
73+
* @throws {@link InternalServerErrorException} (server fault)
74+
* Placeholder documentation for InternalServerErrorException
75+
*
76+
* @throws {@link NotFoundException} (client fault)
77+
* Placeholder documentation for NotFoundException
78+
*
79+
* @throws {@link TooManyRequestsException} (client fault)
80+
* Placeholder documentation for TooManyRequestsException
81+
*
82+
* @throws {@link UnprocessableEntityException} (client fault)
83+
* Placeholder documentation for UnprocessableEntityException
84+
*
85+
* @throws {@link MediaLiveServiceException}
86+
* <p>Base exception class for all service exceptions from MediaLive service.</p>
87+
*
88+
*/
89+
export class StartInputDeviceCommand extends $Command<
90+
StartInputDeviceCommandInput,
91+
StartInputDeviceCommandOutput,
92+
MediaLiveClientResolvedConfig
93+
> {
94+
// Start section: command_properties
95+
// End section: command_properties
96+
97+
public static getEndpointParameterInstructions(): EndpointParameterInstructions {
98+
return {
99+
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
100+
Endpoint: { type: "builtInParams", name: "endpoint" },
101+
Region: { type: "builtInParams", name: "region" },
102+
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
103+
};
104+
}
105+
106+
/**
107+
* @public
108+
*/
109+
constructor(readonly input: StartInputDeviceCommandInput) {
110+
// Start section: command_constructor
111+
super();
112+
// End section: command_constructor
113+
}
114+
115+
/**
116+
* @internal
117+
*/
118+
resolveMiddleware(
119+
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
120+
configuration: MediaLiveClientResolvedConfig,
121+
options?: __HttpHandlerOptions
122+
): Handler<StartInputDeviceCommandInput, StartInputDeviceCommandOutput> {
123+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
124+
this.middlewareStack.use(
125+
getEndpointPlugin(configuration, StartInputDeviceCommand.getEndpointParameterInstructions())
126+
);
127+
128+
const stack = clientStack.concat(this.middlewareStack);
129+
130+
const { logger } = configuration;
131+
const clientName = "MediaLiveClient";
132+
const commandName = "StartInputDeviceCommand";
133+
const handlerExecutionContext: HandlerExecutionContext = {
134+
logger,
135+
clientName,
136+
commandName,
137+
inputFilterSensitiveLog: (_: any) => _,
138+
outputFilterSensitiveLog: (_: any) => _,
139+
};
140+
const { requestHandler } = configuration;
141+
return stack.resolve(
142+
(request: FinalizeHandlerArguments<any>) =>
143+
requestHandler.handle(request.request as __HttpRequest, options || {}),
144+
handlerExecutionContext
145+
);
146+
}
147+
148+
/**
149+
* @internal
150+
*/
151+
private serialize(input: StartInputDeviceCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
152+
return se_StartInputDeviceCommand(input, context);
153+
}
154+
155+
/**
156+
* @internal
157+
*/
158+
private deserialize(output: __HttpResponse, context: __SerdeContext): Promise<StartInputDeviceCommandOutput> {
159+
return de_StartInputDeviceCommand(output, context);
160+
}
161+
162+
// Start section: command_body_extra
163+
// End section: command_body_extra
164+
}

0 commit comments

Comments
 (0)