Skip to content

Commit 8e266f0

Browse files
author
awstools
committed
feat(client-panorama): Pause and resume camera stream processing with SignalApplicationInstanceNodeInstances. Reboot an appliance with CreateJobForDevices. More application state information in DescribeApplicationInstance response.
1 parent a6042dd commit 8e266f0

File tree

8 files changed

+782
-27
lines changed

8 files changed

+782
-27
lines changed

clients/client-panorama/src/Panorama.ts

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,11 @@ import {
143143
RemoveApplicationInstanceCommandInput,
144144
RemoveApplicationInstanceCommandOutput,
145145
} from "./commands/RemoveApplicationInstanceCommand";
146+
import {
147+
SignalApplicationInstanceNodeInstancesCommand,
148+
SignalApplicationInstanceNodeInstancesCommandInput,
149+
SignalApplicationInstanceNodeInstancesCommandOutput,
150+
} from "./commands/SignalApplicationInstanceNodeInstancesCommand";
146151
import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
147152
import {
148153
UntagResourceCommand,
@@ -198,7 +203,7 @@ export class Panorama extends PanoramaClient {
198203
}
199204

200205
/**
201-
* <p>Creates a job to run on one or more devices.</p>
206+
* <p>Creates a job to run on one or more devices. A job can update a device's software or reboot it.</p>
202207
*/
203208
public createJobForDevices(
204209
args: CreateJobForDevicesCommandInput,
@@ -1111,6 +1116,40 @@ export class Panorama extends PanoramaClient {
11111116
}
11121117
}
11131118

1119+
/**
1120+
* <p>Signal camera nodes to stop or resume.</p>
1121+
*/
1122+
public signalApplicationInstanceNodeInstances(
1123+
args: SignalApplicationInstanceNodeInstancesCommandInput,
1124+
options?: __HttpHandlerOptions
1125+
): Promise<SignalApplicationInstanceNodeInstancesCommandOutput>;
1126+
public signalApplicationInstanceNodeInstances(
1127+
args: SignalApplicationInstanceNodeInstancesCommandInput,
1128+
cb: (err: any, data?: SignalApplicationInstanceNodeInstancesCommandOutput) => void
1129+
): void;
1130+
public signalApplicationInstanceNodeInstances(
1131+
args: SignalApplicationInstanceNodeInstancesCommandInput,
1132+
options: __HttpHandlerOptions,
1133+
cb: (err: any, data?: SignalApplicationInstanceNodeInstancesCommandOutput) => void
1134+
): void;
1135+
public signalApplicationInstanceNodeInstances(
1136+
args: SignalApplicationInstanceNodeInstancesCommandInput,
1137+
optionsOrCb?:
1138+
| __HttpHandlerOptions
1139+
| ((err: any, data?: SignalApplicationInstanceNodeInstancesCommandOutput) => void),
1140+
cb?: (err: any, data?: SignalApplicationInstanceNodeInstancesCommandOutput) => void
1141+
): Promise<SignalApplicationInstanceNodeInstancesCommandOutput> | void {
1142+
const command = new SignalApplicationInstanceNodeInstancesCommand(args);
1143+
if (typeof optionsOrCb === "function") {
1144+
this.send(command, optionsOrCb);
1145+
} else if (typeof cb === "function") {
1146+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
1147+
this.send(command, optionsOrCb || {}, cb);
1148+
} else {
1149+
return this.send(command, optionsOrCb);
1150+
}
1151+
}
1152+
11141153
/**
11151154
* <p>Tags a resource.</p>
11161155
*/

clients/client-panorama/src/PanoramaClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,10 @@ import {
137137
RemoveApplicationInstanceCommandInput,
138138
RemoveApplicationInstanceCommandOutput,
139139
} from "./commands/RemoveApplicationInstanceCommand";
140+
import {
141+
SignalApplicationInstanceNodeInstancesCommandInput,
142+
SignalApplicationInstanceNodeInstancesCommandOutput,
143+
} from "./commands/SignalApplicationInstanceNodeInstancesCommand";
140144
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
141145
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
142146
import {
@@ -176,6 +180,7 @@ export type ServiceInputTypes =
176180
| ProvisionDeviceCommandInput
177181
| RegisterPackageVersionCommandInput
178182
| RemoveApplicationInstanceCommandInput
183+
| SignalApplicationInstanceNodeInstancesCommandInput
179184
| TagResourceCommandInput
180185
| UntagResourceCommandInput
181186
| UpdateDeviceMetadataCommandInput;
@@ -211,6 +216,7 @@ export type ServiceOutputTypes =
211216
| ProvisionDeviceCommandOutput
212217
| RegisterPackageVersionCommandOutput
213218
| RemoveApplicationInstanceCommandOutput
219+
| SignalApplicationInstanceNodeInstancesCommandOutput
214220
| TagResourceCommandOutput
215221
| UntagResourceCommandOutput
216222
| UpdateDeviceMetadataCommandOutput;

clients/client-panorama/src/commands/CreateJobForDevicesCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface CreateJobForDevicesCommandInput extends CreateJobForDevicesRequ
2828
export interface CreateJobForDevicesCommandOutput extends CreateJobForDevicesResponse, __MetadataBearer {}
2929

3030
/**
31-
* <p>Creates a job to run on one or more devices.</p>
31+
* <p>Creates a job to run on one or more devices. A job can update a device's software or reboot it.</p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
// smithy-typescript generated code
2+
import { getSerdePlugin } from "@aws-sdk/middleware-serde";
3+
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http";
4+
import { Command as $Command } from "@aws-sdk/smithy-client";
5+
import {
6+
FinalizeHandlerArguments,
7+
Handler,
8+
HandlerExecutionContext,
9+
HttpHandlerOptions as __HttpHandlerOptions,
10+
MetadataBearer as __MetadataBearer,
11+
MiddlewareStack,
12+
SerdeContext as __SerdeContext,
13+
} from "@aws-sdk/types";
14+
15+
import {
16+
SignalApplicationInstanceNodeInstancesRequest,
17+
SignalApplicationInstanceNodeInstancesRequestFilterSensitiveLog,
18+
SignalApplicationInstanceNodeInstancesResponse,
19+
SignalApplicationInstanceNodeInstancesResponseFilterSensitiveLog,
20+
} from "../models/models_0";
21+
import { PanoramaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../PanoramaClient";
22+
import {
23+
deserializeAws_restJson1SignalApplicationInstanceNodeInstancesCommand,
24+
serializeAws_restJson1SignalApplicationInstanceNodeInstancesCommand,
25+
} from "../protocols/Aws_restJson1";
26+
27+
export interface SignalApplicationInstanceNodeInstancesCommandInput
28+
extends SignalApplicationInstanceNodeInstancesRequest {}
29+
export interface SignalApplicationInstanceNodeInstancesCommandOutput
30+
extends SignalApplicationInstanceNodeInstancesResponse,
31+
__MetadataBearer {}
32+
33+
/**
34+
* <p>Signal camera nodes to stop or resume.</p>
35+
* @example
36+
* Use a bare-bones client and the command you need to make an API call.
37+
* ```javascript
38+
* import { PanoramaClient, SignalApplicationInstanceNodeInstancesCommand } from "@aws-sdk/client-panorama"; // ES Modules import
39+
* // const { PanoramaClient, SignalApplicationInstanceNodeInstancesCommand } = require("@aws-sdk/client-panorama"); // CommonJS import
40+
* const client = new PanoramaClient(config);
41+
* const command = new SignalApplicationInstanceNodeInstancesCommand(input);
42+
* const response = await client.send(command);
43+
* ```
44+
*
45+
* @see {@link SignalApplicationInstanceNodeInstancesCommandInput} for command's `input` shape.
46+
* @see {@link SignalApplicationInstanceNodeInstancesCommandOutput} for command's `response` shape.
47+
* @see {@link PanoramaClientResolvedConfig | config} for PanoramaClient's `config` shape.
48+
*
49+
*/
50+
export class SignalApplicationInstanceNodeInstancesCommand extends $Command<
51+
SignalApplicationInstanceNodeInstancesCommandInput,
52+
SignalApplicationInstanceNodeInstancesCommandOutput,
53+
PanoramaClientResolvedConfig
54+
> {
55+
// Start section: command_properties
56+
// End section: command_properties
57+
58+
constructor(readonly input: SignalApplicationInstanceNodeInstancesCommandInput) {
59+
// Start section: command_constructor
60+
super();
61+
// End section: command_constructor
62+
}
63+
64+
/**
65+
* @internal
66+
*/
67+
resolveMiddleware(
68+
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
69+
configuration: PanoramaClientResolvedConfig,
70+
options?: __HttpHandlerOptions
71+
): Handler<SignalApplicationInstanceNodeInstancesCommandInput, SignalApplicationInstanceNodeInstancesCommandOutput> {
72+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
73+
74+
const stack = clientStack.concat(this.middlewareStack);
75+
76+
const { logger } = configuration;
77+
const clientName = "PanoramaClient";
78+
const commandName = "SignalApplicationInstanceNodeInstancesCommand";
79+
const handlerExecutionContext: HandlerExecutionContext = {
80+
logger,
81+
clientName,
82+
commandName,
83+
inputFilterSensitiveLog: SignalApplicationInstanceNodeInstancesRequestFilterSensitiveLog,
84+
outputFilterSensitiveLog: SignalApplicationInstanceNodeInstancesResponseFilterSensitiveLog,
85+
};
86+
const { requestHandler } = configuration;
87+
return stack.resolve(
88+
(request: FinalizeHandlerArguments<any>) =>
89+
requestHandler.handle(request.request as __HttpRequest, options || {}),
90+
handlerExecutionContext
91+
);
92+
}
93+
94+
private serialize(
95+
input: SignalApplicationInstanceNodeInstancesCommandInput,
96+
context: __SerdeContext
97+
): Promise<__HttpRequest> {
98+
return serializeAws_restJson1SignalApplicationInstanceNodeInstancesCommand(input, context);
99+
}
100+
101+
private deserialize(
102+
output: __HttpResponse,
103+
context: __SerdeContext
104+
): Promise<SignalApplicationInstanceNodeInstancesCommandOutput> {
105+
return deserializeAws_restJson1SignalApplicationInstanceNodeInstancesCommand(output, context);
106+
}
107+
108+
// Start section: command_body_extra
109+
// End section: command_body_extra
110+
}

clients/client-panorama/src/commands/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export * from "./ListTagsForResourceCommand";
2929
export * from "./ProvisionDeviceCommand";
3030
export * from "./RegisterPackageVersionCommand";
3131
export * from "./RemoveApplicationInstanceCommand";
32+
export * from "./SignalApplicationInstanceNodeInstancesCommand";
3233
export * from "./TagResourceCommand";
3334
export * from "./UntagResourceCommand";
3435
export * from "./UpdateDeviceMetadataCommand";

0 commit comments

Comments
 (0)