updateFlowOutput method

Future<UpdateFlowOutputResponse> updateFlowOutput({
  1. required String flowArn,
  2. required String outputArn,
  3. List<String>? cidrAllowList,
  4. String? description,
  5. String? destination,
  6. UpdateEncryption? encryption,
  7. int? maxLatency,
  8. int? port,
  9. Protocol? protocol,
  10. String? remoteId,
  11. int? smoothingLatency,
  12. String? streamId,
  13. VpcInterfaceAttachment? vpcInterfaceAttachment,
})

Updates an existing flow output.

May throw BadRequestException. May throw InternalServerErrorException. May throw ForbiddenException. May throw NotFoundException. May throw ServiceUnavailableException. May throw TooManyRequestsException.

Parameter flowArn : The flow that is associated with the output that you want to update.

Parameter outputArn : The ARN of the output that you want to update.

Parameter cidrAllowList : 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.

Parameter description : A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.

Parameter destination : The IP address where you want to send the output.

Parameter encryption : The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).

Parameter maxLatency : The maximum latency in milliseconds for Zixi-based streams.

Parameter port : The port to use when content is distributed to this output.

Parameter protocol : The protocol to use for the output.

Parameter remoteId : The remote ID for the Zixi-pull stream.

Parameter smoothingLatency : The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.

Parameter streamId : The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.

Parameter vpcInterfaceAttachment : The name of the VPC interface attachment to use for this output.

Implementation

Future<UpdateFlowOutputResponse> updateFlowOutput({
  required String flowArn,
  required String outputArn,
  List<String>? cidrAllowList,
  String? description,
  String? destination,
  UpdateEncryption? encryption,
  int? maxLatency,
  int? port,
  Protocol? protocol,
  String? remoteId,
  int? smoothingLatency,
  String? streamId,
  VpcInterfaceAttachment? vpcInterfaceAttachment,
}) async {
  ArgumentError.checkNotNull(flowArn, 'flowArn');
  ArgumentError.checkNotNull(outputArn, 'outputArn');
  final $payload = <String, dynamic>{
    if (cidrAllowList != null) 'cidrAllowList': cidrAllowList,
    if (description != null) 'description': description,
    if (destination != null) 'destination': destination,
    if (encryption != null) 'encryption': encryption,
    if (maxLatency != null) 'maxLatency': maxLatency,
    if (port != null) 'port': port,
    if (protocol != null) 'protocol': protocol.toValue(),
    if (remoteId != null) 'remoteId': remoteId,
    if (smoothingLatency != null) 'smoothingLatency': smoothingLatency,
    if (streamId != null) 'streamId': streamId,
    if (vpcInterfaceAttachment != null)
      'vpcInterfaceAttachment': vpcInterfaceAttachment,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri:
        '/v1/flows/${Uri.encodeComponent(flowArn)}/outputs/${Uri.encodeComponent(outputArn)}',
    exceptionFnMap: _exceptionFns,
  );
  return UpdateFlowOutputResponse.fromJson(response);
}