createMissionProfile method
- required List<
List< dataflowEdges,String> > - required int minimumViableContactDurationSeconds,
- required String name,
- required String trackingConfigArn,
- int? contactPostPassDurationSeconds,
- int? contactPrePassDurationSeconds,
- KmsKey? streamsKmsKey,
- String? streamsKmsRole,
- Map<
String, String> ? tags, - String? telemetrySinkConfigArn,
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 DependencyException.
May throw InvalidParameterException.
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 Ground
Station Contact State Change event indicating the pass has finished.
Parameter contactPrePassDurationSeconds :
Amount of time prior to contact start you'd like to receive a Ground
Station Contact State Change event indicating an upcoming pass.
Parameter streamsKmsKey :
KMS key to use for encrypting streams.
Parameter streamsKmsRole :
Role to use for encrypting streams with KMS key.
Parameter tags :
Tags assigned to a mission profile.
Parameter telemetrySinkConfigArn :
ARN of a telemetry sink Config.
Implementation
Future<MissionProfileIdResponse> createMissionProfile({
required List<List<String>> dataflowEdges,
required int minimumViableContactDurationSeconds,
required String name,
required String trackingConfigArn,
int? contactPostPassDurationSeconds,
int? contactPrePassDurationSeconds,
KmsKey? streamsKmsKey,
String? streamsKmsRole,
Map<String, String>? tags,
String? telemetrySinkConfigArn,
}) async {
_s.validateNumRange(
'minimumViableContactDurationSeconds',
minimumViableContactDurationSeconds,
1,
21600,
isRequired: true,
);
_s.validateNumRange(
'contactPostPassDurationSeconds',
contactPostPassDurationSeconds,
0,
21600,
);
_s.validateNumRange(
'contactPrePassDurationSeconds',
contactPrePassDurationSeconds,
0,
21600,
);
final $payload = <String, dynamic>{
'dataflowEdges': dataflowEdges,
'minimumViableContactDurationSeconds':
minimumViableContactDurationSeconds,
'name': name,
'trackingConfigArn': trackingConfigArn,
if (contactPostPassDurationSeconds != null)
'contactPostPassDurationSeconds': contactPostPassDurationSeconds,
if (contactPrePassDurationSeconds != null)
'contactPrePassDurationSeconds': contactPrePassDurationSeconds,
if (streamsKmsKey != null) 'streamsKmsKey': streamsKmsKey,
if (streamsKmsRole != null) 'streamsKmsRole': streamsKmsRole,
if (tags != null) 'tags': tags,
if (telemetrySinkConfigArn != null)
'telemetrySinkConfigArn': telemetrySinkConfigArn,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/missionprofile',
exceptionFnMap: _exceptionFns,
);
return MissionProfileIdResponse.fromJson(response);
}