updateLogPattern method

Future<UpdateLogPatternResponse> updateLogPattern({
  1. required String patternName,
  2. required String patternSetName,
  3. required String resourceGroupName,
  4. String? pattern,
  5. int? rank,
})

Adds a log pattern to a LogPatternSet.

May throw ResourceInUseException. May throw ResourceNotFoundException. May throw ValidationException. May throw InternalServerException.

Parameter patternName : The name of the log pattern.

Parameter patternSetName : The name of the log pattern set.

Parameter resourceGroupName : The name of the resource group.

Parameter pattern : The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference constructions are not supported.

Parameter rank : Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will be last to get matched. When you configure custom log patterns from the console, a Low severity pattern translates to a 750,000 rank. A Medium severity pattern translates to a 500,000 rank. And a High severity pattern translates to a 250,000 rank. Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided patterns.

Implementation

Future<UpdateLogPatternResponse> updateLogPattern({
  required String patternName,
  required String patternSetName,
  required String resourceGroupName,
  String? pattern,
  int? rank,
}) async {
  ArgumentError.checkNotNull(patternName, 'patternName');
  _s.validateStringLength(
    'patternName',
    patternName,
    1,
    50,
    isRequired: true,
  );
  ArgumentError.checkNotNull(patternSetName, 'patternSetName');
  _s.validateStringLength(
    'patternSetName',
    patternSetName,
    1,
    30,
    isRequired: true,
  );
  ArgumentError.checkNotNull(resourceGroupName, 'resourceGroupName');
  _s.validateStringLength(
    'resourceGroupName',
    resourceGroupName,
    1,
    256,
    isRequired: true,
  );
  _s.validateStringLength(
    'pattern',
    pattern,
    1,
    50,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'EC2WindowsBarleyService.UpdateLogPattern'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'PatternName': patternName,
      'PatternSetName': patternSetName,
      'ResourceGroupName': resourceGroupName,
      if (pattern != null) 'Pattern': pattern,
      if (rank != null) 'Rank': rank,
    },
  );

  return UpdateLogPatternResponse.fromJson(jsonResponse.body);
}