createMissionProfile method

Future<MissionProfileIdResponse> createMissionProfile({
  1. required List<List<String>> dataflowEdges,
  2. required int minimumViableContactDurationSeconds,
  3. required String name,
  4. required String trackingConfigArn,
  5. int? contactPostPassDurationSeconds,
  6. int? contactPrePassDurationSeconds,
  7. Map<String, String>? tags,
})

Creates a mission profile.

dataflowEdges is a list of lists of strings. Each lower level list of strings has two elements: a from ARN and a to ARN.

May throw InvalidParameterException. May throw DependencyException. May throw ResourceNotFoundException.

Parameter dataflowEdges : A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.

Parameter minimumViableContactDurationSeconds : Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.

Parameter name : Name of a mission profile.

Parameter trackingConfigArn : ARN of a tracking Config.

Parameter contactPostPassDurationSeconds : Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

Parameter contactPrePassDurationSeconds : Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.

Parameter tags : Tags assigned to a mission profile.

Implementation

Future<MissionProfileIdResponse> createMissionProfile({
  required List<List<String>> dataflowEdges,
  required int minimumViableContactDurationSeconds,
  required String name,
  required String trackingConfigArn,
  int? contactPostPassDurationSeconds,
  int? contactPrePassDurationSeconds,
  Map<String, String>? tags,
}) async {
  ArgumentError.checkNotNull(dataflowEdges, 'dataflowEdges');
  ArgumentError.checkNotNull(minimumViableContactDurationSeconds,
      'minimumViableContactDurationSeconds');
  _s.validateNumRange(
    'minimumViableContactDurationSeconds',
    minimumViableContactDurationSeconds,
    1,
    21600,
    isRequired: true,
  );
  ArgumentError.checkNotNull(name, 'name');
  _s.validateStringLength(
    'name',
    name,
    1,
    256,
    isRequired: true,
  );
  ArgumentError.checkNotNull(trackingConfigArn, 'trackingConfigArn');
  _s.validateNumRange(
    'contactPostPassDurationSeconds',
    contactPostPassDurationSeconds,
    1,
    21600,
  );
  _s.validateNumRange(
    'contactPrePassDurationSeconds',
    contactPrePassDurationSeconds,
    1,
    21600,
  );
  final $payload = <String, dynamic>{
    'dataflowEdges': dataflowEdges,
    'minimumViableContactDurationSeconds':
        minimumViableContactDurationSeconds,
    'name': name,
    'trackingConfigArn': trackingConfigArn,
    if (contactPostPassDurationSeconds != null)
      'contactPostPassDurationSeconds': contactPostPassDurationSeconds,
    if (contactPrePassDurationSeconds != null)
      'contactPrePassDurationSeconds': contactPrePassDurationSeconds,
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/missionprofile',
    exceptionFnMap: _exceptionFns,
  );
  return MissionProfileIdResponse.fromJson(response);
}