listInstrumentationConfigurations method

Future<InstrumentationConfigurationsPage> listInstrumentationConfigurations({
  1. required String environment,
  2. required InstrumentationType instrumentationType,
  3. required String service,
  4. int? maxResults,
  5. String? nextToken,
  6. DateTime? syncedAt,
})

Returns all active instrumentation configurations for a service and environment. SDKs use this operation to sync configurations and apply client-side filters locally.

Include the previous SyncedAt value to perform incremental syncs. When no changes are detected, the response sets Changed to false and omits configuration details.

May throw ResourceNotFoundException. May throw ThrottlingException. May throw ValidationException.

Parameter environment : The environment that the service is running in.

Parameter instrumentationType : Type of instrumentation configuration (BREAKPOINT or PROBE). Required to determine which backing store to query.

Parameter service : The name of the service to retrieve instrumentation configurations for.

Parameter maxResults : The maximum number of configurations to return in one call. The default is 50 and the maximum is 100.

Parameter nextToken : Use the token returned by a previous call to retrieve the next page of configurations.

Parameter syncedAt : The timestamp from the last successful sync. When provided, the response returns Changed as false if nothing is new since this time, or returns the latest configurations when changes exist.

Implementation

Future<InstrumentationConfigurationsPage> listInstrumentationConfigurations({
  required String environment,
  required InstrumentationType instrumentationType,
  required String service,
  int? maxResults,
  String? nextToken,
  DateTime? syncedAt,
}) async {
  final $payload = <String, dynamic>{
    'Environment': environment,
    'InstrumentationType': instrumentationType.value,
    'Service': service,
    if (maxResults != null) 'MaxResults': maxResults,
    if (nextToken != null) 'NextToken': nextToken,
    if (syncedAt != null) 'SyncedAt': unixTimestampToJson(syncedAt),
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/list-instrumentation-configurations',
    exceptionFnMap: _exceptionFns,
  );
  return InstrumentationConfigurationsPage.fromJson(response);
}