createRouterInput method

Future<CreateRouterInputResponse> createRouterInput({
  1. required RouterInputConfiguration configuration,
  2. required int maximumBitrate,
  3. required String name,
  4. required RoutingScope routingScope,
  5. required RouterInputTier tier,
  6. String? availabilityZone,
  7. String? clientToken,
  8. MaintenanceConfiguration? maintenanceConfiguration,
  9. String? regionName,
  10. Map<String, String>? tags,
  11. RouterInputTransitEncryption? transitEncryption,
})

Creates a new router input in AWS Elemental MediaConnect.

May throw BadRequestException. May throw ConflictException. May throw ForbiddenException. May throw InternalServerErrorException. May throw RouterInputServiceQuotaExceededException. May throw ServiceUnavailableException. May throw TooManyRequestsException.

Parameter configuration : The configuration settings for the router input, which can include the protocol, network interface, and other details.

Parameter maximumBitrate : The maximum bitrate for the router input.

Parameter name : The name of the router input.

Parameter routingScope : Specifies whether the router input can be assigned to outputs in different Regions. REGIONAL (default) - connects only to outputs in same Region. GLOBAL - connects to outputs in any Region.

Parameter tier : The tier level for the router input.

Parameter availabilityZone : The Availability Zone where you want to create the router input. This must be a valid Availability Zone for the region specified by regionName, or the current region if no regionName is provided.

Parameter clientToken : A unique identifier for the request to ensure idempotency.

Parameter maintenanceConfiguration : The maintenance configuration settings for the router input, including preferred maintenance windows and schedules.

Parameter regionName : The Amazon Web Services Region for the router input. Defaults to the current region if not specified.

Parameter tags : Key-value pairs that can be used to tag and organize this router input.

Parameter transitEncryption : The transit encryption settings for the router input.

Implementation

Future<CreateRouterInputResponse> createRouterInput({
  required RouterInputConfiguration configuration,
  required int maximumBitrate,
  required String name,
  required RoutingScope routingScope,
  required RouterInputTier tier,
  String? availabilityZone,
  String? clientToken,
  MaintenanceConfiguration? maintenanceConfiguration,
  String? regionName,
  Map<String, String>? tags,
  RouterInputTransitEncryption? transitEncryption,
}) async {
  final $payload = <String, dynamic>{
    'configuration': configuration,
    'maximumBitrate': maximumBitrate,
    'name': name,
    'routingScope': routingScope.value,
    'tier': tier.value,
    if (availabilityZone != null) 'availabilityZone': availabilityZone,
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (maintenanceConfiguration != null)
      'maintenanceConfiguration': maintenanceConfiguration,
    if (regionName != null) 'regionName': regionName,
    if (tags != null) 'tags': tags,
    if (transitEncryption != null) 'transitEncryption': transitEncryption,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/v1/routerInput',
    exceptionFnMap: _exceptionFns,
  );
  return CreateRouterInputResponse.fromJson(response);
}