updateMissionProfile method

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

Updates a mission profile.

Updating a mission profile will not update the execution parameters for existing future contacts.

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

Parameter missionProfileId : UUID of a mission profile.

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 after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

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.

Implementation

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