updatePipe method
- required String name,
- required String roleArn,
- String? description,
- RequestedPipeState? desiredState,
- String? enrichment,
- PipeEnrichmentParameters? enrichmentParameters,
- String? kmsKeyIdentifier,
- PipeLogConfigurationParameters? logConfiguration,
- UpdatePipeSourceParameters? sourceParameters,
- String? target,
- PipeTargetParameters? targetParameters,
Update an existing pipe. When you call UpdatePipe,
EventBridge only the updates fields you have specified in the request; the
rest remain unchanged. The exception to this is if you modify any Amazon
Web Services-service specific fields in the SourceParameters,
EnrichmentParameters, or TargetParameters
objects. For example, DynamoDBStreamParameters or
EventBridgeEventBusParameters. EventBridge updates the fields
in these objects atomically as one and overrides existing values. This is
by design, and means that if you don't specify an optional field in one of
these Parameters objects, EventBridge sets that field to its
system-default value during the update.
For more information about pipes, see Amazon EventBridge Pipes in the Amazon EventBridge User Guide.
May throw ConflictException.
May throw InternalException.
May throw NotFoundException.
May throw ThrottlingException.
May throw ValidationException.
Parameter name :
The name of the pipe.
Parameter roleArn :
The ARN of the role that allows the pipe to send data to the target.
Parameter description :
A description of the pipe.
Parameter desiredState :
The state the pipe should be in.
Parameter enrichment :
The ARN of the enrichment resource.
Parameter enrichmentParameters :
The parameters required to set up enrichment on your pipe.
Parameter kmsKeyIdentifier :
The identifier of the KMS customer managed key for EventBridge to use, if
you choose to use a customer managed key to encrypt pipe data. The
identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or
key alias ARN.
To update a pipe that is using the default Amazon Web Services owned key to use a customer managed key instead, or update a pipe that is using a customer managed key to use a different customer managed key, specify a customer managed key identifier.
To update a pipe that is using a customer managed key to use the default Amazon Web Services owned key, specify an empty string.
For more information, see Managing keys in the Key Management Service Developer Guide.
Parameter logConfiguration :
The logging configuration settings for the pipe.
Parameter sourceParameters :
The parameters required to set up a source for your pipe.
Parameter target :
The ARN of the target resource.
Parameter targetParameters :
The parameters required to set up a target for your pipe.
For more information about pipe target parameters, including how to use dynamic path parameters, see Target parameters in the Amazon EventBridge User Guide.
Implementation
Future<UpdatePipeResponse> updatePipe({
required String name,
required String roleArn,
String? description,
RequestedPipeState? desiredState,
String? enrichment,
PipeEnrichmentParameters? enrichmentParameters,
String? kmsKeyIdentifier,
PipeLogConfigurationParameters? logConfiguration,
UpdatePipeSourceParameters? sourceParameters,
String? target,
PipeTargetParameters? targetParameters,
}) async {
final $payload = <String, dynamic>{
'RoleArn': roleArn,
if (description != null) 'Description': description,
if (desiredState != null) 'DesiredState': desiredState.value,
if (enrichment != null) 'Enrichment': enrichment,
if (enrichmentParameters != null)
'EnrichmentParameters': enrichmentParameters,
if (kmsKeyIdentifier != null) 'KmsKeyIdentifier': kmsKeyIdentifier,
if (logConfiguration != null) 'LogConfiguration': logConfiguration,
if (sourceParameters != null) 'SourceParameters': sourceParameters,
if (target != null) 'Target': target,
if (targetParameters != null) 'TargetParameters': targetParameters,
};
final response = await _protocol.send(
payload: $payload,
method: 'PUT',
requestUri: '/v1/pipes/${Uri.encodeComponent(name)}',
exceptionFnMap: _exceptionFns,
);
return UpdatePipeResponse.fromJson(response);
}