updateMissionProfile method
- required String missionProfileId,
- int? contactPostPassDurationSeconds,
- int? contactPrePassDurationSeconds,
- List<
List< ? dataflowEdges,String> > - int? minimumViableContactDurationSeconds,
- String? name,
- KmsKey? streamsKmsKey,
- String? streamsKmsRole,
- String? telemetrySinkConfigArn,
- String? trackingConfigArn,
Updates a mission profile.
Updating a mission profile will not update the execution parameters for existing future contacts.
May throw DependencyException.
May throw InvalidParameterException.
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 Ground
Station Contact State Change event indicating the pass has finished.
Parameter contactPrePassDurationSeconds :
Amount of time after a contact ends that you'd like to receive a Ground
Station Contact State Change 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 streamsKmsKey :
KMS key to use for encrypting streams.
Parameter streamsKmsRole :
Role to use for encrypting streams with KMS key.
Parameter telemetrySinkConfigArn :
ARN of a telemetry sink Config.
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,
KmsKey? streamsKmsKey,
String? streamsKmsRole,
String? telemetrySinkConfigArn,
String? trackingConfigArn,
}) async {
_s.validateNumRange(
'contactPostPassDurationSeconds',
contactPostPassDurationSeconds,
0,
21600,
);
_s.validateNumRange(
'contactPrePassDurationSeconds',
contactPrePassDurationSeconds,
0,
21600,
);
_s.validateNumRange(
'minimumViableContactDurationSeconds',
minimumViableContactDurationSeconds,
1,
21600,
);
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 (streamsKmsKey != null) 'streamsKmsKey': streamsKmsKey,
if (streamsKmsRole != null) 'streamsKmsRole': streamsKmsRole,
if (telemetrySinkConfigArn != null)
'telemetrySinkConfigArn': telemetrySinkConfigArn,
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);
}