UNPKG

40.6 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class MediaConnect extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: MediaConnect.Types.ClientConfiguration)
13 config: Config & MediaConnect.Types.ClientConfiguration;
14 /**
15 * Adds outputs to an existing flow. You can create up to 20 outputs per flow.
16 */
17 addFlowOutputs(params: MediaConnect.Types.AddFlowOutputsRequest, callback?: (err: AWSError, data: MediaConnect.Types.AddFlowOutputsResponse) => void): Request<MediaConnect.Types.AddFlowOutputsResponse, AWSError>;
18 /**
19 * Adds outputs to an existing flow. You can create up to 20 outputs per flow.
20 */
21 addFlowOutputs(callback?: (err: AWSError, data: MediaConnect.Types.AddFlowOutputsResponse) => void): Request<MediaConnect.Types.AddFlowOutputsResponse, AWSError>;
22 /**
23 * Creates a new flow. The request must include one source. The request optionally can include outputs (up to 20) and entitlements (up to 50).
24 */
25 createFlow(params: MediaConnect.Types.CreateFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.CreateFlowResponse) => void): Request<MediaConnect.Types.CreateFlowResponse, AWSError>;
26 /**
27 * Creates a new flow. The request must include one source. The request optionally can include outputs (up to 20) and entitlements (up to 50).
28 */
29 createFlow(callback?: (err: AWSError, data: MediaConnect.Types.CreateFlowResponse) => void): Request<MediaConnect.Types.CreateFlowResponse, AWSError>;
30 /**
31 * Deletes a flow. Before you can delete a flow, you must stop the flow.
32 */
33 deleteFlow(params: MediaConnect.Types.DeleteFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.DeleteFlowResponse) => void): Request<MediaConnect.Types.DeleteFlowResponse, AWSError>;
34 /**
35 * Deletes a flow. Before you can delete a flow, you must stop the flow.
36 */
37 deleteFlow(callback?: (err: AWSError, data: MediaConnect.Types.DeleteFlowResponse) => void): Request<MediaConnect.Types.DeleteFlowResponse, AWSError>;
38 /**
39 * Displays the details of a flow. The response includes the flow ARN, name, and Availability Zone, as well as details about the source, outputs, and entitlements.
40 */
41 describeFlow(params: MediaConnect.Types.DescribeFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.DescribeFlowResponse) => void): Request<MediaConnect.Types.DescribeFlowResponse, AWSError>;
42 /**
43 * Displays the details of a flow. The response includes the flow ARN, name, and Availability Zone, as well as details about the source, outputs, and entitlements.
44 */
45 describeFlow(callback?: (err: AWSError, data: MediaConnect.Types.DescribeFlowResponse) => void): Request<MediaConnect.Types.DescribeFlowResponse, AWSError>;
46 /**
47 * Grants entitlements to an existing flow.
48 */
49 grantFlowEntitlements(params: MediaConnect.Types.GrantFlowEntitlementsRequest, callback?: (err: AWSError, data: MediaConnect.Types.GrantFlowEntitlementsResponse) => void): Request<MediaConnect.Types.GrantFlowEntitlementsResponse, AWSError>;
50 /**
51 * Grants entitlements to an existing flow.
52 */
53 grantFlowEntitlements(callback?: (err: AWSError, data: MediaConnect.Types.GrantFlowEntitlementsResponse) => void): Request<MediaConnect.Types.GrantFlowEntitlementsResponse, AWSError>;
54 /**
55 * Displays a list of all entitlements that have been granted to this account. This request returns 20 results per page.
56 */
57 listEntitlements(params: MediaConnect.Types.ListEntitlementsRequest, callback?: (err: AWSError, data: MediaConnect.Types.ListEntitlementsResponse) => void): Request<MediaConnect.Types.ListEntitlementsResponse, AWSError>;
58 /**
59 * Displays a list of all entitlements that have been granted to this account. This request returns 20 results per page.
60 */
61 listEntitlements(callback?: (err: AWSError, data: MediaConnect.Types.ListEntitlementsResponse) => void): Request<MediaConnect.Types.ListEntitlementsResponse, AWSError>;
62 /**
63 * Displays a list of flows that are associated with this account. This request returns a paginated result.
64 */
65 listFlows(params: MediaConnect.Types.ListFlowsRequest, callback?: (err: AWSError, data: MediaConnect.Types.ListFlowsResponse) => void): Request<MediaConnect.Types.ListFlowsResponse, AWSError>;
66 /**
67 * Displays a list of flows that are associated with this account. This request returns a paginated result.
68 */
69 listFlows(callback?: (err: AWSError, data: MediaConnect.Types.ListFlowsResponse) => void): Request<MediaConnect.Types.ListFlowsResponse, AWSError>;
70 /**
71 * List all tags on an AWS Elemental MediaConnect resource
72 */
73 listTagsForResource(params: MediaConnect.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: MediaConnect.Types.ListTagsForResourceResponse) => void): Request<MediaConnect.Types.ListTagsForResourceResponse, AWSError>;
74 /**
75 * List all tags on an AWS Elemental MediaConnect resource
76 */
77 listTagsForResource(callback?: (err: AWSError, data: MediaConnect.Types.ListTagsForResourceResponse) => void): Request<MediaConnect.Types.ListTagsForResourceResponse, AWSError>;
78 /**
79 * Removes an output from an existing flow. This request can be made only on an output that does not have an entitlement associated with it. If the output has an entitlement, you must revoke the entitlement instead. When an entitlement is revoked from a flow, the service automatically removes the associated output.
80 */
81 removeFlowOutput(params: MediaConnect.Types.RemoveFlowOutputRequest, callback?: (err: AWSError, data: MediaConnect.Types.RemoveFlowOutputResponse) => void): Request<MediaConnect.Types.RemoveFlowOutputResponse, AWSError>;
82 /**
83 * Removes an output from an existing flow. This request can be made only on an output that does not have an entitlement associated with it. If the output has an entitlement, you must revoke the entitlement instead. When an entitlement is revoked from a flow, the service automatically removes the associated output.
84 */
85 removeFlowOutput(callback?: (err: AWSError, data: MediaConnect.Types.RemoveFlowOutputResponse) => void): Request<MediaConnect.Types.RemoveFlowOutputResponse, AWSError>;
86 /**
87 * Revokes an entitlement from a flow. Once an entitlement is revoked, the content becomes unavailable to the subscriber and the associated output is removed.
88 */
89 revokeFlowEntitlement(params: MediaConnect.Types.RevokeFlowEntitlementRequest, callback?: (err: AWSError, data: MediaConnect.Types.RevokeFlowEntitlementResponse) => void): Request<MediaConnect.Types.RevokeFlowEntitlementResponse, AWSError>;
90 /**
91 * Revokes an entitlement from a flow. Once an entitlement is revoked, the content becomes unavailable to the subscriber and the associated output is removed.
92 */
93 revokeFlowEntitlement(callback?: (err: AWSError, data: MediaConnect.Types.RevokeFlowEntitlementResponse) => void): Request<MediaConnect.Types.RevokeFlowEntitlementResponse, AWSError>;
94 /**
95 * Starts a flow.
96 */
97 startFlow(params: MediaConnect.Types.StartFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.StartFlowResponse) => void): Request<MediaConnect.Types.StartFlowResponse, AWSError>;
98 /**
99 * Starts a flow.
100 */
101 startFlow(callback?: (err: AWSError, data: MediaConnect.Types.StartFlowResponse) => void): Request<MediaConnect.Types.StartFlowResponse, AWSError>;
102 /**
103 * Stops a flow.
104 */
105 stopFlow(params: MediaConnect.Types.StopFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.StopFlowResponse) => void): Request<MediaConnect.Types.StopFlowResponse, AWSError>;
106 /**
107 * Stops a flow.
108 */
109 stopFlow(callback?: (err: AWSError, data: MediaConnect.Types.StopFlowResponse) => void): Request<MediaConnect.Types.StopFlowResponse, AWSError>;
110 /**
111 * Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well.
112 */
113 tagResource(params: MediaConnect.Types.TagResourceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
114 /**
115 * Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well.
116 */
117 tagResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
118 /**
119 * Deletes specified tags from a resource.
120 */
121 untagResource(params: MediaConnect.Types.UntagResourceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
122 /**
123 * Deletes specified tags from a resource.
124 */
125 untagResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
126 /**
127 * You can change an entitlement's description, subscribers, and encryption. If you change the subscribers, the service will remove the outputs that are are used by the subscribers that are removed.
128 */
129 updateFlowEntitlement(params: MediaConnect.Types.UpdateFlowEntitlementRequest, callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowEntitlementResponse) => void): Request<MediaConnect.Types.UpdateFlowEntitlementResponse, AWSError>;
130 /**
131 * You can change an entitlement's description, subscribers, and encryption. If you change the subscribers, the service will remove the outputs that are are used by the subscribers that are removed.
132 */
133 updateFlowEntitlement(callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowEntitlementResponse) => void): Request<MediaConnect.Types.UpdateFlowEntitlementResponse, AWSError>;
134 /**
135 * Updates an existing flow output.
136 */
137 updateFlowOutput(params: MediaConnect.Types.UpdateFlowOutputRequest, callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowOutputResponse) => void): Request<MediaConnect.Types.UpdateFlowOutputResponse, AWSError>;
138 /**
139 * Updates an existing flow output.
140 */
141 updateFlowOutput(callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowOutputResponse) => void): Request<MediaConnect.Types.UpdateFlowOutputResponse, AWSError>;
142 /**
143 * Updates the source of a flow.
144 */
145 updateFlowSource(params: MediaConnect.Types.UpdateFlowSourceRequest, callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowSourceResponse) => void): Request<MediaConnect.Types.UpdateFlowSourceResponse, AWSError>;
146 /**
147 * Updates the source of a flow.
148 */
149 updateFlowSource(callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowSourceResponse) => void): Request<MediaConnect.Types.UpdateFlowSourceResponse, AWSError>;
150}
151declare namespace MediaConnect {
152 export interface AddFlowOutputsRequest {
153 /**
154 * The flow that you want to add outputs to.
155 */
156 FlowArn: __string;
157 /**
158 * A list of outputs that you want to add.
159 */
160 Outputs: __listOfAddOutputRequest;
161 }
162 export interface AddFlowOutputsResponse {
163 /**
164 * The ARN of the flow that these outputs were added to.
165 */
166 FlowArn?: __string;
167 /**
168 * The details of the newly added outputs.
169 */
170 Outputs?: __listOfOutput;
171 }
172 export interface AddOutputRequest {
173 /**
174 * The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.
175 */
176 CidrAllowList?: __listOf__string;
177 /**
178 * A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.
179 */
180 Description?: __string;
181 /**
182 * The IP address from which video will be sent to output destinations.
183 */
184 Destination?: __string;
185 /**
186 * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).
187 */
188 Encryption?: Encryption;
189 /**
190 * The maximum latency in milliseconds for Zixi-based streams.
191 */
192 MaxLatency?: __integer;
193 /**
194 * The name of the output. This value must be unique within the current flow.
195 */
196 Name?: __string;
197 /**
198 * The port to use when content is distributed to this output.
199 */
200 Port?: __integer;
201 /**
202 * The protocol to use for the output.
203 */
204 Protocol: Protocol;
205 /**
206 * The remote ID for the Zixi-pull output stream.
207 */
208 RemoteId?: __string;
209 /**
210 * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
211 */
212 SmoothingLatency?: __integer;
213 /**
214 * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
215 */
216 StreamId?: __string;
217 }
218 export type Algorithm = "aes128"|"aes192"|"aes256"|string;
219 export interface CreateFlowRequest {
220 /**
221 * The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.
222 */
223 AvailabilityZone?: __string;
224 /**
225 * The entitlements that you want to grant on a flow.
226 */
227 Entitlements?: __listOfGrantEntitlementRequest;
228 /**
229 * The name of the flow.
230 */
231 Name: __string;
232 /**
233 * The outputs that you want to add to this flow.
234 */
235 Outputs?: __listOfAddOutputRequest;
236 Source: SetSourceRequest;
237 }
238 export interface CreateFlowResponse {
239 Flow?: Flow;
240 }
241 export interface DeleteFlowRequest {
242 /**
243 * The ARN of the flow that you want to delete.
244 */
245 FlowArn: __string;
246 }
247 export interface DeleteFlowResponse {
248 /**
249 * The ARN of the flow that was deleted.
250 */
251 FlowArn?: __string;
252 /**
253 * The status of the flow when the DeleteFlow process begins.
254 */
255 Status?: Status;
256 }
257 export interface DescribeFlowRequest {
258 /**
259 * The ARN of the flow that you want to describe.
260 */
261 FlowArn: __string;
262 }
263 export interface DescribeFlowResponse {
264 Flow?: Flow;
265 Messages?: Messages;
266 }
267 export interface Encryption {
268 /**
269 * The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256).
270 */
271 Algorithm: Algorithm;
272 /**
273 * A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption.
274 */
275 ConstantInitializationVector?: __string;
276 /**
277 * The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption.
278 */
279 DeviceId?: __string;
280 /**
281 * The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key).
282 */
283 KeyType?: KeyType;
284 /**
285 * The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption.
286 */
287 Region?: __string;
288 /**
289 * An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption.
290 */
291 ResourceId?: __string;
292 /**
293 * The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).
294 */
295 RoleArn: __string;
296 /**
297 * The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption.
298 */
299 SecretArn?: __string;
300 /**
301 * The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption.
302 */
303 Url?: __string;
304 }
305 export interface Entitlement {
306 /**
307 * Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
308 */
309 DataTransferSubscriberFeePercent?: __integer;
310 /**
311 * A description of the entitlement.
312 */
313 Description?: __string;
314 /**
315 * The type of encryption that will be used on the output that is associated with this entitlement.
316 */
317 Encryption?: Encryption;
318 /**
319 * The ARN of the entitlement.
320 */
321 EntitlementArn: __string;
322 /**
323 * The name of the entitlement.
324 */
325 Name: __string;
326 /**
327 * The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source.
328 */
329 Subscribers: __listOf__string;
330 }
331 export interface Flow {
332 /**
333 * The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS.
334 */
335 AvailabilityZone: __string;
336 /**
337 * A description of the flow. This value is not used or seen outside of the current AWS Elemental MediaConnect account.
338 */
339 Description?: __string;
340 /**
341 * The IP address from which video will be sent to output destinations.
342 */
343 EgressIp?: __string;
344 /**
345 * The entitlements in this flow.
346 */
347 Entitlements: __listOfEntitlement;
348 /**
349 * The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow.
350 */
351 FlowArn: __string;
352 /**
353 * The name of the flow.
354 */
355 Name: __string;
356 /**
357 * The outputs in this flow.
358 */
359 Outputs: __listOfOutput;
360 Source: Source;
361 /**
362 * The current status of the flow.
363 */
364 Status: Status;
365 }
366 export interface GrantEntitlementRequest {
367 /**
368 * Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
369 */
370 DataTransferSubscriberFeePercent?: __integer;
371 /**
372 * A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user.
373 */
374 Description?: __string;
375 /**
376 * The type of encryption that will be used on the output that is associated with this entitlement.
377 */
378 Encryption?: Encryption;
379 /**
380 * The name of the entitlement. This value must be unique within the current flow.
381 */
382 Name?: __string;
383 /**
384 * The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source.
385 */
386 Subscribers: __listOf__string;
387 }
388 export interface GrantFlowEntitlementsRequest {
389 /**
390 * The list of entitlements that you want to grant.
391 */
392 Entitlements: __listOfGrantEntitlementRequest;
393 /**
394 * The flow that you want to grant entitlements on.
395 */
396 FlowArn: __string;
397 }
398 export interface GrantFlowEntitlementsResponse {
399 /**
400 * The entitlements that were just granted.
401 */
402 Entitlements?: __listOfEntitlement;
403 /**
404 * The ARN of the flow that these entitlements were granted to.
405 */
406 FlowArn?: __string;
407 }
408 export type KeyType = "speke"|"static-key"|string;
409 export interface ListEntitlementsRequest {
410 /**
411 * The maximum number of results to return per API request. For example, you submit a ListEntitlements request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 20 results per page.
412 */
413 MaxResults?: MaxResults;
414 /**
415 * The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value.
416 */
417 NextToken?: __string;
418 }
419 export interface ListEntitlementsResponse {
420 /**
421 * A list of entitlements that have been granted to you from other AWS accounts.
422 */
423 Entitlements?: __listOfListedEntitlement;
424 /**
425 * The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value.
426 */
427 NextToken?: __string;
428 }
429 export interface ListFlowsRequest {
430 /**
431 * The maximum number of results to return per API request. For example, you submit a ListFlows request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page.
432 */
433 MaxResults?: MaxResults;
434 /**
435 * The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value.
436 */
437 NextToken?: __string;
438 }
439 export interface ListFlowsResponse {
440 /**
441 * A list of flow summaries.
442 */
443 Flows?: __listOfListedFlow;
444 /**
445 * The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value.
446 */
447 NextToken?: __string;
448 }
449 export interface ListTagsForResourceRequest {
450 /**
451 * The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource for which to list the tags.
452 */
453 ResourceArn: __string;
454 }
455 export interface ListTagsForResourceResponse {
456 /**
457 * A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
458 */
459 Tags?: __mapOf__string;
460 }
461 export interface ListedEntitlement {
462 /**
463 * Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
464 */
465 DataTransferSubscriberFeePercent?: __integer;
466 /**
467 * The ARN of the entitlement.
468 */
469 EntitlementArn: __string;
470 /**
471 * The name of the entitlement.
472 */
473 EntitlementName: __string;
474 }
475 export interface ListedFlow {
476 /**
477 * The Availability Zone that the flow was created in.
478 */
479 AvailabilityZone: __string;
480 /**
481 * A description of the flow.
482 */
483 Description: __string;
484 /**
485 * The ARN of the flow.
486 */
487 FlowArn: __string;
488 /**
489 * The name of the flow.
490 */
491 Name: __string;
492 /**
493 * The type of source. This value is either owned (originated somewhere other than an AWS Elemental MediaConnect flow owned by another AWS account) or entitled (originated at an AWS Elemental MediaConnect flow owned by another AWS account).
494 */
495 SourceType: SourceType;
496 /**
497 * The current status of the flow.
498 */
499 Status: Status;
500 }
501 export type MaxResults = number;
502 export interface Messages {
503 /**
504 * A list of errors that might have been generated from processes on this flow.
505 */
506 Errors: __listOf__string;
507 }
508 export interface Output {
509 /**
510 * Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
511 */
512 DataTransferSubscriberFeePercent?: __integer;
513 /**
514 * A description of the output.
515 */
516 Description?: __string;
517 /**
518 * The address where you want to send the output.
519 */
520 Destination?: __string;
521 /**
522 * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).
523 */
524 Encryption?: Encryption;
525 /**
526 * The ARN of the entitlement on the originator''s flow. This value is relevant only on entitled flows.
527 */
528 EntitlementArn?: __string;
529 /**
530 * The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that were added by creating a MediaLive input.
531 */
532 MediaLiveInputArn?: __string;
533 /**
534 * The name of the output. This value must be unique within the current flow.
535 */
536 Name: __string;
537 /**
538 * The ARN of the output.
539 */
540 OutputArn: __string;
541 /**
542 * The port to use when content is distributed to this output.
543 */
544 Port?: __integer;
545 /**
546 * Attributes related to the transport stream that are used in the output.
547 */
548 Transport?: Transport;
549 }
550 export type Protocol = "zixi-push"|"rtp-fec"|"rtp"|"zixi-pull"|"rist"|string;
551 export interface RemoveFlowOutputRequest {
552 /**
553 * The flow that you want to remove an output from.
554 */
555 FlowArn: __string;
556 /**
557 * The ARN of the output that you want to remove.
558 */
559 OutputArn: __string;
560 }
561 export interface RemoveFlowOutputResponse {
562 /**
563 * The ARN of the flow that is associated with the output you removed.
564 */
565 FlowArn?: __string;
566 /**
567 * The ARN of the output that was removed.
568 */
569 OutputArn?: __string;
570 }
571 export interface RevokeFlowEntitlementRequest {
572 /**
573 * The ARN of the entitlement that you want to revoke.
574 */
575 EntitlementArn: __string;
576 /**
577 * The flow that you want to revoke an entitlement from.
578 */
579 FlowArn: __string;
580 }
581 export interface RevokeFlowEntitlementResponse {
582 /**
583 * The ARN of the entitlement that was revoked.
584 */
585 EntitlementArn?: __string;
586 /**
587 * The ARN of the flow that the entitlement was revoked from.
588 */
589 FlowArn?: __string;
590 }
591 export interface SetSourceRequest {
592 /**
593 * The type of encryption that is used on the content ingested from this source.
594 */
595 Decryption?: Encryption;
596 /**
597 * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.
598 */
599 Description?: __string;
600 /**
601 * The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow.
602 */
603 EntitlementArn?: __string;
604 /**
605 * The port that the flow will be listening on for incoming content.
606 */
607 IngestPort?: __integer;
608 /**
609 * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
610 */
611 MaxBitrate?: __integer;
612 /**
613 * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
614 */
615 MaxLatency?: __integer;
616 /**
617 * The name of the source.
618 */
619 Name?: __string;
620 /**
621 * The protocol that is used by the source.
622 */
623 Protocol?: Protocol;
624 /**
625 * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
626 */
627 StreamId?: __string;
628 /**
629 * The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.
630 */
631 WhitelistCidr?: __string;
632 }
633 export interface Source {
634 /**
635 * Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
636 */
637 DataTransferSubscriberFeePercent?: __integer;
638 /**
639 * The type of encryption that is used on the content ingested from this source.
640 */
641 Decryption?: Encryption;
642 /**
643 * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.
644 */
645 Description?: __string;
646 /**
647 * The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator's flow.
648 */
649 EntitlementArn?: __string;
650 /**
651 * The IP address that the flow will be listening on for incoming content.
652 */
653 IngestIp?: __string;
654 /**
655 * The port that the flow will be listening on for incoming content.
656 */
657 IngestPort?: __integer;
658 /**
659 * The name of the source.
660 */
661 Name: __string;
662 /**
663 * The ARN of the source.
664 */
665 SourceArn: __string;
666 /**
667 * Attributes related to the transport stream that are used in the source.
668 */
669 Transport?: Transport;
670 /**
671 * The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.
672 */
673 WhitelistCidr?: __string;
674 }
675 export type SourceType = "OWNED"|"ENTITLED"|string;
676 export interface StartFlowRequest {
677 /**
678 * The ARN of the flow that you want to start.
679 */
680 FlowArn: __string;
681 }
682 export interface StartFlowResponse {
683 /**
684 * The ARN of the flow that you started.
685 */
686 FlowArn?: __string;
687 /**
688 * The status of the flow when the StartFlow process begins.
689 */
690 Status?: Status;
691 }
692 export type Status = "STANDBY"|"ACTIVE"|"UPDATING"|"DELETING"|"STARTING"|"STOPPING"|"ERROR"|string;
693 export interface StopFlowRequest {
694 /**
695 * The ARN of the flow that you want to stop.
696 */
697 FlowArn: __string;
698 }
699 export interface StopFlowResponse {
700 /**
701 * The ARN of the flow that you stopped.
702 */
703 FlowArn?: __string;
704 /**
705 * The status of the flow when the StopFlow process begins.
706 */
707 Status?: Status;
708 }
709 export interface TagResourceRequest {
710 /**
711 * The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource to which to add tags.
712 */
713 ResourceArn: __string;
714 /**
715 * A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
716 */
717 Tags: __mapOf__string;
718 }
719 export interface Transport {
720 /**
721 * The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.
722 */
723 CidrAllowList?: __listOf__string;
724 /**
725 * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
726 */
727 MaxBitrate?: __integer;
728 /**
729 * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
730 */
731 MaxLatency?: __integer;
732 /**
733 * The protocol that is used by the source or output.
734 */
735 Protocol: Protocol;
736 /**
737 * The remote ID for the Zixi-pull stream.
738 */
739 RemoteId?: __string;
740 /**
741 * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
742 */
743 SmoothingLatency?: __integer;
744 /**
745 * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
746 */
747 StreamId?: __string;
748 }
749 export interface UntagResourceRequest {
750 /**
751 * The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource from which to delete tags.
752 */
753 ResourceArn: __string;
754 /**
755 * The keys of the tags to be removed.
756 */
757 TagKeys: __listOf__string;
758 }
759 export interface UpdateEncryption {
760 /**
761 * The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256).
762 */
763 Algorithm?: Algorithm;
764 /**
765 * A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption.
766 */
767 ConstantInitializationVector?: __string;
768 /**
769 * The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption.
770 */
771 DeviceId?: __string;
772 /**
773 * The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key).
774 */
775 KeyType?: KeyType;
776 /**
777 * The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption.
778 */
779 Region?: __string;
780 /**
781 * An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption.
782 */
783 ResourceId?: __string;
784 /**
785 * The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).
786 */
787 RoleArn?: __string;
788 /**
789 * The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption.
790 */
791 SecretArn?: __string;
792 /**
793 * The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption.
794 */
795 Url?: __string;
796 }
797 export interface UpdateFlowEntitlementRequest {
798 /**
799 * A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user.
800 */
801 Description?: __string;
802 /**
803 * The type of encryption that will be used on the output associated with this entitlement.
804 */
805 Encryption?: UpdateEncryption;
806 /**
807 * The ARN of the entitlement that you want to update.
808 */
809 EntitlementArn: __string;
810 /**
811 * The flow that is associated with the entitlement that you want to update.
812 */
813 FlowArn: __string;
814 /**
815 * The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source.
816 */
817 Subscribers?: __listOf__string;
818 }
819 export interface UpdateFlowEntitlementResponse {
820 Entitlement?: Entitlement;
821 /**
822 * The ARN of the flow that this entitlement was granted on.
823 */
824 FlowArn?: __string;
825 }
826 export interface UpdateFlowOutputRequest {
827 /**
828 * The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.
829 */
830 CidrAllowList?: __listOf__string;
831 /**
832 * A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.
833 */
834 Description?: __string;
835 /**
836 * The IP address where you want to send the output.
837 */
838 Destination?: __string;
839 /**
840 * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).
841 */
842 Encryption?: UpdateEncryption;
843 /**
844 * The flow that is associated with the output that you want to update.
845 */
846 FlowArn: __string;
847 /**
848 * The maximum latency in milliseconds for Zixi-based streams.
849 */
850 MaxLatency?: __integer;
851 /**
852 * The ARN of the output that you want to update.
853 */
854 OutputArn: __string;
855 /**
856 * The port to use when content is distributed to this output.
857 */
858 Port?: __integer;
859 /**
860 * The protocol to use for the output.
861 */
862 Protocol?: Protocol;
863 /**
864 * The remote ID for the Zixi-pull stream.
865 */
866 RemoteId?: __string;
867 /**
868 * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
869 */
870 SmoothingLatency?: __integer;
871 /**
872 * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
873 */
874 StreamId?: __string;
875 }
876 export interface UpdateFlowOutputResponse {
877 /**
878 * The ARN of the flow that is associated with the updated output.
879 */
880 FlowArn?: __string;
881 Output?: Output;
882 }
883 export interface UpdateFlowSourceRequest {
884 /**
885 * The type of encryption used on the content ingested from this source.
886 */
887 Decryption?: UpdateEncryption;
888 /**
889 * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.
890 */
891 Description?: __string;
892 /**
893 * The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow.
894 */
895 EntitlementArn?: __string;
896 /**
897 * The flow that is associated with the source that you want to update.
898 */
899 FlowArn: __string;
900 /**
901 * The port that the flow will be listening on for incoming content.
902 */
903 IngestPort?: __integer;
904 /**
905 * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
906 */
907 MaxBitrate?: __integer;
908 /**
909 * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
910 */
911 MaxLatency?: __integer;
912 /**
913 * The protocol that is used by the source.
914 */
915 Protocol?: Protocol;
916 /**
917 * The ARN of the source that you want to update.
918 */
919 SourceArn: __string;
920 /**
921 * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
922 */
923 StreamId?: __string;
924 /**
925 * The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.
926 */
927 WhitelistCidr?: __string;
928 }
929 export interface UpdateFlowSourceResponse {
930 /**
931 * The ARN of the flow that you want to update.
932 */
933 FlowArn?: __string;
934 /**
935 * The settings for the source of the flow.
936 */
937 Source?: Source;
938 }
939 export type __integer = number;
940 export type __listOfAddOutputRequest = AddOutputRequest[];
941 export type __listOfEntitlement = Entitlement[];
942 export type __listOfGrantEntitlementRequest = GrantEntitlementRequest[];
943 export type __listOfListedEntitlement = ListedEntitlement[];
944 export type __listOfListedFlow = ListedFlow[];
945 export type __listOfOutput = Output[];
946 export type __listOf__string = __string[];
947 export type __mapOf__string = {[key: string]: __string};
948 export type __string = string;
949 /**
950 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
951 */
952 export type apiVersion = "2018-11-14"|"latest"|string;
953 export interface ClientApiVersions {
954 /**
955 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
956 */
957 apiVersion?: apiVersion;
958 }
959 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
960 /**
961 * Contains interfaces for use with the MediaConnect client.
962 */
963 export import Types = MediaConnect;
964}
965export = MediaConnect;