Class CfnRule.TargetProperty
Targets are the resources to be invoked when a rule is triggered.
Implements
Inherited Members
Namespace: Amazon.CDK.AWS.Events
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnRule.TargetProperty : CfnRule.ITargetProperty
Syntax (vb)
Public Class CfnRule.TargetProperty Implements CfnRule.ITargetProperty
Remarks
For a complete list of services and resources that can be set as a target, see PutTargets .
If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon EventBridge User Guide .
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.Events;
var targetProperty = new TargetProperty {
Arn = "arn",
Id = "id",
// the properties below are optional
AppSyncParameters = new AppSyncParametersProperty {
GraphQlOperation = "graphQlOperation"
},
BatchParameters = new BatchParametersProperty {
JobDefinition = "jobDefinition",
JobName = "jobName",
// the properties below are optional
ArrayProperties = new BatchArrayPropertiesProperty {
Size = 123
},
RetryStrategy = new BatchRetryStrategyProperty {
Attempts = 123
}
},
DeadLetterConfig = new DeadLetterConfigProperty {
Arn = "arn"
},
EcsParameters = new EcsParametersProperty {
TaskDefinitionArn = "taskDefinitionArn",
// the properties below are optional
CapacityProviderStrategy = new [] { new CapacityProviderStrategyItemProperty {
CapacityProvider = "capacityProvider",
// the properties below are optional
Base = 123,
Weight = 123
} },
EnableEcsManagedTags = false,
EnableExecuteCommand = false,
Group = "group",
LaunchType = "launchType",
NetworkConfiguration = new NetworkConfigurationProperty {
AwsVpcConfiguration = new AwsVpcConfigurationProperty {
Subnets = new [] { "subnets" },
// the properties below are optional
AssignPublicIp = "assignPublicIp",
SecurityGroups = new [] { "securityGroups" }
}
},
PlacementConstraints = new [] { new PlacementConstraintProperty {
Expression = "expression",
Type = "type"
} },
PlacementStrategies = new [] { new PlacementStrategyProperty {
Field = "field",
Type = "type"
} },
PlatformVersion = "platformVersion",
PropagateTags = "propagateTags",
ReferenceId = "referenceId",
TagList = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
TaskCount = 123
},
HttpParameters = new HttpParametersProperty {
HeaderParameters = new Dictionary<string, string> {
{ "headerParametersKey", "headerParameters" }
},
PathParameterValues = new [] { "pathParameterValues" },
QueryStringParameters = new Dictionary<string, string> {
{ "queryStringParametersKey", "queryStringParameters" }
}
},
Input = "input",
InputPath = "inputPath",
InputTransformer = new InputTransformerProperty {
InputTemplate = "inputTemplate",
// the properties below are optional
InputPathsMap = new Dictionary<string, string> {
{ "inputPathsMapKey", "inputPathsMap" }
}
},
KinesisParameters = new KinesisParametersProperty {
PartitionKeyPath = "partitionKeyPath"
},
RedshiftDataParameters = new RedshiftDataParametersProperty {
Database = "database",
// the properties below are optional
DbUser = "dbUser",
SecretManagerArn = "secretManagerArn",
Sql = "sql",
Sqls = new [] { "sqls" },
StatementName = "statementName",
WithEvent = false
},
RetryPolicy = new RetryPolicyProperty {
MaximumEventAgeInSeconds = 123,
MaximumRetryAttempts = 123
},
RoleArn = "roleArn",
RunCommandParameters = new RunCommandParametersProperty {
RunCommandTargets = new [] { new RunCommandTargetProperty {
Key = "key",
Values = new [] { "values" }
} }
},
SageMakerPipelineParameters = new SageMakerPipelineParametersProperty {
PipelineParameterList = new [] { new SageMakerPipelineParameterProperty {
Name = "name",
Value = "value"
} }
},
SqsParameters = new SqsParametersProperty {
MessageGroupId = "messageGroupId"
}
};
Synopsis
Constructors
| TargetProperty() | Targets are the resources to be invoked when a rule is triggered. |
Properties
| AppSyncParameters | Contains the GraphQL operation to be parsed and executed, if the event target is an AWS AppSync API. |
| Arn | The Amazon Resource Name (ARN) of the target. |
| BatchParameters | If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters. |
| DeadLetterConfig | The |
| EcsParameters | Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. |
| HttpParameters | Contains the HTTP parameters to use when the target is a API Gateway endpoint or EventBridge ApiDestination. |
| Id | The ID of the target within the specified rule. |
| Input | Valid JSON text passed to the target. |
| InputPath | The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. |
| InputTransformer | Settings to enable you to provide custom input to a target based on certain event data. |
| KinesisParameters | The custom parameter you can use to control the shard assignment, when the target is a Kinesis data stream. |
| RedshiftDataParameters | Contains the Amazon Redshift Data API parameters to use when the target is a Amazon Redshift cluster. |
| RetryPolicy | The retry policy configuration to use for the dead-letter queue. |
| RoleArn | The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. |
| RunCommandParameters | Parameters used when you are using the rule to invoke Amazon EC2 Run Command. |
| SageMakerPipelineParameters | Contains the SageMaker AI Model Building Pipeline parameters to start execution of a SageMaker AI Model Building Pipeline. |
| SqsParameters | Contains the message group ID to use when the target is an Amazon SQS fair or FIFO queue. |
Constructors
TargetProperty()
Targets are the resources to be invoked when a rule is triggered.
public TargetProperty()
Remarks
For a complete list of services and resources that can be set as a target, see PutTargets .
If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon EventBridge User Guide .
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.Events;
var targetProperty = new TargetProperty {
Arn = "arn",
Id = "id",
// the properties below are optional
AppSyncParameters = new AppSyncParametersProperty {
GraphQlOperation = "graphQlOperation"
},
BatchParameters = new BatchParametersProperty {
JobDefinition = "jobDefinition",
JobName = "jobName",
// the properties below are optional
ArrayProperties = new BatchArrayPropertiesProperty {
Size = 123
},
RetryStrategy = new BatchRetryStrategyProperty {
Attempts = 123
}
},
DeadLetterConfig = new DeadLetterConfigProperty {
Arn = "arn"
},
EcsParameters = new EcsParametersProperty {
TaskDefinitionArn = "taskDefinitionArn",
// the properties below are optional
CapacityProviderStrategy = new [] { new CapacityProviderStrategyItemProperty {
CapacityProvider = "capacityProvider",
// the properties below are optional
Base = 123,
Weight = 123
} },
EnableEcsManagedTags = false,
EnableExecuteCommand = false,
Group = "group",
LaunchType = "launchType",
NetworkConfiguration = new NetworkConfigurationProperty {
AwsVpcConfiguration = new AwsVpcConfigurationProperty {
Subnets = new [] { "subnets" },
// the properties below are optional
AssignPublicIp = "assignPublicIp",
SecurityGroups = new [] { "securityGroups" }
}
},
PlacementConstraints = new [] { new PlacementConstraintProperty {
Expression = "expression",
Type = "type"
} },
PlacementStrategies = new [] { new PlacementStrategyProperty {
Field = "field",
Type = "type"
} },
PlatformVersion = "platformVersion",
PropagateTags = "propagateTags",
ReferenceId = "referenceId",
TagList = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
TaskCount = 123
},
HttpParameters = new HttpParametersProperty {
HeaderParameters = new Dictionary<string, string> {
{ "headerParametersKey", "headerParameters" }
},
PathParameterValues = new [] { "pathParameterValues" },
QueryStringParameters = new Dictionary<string, string> {
{ "queryStringParametersKey", "queryStringParameters" }
}
},
Input = "input",
InputPath = "inputPath",
InputTransformer = new InputTransformerProperty {
InputTemplate = "inputTemplate",
// the properties below are optional
InputPathsMap = new Dictionary<string, string> {
{ "inputPathsMapKey", "inputPathsMap" }
}
},
KinesisParameters = new KinesisParametersProperty {
PartitionKeyPath = "partitionKeyPath"
},
RedshiftDataParameters = new RedshiftDataParametersProperty {
Database = "database",
// the properties below are optional
DbUser = "dbUser",
SecretManagerArn = "secretManagerArn",
Sql = "sql",
Sqls = new [] { "sqls" },
StatementName = "statementName",
WithEvent = false
},
RetryPolicy = new RetryPolicyProperty {
MaximumEventAgeInSeconds = 123,
MaximumRetryAttempts = 123
},
RoleArn = "roleArn",
RunCommandParameters = new RunCommandParametersProperty {
RunCommandTargets = new [] { new RunCommandTargetProperty {
Key = "key",
Values = new [] { "values" }
} }
},
SageMakerPipelineParameters = new SageMakerPipelineParametersProperty {
PipelineParameterList = new [] { new SageMakerPipelineParameterProperty {
Name = "name",
Value = "value"
} }
},
SqsParameters = new SqsParametersProperty {
MessageGroupId = "messageGroupId"
}
};
Properties
AppSyncParameters
Contains the GraphQL operation to be parsed and executed, if the event target is an AWS AppSync API.
public object? AppSyncParameters { get; set; }
Property Value
Remarks
Arn
The Amazon Resource Name (ARN) of the target.
public string Arn { get; set; }
Property Value
Remarks
BatchParameters
If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters.
public object? BatchParameters { get; set; }
Property Value
Remarks
For more information, see Jobs in the AWS Batch User Guide .
Type union: either IResolvable or CfnRule.IBatchParametersProperty
DeadLetterConfig
The DeadLetterConfig that defines the target queue to send dead-letter queue events to.
public object? DeadLetterConfig { get; set; }
Property Value
Remarks
EcsParameters
Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task.
public object? EcsParameters { get; set; }
Property Value
Remarks
For more information about Amazon ECS tasks, see Task Definitions in the Amazon EC2 Container Service Developer Guide .
Type union: either IResolvable or CfnRule.IEcsParametersProperty
HttpParameters
Contains the HTTP parameters to use when the target is a API Gateway endpoint or EventBridge ApiDestination.
public object? HttpParameters { get; set; }
Property Value
Remarks
If you specify an API Gateway API or EventBridge ApiDestination as a target, you can use this parameter to specify headers, path parameters, and query string keys/values as part of your target invoking request. If you're using ApiDestinations, the corresponding Connection can also have these values configured. In case of any conflicting keys, values from the Connection take precedence.
Type union: either IResolvable or CfnRule.IHttpParametersProperty
Id
The ID of the target within the specified rule.
public string Id { get; set; }
Property Value
Remarks
Use this ID to reference the target when updating the rule. We recommend using a memorable and unique string.
Input
Valid JSON text passed to the target.
public string? Input { get; set; }
Property Value
Remarks
In this case, nothing from the event itself is passed to the target. For more information, see The JavaScript Object Notation (JSON) Data Interchange Format .
InputPath
The value of the JSONPath that is used for extracting part of the matched event when passing it to the target.
public string? InputPath { get; set; }
Property Value
Remarks
You may use JSON dot notation or bracket notation. For more information about JSON paths, see JSONPath .
InputTransformer
Settings to enable you to provide custom input to a target based on certain event data.
public object? InputTransformer { get; set; }
Property Value
Remarks
You can extract one or more key-value pairs from the event and then use that data to send customized input to the target.
Type union: either IResolvable or CfnRule.IInputTransformerProperty
KinesisParameters
The custom parameter you can use to control the shard assignment, when the target is a Kinesis data stream.
public object? KinesisParameters { get; set; }
Property Value
Remarks
If you do not include this parameter, the default is to use the eventId as the partition key.
Type union: either IResolvable or CfnRule.IKinesisParametersProperty
RedshiftDataParameters
Contains the Amazon Redshift Data API parameters to use when the target is a Amazon Redshift cluster.
public object? RedshiftDataParameters { get; set; }
Property Value
Remarks
If you specify a Amazon Redshift Cluster as a Target, you can use this to specify parameters to invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.
Type union: either IResolvable or CfnRule.IRedshiftDataParametersProperty
RetryPolicy
The retry policy configuration to use for the dead-letter queue.
public object? RetryPolicy { get; set; }
Property Value
Remarks
RoleArn
The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered.
public string? RoleArn { get; set; }
Property Value
Remarks
If one rule triggers multiple targets, you can use a different IAM role for each target.
RunCommandParameters
Parameters used when you are using the rule to invoke Amazon EC2 Run Command.
public object? RunCommandParameters { get; set; }
Property Value
Remarks
SageMakerPipelineParameters
Contains the SageMaker AI Model Building Pipeline parameters to start execution of a SageMaker AI Model Building Pipeline.
public object? SageMakerPipelineParameters { get; set; }
Property Value
Remarks
If you specify a SageMaker AI Model Building Pipeline as a target, you can use this to specify parameters to start a pipeline execution based on EventBridge events.
Type union: either IResolvable or CfnRule.ISageMakerPipelineParametersProperty
SqsParameters
Contains the message group ID to use when the target is an Amazon SQS fair or FIFO queue.
public object? SqsParameters { get; set; }
Property Value
Remarks
If you specify a fair or FIFO queue as a target, the queue must have content-based deduplication enabled.
Type union: either IResolvable or CfnRule.ISqsParametersProperty