createRouteCalculator method

Future<CreateRouteCalculatorResponse> createRouteCalculator({
  1. required String calculatorName,
  2. required String dataSource,
  3. String? description,
  4. PricingPlan? pricingPlan,
  5. Map<String, String>? tags,
})
Creates a route calculator resource in your Amazon Web Services account.

You can send requests to a route calculator resource to estimate travel time, distance, and get directions. A route calculator sources traffic and road network data from your chosen data provider.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter calculatorName : The name of the route calculator resource.

Requirements:

  • Can use alphanumeric characters (A–Z, a–z, 0–9) , hyphens (-), periods (.), and underscores (_).
  • Must be a unique Route calculator resource name.
  • No spaces allowed. For example, ExampleRouteCalculator.

Parameter dataSource : Specifies the data provider of traffic and road network data. Valid values include:

For additional information , see Data providers on the Amazon Location Service Developer Guide.

Parameter description : The optional description for the route calculator resource.

Parameter pricingPlan : No longer used. If included, the only allowed value is RequestBasedUsage.

Parameter tags : Applies one or more tags to the route calculator resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

  • For example: { "tag1" : "value1", "tag2" : "value2"}
Format: "key" : "value"

Restrictions:

  • Maximum 50 tags per resource
  • Each resource tag must be unique with a maximum of one value.
  • Maximum key length: 128 Unicode characters in UTF-8
  • Maximum value length: 256 Unicode characters in UTF-8
  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.
  • Cannot use "aws:" as a prefix for a key.

Implementation

Future<CreateRouteCalculatorResponse> createRouteCalculator({
  required String calculatorName,
  required String dataSource,
  String? description,
  PricingPlan? pricingPlan,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'CalculatorName': calculatorName,
    'DataSource': dataSource,
    if (description != null) 'Description': description,
    if (pricingPlan != null) 'PricingPlan': pricingPlan.value,
    if (tags != null) 'Tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/routes/v0/calculators',
    exceptionFnMap: _exceptionFns,
  );
  return CreateRouteCalculatorResponse.fromJson(response);
}