UpdatePipe - Amazon EventBridge Pipes

UpdatePipe

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 AWS-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.

Request Syntax

PUT /v1/pipes/Name HTTP/1.1 Content-type: application/json { "Description": "string", "DesiredState": "string", "Enrichment": "string", "EnrichmentParameters": { "HttpParameters": { "HeaderParameters": { "string" : "string" }, "PathParameterValues": [ "string" ], "QueryStringParameters": { "string" : "string" } }, "InputTemplate": "string" }, "LogConfiguration": { "CloudwatchLogsLogDestination": { "LogGroupArn": "string" }, "FirehoseLogDestination": { "DeliveryStreamArn": "string" }, "IncludeExecutionData": [ "string" ], "Level": "string", "S3LogDestination": { "BucketName": "string", "BucketOwner": "string", "OutputFormat": "string", "Prefix": "string" } }, "RoleArn": "string", "SourceParameters": { "ActiveMQBrokerParameters": { "BatchSize": number, "Credentials": { ... }, "MaximumBatchingWindowInSeconds": number }, "DynamoDBStreamParameters": { "BatchSize": number, "DeadLetterConfig": { "Arn": "string" }, "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "OnPartialBatchItemFailure": "string", "ParallelizationFactor": number }, "FilterCriteria": { "Filters": [ { "Pattern": "string" } ] }, "KinesisStreamParameters": { "BatchSize": number, "DeadLetterConfig": { "Arn": "string" }, "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "OnPartialBatchItemFailure": "string", "ParallelizationFactor": number }, "ManagedStreamingKafkaParameters": { "BatchSize": number, "Credentials": { ... }, "MaximumBatchingWindowInSeconds": number }, "RabbitMQBrokerParameters": { "BatchSize": number, "Credentials": { ... }, "MaximumBatchingWindowInSeconds": number }, "SelfManagedKafkaParameters": { "BatchSize": number, "Credentials": { ... }, "MaximumBatchingWindowInSeconds": number, "ServerRootCaCertificate": "string", "Vpc": { "SecurityGroup": [ "string" ], "Subnets": [ "string" ] } }, "SqsQueueParameters": { "BatchSize": number, "MaximumBatchingWindowInSeconds": number } }, "Target": "string", "TargetParameters": { "BatchJobParameters": { "ArrayProperties": { "Size": number }, "ContainerOverrides": { "Command": [ "string" ], "Environment": [ { "Name": "string", "Value": "string" } ], "InstanceType": "string", "ResourceRequirements": [ { "Type": "string", "Value": "string" } ] }, "DependsOn": [ { "JobId": "string", "Type": "string" } ], "JobDefinition": "string", "JobName": "string", "Parameters": { "string" : "string" }, "RetryStrategy": { "Attempts": number } }, "CloudWatchLogsParameters": { "LogStreamName": "string", "Timestamp": "string" }, "EcsTaskParameters": { "CapacityProviderStrategy": [ { "base": number, "capacityProvider": "string", "weight": number } ], "EnableECSManagedTags": boolean, "EnableExecuteCommand": boolean, "Group": "string", "LaunchType": "string", "NetworkConfiguration": { "awsvpcConfiguration": { "AssignPublicIp": "string", "SecurityGroups": [ "string" ], "Subnets": [ "string" ] } }, "Overrides": { "ContainerOverrides": [ { "Command": [ "string" ], "Cpu": number, "Environment": [ { "name": "string", "value": "string" } ], "EnvironmentFiles": [ { "type": "string", "value": "string" } ], "Memory": number, "MemoryReservation": number, "Name": "string", "ResourceRequirements": [ { "type": "string", "value": "string" } ] } ], "Cpu": "string", "EphemeralStorage": { "sizeInGiB": number }, "ExecutionRoleArn": "string", "InferenceAcceleratorOverrides": [ { "deviceName": "string", "deviceType": "string" } ], "Memory": "string", "TaskRoleArn": "string" }, "PlacementConstraints": [ { "expression": "string", "type": "string" } ], "PlacementStrategy": [ { "field": "string", "type": "string" } ], "PlatformVersion": "string", "PropagateTags": "string", "ReferenceId": "string", "Tags": [ { "Key": "string", "Value": "string" } ], "TaskCount": number, "TaskDefinitionArn": "string" }, "EventBridgeEventBusParameters": { "DetailType": "string", "EndpointId": "string", "Resources": [ "string" ], "Source": "string", "Time": "string" }, "HttpParameters": { "HeaderParameters": { "string" : "string" }, "PathParameterValues": [ "string" ], "QueryStringParameters": { "string" : "string" } }, "InputTemplate": "string", "KinesisStreamParameters": { "PartitionKey": "string" }, "LambdaFunctionParameters": { "InvocationType": "string" }, "RedshiftDataParameters": { "Database": "string", "DbUser": "string", "SecretManagerArn": "string", "Sqls": [ "string" ], "StatementName": "string", "WithEvent": boolean }, "SageMakerPipelineParameters": { "PipelineParameterList": [ { "Name": "string", "Value": "string" } ] }, "SqsQueueParameters": { "MessageDeduplicationId": "string", "MessageGroupId": "string" }, "StepFunctionStateMachineParameters": { "InvocationType": "string" } } }

URI Request Parameters

The request uses the following URI parameters.

Name

The name of the pipe.

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [\.\-_A-Za-z0-9]+

Required: Yes

Request Body

The request accepts the following data in JSON format.

Description

A description of the pipe.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 512.

Pattern: .*

Required: No

DesiredState

The state the pipe should be in.

Type: String

Valid Values: RUNNING | STOPPED

Required: No

Enrichment

The ARN of the enrichment resource.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1600.

Pattern: $|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1})?:(\d{12})?:(.+)

Required: No

EnrichmentParameters

The parameters required to set up enrichment on your pipe.

Type: PipeEnrichmentParameters object

Required: No

LogConfiguration

The logging configuration settings for the pipe.

Type: PipeLogConfigurationParameters object

Required: No

RoleArn

The ARN of the role that allows the pipe to send data to the target.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1600.

Pattern: arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z0-9+=,.@\-_/]+

Required: Yes

SourceParameters

The parameters required to set up a source for your pipe.

Type: UpdatePipeSourceParameters object

Required: No

Target

The ARN of the target resource.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1600.

Pattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1})?:(\d{12})?:(.+)

Required: No

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.

Type: PipeTargetParameters object

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "Arn": "string", "CreationTime": number, "CurrentState": "string", "DesiredState": "string", "LastModifiedTime": number, "Name": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

Arn

The ARN of the pipe.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1600.

Pattern: arn:aws([a-z]|\-)*:([a-zA-Z0-9\-]+):([a-z]|\d|\-)*:([0-9]{12})?:(.+)

CreationTime

The time the pipe was created.

Type: Timestamp

CurrentState

The state the pipe is in.

Type: String

Valid Values: RUNNING | STOPPED | CREATING | UPDATING | DELETING | STARTING | STOPPING | CREATE_FAILED | UPDATE_FAILED | START_FAILED | STOP_FAILED | DELETE_FAILED | CREATE_ROLLBACK_FAILED | DELETE_ROLLBACK_FAILED | UPDATE_ROLLBACK_FAILED

DesiredState

The state the pipe should be in.

Type: String

Valid Values: RUNNING | STOPPED

LastModifiedTime

When the pipe was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

Type: Timestamp

Name

The name of the pipe.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [\.\-_A-Za-z0-9]+

Errors

For information about the errors that are common to all actions, see Common Errors.

ConflictException

An action you attempted resulted in an exception.

HTTP Status Code: 409

InternalException

This exception occurs due to unexpected causes.

HTTP Status Code: 500

NotFoundException

An entity that you specified does not exist.

HTTP Status Code: 404

ThrottlingException

An action was throttled.

HTTP Status Code: 429

ValidationException

Indicates that an error has occurred while performing a validate operation.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: