UNPKG

49.1 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 50 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 50 outputs per flow.
20 */
21 addFlowOutputs(callback?: (err: AWSError, data: MediaConnect.Types.AddFlowOutputsResponse) => void): Request<MediaConnect.Types.AddFlowOutputsResponse, AWSError>;
22 /**
23 * Adds Sources to flow
24 */
25 addFlowSources(params: MediaConnect.Types.AddFlowSourcesRequest, callback?: (err: AWSError, data: MediaConnect.Types.AddFlowSourcesResponse) => void): Request<MediaConnect.Types.AddFlowSourcesResponse, AWSError>;
26 /**
27 * Adds Sources to flow
28 */
29 addFlowSources(callback?: (err: AWSError, data: MediaConnect.Types.AddFlowSourcesResponse) => void): Request<MediaConnect.Types.AddFlowSourcesResponse, AWSError>;
30 /**
31 * Adds VPC interfaces to flow
32 */
33 addFlowVpcInterfaces(params: MediaConnect.Types.AddFlowVpcInterfacesRequest, callback?: (err: AWSError, data: MediaConnect.Types.AddFlowVpcInterfacesResponse) => void): Request<MediaConnect.Types.AddFlowVpcInterfacesResponse, AWSError>;
34 /**
35 * Adds VPC interfaces to flow
36 */
37 addFlowVpcInterfaces(callback?: (err: AWSError, data: MediaConnect.Types.AddFlowVpcInterfacesResponse) => void): Request<MediaConnect.Types.AddFlowVpcInterfacesResponse, AWSError>;
38 /**
39 * Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and entitlements (up to 50).
40 */
41 createFlow(params: MediaConnect.Types.CreateFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.CreateFlowResponse) => void): Request<MediaConnect.Types.CreateFlowResponse, AWSError>;
42 /**
43 * Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and entitlements (up to 50).
44 */
45 createFlow(callback?: (err: AWSError, data: MediaConnect.Types.CreateFlowResponse) => void): Request<MediaConnect.Types.CreateFlowResponse, AWSError>;
46 /**
47 * Deletes a flow. Before you can delete a flow, you must stop the flow.
48 */
49 deleteFlow(params: MediaConnect.Types.DeleteFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.DeleteFlowResponse) => void): Request<MediaConnect.Types.DeleteFlowResponse, AWSError>;
50 /**
51 * Deletes a flow. Before you can delete a flow, you must stop the flow.
52 */
53 deleteFlow(callback?: (err: AWSError, data: MediaConnect.Types.DeleteFlowResponse) => void): Request<MediaConnect.Types.DeleteFlowResponse, AWSError>;
54 /**
55 * 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.
56 */
57 describeFlow(params: MediaConnect.Types.DescribeFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.DescribeFlowResponse) => void): Request<MediaConnect.Types.DescribeFlowResponse, AWSError>;
58 /**
59 * 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.
60 */
61 describeFlow(callback?: (err: AWSError, data: MediaConnect.Types.DescribeFlowResponse) => void): Request<MediaConnect.Types.DescribeFlowResponse, AWSError>;
62 /**
63 * Grants entitlements to an existing flow.
64 */
65 grantFlowEntitlements(params: MediaConnect.Types.GrantFlowEntitlementsRequest, callback?: (err: AWSError, data: MediaConnect.Types.GrantFlowEntitlementsResponse) => void): Request<MediaConnect.Types.GrantFlowEntitlementsResponse, AWSError>;
66 /**
67 * Grants entitlements to an existing flow.
68 */
69 grantFlowEntitlements(callback?: (err: AWSError, data: MediaConnect.Types.GrantFlowEntitlementsResponse) => void): Request<MediaConnect.Types.GrantFlowEntitlementsResponse, AWSError>;
70 /**
71 * Displays a list of all entitlements that have been granted to this account. This request returns 20 results per page.
72 */
73 listEntitlements(params: MediaConnect.Types.ListEntitlementsRequest, callback?: (err: AWSError, data: MediaConnect.Types.ListEntitlementsResponse) => void): Request<MediaConnect.Types.ListEntitlementsResponse, AWSError>;
74 /**
75 * Displays a list of all entitlements that have been granted to this account. This request returns 20 results per page.
76 */
77 listEntitlements(callback?: (err: AWSError, data: MediaConnect.Types.ListEntitlementsResponse) => void): Request<MediaConnect.Types.ListEntitlementsResponse, AWSError>;
78 /**
79 * Displays a list of flows that are associated with this account. This request returns a paginated result.
80 */
81 listFlows(params: MediaConnect.Types.ListFlowsRequest, callback?: (err: AWSError, data: MediaConnect.Types.ListFlowsResponse) => void): Request<MediaConnect.Types.ListFlowsResponse, AWSError>;
82 /**
83 * Displays a list of flows that are associated with this account. This request returns a paginated result.
84 */
85 listFlows(callback?: (err: AWSError, data: MediaConnect.Types.ListFlowsResponse) => void): Request<MediaConnect.Types.ListFlowsResponse, AWSError>;
86 /**
87 * List all tags on an AWS Elemental MediaConnect resource
88 */
89 listTagsForResource(params: MediaConnect.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: MediaConnect.Types.ListTagsForResourceResponse) => void): Request<MediaConnect.Types.ListTagsForResourceResponse, AWSError>;
90 /**
91 * List all tags on an AWS Elemental MediaConnect resource
92 */
93 listTagsForResource(callback?: (err: AWSError, data: MediaConnect.Types.ListTagsForResourceResponse) => void): Request<MediaConnect.Types.ListTagsForResourceResponse, AWSError>;
94 /**
95 * 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.
96 */
97 removeFlowOutput(params: MediaConnect.Types.RemoveFlowOutputRequest, callback?: (err: AWSError, data: MediaConnect.Types.RemoveFlowOutputResponse) => void): Request<MediaConnect.Types.RemoveFlowOutputResponse, AWSError>;
98 /**
99 * 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.
100 */
101 removeFlowOutput(callback?: (err: AWSError, data: MediaConnect.Types.RemoveFlowOutputResponse) => void): Request<MediaConnect.Types.RemoveFlowOutputResponse, AWSError>;
102 /**
103 * Removes a source from an existing flow. This request can be made only if there is more than one source on the flow.
104 */
105 removeFlowSource(params: MediaConnect.Types.RemoveFlowSourceRequest, callback?: (err: AWSError, data: MediaConnect.Types.RemoveFlowSourceResponse) => void): Request<MediaConnect.Types.RemoveFlowSourceResponse, AWSError>;
106 /**
107 * Removes a source from an existing flow. This request can be made only if there is more than one source on the flow.
108 */
109 removeFlowSource(callback?: (err: AWSError, data: MediaConnect.Types.RemoveFlowSourceResponse) => void): Request<MediaConnect.Types.RemoveFlowSourceResponse, AWSError>;
110 /**
111 * Removes a VPC Interface from an existing flow. This request can be made only on a VPC interface that does not have a Source or Output associated with it. If the VPC interface is referenced by a Source or Output, you must first delete or update the Source or Output to no longer reference the VPC interface.
112 */
113 removeFlowVpcInterface(params: MediaConnect.Types.RemoveFlowVpcInterfaceRequest, callback?: (err: AWSError, data: MediaConnect.Types.RemoveFlowVpcInterfaceResponse) => void): Request<MediaConnect.Types.RemoveFlowVpcInterfaceResponse, AWSError>;
114 /**
115 * Removes a VPC Interface from an existing flow. This request can be made only on a VPC interface that does not have a Source or Output associated with it. If the VPC interface is referenced by a Source or Output, you must first delete or update the Source or Output to no longer reference the VPC interface.
116 */
117 removeFlowVpcInterface(callback?: (err: AWSError, data: MediaConnect.Types.RemoveFlowVpcInterfaceResponse) => void): Request<MediaConnect.Types.RemoveFlowVpcInterfaceResponse, AWSError>;
118 /**
119 * Revokes an entitlement from a flow. Once an entitlement is revoked, the content becomes unavailable to the subscriber and the associated output is removed.
120 */
121 revokeFlowEntitlement(params: MediaConnect.Types.RevokeFlowEntitlementRequest, callback?: (err: AWSError, data: MediaConnect.Types.RevokeFlowEntitlementResponse) => void): Request<MediaConnect.Types.RevokeFlowEntitlementResponse, AWSError>;
122 /**
123 * Revokes an entitlement from a flow. Once an entitlement is revoked, the content becomes unavailable to the subscriber and the associated output is removed.
124 */
125 revokeFlowEntitlement(callback?: (err: AWSError, data: MediaConnect.Types.RevokeFlowEntitlementResponse) => void): Request<MediaConnect.Types.RevokeFlowEntitlementResponse, AWSError>;
126 /**
127 * Starts a flow.
128 */
129 startFlow(params: MediaConnect.Types.StartFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.StartFlowResponse) => void): Request<MediaConnect.Types.StartFlowResponse, AWSError>;
130 /**
131 * Starts a flow.
132 */
133 startFlow(callback?: (err: AWSError, data: MediaConnect.Types.StartFlowResponse) => void): Request<MediaConnect.Types.StartFlowResponse, AWSError>;
134 /**
135 * Stops a flow.
136 */
137 stopFlow(params: MediaConnect.Types.StopFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.StopFlowResponse) => void): Request<MediaConnect.Types.StopFlowResponse, AWSError>;
138 /**
139 * Stops a flow.
140 */
141 stopFlow(callback?: (err: AWSError, data: MediaConnect.Types.StopFlowResponse) => void): Request<MediaConnect.Types.StopFlowResponse, AWSError>;
142 /**
143 * 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.
144 */
145 tagResource(params: MediaConnect.Types.TagResourceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
146 /**
147 * 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.
148 */
149 tagResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
150 /**
151 * Deletes specified tags from a resource.
152 */
153 untagResource(params: MediaConnect.Types.UntagResourceRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
154 /**
155 * Deletes specified tags from a resource.
156 */
157 untagResource(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
158 /**
159 * Updates flow
160 */
161 updateFlow(params: MediaConnect.Types.UpdateFlowRequest, callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowResponse) => void): Request<MediaConnect.Types.UpdateFlowResponse, AWSError>;
162 /**
163 * Updates flow
164 */
165 updateFlow(callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowResponse) => void): Request<MediaConnect.Types.UpdateFlowResponse, AWSError>;
166 /**
167 * 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.
168 */
169 updateFlowEntitlement(params: MediaConnect.Types.UpdateFlowEntitlementRequest, callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowEntitlementResponse) => void): Request<MediaConnect.Types.UpdateFlowEntitlementResponse, AWSError>;
170 /**
171 * 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.
172 */
173 updateFlowEntitlement(callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowEntitlementResponse) => void): Request<MediaConnect.Types.UpdateFlowEntitlementResponse, AWSError>;
174 /**
175 * Updates an existing flow output.
176 */
177 updateFlowOutput(params: MediaConnect.Types.UpdateFlowOutputRequest, callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowOutputResponse) => void): Request<MediaConnect.Types.UpdateFlowOutputResponse, AWSError>;
178 /**
179 * Updates an existing flow output.
180 */
181 updateFlowOutput(callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowOutputResponse) => void): Request<MediaConnect.Types.UpdateFlowOutputResponse, AWSError>;
182 /**
183 * Updates the source of a flow.
184 */
185 updateFlowSource(params: MediaConnect.Types.UpdateFlowSourceRequest, callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowSourceResponse) => void): Request<MediaConnect.Types.UpdateFlowSourceResponse, AWSError>;
186 /**
187 * Updates the source of a flow.
188 */
189 updateFlowSource(callback?: (err: AWSError, data: MediaConnect.Types.UpdateFlowSourceResponse) => void): Request<MediaConnect.Types.UpdateFlowSourceResponse, AWSError>;
190}
191declare namespace MediaConnect {
192 export interface AddFlowOutputsRequest {
193 /**
194 * The flow that you want to add outputs to.
195 */
196 FlowArn: __string;
197 /**
198 * A list of outputs that you want to add.
199 */
200 Outputs: __listOfAddOutputRequest;
201 }
202 export interface AddFlowOutputsResponse {
203 /**
204 * The ARN of the flow that these outputs were added to.
205 */
206 FlowArn?: __string;
207 /**
208 * The details of the newly added outputs.
209 */
210 Outputs?: __listOfOutput;
211 }
212 export interface AddFlowSourcesRequest {
213 /**
214 * The flow that you want to mutate.
215 */
216 FlowArn: __string;
217 /**
218 * A list of sources that you want to add.
219 */
220 Sources: __listOfSetSourceRequest;
221 }
222 export interface AddFlowSourcesResponse {
223 /**
224 * The ARN of the flow that these sources were added to.
225 */
226 FlowArn?: __string;
227 /**
228 * The details of the newly added sources.
229 */
230 Sources?: __listOfSource;
231 }
232 export interface AddFlowVpcInterfacesRequest {
233 /**
234 * The flow that you want to mutate.
235 */
236 FlowArn: __string;
237 /**
238 * A list of VPC interfaces that you want to add.
239 */
240 VpcInterfaces: __listOfVpcInterfaceRequest;
241 }
242 export interface AddFlowVpcInterfacesResponse {
243 /**
244 * The ARN of the flow that these VPC interfaces were added to.
245 */
246 FlowArn?: __string;
247 /**
248 * The details of the newly added VPC interfaces.
249 */
250 VpcInterfaces?: __listOfVpcInterface;
251 }
252 export interface AddOutputRequest {
253 /**
254 * 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.
255 */
256 CidrAllowList?: __listOf__string;
257 /**
258 * A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.
259 */
260 Description?: __string;
261 /**
262 * The IP address from which video will be sent to output destinations.
263 */
264 Destination?: __string;
265 /**
266 * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).
267 */
268 Encryption?: Encryption;
269 /**
270 * The maximum latency in milliseconds for Zixi-based streams.
271 */
272 MaxLatency?: __integer;
273 /**
274 * The name of the output. This value must be unique within the current flow.
275 */
276 Name?: __string;
277 /**
278 * The port to use when content is distributed to this output.
279 */
280 Port?: __integer;
281 /**
282 * The protocol to use for the output.
283 */
284 Protocol: Protocol;
285 /**
286 * The remote ID for the Zixi-pull output stream.
287 */
288 RemoteId?: __string;
289 /**
290 * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
291 */
292 SmoothingLatency?: __integer;
293 /**
294 * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
295 */
296 StreamId?: __string;
297 /**
298 * The name of the VPC interface attachment to use for this output.
299 */
300 VpcInterfaceAttachment?: VpcInterfaceAttachment;
301 }
302 export type Algorithm = "aes128"|"aes192"|"aes256"|string;
303 export interface CreateFlowRequest {
304 /**
305 * The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region.
306 */
307 AvailabilityZone?: __string;
308 /**
309 * The entitlements that you want to grant on a flow.
310 */
311 Entitlements?: __listOfGrantEntitlementRequest;
312 /**
313 * The name of the flow.
314 */
315 Name: __string;
316 /**
317 * The outputs that you want to add to this flow.
318 */
319 Outputs?: __listOfAddOutputRequest;
320 Source?: SetSourceRequest;
321 SourceFailoverConfig?: FailoverConfig;
322 Sources?: __listOfSetSourceRequest;
323 /**
324 * The VPC interfaces you want on the flow.
325 */
326 VpcInterfaces?: __listOfVpcInterfaceRequest;
327 }
328 export interface CreateFlowResponse {
329 Flow?: Flow;
330 }
331 export interface DeleteFlowRequest {
332 /**
333 * The ARN of the flow that you want to delete.
334 */
335 FlowArn: __string;
336 }
337 export interface DeleteFlowResponse {
338 /**
339 * The ARN of the flow that was deleted.
340 */
341 FlowArn?: __string;
342 /**
343 * The status of the flow when the DeleteFlow process begins.
344 */
345 Status?: Status;
346 }
347 export interface DescribeFlowRequest {
348 /**
349 * The ARN of the flow that you want to describe.
350 */
351 FlowArn: __string;
352 }
353 export interface DescribeFlowResponse {
354 Flow?: Flow;
355 Messages?: Messages;
356 }
357 export interface Encryption {
358 /**
359 * The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256).
360 */
361 Algorithm: Algorithm;
362 /**
363 * 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.
364 */
365 ConstantInitializationVector?: __string;
366 /**
367 * 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.
368 */
369 DeviceId?: __string;
370 /**
371 * The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key).
372 */
373 KeyType?: KeyType;
374 /**
375 * 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.
376 */
377 Region?: __string;
378 /**
379 * 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.
380 */
381 ResourceId?: __string;
382 /**
383 * The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).
384 */
385 RoleArn: __string;
386 /**
387 * 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.
388 */
389 SecretArn?: __string;
390 /**
391 * 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.
392 */
393 Url?: __string;
394 }
395 export interface Entitlement {
396 /**
397 * Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
398 */
399 DataTransferSubscriberFeePercent?: __integer;
400 /**
401 * A description of the entitlement.
402 */
403 Description?: __string;
404 /**
405 * The type of encryption that will be used on the output that is associated with this entitlement.
406 */
407 Encryption?: Encryption;
408 /**
409 * The ARN of the entitlement.
410 */
411 EntitlementArn: __string;
412 /**
413 * The name of the entitlement.
414 */
415 Name: __string;
416 /**
417 * 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.
418 */
419 Subscribers: __listOf__string;
420 }
421 export interface FailoverConfig {
422 /**
423 * Search window time to look for dash-7 packets
424 */
425 RecoveryWindow?: __integer;
426 State?: State;
427 }
428 export interface Flow {
429 /**
430 * The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS.
431 */
432 AvailabilityZone: __string;
433 /**
434 * A description of the flow. This value is not used or seen outside of the current AWS Elemental MediaConnect account.
435 */
436 Description?: __string;
437 /**
438 * The IP address from which video will be sent to output destinations.
439 */
440 EgressIp?: __string;
441 /**
442 * The entitlements in this flow.
443 */
444 Entitlements: __listOfEntitlement;
445 /**
446 * The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow.
447 */
448 FlowArn: __string;
449 /**
450 * The name of the flow.
451 */
452 Name: __string;
453 /**
454 * The outputs in this flow.
455 */
456 Outputs: __listOfOutput;
457 Source: Source;
458 SourceFailoverConfig?: FailoverConfig;
459 Sources?: __listOfSource;
460 /**
461 * The current status of the flow.
462 */
463 Status: Status;
464 /**
465 * The VPC Interfaces for this flow.
466 */
467 VpcInterfaces?: __listOfVpcInterface;
468 }
469 export interface GrantEntitlementRequest {
470 /**
471 * Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
472 */
473 DataTransferSubscriberFeePercent?: __integer;
474 /**
475 * 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.
476 */
477 Description?: __string;
478 /**
479 * The type of encryption that will be used on the output that is associated with this entitlement.
480 */
481 Encryption?: Encryption;
482 /**
483 * The name of the entitlement. This value must be unique within the current flow.
484 */
485 Name?: __string;
486 /**
487 * 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.
488 */
489 Subscribers: __listOf__string;
490 }
491 export interface GrantFlowEntitlementsRequest {
492 /**
493 * The list of entitlements that you want to grant.
494 */
495 Entitlements: __listOfGrantEntitlementRequest;
496 /**
497 * The flow that you want to grant entitlements on.
498 */
499 FlowArn: __string;
500 }
501 export interface GrantFlowEntitlementsResponse {
502 /**
503 * The entitlements that were just granted.
504 */
505 Entitlements?: __listOfEntitlement;
506 /**
507 * The ARN of the flow that these entitlements were granted to.
508 */
509 FlowArn?: __string;
510 }
511 export type KeyType = "speke"|"static-key"|string;
512 export interface ListEntitlementsRequest {
513 /**
514 * 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.
515 */
516 MaxResults?: MaxResults;
517 /**
518 * 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.
519 */
520 NextToken?: __string;
521 }
522 export interface ListEntitlementsResponse {
523 /**
524 * A list of entitlements that have been granted to you from other AWS accounts.
525 */
526 Entitlements?: __listOfListedEntitlement;
527 /**
528 * 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.
529 */
530 NextToken?: __string;
531 }
532 export interface ListFlowsRequest {
533 /**
534 * 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.
535 */
536 MaxResults?: MaxResults;
537 /**
538 * 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.
539 */
540 NextToken?: __string;
541 }
542 export interface ListFlowsResponse {
543 /**
544 * A list of flow summaries.
545 */
546 Flows?: __listOfListedFlow;
547 /**
548 * 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.
549 */
550 NextToken?: __string;
551 }
552 export interface ListTagsForResourceRequest {
553 /**
554 * The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource for which to list the tags.
555 */
556 ResourceArn: __string;
557 }
558 export interface ListTagsForResourceResponse {
559 /**
560 * 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.
561 */
562 Tags?: __mapOf__string;
563 }
564 export interface ListedEntitlement {
565 /**
566 * Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
567 */
568 DataTransferSubscriberFeePercent?: __integer;
569 /**
570 * The ARN of the entitlement.
571 */
572 EntitlementArn: __string;
573 /**
574 * The name of the entitlement.
575 */
576 EntitlementName: __string;
577 }
578 export interface ListedFlow {
579 /**
580 * The Availability Zone that the flow was created in.
581 */
582 AvailabilityZone: __string;
583 /**
584 * A description of the flow.
585 */
586 Description: __string;
587 /**
588 * The ARN of the flow.
589 */
590 FlowArn: __string;
591 /**
592 * The name of the flow.
593 */
594 Name: __string;
595 /**
596 * 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).
597 */
598 SourceType: SourceType;
599 /**
600 * The current status of the flow.
601 */
602 Status: Status;
603 }
604 export type MaxResults = number;
605 export interface Messages {
606 /**
607 * A list of errors that might have been generated from processes on this flow.
608 */
609 Errors: __listOf__string;
610 }
611 export interface Output {
612 /**
613 * Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
614 */
615 DataTransferSubscriberFeePercent?: __integer;
616 /**
617 * A description of the output.
618 */
619 Description?: __string;
620 /**
621 * The address where you want to send the output.
622 */
623 Destination?: __string;
624 /**
625 * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).
626 */
627 Encryption?: Encryption;
628 /**
629 * The ARN of the entitlement on the originator''s flow. This value is relevant only on entitled flows.
630 */
631 EntitlementArn?: __string;
632 /**
633 * The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that were added by creating a MediaLive input.
634 */
635 MediaLiveInputArn?: __string;
636 /**
637 * The name of the output. This value must be unique within the current flow.
638 */
639 Name: __string;
640 /**
641 * The ARN of the output.
642 */
643 OutputArn: __string;
644 /**
645 * The port to use when content is distributed to this output.
646 */
647 Port?: __integer;
648 /**
649 * Attributes related to the transport stream that are used in the output.
650 */
651 Transport?: Transport;
652 /**
653 * The name of the VPC interface attachment to use for this output.
654 */
655 VpcInterfaceAttachment?: VpcInterfaceAttachment;
656 }
657 export type Protocol = "zixi-push"|"rtp-fec"|"rtp"|"zixi-pull"|"rist"|string;
658 export interface RemoveFlowOutputRequest {
659 /**
660 * The flow that you want to remove an output from.
661 */
662 FlowArn: __string;
663 /**
664 * The ARN of the output that you want to remove.
665 */
666 OutputArn: __string;
667 }
668 export interface RemoveFlowOutputResponse {
669 /**
670 * The ARN of the flow that is associated with the output you removed.
671 */
672 FlowArn?: __string;
673 /**
674 * The ARN of the output that was removed.
675 */
676 OutputArn?: __string;
677 }
678 export interface RemoveFlowSourceRequest {
679 /**
680 * The flow that you want to remove a source from.
681 */
682 FlowArn: __string;
683 /**
684 * The ARN of the source that you want to remove.
685 */
686 SourceArn: __string;
687 }
688 export interface RemoveFlowSourceResponse {
689 /**
690 * The ARN of the flow that is associated with the source you removed.
691 */
692 FlowArn?: __string;
693 /**
694 * The ARN of the source that was removed.
695 */
696 SourceArn?: __string;
697 }
698 export interface RemoveFlowVpcInterfaceRequest {
699 /**
700 * The flow that you want to remove a VPC interface from.
701 */
702 FlowArn: __string;
703 /**
704 * The name of the VPC interface that you want to remove.
705 */
706 VpcInterfaceName: __string;
707 }
708 export interface RemoveFlowVpcInterfaceResponse {
709 /**
710 * The ARN of the flow that is associated with the VPC interface you removed.
711 */
712 FlowArn?: __string;
713 /**
714 * IDs of network interfaces associated with the removed VPC interface that Media Connect was unable to remove.
715 */
716 NonDeletedNetworkInterfaceIds?: __listOf__string;
717 /**
718 * The name of the VPC interface that was removed.
719 */
720 VpcInterfaceName?: __string;
721 }
722 export interface RevokeFlowEntitlementRequest {
723 /**
724 * The ARN of the entitlement that you want to revoke.
725 */
726 EntitlementArn: __string;
727 /**
728 * The flow that you want to revoke an entitlement from.
729 */
730 FlowArn: __string;
731 }
732 export interface RevokeFlowEntitlementResponse {
733 /**
734 * The ARN of the entitlement that was revoked.
735 */
736 EntitlementArn?: __string;
737 /**
738 * The ARN of the flow that the entitlement was revoked from.
739 */
740 FlowArn?: __string;
741 }
742 export interface SetSourceRequest {
743 /**
744 * The type of encryption that is used on the content ingested from this source.
745 */
746 Decryption?: Encryption;
747 /**
748 * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.
749 */
750 Description?: __string;
751 /**
752 * 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.
753 */
754 EntitlementArn?: __string;
755 /**
756 * The port that the flow will be listening on for incoming content.
757 */
758 IngestPort?: __integer;
759 /**
760 * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
761 */
762 MaxBitrate?: __integer;
763 /**
764 * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
765 */
766 MaxLatency?: __integer;
767 /**
768 * The name of the source.
769 */
770 Name?: __string;
771 /**
772 * The protocol that is used by the source.
773 */
774 Protocol?: Protocol;
775 /**
776 * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
777 */
778 StreamId?: __string;
779 /**
780 * The name of the VPC interface to use for this source.
781 */
782 VpcInterfaceName?: __string;
783 /**
784 * 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.
785 */
786 WhitelistCidr?: __string;
787 }
788 export interface Source {
789 /**
790 * Percentage from 0-100 of the data transfer cost to be billed to the subscriber.
791 */
792 DataTransferSubscriberFeePercent?: __integer;
793 /**
794 * The type of encryption that is used on the content ingested from this source.
795 */
796 Decryption?: Encryption;
797 /**
798 * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.
799 */
800 Description?: __string;
801 /**
802 * 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.
803 */
804 EntitlementArn?: __string;
805 /**
806 * The IP address that the flow will be listening on for incoming content.
807 */
808 IngestIp?: __string;
809 /**
810 * The port that the flow will be listening on for incoming content.
811 */
812 IngestPort?: __integer;
813 /**
814 * The name of the source.
815 */
816 Name: __string;
817 /**
818 * The ARN of the source.
819 */
820 SourceArn: __string;
821 /**
822 * Attributes related to the transport stream that are used in the source.
823 */
824 Transport?: Transport;
825 /**
826 * The name of the VPC Interface this Source is configured with.
827 */
828 VpcInterfaceName?: __string;
829 /**
830 * 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.
831 */
832 WhitelistCidr?: __string;
833 }
834 export type SourceType = "OWNED"|"ENTITLED"|string;
835 export interface StartFlowRequest {
836 /**
837 * The ARN of the flow that you want to start.
838 */
839 FlowArn: __string;
840 }
841 export interface StartFlowResponse {
842 /**
843 * The ARN of the flow that you started.
844 */
845 FlowArn?: __string;
846 /**
847 * The status of the flow when the StartFlow process begins.
848 */
849 Status?: Status;
850 }
851 export type State = "ENABLED"|"DISABLED"|string;
852 export type Status = "STANDBY"|"ACTIVE"|"UPDATING"|"DELETING"|"STARTING"|"STOPPING"|"ERROR"|string;
853 export interface StopFlowRequest {
854 /**
855 * The ARN of the flow that you want to stop.
856 */
857 FlowArn: __string;
858 }
859 export interface StopFlowResponse {
860 /**
861 * The ARN of the flow that you stopped.
862 */
863 FlowArn?: __string;
864 /**
865 * The status of the flow when the StopFlow process begins.
866 */
867 Status?: Status;
868 }
869 export interface TagResourceRequest {
870 /**
871 * The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource to which to add tags.
872 */
873 ResourceArn: __string;
874 /**
875 * 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.
876 */
877 Tags: __mapOf__string;
878 }
879 export interface Transport {
880 /**
881 * 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.
882 */
883 CidrAllowList?: __listOf__string;
884 /**
885 * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
886 */
887 MaxBitrate?: __integer;
888 /**
889 * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
890 */
891 MaxLatency?: __integer;
892 /**
893 * The protocol that is used by the source or output.
894 */
895 Protocol: Protocol;
896 /**
897 * The remote ID for the Zixi-pull stream.
898 */
899 RemoteId?: __string;
900 /**
901 * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
902 */
903 SmoothingLatency?: __integer;
904 /**
905 * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
906 */
907 StreamId?: __string;
908 }
909 export interface UntagResourceRequest {
910 /**
911 * The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource from which to delete tags.
912 */
913 ResourceArn: __string;
914 /**
915 * The keys of the tags to be removed.
916 */
917 TagKeys: __listOf__string;
918 }
919 export interface UpdateEncryption {
920 /**
921 * The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256).
922 */
923 Algorithm?: Algorithm;
924 /**
925 * 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.
926 */
927 ConstantInitializationVector?: __string;
928 /**
929 * 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.
930 */
931 DeviceId?: __string;
932 /**
933 * The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key).
934 */
935 KeyType?: KeyType;
936 /**
937 * 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.
938 */
939 Region?: __string;
940 /**
941 * 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.
942 */
943 ResourceId?: __string;
944 /**
945 * The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).
946 */
947 RoleArn?: __string;
948 /**
949 * 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.
950 */
951 SecretArn?: __string;
952 /**
953 * 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.
954 */
955 Url?: __string;
956 }
957 export interface UpdateFailoverConfig {
958 /**
959 * Recovery window time to look for dash-7 packets
960 */
961 RecoveryWindow?: __integer;
962 State?: State;
963 }
964 export interface UpdateFlowEntitlementRequest {
965 /**
966 * 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.
967 */
968 Description?: __string;
969 /**
970 * The type of encryption that will be used on the output associated with this entitlement.
971 */
972 Encryption?: UpdateEncryption;
973 /**
974 * The ARN of the entitlement that you want to update.
975 */
976 EntitlementArn: __string;
977 /**
978 * The flow that is associated with the entitlement that you want to update.
979 */
980 FlowArn: __string;
981 /**
982 * 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.
983 */
984 Subscribers?: __listOf__string;
985 }
986 export interface UpdateFlowEntitlementResponse {
987 Entitlement?: Entitlement;
988 /**
989 * The ARN of the flow that this entitlement was granted on.
990 */
991 FlowArn?: __string;
992 }
993 export interface UpdateFlowOutputRequest {
994 /**
995 * 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.
996 */
997 CidrAllowList?: __listOf__string;
998 /**
999 * A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.
1000 */
1001 Description?: __string;
1002 /**
1003 * The IP address where you want to send the output.
1004 */
1005 Destination?: __string;
1006 /**
1007 * The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).
1008 */
1009 Encryption?: UpdateEncryption;
1010 /**
1011 * The flow that is associated with the output that you want to update.
1012 */
1013 FlowArn: __string;
1014 /**
1015 * The maximum latency in milliseconds for Zixi-based streams.
1016 */
1017 MaxLatency?: __integer;
1018 /**
1019 * The ARN of the output that you want to update.
1020 */
1021 OutputArn: __string;
1022 /**
1023 * The port to use when content is distributed to this output.
1024 */
1025 Port?: __integer;
1026 /**
1027 * The protocol to use for the output.
1028 */
1029 Protocol?: Protocol;
1030 /**
1031 * The remote ID for the Zixi-pull stream.
1032 */
1033 RemoteId?: __string;
1034 /**
1035 * The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
1036 */
1037 SmoothingLatency?: __integer;
1038 /**
1039 * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
1040 */
1041 StreamId?: __string;
1042 /**
1043 * The name of the VPC interface attachment to use for this output.
1044 */
1045 VpcInterfaceAttachment?: VpcInterfaceAttachment;
1046 }
1047 export interface UpdateFlowOutputResponse {
1048 /**
1049 * The ARN of the flow that is associated with the updated output.
1050 */
1051 FlowArn?: __string;
1052 Output?: Output;
1053 }
1054 export interface UpdateFlowRequest {
1055 /**
1056 * The flow that you want to update.
1057 */
1058 FlowArn: __string;
1059 SourceFailoverConfig?: UpdateFailoverConfig;
1060 }
1061 export interface UpdateFlowResponse {
1062 Flow?: Flow;
1063 }
1064 export interface UpdateFlowSourceRequest {
1065 /**
1066 * The type of encryption used on the content ingested from this source.
1067 */
1068 Decryption?: UpdateEncryption;
1069 /**
1070 * A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account.
1071 */
1072 Description?: __string;
1073 /**
1074 * 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.
1075 */
1076 EntitlementArn?: __string;
1077 /**
1078 * The flow that is associated with the source that you want to update.
1079 */
1080 FlowArn: __string;
1081 /**
1082 * The port that the flow will be listening on for incoming content.
1083 */
1084 IngestPort?: __integer;
1085 /**
1086 * The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.
1087 */
1088 MaxBitrate?: __integer;
1089 /**
1090 * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
1091 */
1092 MaxLatency?: __integer;
1093 /**
1094 * The protocol that is used by the source.
1095 */
1096 Protocol?: Protocol;
1097 /**
1098 * The ARN of the source that you want to update.
1099 */
1100 SourceArn: __string;
1101 /**
1102 * The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
1103 */
1104 StreamId?: __string;
1105 /**
1106 * The name of the VPC Interface to configure this Source with.
1107 */
1108 VpcInterfaceName?: __string;
1109 /**
1110 * 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.
1111 */
1112 WhitelistCidr?: __string;
1113 }
1114 export interface UpdateFlowSourceResponse {
1115 /**
1116 * The ARN of the flow that you want to update.
1117 */
1118 FlowArn?: __string;
1119 /**
1120 * The settings for the source of the flow.
1121 */
1122 Source?: Source;
1123 }
1124 export interface VpcInterface {
1125 /**
1126 * Immutable and has to be a unique against other VpcInterfaces in this Flow
1127 */
1128 Name: __string;
1129 /**
1130 * IDs of the network interfaces created in customer's account by MediaConnect.
1131 */
1132 NetworkInterfaceIds: __listOf__string;
1133 /**
1134 * Role Arn MediaConnect can assumes to create ENIs in customer's account
1135 */
1136 RoleArn: __string;
1137 /**
1138 * Security Group IDs to be used on ENI.
1139 */
1140 SecurityGroupIds: __listOf__string;
1141 /**
1142 * Subnet must be in the AZ of the Flow
1143 */
1144 SubnetId: __string;
1145 }
1146 export interface VpcInterfaceAttachment {
1147 /**
1148 * The name of the VPC interface to use for this output.
1149 */
1150 VpcInterfaceName?: __string;
1151 }
1152 export interface VpcInterfaceRequest {
1153 /**
1154 * The name of the VPC Interface. This value must be unique within the current flow.
1155 */
1156 Name: __string;
1157 /**
1158 * Role Arn MediaConnect can assumes to create ENIs in customer's account
1159 */
1160 RoleArn: __string;
1161 /**
1162 * Security Group IDs to be used on ENI.
1163 */
1164 SecurityGroupIds: __listOf__string;
1165 /**
1166 * Subnet must be in the AZ of the Flow
1167 */
1168 SubnetId: __string;
1169 }
1170 export type __integer = number;
1171 export type __listOfAddOutputRequest = AddOutputRequest[];
1172 export type __listOfEntitlement = Entitlement[];
1173 export type __listOfGrantEntitlementRequest = GrantEntitlementRequest[];
1174 export type __listOfListedEntitlement = ListedEntitlement[];
1175 export type __listOfListedFlow = ListedFlow[];
1176 export type __listOfOutput = Output[];
1177 export type __listOfSetSourceRequest = SetSourceRequest[];
1178 export type __listOfSource = Source[];
1179 export type __listOfVpcInterface = VpcInterface[];
1180 export type __listOfVpcInterfaceRequest = VpcInterfaceRequest[];
1181 export type __listOf__string = __string[];
1182 export type __mapOf__string = {[key: string]: __string};
1183 export type __string = string;
1184 /**
1185 * 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.
1186 */
1187 export type apiVersion = "2018-11-14"|"latest"|string;
1188 export interface ClientApiVersions {
1189 /**
1190 * 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.
1191 */
1192 apiVersion?: apiVersion;
1193 }
1194 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
1195 /**
1196 * Contains interfaces for use with the MediaConnect client.
1197 */
1198 export import Types = MediaConnect;
1199}
1200export = MediaConnect;