EventEndpointArgs

data class EventEndpointArgs(val description: Output<String>? = null, val eventBuses: Output<List<EventEndpointEventBusArgs>>? = null, val name: Output<String>? = null, val replicationConfig: Output<EventEndpointReplicationConfigArgs>? = null, val roleArn: Output<String>? = null, val routingConfig: Output<EventEndpointRoutingConfigArgs>? = null) : ConvertibleToJava<EventEndpointArgs>

Provides a resource to create an EventBridge Global Endpoint.

Note: EventBridge was formerly known as CloudWatch Events. The functionality is identical.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const _this = new aws.cloudwatch.EventEndpoint("this", {
name: "global-endpoint",
roleArn: replication.arn,
eventBuses: [
{
eventBusArn: primary.arn,
},
{
eventBusArn: secondary.arn,
},
],
replicationConfig: {
state: "DISABLED",
},
routingConfig: {
failoverConfig: {
primary: {
healthCheck: primaryAwsRoute53HealthCheck.arn,
},
secondary: {
route: "us-east-2",
},
},
},
});
import pulumi
import pulumi_aws as aws
this = aws.cloudwatch.EventEndpoint("this",
name="global-endpoint",
role_arn=replication["arn"],
event_buses=[
{
"event_bus_arn": primary["arn"],
},
{
"event_bus_arn": secondary["arn"],
},
],
replication_config={
"state": "DISABLED",
},
routing_config={
"failover_config": {
"primary": {
"health_check": primary_aws_route53_health_check["arn"],
},
"secondary": {
"route": "us-east-2",
},
},
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var @this = new Aws.CloudWatch.EventEndpoint("this", new()
{
Name = "global-endpoint",
RoleArn = replication.Arn,
EventBuses = new[]
{
new Aws.CloudWatch.Inputs.EventEndpointEventBusArgs
{
EventBusArn = primary.Arn,
},
new Aws.CloudWatch.Inputs.EventEndpointEventBusArgs
{
EventBusArn = secondary.Arn,
},
},
ReplicationConfig = new Aws.CloudWatch.Inputs.EventEndpointReplicationConfigArgs
{
State = "DISABLED",
},
RoutingConfig = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigArgs
{
FailoverConfig = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigFailoverConfigArgs
{
Primary = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigFailoverConfigPrimaryArgs
{
HealthCheck = primaryAwsRoute53HealthCheck.Arn,
},
Secondary = new Aws.CloudWatch.Inputs.EventEndpointRoutingConfigFailoverConfigSecondaryArgs
{
Route = "us-east-2",
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudwatch.NewEventEndpoint(ctx, "this", &cloudwatch.EventEndpointArgs{
Name: pulumi.String("global-endpoint"),
RoleArn: pulumi.Any(replication.Arn),
EventBuses: cloudwatch.EventEndpointEventBusArray{
&cloudwatch.EventEndpointEventBusArgs{
EventBusArn: pulumi.Any(primary.Arn),
},
&cloudwatch.EventEndpointEventBusArgs{
EventBusArn: pulumi.Any(secondary.Arn),
},
},
ReplicationConfig: &cloudwatch.EventEndpointReplicationConfigArgs{
State: pulumi.String("DISABLED"),
},
RoutingConfig: &cloudwatch.EventEndpointRoutingConfigArgs{
FailoverConfig: &cloudwatch.EventEndpointRoutingConfigFailoverConfigArgs{
Primary: &cloudwatch.EventEndpointRoutingConfigFailoverConfigPrimaryArgs{
HealthCheck: pulumi.Any(primaryAwsRoute53HealthCheck.Arn),
},
Secondary: &cloudwatch.EventEndpointRoutingConfigFailoverConfigSecondaryArgs{
Route: pulumi.String("us-east-2"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudwatch.EventEndpoint;
import com.pulumi.aws.cloudwatch.EventEndpointArgs;
import com.pulumi.aws.cloudwatch.inputs.EventEndpointEventBusArgs;
import com.pulumi.aws.cloudwatch.inputs.EventEndpointReplicationConfigArgs;
import com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigArgs;
import com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigFailoverConfigArgs;
import com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigFailoverConfigPrimaryArgs;
import com.pulumi.aws.cloudwatch.inputs.EventEndpointRoutingConfigFailoverConfigSecondaryArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var this_ = new EventEndpoint("this", EventEndpointArgs.builder()
.name("global-endpoint")
.roleArn(replication.arn())
.eventBuses(
EventEndpointEventBusArgs.builder()
.eventBusArn(primary.arn())
.build(),
EventEndpointEventBusArgs.builder()
.eventBusArn(secondary.arn())
.build())
.replicationConfig(EventEndpointReplicationConfigArgs.builder()
.state("DISABLED")
.build())
.routingConfig(EventEndpointRoutingConfigArgs.builder()
.failoverConfig(EventEndpointRoutingConfigFailoverConfigArgs.builder()
.primary(EventEndpointRoutingConfigFailoverConfigPrimaryArgs.builder()
.healthCheck(primaryAwsRoute53HealthCheck.arn())
.build())
.secondary(EventEndpointRoutingConfigFailoverConfigSecondaryArgs.builder()
.route("us-east-2")
.build())
.build())
.build())
.build());
}
}
resources:
this:
type: aws:cloudwatch:EventEndpoint
properties:
name: global-endpoint
roleArn: ${replication.arn}
eventBuses:
- eventBusArn: ${primary.arn}
- eventBusArn: ${secondary.arn}
replicationConfig:
state: DISABLED
routingConfig:
failoverConfig:
primary:
healthCheck: ${primaryAwsRoute53HealthCheck.arn}
secondary:
route: us-east-2

Import

Using pulumi import, import EventBridge Global Endpoints using the name. For example:

$ pulumi import aws:cloudwatch/eventEndpoint:EventEndpoint imported_endpoint example-endpoint

Constructors

Link copied to clipboard
constructor(description: Output<String>? = null, eventBuses: Output<List<EventEndpointEventBusArgs>>? = null, name: Output<String>? = null, replicationConfig: Output<EventEndpointReplicationConfigArgs>? = null, roleArn: Output<String>? = null, routingConfig: Output<EventEndpointRoutingConfigArgs>? = null)

Properties

Link copied to clipboard
val description: Output<String>? = null

A description of the global endpoint.

Link copied to clipboard

The event buses to use. The names of the event buses must be identical in each Region. Exactly two event buses are required. Documented below.

Link copied to clipboard
val name: Output<String>? = null

The name of the global endpoint.

Link copied to clipboard

Parameters used for replication. Documented below.

Link copied to clipboard
val roleArn: Output<String>? = null

The ARN of the IAM role used for replication between event buses.

Link copied to clipboard

Parameters used for routing, including the health check and secondary Region. Documented below.

Functions

Link copied to clipboard
open override fun toJava(): EventEndpointArgs