updateChannel method

Future<UpdateChannelResponse> updateChannel({
  1. required String channelId,
  2. AnywhereSettings? anywhereSettings,
  3. CdiInputSpecification? cdiInputSpecification,
  4. ChannelEngineVersionRequest? channelEngineVersion,
  5. List<String>? channelSecurityGroups,
  6. List<OutputDestination>? destinations,
  7. bool? dryRun,
  8. EncoderSettings? encoderSettings,
  9. InferenceSettings? inferenceSettings,
  10. List<InputAttachment>? inputAttachments,
  11. InputSpecification? inputSpecification,
  12. LinkedChannelSettings? linkedChannelSettings,
  13. LogLevel? logLevel,
  14. MaintenanceUpdateSettings? maintenance,
  15. String? name,
  16. String? roleArn,
  17. SpecialRouterSettings? specialRouterSettings,
})

Updates a channel.

May throw BadGatewayException. May throw BadRequestException. May throw ConflictException. May throw ForbiddenException. May throw GatewayTimeoutException. May throw InternalServerErrorException. May throw UnprocessableEntityException.

Parameter channelId : channel ID

Parameter anywhereSettings : The Elemental Anywhere settings for this channel.

Parameter cdiInputSpecification : Specification of CDI inputs for this channel

Parameter channelEngineVersion : Channel engine version for this channel

Parameter channelSecurityGroups : A list of IDs for all the Input Security Groups attached to the channel.

Parameter destinations : A list of output destinations for this channel.

Parameter encoderSettings : The encoder settings for this channel.

Parameter inferenceSettings : Include this setting to include Elemental Inference features in this channel.

Parameter inputSpecification : Specification of network and file inputs for this channel

Parameter linkedChannelSettings : The linked channel settings for the channel.

Parameter logLevel : The log level to write to CloudWatch Logs.

Parameter maintenance : Maintenance settings for this channel.

Parameter name : The name of the channel.

Parameter roleArn : An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed.

Parameter specialRouterSettings : When using MediaConnect Router as the source of a MediaLive input there's a special handoff that occurs when a router output is created. This group of settings is set on your behalf by the MediaConnect Router service using this set of settings. This setting object can only by used by that service.

Implementation

Future<UpdateChannelResponse> updateChannel({
  required String channelId,
  AnywhereSettings? anywhereSettings,
  CdiInputSpecification? cdiInputSpecification,
  ChannelEngineVersionRequest? channelEngineVersion,
  List<String>? channelSecurityGroups,
  List<OutputDestination>? destinations,
  bool? dryRun,
  EncoderSettings? encoderSettings,
  InferenceSettings? inferenceSettings,
  List<InputAttachment>? inputAttachments,
  InputSpecification? inputSpecification,
  LinkedChannelSettings? linkedChannelSettings,
  LogLevel? logLevel,
  MaintenanceUpdateSettings? maintenance,
  String? name,
  String? roleArn,
  SpecialRouterSettings? specialRouterSettings,
}) async {
  final $payload = <String, dynamic>{
    if (anywhereSettings != null) 'anywhereSettings': anywhereSettings,
    if (cdiInputSpecification != null)
      'cdiInputSpecification': cdiInputSpecification,
    if (channelEngineVersion != null)
      'channelEngineVersion': channelEngineVersion,
    if (channelSecurityGroups != null)
      'channelSecurityGroups': channelSecurityGroups,
    if (destinations != null) 'destinations': destinations,
    if (dryRun != null) 'dryRun': dryRun,
    if (encoderSettings != null) 'encoderSettings': encoderSettings,
    if (inferenceSettings != null) 'inferenceSettings': inferenceSettings,
    if (inputAttachments != null) 'inputAttachments': inputAttachments,
    if (inputSpecification != null) 'inputSpecification': inputSpecification,
    if (linkedChannelSettings != null)
      'linkedChannelSettings': linkedChannelSettings,
    if (logLevel != null) 'logLevel': logLevel.value,
    if (maintenance != null) 'maintenance': maintenance,
    if (name != null) 'name': name,
    if (roleArn != null) 'roleArn': roleArn,
    if (specialRouterSettings != null)
      'specialRouterSettings': specialRouterSettings,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri: '/prod/channels/${Uri.encodeComponent(channelId)}',
    exceptionFnMap: _exceptionFns,
  );
  return UpdateChannelResponse.fromJson(response);
}