createDataflowEndpointGroup method

Future<DataflowEndpointGroupIdResponse> createDataflowEndpointGroup({
  1. required List<EndpointDetails> endpointDetails,
  2. int? contactPostPassDurationSeconds,
  3. int? contactPrePassDurationSeconds,
  4. Map<String, String>? tags,
})

Creates a DataflowEndpoint group containing the specified list of DataflowEndpoint objects.

The name field in each endpoint is used in your mission profile DataflowEndpointConfig to specify which endpoints to use during a contact.

When a contact uses multiple DataflowEndpointConfig objects, each Config must match a DataflowEndpoint in the same group.

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

Parameter endpointDetails : Endpoint details of each endpoint in the dataflow endpoint group. All dataflow endpoints within a single dataflow endpoint group must be of the same type. You cannot mix AWS Ground Station Agent endpoints with Dataflow endpoints in the same group. If your use case requires both types of endpoints, you must create separate dataflow endpoint groups for each type.

Parameter contactPostPassDurationSeconds : Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a POSTPASS state. A Ground Station Dataflow Endpoint Group State Change event will be emitted when the Dataflow Endpoint Group enters and exits the POSTPASS state.

Parameter contactPrePassDurationSeconds : Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a PREPASS state. A Ground Station Dataflow Endpoint Group State Change event will be emitted when the Dataflow Endpoint Group enters and exits the PREPASS state.

Parameter tags : Tags of a dataflow endpoint group.

Implementation

Future<DataflowEndpointGroupIdResponse> createDataflowEndpointGroup({
  required List<EndpointDetails> endpointDetails,
  int? contactPostPassDurationSeconds,
  int? contactPrePassDurationSeconds,
  Map<String, String>? tags,
}) async {
  _s.validateNumRange(
    'contactPostPassDurationSeconds',
    contactPostPassDurationSeconds,
    30,
    480,
  );
  _s.validateNumRange(
    'contactPrePassDurationSeconds',
    contactPrePassDurationSeconds,
    30,
    480,
  );
  final $payload = <String, dynamic>{
    'endpointDetails': endpointDetails,
    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: '/dataflowEndpointGroup',
    exceptionFnMap: _exceptionFns,
  );
  return DataflowEndpointGroupIdResponse.fromJson(response);
}