updatePipeline method

Future<UpdatePipelineResponse> updatePipeline({
  1. required String pipelineName,
  2. BufferOptions? bufferOptions,
  3. EncryptionAtRestOptions? encryptionAtRestOptions,
  4. LogPublishingOptions? logPublishingOptions,
  5. int? maxUnits,
  6. int? minUnits,
  7. String? pipelineConfigurationBody,
  8. String? pipelineRoleArn,
})

Updates an OpenSearch Ingestion pipeline. For more information, see Updating Amazon OpenSearch Ingestion pipelines.

May throw AccessDeniedException. May throw ConflictException. May throw DisabledOperationException. May throw InternalException. May throw ResourceNotFoundException. May throw ValidationException.

Parameter pipelineName : The name of the pipeline to update.

Parameter bufferOptions : Key-value pairs to configure persistent buffering for the pipeline.

Parameter encryptionAtRestOptions : Key-value pairs to configure encryption for data that is written to a persistent buffer.

Parameter logPublishingOptions : Key-value pairs to configure log publishing.

Parameter maxUnits : The maximum pipeline capacity, in Ingestion Compute Units (ICUs)

Parameter minUnits : The minimum pipeline capacity, in Ingestion Compute Units (ICUs).

Parameter pipelineConfigurationBody : The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \n.

Parameter pipelineRoleArn : The Amazon Resource Name (ARN) of the IAM role that grants the pipeline permission to access Amazon Web Services resources.

Implementation

Future<UpdatePipelineResponse> updatePipeline({
  required String pipelineName,
  BufferOptions? bufferOptions,
  EncryptionAtRestOptions? encryptionAtRestOptions,
  LogPublishingOptions? logPublishingOptions,
  int? maxUnits,
  int? minUnits,
  String? pipelineConfigurationBody,
  String? pipelineRoleArn,
}) async {
  _s.validateNumRange(
    'maxUnits',
    maxUnits,
    1,
    1152921504606846976,
  );
  _s.validateNumRange(
    'minUnits',
    minUnits,
    1,
    1152921504606846976,
  );
  final $payload = <String, dynamic>{
    if (bufferOptions != null) 'BufferOptions': bufferOptions,
    if (encryptionAtRestOptions != null)
      'EncryptionAtRestOptions': encryptionAtRestOptions,
    if (logPublishingOptions != null)
      'LogPublishingOptions': logPublishingOptions,
    if (maxUnits != null) 'MaxUnits': maxUnits,
    if (minUnits != null) 'MinUnits': minUnits,
    if (pipelineConfigurationBody != null)
      'PipelineConfigurationBody': pipelineConfigurationBody,
    if (pipelineRoleArn != null) 'PipelineRoleArn': pipelineRoleArn,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri:
        '/2022-01-01/osis/updatePipeline/${Uri.encodeComponent(pipelineName)}',
    exceptionFnMap: _exceptionFns,
  );
  return UpdatePipelineResponse.fromJson(response);
}