

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::Events::Endpoint
<a name="aws-resource-events-endpoint"></a>

A global endpoint used to improve your application's availability by making it regional-fault tolerant. For more information about global endpoints, see [Making applications Regional-fault tolerant with global endpoints and event replication](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) in the * *Amazon EventBridge User Guide* *.

## Syntax
<a name="aws-resource-events-endpoint-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-events-endpoint-syntax.json"></a>

```
{
  "Type" : "AWS::Events::Endpoint",
  "Properties" : {
      "[Description](#cfn-events-endpoint-description)" : String,
      "[EventBuses](#cfn-events-endpoint-eventbuses)" : [ EndpointEventBus, ... ],
      "[Name](#cfn-events-endpoint-name)" : String,
      "[ReplicationConfig](#cfn-events-endpoint-replicationconfig)" : ReplicationConfig,
      "[RoleArn](#cfn-events-endpoint-rolearn)" : String,
      "[RoutingConfig](#cfn-events-endpoint-routingconfig)" : RoutingConfig
    }
}
```

### YAML
<a name="aws-resource-events-endpoint-syntax.yaml"></a>

```
Type: AWS::Events::Endpoint
Properties:
  [Description](#cfn-events-endpoint-description): String
  [EventBuses](#cfn-events-endpoint-eventbuses): 
    - EndpointEventBus
  [Name](#cfn-events-endpoint-name): String
  [ReplicationConfig](#cfn-events-endpoint-replicationconfig): 
    ReplicationConfig
  [RoleArn](#cfn-events-endpoint-rolearn): String
  [RoutingConfig](#cfn-events-endpoint-routingconfig): 
    RoutingConfig
```

## Properties
<a name="aws-resource-events-endpoint-properties"></a>

`Description`  <a name="cfn-events-endpoint-description"></a>
A description for the endpoint.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EventBuses`  <a name="cfn-events-endpoint-eventbuses"></a>
The event buses being used by the endpoint.  
*Exactly*: `2`  
*Required*: Yes  
*Type*: Array of [EndpointEventBus](aws-properties-events-endpoint-endpointeventbus.md)  
*Minimum*: `2`  
*Maximum*: `2`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-events-endpoint-name"></a>
The name of the endpoint.  
*Required*: No  
*Type*: String  
*Pattern*: `^[\.\-_A-Za-z0-9]+$`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ReplicationConfig`  <a name="cfn-events-endpoint-replicationconfig"></a>
Whether event replication was enabled or disabled for this endpoint. The default state is `ENABLED` which means you must supply a `RoleArn`. If you don't have a `RoleArn` or you don't want event replication enabled, set the state to `DISABLED`.  
*Required*: No  
*Type*: [ReplicationConfig](aws-properties-events-endpoint-replicationconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoleArn`  <a name="cfn-events-endpoint-rolearn"></a>
The ARN of the role used by event replication for the endpoint.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:aws[a-z-]*:iam::\d{12}:role\/[\w+=,.@/-]+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RoutingConfig`  <a name="cfn-events-endpoint-routingconfig"></a>
The routing configuration of the endpoint.  
*Required*: Yes  
*Type*: [RoutingConfig](aws-properties-events-endpoint-routingconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-events-endpoint-return-values"></a>

### Ref
<a name="aws-resource-events-endpoint-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns Endpoint ID, such as `mystack-Endpoint-ABCDEFGHIJK`. 

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-events-endpoint-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-events-endpoint-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The ARN of the endpoint.

`EndpointId`  <a name="EndpointId-fn::getatt"></a>
The ID of the endpoint.

`EndpointUrl`  <a name="EndpointUrl-fn::getatt"></a>
The URL of the endpoint.

`State`  <a name="State-fn::getatt"></a>
The main Region of the endpoint.

`StateReason`  <a name="StateReason-fn::getatt"></a>
The reason the endpoint is in its current state.

## Examples
<a name="aws-resource-events-endpoint--examples"></a>



**Topics**
+ [Create a global endpoint with event replication](#aws-resource-events-endpoint--examples--Create_a_global_endpoint_with_event_replication)
+ [Create a global endpoint without event replication](#aws-resource-events-endpoint--examples--Create_a_global_endpoint_without_event_replication)

### Create a global endpoint with event replication
<a name="aws-resource-events-endpoint--examples--Create_a_global_endpoint_with_event_replication"></a>

The following example creates a global endpoint with event replication enabled.

#### JSON
<a name="aws-resource-events-endpoint--examples--Create_a_global_endpoint_with_event_replication--json"></a>

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description": "This template will create an Endpoint resource",
  "Resources": {
    "SampleEndpoint": {
      "Type": "AWS::Events::Endpoint",
      "Properties": {
        "Name": "CreateExampleEndpoint",
        "RoutingConfig": {
          "FailoverConfig": {
            "Primary": {
              "HealthCheck": {
                  "arn:aws:route53:::healthcheck/0123456789abc"
              }
            },
            "Secondary": {
              "Route": {
                  "us-east-1"
              }
            }
          }
        },
        "ReplicationConfig": {
          "State": "ENABLED"
        },
        "RoleArn": {
          "arn:aws:iam::123456789012:role/EndpointReplicationRole"
        },
        "EventBuses": [
          {
            "EventBusArn": {
              "arn:aws:events:us-west-2:123456789012:event-bus/ExampleEventBus"
            }
          },
          {
            "EventBusArn": {
              "arn:aws:events:us-east-1:123456789012:event-bus/ExampleEventBus"
            }
          }
        ]
      }
    }
  },
  "Outputs": {
    "SampleEndpointName": {
      "Value": {
        "Ref": "SampleEndpoint"
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-events-endpoint--examples--Create_a_global_endpoint_with_event_replication--yaml"></a>

```
  AWSTemplateFormatVersion: "2010-09-09"
  Description: "This template will create an Endpoint resource"
  Resources:
    SampleEndpoint:
      Type: AWS::Events::Endpoint
      Properties:
        Name: CreateExampleEndpoint
        RoutingConfig:
          FailoverConfig:
            Primary:
              HealthCheck: "arn:aws:route53:::healthcheck/0123456789abc"
            Secondary:
              Route: "us-east-1"
        ReplicationConfig:
          State: "ENABLED"
        RoleArn: "arn:aws:iam::123456789012:role/EndpointReplicationRole"
        EventBuses:
          - EventBusArn: "arn:aws:events:us-west-2:123456789012:event-bus/ExampleEventBus"
          - EventBusArn: "arn:aws:events:us-east-1:123456789012:event-bus/ExampleEventBus"
   
  Outputs:
    SampleEndpointName:
      Value: !Ref SampleEndpoint
```

### Create a global endpoint without event replication
<a name="aws-resource-events-endpoint--examples--Create_a_global_endpoint_without_event_replication"></a>

The following example creates a global endpoint with event replication disabled.

#### JSON
<a name="aws-resource-events-endpoint--examples--Create_a_global_endpoint_without_event_replication--json"></a>

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description": "This template will create an Endpoint resource",
  "Resources": {
    "SampleEndpoint": {
      "Type": "AWS::Events::Endpoint",
      "Properties": {
        "Name": "CreateExampleEndpoint",
        "RoutingConfig": {
          "FailoverConfig": {
            "Primary": {
              "HealthCheck": {
                  "arn:aws:route53:::healthcheck/0123456789abc"
              }
            },
            "Secondary": {
              "Route": {
                  "us-east-1"
              }
            }
          }
        },
        "ReplicationConfig": {
          "State": "DISABLED"
        },
        "EventBuses": [
          {
            "EventBusArn": {
              "arn:aws:events:us-west-2:123456789012:event-bus/ExampleEventBus"
            }
          },
          {
            "EventBusArn": {
              "arn:aws:events:us-east-1:123456789012:event-bus/ExampleEventBus"
            }
          }
        ]
      }
    }
  },
  "Outputs": {
    "SampleEndpointName": {
      "Value": {
        "Ref": "SampleEndpoint"
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-events-endpoint--examples--Create_a_global_endpoint_without_event_replication--yaml"></a>

```
  AWSTemplateFormatVersion: "2010-09-09"
  Description: "This template will create an Endpoint resource"
  Resources:
    SampleEndpoint:
      Type: AWS::Events::Endpoint
      Properties:
        Name: CreateExampleEndpoint
        RoutingConfig:
          FailoverConfig:
            Primary:
              HealthCheck: "arn:aws:route53:::healthcheck/0123456789abc"
            Secondary:
              Route: "us-east-1"
        ReplicationConfig:
          State: "DISABLED"
        EventBuses:
          - EventBusArn: "arn:aws:events:us-west-2:123456789012:event-bus/ExampleEventBus"
          - EventBusArn: "arn:aws:events:us-east-1:123456789012:event-bus/ExampleEventBus"
   
  Outputs:
    SampleEndpointName:
      Value: !Ref SampleEndpoint
```

# AWS::Events::Endpoint EndpointEventBus
<a name="aws-properties-events-endpoint-endpointeventbus"></a>

The event buses the endpoint is associated with.

## Syntax
<a name="aws-properties-events-endpoint-endpointeventbus-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-events-endpoint-endpointeventbus-syntax.json"></a>

```
{
  "[EventBusArn](#cfn-events-endpoint-endpointeventbus-eventbusarn)" : String
}
```

### YAML
<a name="aws-properties-events-endpoint-endpointeventbus-syntax.yaml"></a>

```
  [EventBusArn](#cfn-events-endpoint-endpointeventbus-eventbusarn): String
```

## Properties
<a name="aws-properties-events-endpoint-endpointeventbus-properties"></a>

`EventBusArn`  <a name="cfn-events-endpoint-endpointeventbus-eventbusarn"></a>
The ARN of the event bus the endpoint is associated with.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws[a-z-]*:events:[a-z]+-[a-z-]+-\d+:\d{12}:event-bus/[\w.-]+$`  
*Minimum*: `1`  
*Maximum*: `512`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Events::Endpoint FailoverConfig
<a name="aws-properties-events-endpoint-failoverconfig"></a>

The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered.

## Syntax
<a name="aws-properties-events-endpoint-failoverconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-events-endpoint-failoverconfig-syntax.json"></a>

```
{
  "[Primary](#cfn-events-endpoint-failoverconfig-primary)" : Primary,
  "[Secondary](#cfn-events-endpoint-failoverconfig-secondary)" : Secondary
}
```

### YAML
<a name="aws-properties-events-endpoint-failoverconfig-syntax.yaml"></a>

```
  [Primary](#cfn-events-endpoint-failoverconfig-primary): 
    Primary
  [Secondary](#cfn-events-endpoint-failoverconfig-secondary): 
    Secondary
```

## Properties
<a name="aws-properties-events-endpoint-failoverconfig-properties"></a>

`Primary`  <a name="cfn-events-endpoint-failoverconfig-primary"></a>
The main Region of the endpoint.  
*Required*: Yes  
*Type*: [Primary](aws-properties-events-endpoint-primary.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Secondary`  <a name="cfn-events-endpoint-failoverconfig-secondary"></a>
The Region that events are routed to when failover is triggered or event replication is enabled.  
*Required*: Yes  
*Type*: [Secondary](aws-properties-events-endpoint-secondary.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Events::Endpoint Primary
<a name="aws-properties-events-endpoint-primary"></a>

The primary Region of the endpoint.

## Syntax
<a name="aws-properties-events-endpoint-primary-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-events-endpoint-primary-syntax.json"></a>

```
{
  "[HealthCheck](#cfn-events-endpoint-primary-healthcheck)" : String
}
```

### YAML
<a name="aws-properties-events-endpoint-primary-syntax.yaml"></a>

```
  [HealthCheck](#cfn-events-endpoint-primary-healthcheck): String
```

## Properties
<a name="aws-properties-events-endpoint-primary-properties"></a>

`HealthCheck`  <a name="cfn-events-endpoint-primary-healthcheck"></a>
The ARN of the health check used by the endpoint to determine whether failover is triggered.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:aws([a-z]|\-)*:route53:::healthcheck/[\-a-z0-9]+$`  
*Minimum*: `1`  
*Maximum*: `1600`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Events::Endpoint ReplicationConfig
<a name="aws-properties-events-endpoint-replicationconfig"></a>

Endpoints can replicate all events to the secondary Region.

## Syntax
<a name="aws-properties-events-endpoint-replicationconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-events-endpoint-replicationconfig-syntax.json"></a>

```
{
  "[State](#cfn-events-endpoint-replicationconfig-state)" : String
}
```

### YAML
<a name="aws-properties-events-endpoint-replicationconfig-syntax.yaml"></a>

```
  [State](#cfn-events-endpoint-replicationconfig-state): String
```

## Properties
<a name="aws-properties-events-endpoint-replicationconfig-properties"></a>

`State`  <a name="cfn-events-endpoint-replicationconfig-state"></a>
The state of event replication.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Events::Endpoint RoutingConfig
<a name="aws-properties-events-endpoint-routingconfig"></a>

The routing configuration of the endpoint.

## Syntax
<a name="aws-properties-events-endpoint-routingconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-events-endpoint-routingconfig-syntax.json"></a>

```
{
  "[FailoverConfig](#cfn-events-endpoint-routingconfig-failoverconfig)" : FailoverConfig
}
```

### YAML
<a name="aws-properties-events-endpoint-routingconfig-syntax.yaml"></a>

```
  [FailoverConfig](#cfn-events-endpoint-routingconfig-failoverconfig): 
    FailoverConfig
```

## Properties
<a name="aws-properties-events-endpoint-routingconfig-properties"></a>

`FailoverConfig`  <a name="cfn-events-endpoint-routingconfig-failoverconfig"></a>
The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered.  
*Required*: Yes  
*Type*: [FailoverConfig](aws-properties-events-endpoint-failoverconfig.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Events::Endpoint Secondary
<a name="aws-properties-events-endpoint-secondary"></a>

The secondary Region that processes events when failover is triggered or replication is enabled.

## Syntax
<a name="aws-properties-events-endpoint-secondary-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-events-endpoint-secondary-syntax.json"></a>

```
{
  "[Route](#cfn-events-endpoint-secondary-route)" : String
}
```

### YAML
<a name="aws-properties-events-endpoint-secondary-syntax.yaml"></a>

```
  [Route](#cfn-events-endpoint-secondary-route): String
```

## Properties
<a name="aws-properties-events-endpoint-secondary-properties"></a>

`Route`  <a name="cfn-events-endpoint-secondary-route"></a>
Defines the secondary Region.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[\-a-z0-9]+$`  
*Minimum*: `9`  
*Maximum*: `20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)