Documentation
¶
Index ¶
- func LogGroupTargetInput_FromObject(options *LogGroupTargetInputOptions) awsevents.RuleTargetInput
- func NewApiDestination_Override(a ApiDestination, apiDestination awsevents.IApiDestination, ...)
- func NewApiGateway_Override(a ApiGateway, restApi awsapigateway.RestApi, props *ApiGatewayProps)
- func NewAwsApi_Override(a AwsApi, props *AwsApiProps)
- func NewBatchJob_Override(b BatchJob, jobQueueArn *string, jobQueueScope constructs.IConstruct, ...)
- func NewCloudWatchLogGroup_Override(c CloudWatchLogGroup, logGroup awslogs.ILogGroup, props *LogGroupProps)
- func NewCodeBuildProject_Override(c CodeBuildProject, project awscodebuild.IProject, ...)
- func NewCodePipeline_Override(c CodePipeline, pipeline awscodepipeline.IPipeline, ...)
- func NewEcsTask_Override(e EcsTask, props *EcsTaskProps)
- func NewEventBus_Override(e EventBus, eventBus awsevents.IEventBus, props *EventBusProps)
- func NewKinesisFirehoseStream_Override(k KinesisFirehoseStream, stream awskinesisfirehose.CfnDeliveryStream, ...)
- func NewKinesisStream_Override(k KinesisStream, stream awskinesis.IStream, props *KinesisStreamProps)
- func NewLambdaFunction_Override(l LambdaFunction, handler awslambda.IFunction, props *LambdaFunctionProps)
- func NewLogGroupTargetInput_Override(l LogGroupTargetInput)
- func NewSfnStateMachine_Override(s SfnStateMachine, machine awsstepfunctions.IStateMachine, ...)
- func NewSnsTopic_Override(s SnsTopic, topic awssns.ITopic, props *SnsTopicProps)
- func NewSqsQueue_Override(s SqsQueue, queue awssqs.IQueue, props *SqsQueueProps)
- type ApiDestination
- type ApiDestinationProps
- type ApiGateway
- type ApiGatewayProps
- type AwsApi
- type AwsApiInput
- type AwsApiProps
- type BatchJob
- type BatchJobProps
- type CloudWatchLogGroup
- type CodeBuildProject
- type CodeBuildProjectProps
- type CodePipeline
- type CodePipelineTargetOptions
- type ContainerOverride
- type EcsTask
- type EcsTaskProps
- type EventBus
- type EventBusProps
- type KinesisFirehoseStream
- type KinesisFirehoseStreamProps
- type KinesisStream
- type KinesisStreamProps
- type LambdaFunction
- type LambdaFunctionProps
- type LogGroupProps
- type LogGroupTargetInput
- type LogGroupTargetInputOptions
- type SfnStateMachine
- type SfnStateMachineProps
- type SnsTopic
- type SnsTopicProps
- type SqsQueue
- type SqsQueueProps
- type TargetBaseProps
- type TaskEnvironmentVariable
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LogGroupTargetInput_FromObject ¶ added in v2.29.0
func LogGroupTargetInput_FromObject(options *LogGroupTargetInputOptions) awsevents.RuleTargetInput
Pass a JSON object to the the log group event target.
May contain strings returned by `EventField.from()` to substitute in parts of the matched event.
func NewApiDestination_Override ¶ added in v2.13.0
func NewApiDestination_Override(a ApiDestination, apiDestination awsevents.IApiDestination, props *ApiDestinationProps)
func NewApiGateway_Override ¶
func NewApiGateway_Override(a ApiGateway, restApi awsapigateway.RestApi, props *ApiGatewayProps)
func NewAwsApi_Override ¶
func NewAwsApi_Override(a AwsApi, props *AwsApiProps)
func NewBatchJob_Override ¶
func NewBatchJob_Override(b BatchJob, jobQueueArn *string, jobQueueScope constructs.IConstruct, jobDefinitionArn *string, jobDefinitionScope constructs.IConstruct, props *BatchJobProps)
func NewCloudWatchLogGroup_Override ¶
func NewCloudWatchLogGroup_Override(c CloudWatchLogGroup, logGroup awslogs.ILogGroup, props *LogGroupProps)
func NewCodeBuildProject_Override ¶
func NewCodeBuildProject_Override(c CodeBuildProject, project awscodebuild.IProject, props *CodeBuildProjectProps)
func NewCodePipeline_Override ¶
func NewCodePipeline_Override(c CodePipeline, pipeline awscodepipeline.IPipeline, options *CodePipelineTargetOptions)
func NewEcsTask_Override ¶
func NewEcsTask_Override(e EcsTask, props *EcsTaskProps)
func NewEventBus_Override ¶
func NewEventBus_Override(e EventBus, eventBus awsevents.IEventBus, props *EventBusProps)
func NewKinesisFirehoseStream_Override ¶
func NewKinesisFirehoseStream_Override(k KinesisFirehoseStream, stream awskinesisfirehose.CfnDeliveryStream, props *KinesisFirehoseStreamProps)
func NewKinesisStream_Override ¶
func NewKinesisStream_Override(k KinesisStream, stream awskinesis.IStream, props *KinesisStreamProps)
func NewLambdaFunction_Override ¶
func NewLambdaFunction_Override(l LambdaFunction, handler awslambda.IFunction, props *LambdaFunctionProps)
func NewLogGroupTargetInput_Override ¶ added in v2.29.0
func NewLogGroupTargetInput_Override(l LogGroupTargetInput)
func NewSfnStateMachine_Override ¶
func NewSfnStateMachine_Override(s SfnStateMachine, machine awsstepfunctions.IStateMachine, props *SfnStateMachineProps)
func NewSnsTopic_Override ¶
func NewSnsTopic_Override(s SnsTopic, topic awssns.ITopic, props *SnsTopicProps)
func NewSqsQueue_Override ¶
func NewSqsQueue_Override(s SqsQueue, queue awssqs.IQueue, props *SqsQueueProps)
Types ¶
type ApiDestination ¶ added in v2.13.0
type ApiDestination interface { awsevents.IRuleTarget // Returns a RuleTarget that can be used to trigger API destinations from an EventBridge event. Bind(_rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Use an API Destination rule target.
Example:
connection := events.NewConnection(this, jsii.String("Connection"), &ConnectionProps{ Authorization: events.Authorization_ApiKey(jsii.String("x-api-key"), awscdk.SecretValue_SecretsManager(jsii.String("ApiSecretName"))), Description: jsii.String("Connection with API Key x-api-key"), }) destination := events.NewApiDestination(this, jsii.String("Destination"), &ApiDestinationProps{ Connection: Connection, Endpoint: jsii.String("https://example.com"), Description: jsii.String("Calling example.com with API key x-api-key"), }) rule := events.NewRule(this, jsii.String("Rule"), &RuleProps{ Schedule: events.Schedule_Rate(cdk.Duration_Minutes(jsii.Number(1))), Targets: []iRuleTarget{ targets.NewApiDestination(destination), }, })
func NewApiDestination ¶ added in v2.13.0
func NewApiDestination(apiDestination awsevents.IApiDestination, props *ApiDestinationProps) ApiDestination
type ApiDestinationProps ¶ added in v2.13.0
type ApiDestinationProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The event to send. Event awsevents.RuleTargetInput `field:"optional" json:"event" yaml:"event"` // The role to assume before invoking the target. EventRole awsiam.IRole `field:"optional" json:"eventRole" yaml:"eventRole"` // Additional headers sent to the API Destination. // // These are merged with headers specified on the Connection, with // the headers on the Connection taking precedence. // // You can only specify secret values on the Connection. HeaderParameters *map[string]*string `field:"optional" json:"headerParameters" yaml:"headerParameters"` // Path parameters to insert in place of path wildcards (`*`). // // If the API destination has a wilcard in the path, these path parts // will be inserted in that place. PathParameterValues *[]*string `field:"optional" json:"pathParameterValues" yaml:"pathParameterValues"` // Additional query string parameters sent to the API Destination. // // These are merged with headers specified on the Connection, with // the headers on the Connection taking precedence. // // You can only specify secret values on the Connection. QueryStringParameters *map[string]*string `field:"optional" json:"queryStringParameters" yaml:"queryStringParameters"` }
Customize the EventBridge Api Destinations Target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var queue queue var role role var ruleTargetInput ruleTargetInput apiDestinationProps := &ApiDestinationProps{ DeadLetterQueue: queue, Event: ruleTargetInput, EventRole: role, HeaderParameters: map[string]*string{ "headerParametersKey": jsii.String("headerParameters"), }, MaxEventAge: cdk.Duration_Minutes(jsii.Number(30)), PathParameterValues: []*string{ jsii.String("pathParameterValues"), }, QueryStringParameters: map[string]*string{ "queryStringParametersKey": jsii.String("queryStringParameters"), }, RetryAttempts: jsii.Number(123), }
type ApiGateway ¶
type ApiGateway interface { awsevents.IRuleTarget RestApi() awsapigateway.RestApi // Returns a RuleTarget that can be used to trigger this API Gateway REST APIs as a result from an EventBridge event. // See: https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sqs-permissions // Bind(rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Use an API Gateway REST APIs as a target for Amazon EventBridge rules.
Example:
import api "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" rule := events.NewRule(this, jsii.String("Rule"), &RuleProps{ Schedule: events.Schedule_Rate(cdk.Duration_Minutes(jsii.Number(1))), }) fn := lambda.NewFunction(this, jsii.String("MyFunc"), &FunctionProps{ Handler: jsii.String("index.handler"), Runtime: lambda.Runtime_NODEJS_14_X(), Code: lambda.Code_FromInline(jsii.String("exports.handler = e => {}")), }) restApi := api.NewLambdaRestApi(this, jsii.String("MyRestAPI"), &LambdaRestApiProps{ Handler: fn, }) dlq := sqs.NewQueue(this, jsii.String("DeadLetterQueue")) rule.AddTarget( targets.NewApiGateway(restApi, &ApiGatewayProps{ Path: jsii.String("/*/test"), Method: jsii.String("GET"), Stage: jsii.String("prod"), PathParameterValues: []*string{ jsii.String("path-value"), }, HeaderParameters: map[string]*string{ "Header1": jsii.String("header1"), }, QueryStringParameters: map[string]*string{ "QueryParam1": jsii.String("query-param-1"), }, DeadLetterQueue: dlq, }))
func NewApiGateway ¶
func NewApiGateway(restApi awsapigateway.RestApi, props *ApiGatewayProps) ApiGateway
type ApiGatewayProps ¶
type ApiGatewayProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The role to assume before invoking the target (i.e., the pipeline) when the given rule is triggered. EventRole awsiam.IRole `field:"optional" json:"eventRole" yaml:"eventRole"` // The headers to be set when requesting API. HeaderParameters *map[string]*string `field:"optional" json:"headerParameters" yaml:"headerParameters"` // The method for api resource invoked by the rule. Method *string `field:"optional" json:"method" yaml:"method"` // The api resource invoked by the rule. // // We can use wildcards('*') to specify the path. In that case, // an equal number of real values must be specified for pathParameterValues. Path *string `field:"optional" json:"path" yaml:"path"` // The path parameter values to be used to populate to wildcards("*") of requesting api path. PathParameterValues *[]*string `field:"optional" json:"pathParameterValues" yaml:"pathParameterValues"` // This will be the post request body send to the API. PostBody awsevents.RuleTargetInput `field:"optional" json:"postBody" yaml:"postBody"` // The query parameters to be set when requesting API. QueryStringParameters *map[string]*string `field:"optional" json:"queryStringParameters" yaml:"queryStringParameters"` // The deploy stage of api gateway invoked by the rule. Stage *string `field:"optional" json:"stage" yaml:"stage"` }
Customize the API Gateway Event Target.
Example:
import api "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" rule := events.NewRule(this, jsii.String("Rule"), &RuleProps{ Schedule: events.Schedule_Rate(cdk.Duration_Minutes(jsii.Number(1))), }) fn := lambda.NewFunction(this, jsii.String("MyFunc"), &FunctionProps{ Handler: jsii.String("index.handler"), Runtime: lambda.Runtime_NODEJS_14_X(), Code: lambda.Code_FromInline(jsii.String("exports.handler = e => {}")), }) restApi := api.NewLambdaRestApi(this, jsii.String("MyRestAPI"), &LambdaRestApiProps{ Handler: fn, }) dlq := sqs.NewQueue(this, jsii.String("DeadLetterQueue")) rule.AddTarget( targets.NewApiGateway(restApi, &ApiGatewayProps{ Path: jsii.String("/*/test"), Method: jsii.String("GET"), Stage: jsii.String("prod"), PathParameterValues: []*string{ jsii.String("path-value"), }, HeaderParameters: map[string]*string{ "Header1": jsii.String("header1"), }, QueryStringParameters: map[string]*string{ "QueryParam1": jsii.String("query-param-1"), }, DeadLetterQueue: dlq, }))
type AwsApi ¶
type AwsApi interface { awsevents.IRuleTarget // Returns a RuleTarget that can be used to trigger this AwsApi as a result from an EventBridge event. Bind(rule awsevents.IRule, id *string) *awsevents.RuleTargetConfig }
Use an AWS Lambda function that makes API calls as an event rule target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var parameters interface{} var policyStatement policyStatement awsApi := awscdk.Aws_events_targets.NewAwsApi(&AwsApiProps{ Action: jsii.String("action"), Service: jsii.String("service"), // the properties below are optional ApiVersion: jsii.String("apiVersion"), CatchErrorPattern: jsii.String("catchErrorPattern"), Parameters: parameters, PolicyStatement: policyStatement, })
func NewAwsApi ¶
func NewAwsApi(props *AwsApiProps) AwsApi
type AwsApiInput ¶
type AwsApiInput struct { // The service action to call. // See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html // Action *string `field:"required" json:"action" yaml:"action"` // The service to call. // See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html // Service *string `field:"required" json:"service" yaml:"service"` // API version to use for the service. // See: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/locking-api-versions.html // ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"` // The regex pattern to use to catch API errors. // // The `code` property of the // `Error` object will be tested against this pattern. If there is a match an // error will not be thrown. CatchErrorPattern *string `field:"optional" json:"catchErrorPattern" yaml:"catchErrorPattern"` // The parameters for the service action. // See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html // Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"` }
Rule target input for an AwsApi target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var parameters interface{} awsApiInput := &AwsApiInput{ Action: jsii.String("action"), Service: jsii.String("service"), // the properties below are optional ApiVersion: jsii.String("apiVersion"), CatchErrorPattern: jsii.String("catchErrorPattern"), Parameters: parameters, }
type AwsApiProps ¶
type AwsApiProps struct { // The service action to call. // See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html // Action *string `field:"required" json:"action" yaml:"action"` // The service to call. // See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html // Service *string `field:"required" json:"service" yaml:"service"` // API version to use for the service. // See: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/locking-api-versions.html // ApiVersion *string `field:"optional" json:"apiVersion" yaml:"apiVersion"` // The regex pattern to use to catch API errors. // // The `code` property of the // `Error` object will be tested against this pattern. If there is a match an // error will not be thrown. CatchErrorPattern *string `field:"optional" json:"catchErrorPattern" yaml:"catchErrorPattern"` // The parameters for the service action. // See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html // Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"` // The IAM policy statement to allow the API call. // // Use only if // resource restriction is needed. PolicyStatement awsiam.PolicyStatement `field:"optional" json:"policyStatement" yaml:"policyStatement"` }
Properties for an AwsApi target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var parameters interface{} var policyStatement policyStatement awsApiProps := &AwsApiProps{ Action: jsii.String("action"), Service: jsii.String("service"), // the properties below are optional ApiVersion: jsii.String("apiVersion"), CatchErrorPattern: jsii.String("catchErrorPattern"), Parameters: parameters, PolicyStatement: policyStatement, }
type BatchJob ¶
type BatchJob interface { awsevents.IRuleTarget // Returns a RuleTarget that can be used to trigger queue this batch job as a result from an EventBridge event. Bind(rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Use an AWS Batch Job / Queue as an event rule target.
Most likely the code will look something like this: `new BatchJob(jobQueue.jobQueueArn, jobQueue, jobDefinition.jobDefinitionArn, jobDefinition)`
In the future this API will be improved to be fully typed.
Example:
// Example automatically generated from non-compiling source. May contain errors. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" jobQueue := batch.NewJobQueue(this, jsii.String("MyQueue"), map[string][]map[string]interface{}{ "computeEnvironments": []map[string]interface{}{ map[string]interface{}{ "computeEnvironment": batch.NewComputeEnvironment(this, jsii.String("ComputeEnvironment"), map[string]*bool{ "managed": jsii.Boolean(false), }), "order": jsii.Number(1), }, }, }) jobDefinition := batch.NewJobDefinition(this, jsii.String("MyJob"), map[string]map[string]repositoryImage{ "container": map[string]repositoryImage{ "image": awscdk.ContainerImage_fromRegistry(jsii.String("test-repo")), }, }) queue := sqs.NewQueue(this, jsii.String("Queue")) rule := events.NewRule(this, jsii.String("Rule"), &RuleProps{ Schedule: events.Schedule_Rate(cdk.Duration_Hours(jsii.Number(1))), }) rule.AddTarget(targets.NewBatchJob(jobQueue.jobQueueArn, jobQueue, jobDefinition.jobDefinitionArn, jobDefinition, &BatchJobProps{ DeadLetterQueue: queue, Event: events.RuleTargetInput_FromObject(map[string]*string{ "SomeParam": jsii.String("SomeValue"), }), RetryAttempts: jsii.Number(2), MaxEventAge: cdk.Duration_*Hours(jsii.Number(2)), }))
func NewBatchJob ¶
func NewBatchJob(jobQueueArn *string, jobQueueScope constructs.IConstruct, jobDefinitionArn *string, jobDefinitionScope constructs.IConstruct, props *BatchJobProps) BatchJob
type BatchJobProps ¶
type BatchJobProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The number of times to attempt to retry, if the job fails. // // Valid values are 1–10. Attempts *float64 `field:"optional" json:"attempts" yaml:"attempts"` // The event to send to the Lambda. // // This will be the payload sent to the Lambda Function. Event awsevents.RuleTargetInput `field:"optional" json:"event" yaml:"event"` // The name of the submitted job. JobName *string `field:"optional" json:"jobName" yaml:"jobName"` // The size of the array, if this is an array batch job. // // Valid values are integers between 2 and 10,000. Size *float64 `field:"optional" json:"size" yaml:"size"` }
Customize the Batch Job Event Target.
Example:
// Example automatically generated from non-compiling source. May contain errors. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" jobQueue := batch.NewJobQueue(this, jsii.String("MyQueue"), map[string][]map[string]interface{}{ "computeEnvironments": []map[string]interface{}{ map[string]interface{}{ "computeEnvironment": batch.NewComputeEnvironment(this, jsii.String("ComputeEnvironment"), map[string]*bool{ "managed": jsii.Boolean(false), }), "order": jsii.Number(1), }, }, }) jobDefinition := batch.NewJobDefinition(this, jsii.String("MyJob"), map[string]map[string]repositoryImage{ "container": map[string]repositoryImage{ "image": awscdk.ContainerImage_fromRegistry(jsii.String("test-repo")), }, }) queue := sqs.NewQueue(this, jsii.String("Queue")) rule := events.NewRule(this, jsii.String("Rule"), &RuleProps{ Schedule: events.Schedule_Rate(cdk.Duration_Hours(jsii.Number(1))), }) rule.AddTarget(targets.NewBatchJob(jobQueue.jobQueueArn, jobQueue, jobDefinition.jobDefinitionArn, jobDefinition, &BatchJobProps{ DeadLetterQueue: queue, Event: events.RuleTargetInput_FromObject(map[string]*string{ "SomeParam": jsii.String("SomeValue"), }), RetryAttempts: jsii.Number(2), MaxEventAge: cdk.Duration_*Hours(jsii.Number(2)), }))
type CloudWatchLogGroup ¶
type CloudWatchLogGroup interface { awsevents.IRuleTarget // Returns a RuleTarget that can be used to log an event into a CloudWatch LogGroup. Bind(_rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Use an AWS CloudWatch LogGroup as an event rule target.
Example:
// Example automatically generated from non-compiling source. May contain errors. import logs "github.com/aws/aws-cdk-go/awscdk" var logGroup logGroup var rule rule rule.AddTarget(targets.NewCloudWatchLogGroup(logGroup, &LogGroupProps{ LogEvent: targets.LogGroupTargetInput(map[string]*string{ "message": JSON.stringify(map[string]*string{ "CustomField": jsii.String("CustomValue"), }), }), }))
func NewCloudWatchLogGroup ¶
func NewCloudWatchLogGroup(logGroup awslogs.ILogGroup, props *LogGroupProps) CloudWatchLogGroup
type CodeBuildProject ¶
type CodeBuildProject interface { awsevents.IRuleTarget // Allows using build projects as event rule targets. Bind(_rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Start a CodeBuild build when an Amazon EventBridge rule is triggered.
Example:
import sns "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var repo repository var project pipelineProject var myTopic topic // starts a CodeBuild project when a commit is pushed to the "main" branch of the repo repo.onCommit(jsii.String("CommitToMain"), &OnCommitOptions{ Target: targets.NewCodeBuildProject(project), Branches: []*string{ jsii.String("main"), }, }) // publishes a message to an Amazon SNS topic when a comment is made on a pull request rule := repo.onCommentOnPullRequest(jsii.String("CommentOnPullRequest"), &OnEventOptions{ Target: targets.NewSnsTopic(myTopic), })
func NewCodeBuildProject ¶
func NewCodeBuildProject(project awscodebuild.IProject, props *CodeBuildProjectProps) CodeBuildProject
type CodeBuildProjectProps ¶
type CodeBuildProjectProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The event to send to CodeBuild. // // This will be the payload for the StartBuild API. Event awsevents.RuleTargetInput `field:"optional" json:"event" yaml:"event"` // The role to assume before invoking the target (i.e., the codebuild) when the given rule is triggered. EventRole awsiam.IRole `field:"optional" json:"eventRole" yaml:"eventRole"` }
Customize the CodeBuild Event Target.
Example:
import "github.com/aws/aws-cdk-go/awscdk" import codecommit "github.com/aws/aws-cdk-go/awscdk" repo := codecommit.NewRepository(this, jsii.String("MyRepo"), &RepositoryProps{ RepositoryName: jsii.String("aws-cdk-codebuild-events"), }) project := codebuild.NewProject(this, jsii.String("MyProject"), &ProjectProps{ Source: codebuild.Source_CodeCommit(&CodeCommitSourceProps{ Repository: repo, }), }) deadLetterQueue := sqs.NewQueue(this, jsii.String("DeadLetterQueue")) // trigger a build when a commit is pushed to the repo onCommitRule := repo.onCommit(jsii.String("OnCommit"), &OnCommitOptions{ Target: targets.NewCodeBuildProject(project, &CodeBuildProjectProps{ DeadLetterQueue: deadLetterQueue, }), Branches: []*string{ jsii.String("master"), }, })
type CodePipeline ¶
type CodePipeline interface { awsevents.IRuleTarget // Returns the rule target specification. // // NOTE: Do not use the various `inputXxx` options. They can be set in a call to `addTarget`. Bind(_rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Allows the pipeline to be used as an EventBridge rule target.
Example:
// A pipeline being used as a target for a CloudWatch event rule. import targets "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var pipeline pipeline // kick off the pipeline every day rule := events.NewRule(this, jsii.String("Daily"), &RuleProps{ Schedule: events.Schedule_Rate(awscdk.Duration_Days(jsii.Number(1))), }) rule.AddTarget(targets.NewCodePipeline(pipeline))
func NewCodePipeline ¶
func NewCodePipeline(pipeline awscodepipeline.IPipeline, options *CodePipelineTargetOptions) CodePipeline
type CodePipelineTargetOptions ¶
type CodePipelineTargetOptions struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The role to assume before invoking the target (i.e., the pipeline) when the given rule is triggered. EventRole awsiam.IRole `field:"optional" json:"eventRole" yaml:"eventRole"` }
Customization options when creating a `CodePipeline` event target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var queue queue var role role codePipelineTargetOptions := &CodePipelineTargetOptions{ DeadLetterQueue: queue, EventRole: role, MaxEventAge: cdk.Duration_Minutes(jsii.Number(30)), RetryAttempts: jsii.Number(123), }
type ContainerOverride ¶
type ContainerOverride struct { // Name of the container inside the task definition. ContainerName *string `field:"required" json:"containerName" yaml:"containerName"` // Command to run inside the container. Command *[]*string `field:"optional" json:"command" yaml:"command"` // The number of cpu units reserved for the container. Cpu *float64 `field:"optional" json:"cpu" yaml:"cpu"` // Variables to set in the container's environment. Environment *[]*TaskEnvironmentVariable `field:"optional" json:"environment" yaml:"environment"` // Hard memory limit on the container. MemoryLimit *float64 `field:"optional" json:"memoryLimit" yaml:"memoryLimit"` // Soft memory limit on the container. MemoryReservation *float64 `field:"optional" json:"memoryReservation" yaml:"memoryReservation"` }
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" containerOverride := &ContainerOverride{ ContainerName: jsii.String("containerName"), // the properties below are optional Command: []*string{ jsii.String("command"), }, Cpu: jsii.Number(123), Environment: []taskEnvironmentVariable{ &taskEnvironmentVariable{ Name: jsii.String("name"), Value: jsii.String("value"), }, }, MemoryLimit: jsii.Number(123), MemoryReservation: jsii.Number(123), }
type EcsTask ¶
type EcsTask interface { awsevents.IRuleTarget // The security groups associated with the task. // // Only applicable with awsvpc network mode. SecurityGroups() *[]awsec2.ISecurityGroup // Allows using tasks as target of EventBridge events. Bind(_rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Start a task on an ECS cluster.
Example:
import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var cluster cluster var taskDefinition taskDefinition var role role ecsTaskTarget := awscdk.NewEcsTask(&EcsTaskProps{ Cluster: Cluster, TaskDefinition: TaskDefinition, Role: Role, }) awscdk.NewRule(this, jsii.String("ScheduleRule"), &RuleProps{ Schedule: awscdk.Schedule_Cron(&CronOptions{ Minute: jsii.String("0"), Hour: jsii.String("4"), }), Targets: []iRuleTarget{ ecsTaskTarget, }, })
func NewEcsTask ¶
func NewEcsTask(props *EcsTaskProps) EcsTask
type EcsTaskProps ¶
type EcsTaskProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // Cluster where service will be deployed. Cluster awsecs.ICluster `field:"required" json:"cluster" yaml:"cluster"` // Task Definition of the task that should be started. TaskDefinition awsecs.ITaskDefinition `field:"required" json:"taskDefinition" yaml:"taskDefinition"` // Container setting overrides. // // Key is the name of the container to override, value is the // values you want to override. ContainerOverrides *[]*ContainerOverride `field:"optional" json:"containerOverrides" yaml:"containerOverrides"` // The platform version on which to run your task. // // Unless you have specific compatibility requirements, you don't need to specify this. // See: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html // PlatformVersion awsecs.FargatePlatformVersion `field:"optional" json:"platformVersion" yaml:"platformVersion"` // Existing IAM role to run the ECS task. Role awsiam.IRole `field:"optional" json:"role" yaml:"role"` // Existing security groups to use for the task's ENIs. // // (Only applicable in case the TaskDefinition is configured for AwsVpc networking). SecurityGroups *[]awsec2.ISecurityGroup `field:"optional" json:"securityGroups" yaml:"securityGroups"` // In what subnets to place the task's ENIs. // // (Only applicable in case the TaskDefinition is configured for AwsVpc networking). SubnetSelection *awsec2.SubnetSelection `field:"optional" json:"subnetSelection" yaml:"subnetSelection"` // How many tasks should be started when this event is triggered. TaskCount *float64 `field:"optional" json:"taskCount" yaml:"taskCount"` }
Properties to define an ECS Event Task.
Example:
import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var cluster cluster var taskDefinition taskDefinition var role role ecsTaskTarget := awscdk.NewEcsTask(&EcsTaskProps{ Cluster: Cluster, TaskDefinition: TaskDefinition, Role: Role, }) awscdk.NewRule(this, jsii.String("ScheduleRule"), &RuleProps{ Schedule: awscdk.Schedule_Cron(&CronOptions{ Minute: jsii.String("0"), Hour: jsii.String("4"), }), Targets: []iRuleTarget{ ecsTaskTarget, }, })
type EventBus ¶
type EventBus interface { awsevents.IRuleTarget // Returns the rule target specification. // // NOTE: Do not use the various `inputXxx` options. They can be set in a call to `addTarget`. Bind(rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Notify an existing Event Bus of an event.
Example:
rule := events.NewRule(this, jsii.String("Rule"), &RuleProps{ Schedule: events.Schedule_Expression(jsii.String("rate(1 minute)")), }) rule.AddTarget(targets.NewEventBus(events.EventBus_FromEventBusArn(this, jsii.String("External"), jsii.String("arn:aws:events:eu-west-1:999999999999:event-bus/test-bus"))))
func NewEventBus ¶
func NewEventBus(eventBus awsevents.IEventBus, props *EventBusProps) EventBus
type EventBusProps ¶
type EventBusProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // Role to be used to publish the event. Role awsiam.IRole `field:"optional" json:"role" yaml:"role"` }
Configuration properties of an Event Bus event.
Cannot extend TargetBaseProps. Retry policy is not supported for Event bus targets.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var queue queue var role role eventBusProps := &EventBusProps{ DeadLetterQueue: queue, Role: role, }
type KinesisFirehoseStream ¶
type KinesisFirehoseStream interface { awsevents.IRuleTarget // Returns a RuleTarget that can be used to trigger this Firehose Stream as a result from a Event Bridge event. Bind(_rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Customize the Firehose Stream Event Target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var cfnDeliveryStream cfnDeliveryStream var ruleTargetInput ruleTargetInput kinesisFirehoseStream := awscdk.Aws_events_targets.NewKinesisFirehoseStream(cfnDeliveryStream, &KinesisFirehoseStreamProps{ Message: ruleTargetInput, })
func NewKinesisFirehoseStream ¶
func NewKinesisFirehoseStream(stream awskinesisfirehose.CfnDeliveryStream, props *KinesisFirehoseStreamProps) KinesisFirehoseStream
type KinesisFirehoseStreamProps ¶
type KinesisFirehoseStreamProps struct { // The message to send to the stream. // // Must be a valid JSON text passed to the target stream. Message awsevents.RuleTargetInput `field:"optional" json:"message" yaml:"message"` }
Customize the Firehose Stream Event Target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var ruleTargetInput ruleTargetInput kinesisFirehoseStreamProps := &KinesisFirehoseStreamProps{ Message: ruleTargetInput, }
type KinesisStream ¶
type KinesisStream interface { awsevents.IRuleTarget // Returns a RuleTarget that can be used to trigger this Kinesis Stream as a result from a CloudWatch event. Bind(_rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Use a Kinesis Stream as a target for AWS CloudWatch event rules.
Example:
// put to a Kinesis stream every time code is committed // to a CodeCommit repository repository.onCommit(jsii.String("onCommit"), &OnCommitOptions{ Target: targets.NewKinesisStream(stream), })
func NewKinesisStream ¶
func NewKinesisStream(stream awskinesis.IStream, props *KinesisStreamProps) KinesisStream
type KinesisStreamProps ¶
type KinesisStreamProps struct { // The message to send to the stream. // // Must be a valid JSON text passed to the target stream. Message awsevents.RuleTargetInput `field:"optional" json:"message" yaml:"message"` // Partition Key Path for records sent to this stream. PartitionKeyPath *string `field:"optional" json:"partitionKeyPath" yaml:"partitionKeyPath"` }
Customize the Kinesis Stream Event Target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var ruleTargetInput ruleTargetInput kinesisStreamProps := &KinesisStreamProps{ Message: ruleTargetInput, PartitionKeyPath: jsii.String("partitionKeyPath"), }
type LambdaFunction ¶
type LambdaFunction interface { awsevents.IRuleTarget // Returns a RuleTarget that can be used to trigger this Lambda as a result from an EventBridge event. Bind(rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Use an AWS Lambda function as an event rule target.
Example:
import "github.com/aws/aws-cdk-go/awscdk" fn := lambda.NewFunction(this, jsii.String("MyFunc"), &FunctionProps{ Runtime: lambda.Runtime_NODEJS_14_X(), Handler: jsii.String("index.handler"), Code: lambda.Code_FromInline(jsii.String("exports.handler = handler.toString()")), }) rule := events.NewRule(this, jsii.String("rule"), &RuleProps{ EventPattern: &EventPattern{ Source: []*string{ jsii.String("aws.ec2"), }, }, }) queue := sqs.NewQueue(this, jsii.String("Queue")) rule.AddTarget(targets.NewLambdaFunction(fn, &LambdaFunctionProps{ DeadLetterQueue: queue, // Optional: add a dead letter queue MaxEventAge: cdk.Duration_Hours(jsii.Number(2)), // Optional: set the maxEventAge retry policy RetryAttempts: jsii.Number(2), }))
func NewLambdaFunction ¶
func NewLambdaFunction(handler awslambda.IFunction, props *LambdaFunctionProps) LambdaFunction
type LambdaFunctionProps ¶
type LambdaFunctionProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The event to send to the Lambda. // // This will be the payload sent to the Lambda Function. Event awsevents.RuleTargetInput `field:"optional" json:"event" yaml:"event"` }
Customize the Lambda Event Target.
Example:
import "github.com/aws/aws-cdk-go/awscdk" fn := lambda.NewFunction(this, jsii.String("MyFunc"), &FunctionProps{ Runtime: lambda.Runtime_NODEJS_14_X(), Handler: jsii.String("index.handler"), Code: lambda.Code_FromInline(jsii.String("exports.handler = handler.toString()")), }) rule := events.NewRule(this, jsii.String("rule"), &RuleProps{ EventPattern: &EventPattern{ Source: []*string{ jsii.String("aws.ec2"), }, }, }) queue := sqs.NewQueue(this, jsii.String("Queue")) rule.AddTarget(targets.NewLambdaFunction(fn, &LambdaFunctionProps{ DeadLetterQueue: queue, // Optional: add a dead letter queue MaxEventAge: cdk.Duration_Hours(jsii.Number(2)), // Optional: set the maxEventAge retry policy RetryAttempts: jsii.Number(2), }))
type LogGroupProps ¶
type LogGroupProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The event to send to the CloudWatch LogGroup. // // This will be the event logged into the CloudWatch LogGroup. // Deprecated: use logEvent instead. Event awsevents.RuleTargetInput `field:"optional" json:"event" yaml:"event"` // The event to send to the CloudWatch LogGroup. // // This will be the event logged into the CloudWatch LogGroup. LogEvent LogGroupTargetInput `field:"optional" json:"logEvent" yaml:"logEvent"` }
Customize the CloudWatch LogGroup Event Target.
Example:
// Example automatically generated from non-compiling source. May contain errors. import logs "github.com/aws/aws-cdk-go/awscdk" var logGroup logGroup var rule rule rule.AddTarget(targets.NewCloudWatchLogGroup(logGroup, &LogGroupProps{ LogEvent: targets.LogGroupTargetInput(map[string]interface{}{ "timestamp": events.EventField.from(jsii.String("$.time")), "message": events.EventField.from(jsii.String("$.detail-type")), }), }))
type LogGroupTargetInput ¶ added in v2.29.0
type LogGroupTargetInput interface { // Return the input properties for this input object. Bind(rule awsevents.IRule) *awsevents.RuleTargetInputProperties }
The input to send to the CloudWatch LogGroup target.
Example:
// Example automatically generated from non-compiling source. May contain errors. import logs "github.com/aws/aws-cdk-go/awscdk" var logGroup logGroup var rule rule rule.AddTarget(targets.NewCloudWatchLogGroup(logGroup, &LogGroupProps{ LogEvent: targets.LogGroupTargetInput(map[string]interface{}{ "timestamp": events.EventField.from(jsii.String("$.time")), "message": events.EventField.from(jsii.String("$.detail-type")), }), }))
type LogGroupTargetInputOptions ¶ added in v2.29.0
type LogGroupTargetInputOptions struct { // The value provided here will be used in the Log "message" field. // // This field must be a string. If an object is passed (e.g. JSON data) // it will not throw an error, but the message that makes it to // CloudWatch logs will be incorrect. This is a likely scenario if // doing something like: EventField.fromPath('$.detail') since in most cases // the `detail` field contains JSON data. Message interface{} `field:"optional" json:"message" yaml:"message"` // The timestamp that will appear in the CloudWatch Logs record. Timestamp interface{} `field:"optional" json:"timestamp" yaml:"timestamp"` }
Options used when creating a target input template.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var message interface{} var timestamp interface{} logGroupTargetInputOptions := &LogGroupTargetInputOptions{ Message: message, Timestamp: timestamp, }
type SfnStateMachine ¶
type SfnStateMachine interface { awsevents.IRuleTarget Machine() awsstepfunctions.IStateMachine // Returns a properties that are used in an Rule to trigger this State Machine. // See: https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sns-permissions // Bind(_rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Use a StepFunctions state machine as a target for Amazon EventBridge rules.
Example:
import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" rule := events.NewRule(this, jsii.String("Rule"), &RuleProps{ Schedule: events.Schedule_Rate(cdk.Duration_Minutes(jsii.Number(1))), }) dlq := sqs.NewQueue(this, jsii.String("DeadLetterQueue")) role := iam.NewRole(this, jsii.String("Role"), &RoleProps{ AssumedBy: iam.NewServicePrincipal(jsii.String("events.amazonaws.com")), }) stateMachine := sfn.NewStateMachine(this, jsii.String("SM"), &StateMachineProps{ Definition: sfn.NewWait(this, jsii.String("Hello"), &WaitProps{ Time: sfn.WaitTime_Duration(cdk.Duration_Seconds(jsii.Number(10))), }), }) rule.AddTarget(targets.NewSfnStateMachine(stateMachine, &SfnStateMachineProps{ Input: events.RuleTargetInput_FromObject(map[string]*string{ "SomeParam": jsii.String("SomeValue"), }), DeadLetterQueue: dlq, Role: role, }))
func NewSfnStateMachine ¶
func NewSfnStateMachine(machine awsstepfunctions.IStateMachine, props *SfnStateMachineProps) SfnStateMachine
type SfnStateMachineProps ¶
type SfnStateMachineProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The input to the state machine execution. Input awsevents.RuleTargetInput `field:"optional" json:"input" yaml:"input"` // The IAM role to be assumed to execute the State Machine. Role awsiam.IRole `field:"optional" json:"role" yaml:"role"` }
Customize the Step Functions State Machine target.
Example:
import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" rule := events.NewRule(this, jsii.String("Rule"), &RuleProps{ Schedule: events.Schedule_Rate(cdk.Duration_Minutes(jsii.Number(1))), }) dlq := sqs.NewQueue(this, jsii.String("DeadLetterQueue")) role := iam.NewRole(this, jsii.String("Role"), &RoleProps{ AssumedBy: iam.NewServicePrincipal(jsii.String("events.amazonaws.com")), }) stateMachine := sfn.NewStateMachine(this, jsii.String("SM"), &StateMachineProps{ Definition: sfn.NewWait(this, jsii.String("Hello"), &WaitProps{ Time: sfn.WaitTime_Duration(cdk.Duration_Seconds(jsii.Number(10))), }), }) rule.AddTarget(targets.NewSfnStateMachine(stateMachine, &SfnStateMachineProps{ Input: events.RuleTargetInput_FromObject(map[string]*string{ "SomeParam": jsii.String("SomeValue"), }), DeadLetterQueue: dlq, Role: role, }))
type SnsTopic ¶
type SnsTopic interface { awsevents.IRuleTarget Topic() awssns.ITopic // Returns a RuleTarget that can be used to trigger this SNS topic as a result from an EventBridge event. // See: https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sns-permissions // Bind(_rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Use an SNS topic as a target for Amazon EventBridge rules.
Example:
// publish to an SNS topic every time code is committed // to a CodeCommit repository repository.onCommit(jsii.String("onCommit"), &OnCommitOptions{ Target: targets.NewSnsTopic(topic), })
func NewSnsTopic ¶
func NewSnsTopic(topic awssns.ITopic, props *SnsTopicProps) SnsTopic
type SnsTopicProps ¶
type SnsTopicProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The message to send to the topic. Message awsevents.RuleTargetInput `field:"optional" json:"message" yaml:"message"` }
Customize the SNS Topic Event Target.
Example:
var onCommitRule rule var topic topic onCommitRule.AddTarget(targets.NewSnsTopic(topic, &SnsTopicProps{ Message: events.RuleTargetInput_FromText( fmt.Sprintf("A commit was pushed to the repository %v on branch %v", codecommit.ReferenceEvent_RepositoryName(), codecommit.ReferenceEvent_ReferenceName())), }))
type SqsQueue ¶
type SqsQueue interface { awsevents.IRuleTarget Queue() awssqs.IQueue // Returns a RuleTarget that can be used to trigger this SQS queue as a result from an EventBridge event. // See: https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sqs-permissions // Bind(rule awsevents.IRule, _id *string) *awsevents.RuleTargetConfig }
Use an SQS Queue as a target for Amazon EventBridge rules.
Example:
// publish to an SQS queue every time code is committed // to a CodeCommit repository repository.onCommit(jsii.String("onCommit"), &OnCommitOptions{ Target: targets.NewSqsQueue(queue), })
func NewSqsQueue ¶
func NewSqsQueue(queue awssqs.IQueue, props *SqsQueueProps) SqsQueue
type SqsQueueProps ¶
type SqsQueueProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` // The message to send to the queue. // // Must be a valid JSON text passed to the target queue. Message awsevents.RuleTargetInput `field:"optional" json:"message" yaml:"message"` // Message Group ID for messages sent to this queue. // // Required for FIFO queues, leave empty for regular queues. MessageGroupId *string `field:"optional" json:"messageGroupId" yaml:"messageGroupId"` }
Customize the SQS Queue Event Target.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var queue queue var ruleTargetInput ruleTargetInput sqsQueueProps := &SqsQueueProps{ DeadLetterQueue: queue, MaxEventAge: cdk.Duration_Minutes(jsii.Number(30)), Message: ruleTargetInput, MessageGroupId: jsii.String("messageGroupId"), RetryAttempts: jsii.Number(123), }
type TargetBaseProps ¶
type TargetBaseProps struct { // The SQS queue to be used as deadLetterQueue. Check out the [considerations for using a dead-letter queue](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-considerations). // // The events not successfully delivered are automatically retried for a specified period of time, // depending on the retry policy of the target. // If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue. DeadLetterQueue awssqs.IQueue `field:"optional" json:"deadLetterQueue" yaml:"deadLetterQueue"` // The maximum age of a request that Lambda sends to a function for processing. // // Minimum value of 60. // Maximum value of 86400. MaxEventAge awscdk.Duration `field:"optional" json:"maxEventAge" yaml:"maxEventAge"` // The maximum number of times to retry when the function returns an error. // // Minimum value of 0. // Maximum value of 185. RetryAttempts *float64 `field:"optional" json:"retryAttempts" yaml:"retryAttempts"` }
The generic properties for an RuleTarget.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var queue queue targetBaseProps := &TargetBaseProps{ DeadLetterQueue: queue, MaxEventAge: cdk.Duration_Minutes(jsii.Number(30)), RetryAttempts: jsii.Number(123), }
type TaskEnvironmentVariable ¶
type TaskEnvironmentVariable struct { // Name for the environment variable. // // Exactly one of `name` and `namePath` must be specified. Name *string `field:"required" json:"name" yaml:"name"` // Value of the environment variable. // // Exactly one of `value` and `valuePath` must be specified. Value *string `field:"required" json:"value" yaml:"value"` }
An environment variable to be set in the container run as a task.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" taskEnvironmentVariable := &TaskEnvironmentVariable{ Name: jsii.String("name"), Value: jsii.String("value"), }
Source Files
¶
- ApiDestination.go
- ApiDestinationProps.go
- ApiDestination__checks.go
- ApiGateway.go
- ApiGatewayProps.go
- ApiGateway__checks.go
- AwsApi.go
- AwsApiInput.go
- AwsApiProps.go
- AwsApi__checks.go
- BatchJob.go
- BatchJobProps.go
- BatchJob__checks.go
- CloudWatchLogGroup.go
- CloudWatchLogGroup__checks.go
- CodeBuildProject.go
- CodeBuildProjectProps.go
- CodeBuildProject__checks.go
- CodePipeline.go
- CodePipelineTargetOptions.go
- CodePipeline__checks.go
- ContainerOverride.go
- EcsTask.go
- EcsTaskProps.go
- EcsTask__checks.go
- EventBus.go
- EventBusProps.go
- EventBus__checks.go
- KinesisFirehoseStream.go
- KinesisFirehoseStreamProps.go
- KinesisFirehoseStream__checks.go
- KinesisStream.go
- KinesisStreamProps.go
- KinesisStream__checks.go
- LambdaFunction.go
- LambdaFunctionProps.go
- LambdaFunction__checks.go
- LogGroupProps.go
- LogGroupTargetInput.go
- LogGroupTargetInputOptions.go
- LogGroupTargetInput__checks.go
- SfnStateMachine.go
- SfnStateMachineProps.go
- SfnStateMachine__checks.go
- SnsTopic.go
- SnsTopicProps.go
- SnsTopic__checks.go
- SqsQueue.go
- SqsQueueProps.go
- SqsQueue__checks.go
- TargetBaseProps.go
- TaskEnvironmentVariable.go
- main.go