

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::GroundStation::DataflowEndpointGroup
<a name="aws-resource-groundstation-dataflowendpointgroup"></a>

Creates a Dataflow Endpoint Group request.

 Dataflow endpoint groups contain a list of endpoints. When the name of a dataflow endpoint group is specified in a mission profile, the Ground Station service will connect to the endpoints and flow data during a contact. 

 For more information about dataflow endpoint groups, see [Dataflow Endpoint Groups](https://docs.aws.amazon.com/ground-station/latest/ug/dataflowendpointgroups.html). 

## Syntax
<a name="aws-resource-groundstation-dataflowendpointgroup-syntax"></a>

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

### JSON
<a name="aws-resource-groundstation-dataflowendpointgroup-syntax.json"></a>

```
{
  "Type" : "AWS::GroundStation::DataflowEndpointGroup",
  "Properties" : {
      "[ContactPostPassDurationSeconds](#cfn-groundstation-dataflowendpointgroup-contactpostpassdurationseconds)" : Integer,
      "[ContactPrePassDurationSeconds](#cfn-groundstation-dataflowendpointgroup-contactprepassdurationseconds)" : Integer,
      "[EndpointDetails](#cfn-groundstation-dataflowendpointgroup-endpointdetails)" : [ EndpointDetails, ... ],
      "[Tags](#cfn-groundstation-dataflowendpointgroup-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-groundstation-dataflowendpointgroup-syntax.yaml"></a>

```
Type: AWS::GroundStation::DataflowEndpointGroup
Properties:
  [ContactPostPassDurationSeconds](#cfn-groundstation-dataflowendpointgroup-contactpostpassdurationseconds): Integer
  [ContactPrePassDurationSeconds](#cfn-groundstation-dataflowendpointgroup-contactprepassdurationseconds): Integer
  [EndpointDetails](#cfn-groundstation-dataflowendpointgroup-endpointdetails): 
    - EndpointDetails
  [Tags](#cfn-groundstation-dataflowendpointgroup-tags): 
    - Tag
```

## Properties
<a name="aws-resource-groundstation-dataflowendpointgroup-properties"></a>

`ContactPostPassDurationSeconds`  <a name="cfn-groundstation-dataflowendpointgroup-contactpostpassdurationseconds"></a>
 Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a `POSTPASS` state. A Ground Station Dataflow Endpoint Group State Change event will be emitted when the Dataflow Endpoint Group enters and exits the `POSTPASS` state.   
*Required*: No  
*Type*: Integer  
*Minimum*: `30`  
*Maximum*: `480`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ContactPrePassDurationSeconds`  <a name="cfn-groundstation-dataflowendpointgroup-contactprepassdurationseconds"></a>
 Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a `PREPASS` state. A Ground Station Dataflow Endpoint Group State Change event will be emitted when the Dataflow Endpoint Group enters and exits the `PREPASS` state.   
*Required*: No  
*Type*: Integer  
*Minimum*: `30`  
*Maximum*: `480`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EndpointDetails`  <a name="cfn-groundstation-dataflowendpointgroup-endpointdetails"></a>
 List of Endpoint Details, containing address and port for each endpoint. All dataflow endpoints within a single dataflow endpoint group must be of the same type. You cannot mix AWS Ground Station Agent endpoints with Dataflow endpoints in the same group. If your use case requires both types of endpoints, you must create separate dataflow endpoint groups for each type.   
*Required*: Yes  
*Type*: [Array](aws-properties-groundstation-dataflowendpointgroup-endpointdetails.md) of [EndpointDetails](aws-properties-groundstation-dataflowendpointgroup-endpointdetails.md)  
*Minimum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-groundstation-dataflowendpointgroup-tags"></a>
 Tags assigned to a resource.   
*Required*: No  
*Type*: Array of [Tag](aws-properties-groundstation-dataflowendpointgroup-tag.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-groundstation-dataflowendpointgroup-return-values"></a>

### Ref
<a name="aws-resource-groundstation-dataflowendpointgroup-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the ARN of the dataflow endpoint group. For example: 

 `{ "Ref": "DataflowEndpointGroup" }` 

 For the Ground Station dataflow endpoint group, `Ref` returns the ARN of the dataflow endpoint group. 

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-groundstation-dataflowendpointgroup-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

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

#### 
<a name="aws-resource-groundstation-dataflowendpointgroup-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The ARN of the dataflow endpoint group, such as `arn:aws:groundstation:us-east-2:012345678910:dataflow-endpoint-group/9940bf3b-d2ba-427e-9906-842b5e5d2296`. 

`Id`  <a name="Id-fn::getatt"></a>
 UUID of a dataflow endpoint group. 

## Examples
<a name="aws-resource-groundstation-dataflowendpointgroup--examples"></a>

### Create a DataflowEndpointGroup
<a name="aws-resource-groundstation-dataflowendpointgroup--examples--Create_a_DataflowEndpointGroup"></a>

The following example creates a Ground Station `DataflowEndpointGroup`

#### JSON
<a name="aws-resource-groundstation-dataflowendpointgroup--examples--Create_a_DataflowEndpointGroup--json"></a>

```
{
  "Resources": {
    "myDataflowEndpointGroup": {
      "Type": "AWS::GroundStation::DataflowEndpointGroup",
      "Properties": {
        "EndpointDetails": [
          {
            "SecurityDetails": {
              "SubnetIds": [
                "subnet-6782e71e"
              ],
              "SecurityGroupIds": [
                "sg-6979fe18"
              ],
              "RoleArn": "arn:aws:iam::012345678910:role/groundstation-service-role-AWSServiceRoleForAmazonGroundStation-EXAMPLEBQ4PI"
            },
            "Endpoint": {
              "Name": "myEndpoint",
              "Address": {
                "Name": "172.10.0.2",
                "Port": 44720
              },
              "Mtu": 1500
            }
          }
        ]
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-groundstation-dataflowendpointgroup--examples--Create_a_DataflowEndpointGroup--yaml"></a>

```
Resources:
  myDataflowEndpointGroup:
    Type: AWS::GroundStation::DataflowEndpointGroup
    Properties:
      EndpointDetails:
        - SecurityDetails:
            SubnetIds:
              - subnet-12345678
            SecurityGroupIds:
              - sg-87654321
            RoleArn: arn:aws:iam::012345678910:role/groundstation-service-role-AWSServiceRoleForAmazonGroundStation-EXAMPLEABCDE
      Endpoint:
        Name: myEndpoint
        Address:
          Name: 172.10.0.2
          Port: 44720
        Mtu: 1500
```

# AWS::GroundStation::DataflowEndpointGroup AwsGroundStationAgentEndpoint
<a name="aws-properties-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint"></a>

Information about AwsGroundStationAgentEndpoint.

## Syntax
<a name="aws-properties-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-syntax"></a>

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

### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-syntax.json"></a>

```
{
  "[AgentStatus](#cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-agentstatus)" : String,
  "[AuditResults](#cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-auditresults)" : String,
  "[EgressAddress](#cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-egressaddress)" : ConnectionDetails,
  "[IngressAddress](#cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-ingressaddress)" : RangedConnectionDetails,
  "[Name](#cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-name)" : String
}
```

### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-syntax.yaml"></a>

```
  [AgentStatus](#cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-agentstatus): String
  [AuditResults](#cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-auditresults): String
  [EgressAddress](#cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-egressaddress): 
    ConnectionDetails
  [IngressAddress](#cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-ingressaddress): 
    RangedConnectionDetails
  [Name](#cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-name): String
```

## Properties
<a name="aws-properties-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-properties"></a>

`AgentStatus`  <a name="cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-agentstatus"></a>
The status of AgentEndpoint.  
*Required*: No  
*Type*: String  
*Allowed values*: `SUCCESS | FAILED | ACTIVE | INACTIVE`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`AuditResults`  <a name="cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-auditresults"></a>
The results of the audit.  
*Required*: No  
*Type*: String  
*Allowed values*: `HEALTHY | UNHEALTHY`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`EgressAddress`  <a name="cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-egressaddress"></a>
The egress address of AgentEndpoint.  
*Required*: No  
*Type*: [ConnectionDetails](aws-properties-groundstation-dataflowendpointgroup-connectiondetails.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`IngressAddress`  <a name="cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-ingressaddress"></a>
The ingress address of AgentEndpoint.  
*Required*: No  
*Type*: [RangedConnectionDetails](aws-properties-groundstation-dataflowendpointgroup-rangedconnectiondetails.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint-name"></a>
Name string associated with AgentEndpoint. Used as a human-readable identifier for AgentEndpoint.  
*Required*: No  
*Type*: String  
*Pattern*: `^[ a-zA-Z0-9_:-]{1,256}$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::GroundStation::DataflowEndpointGroup ConnectionDetails
<a name="aws-properties-groundstation-dataflowendpointgroup-connectiondetails"></a>

Egress address of AgentEndpoint with an optional mtu.

## Syntax
<a name="aws-properties-groundstation-dataflowendpointgroup-connectiondetails-syntax"></a>

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

### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-connectiondetails-syntax.json"></a>

```
{
  "[Mtu](#cfn-groundstation-dataflowendpointgroup-connectiondetails-mtu)" : Integer,
  "[SocketAddress](#cfn-groundstation-dataflowendpointgroup-connectiondetails-socketaddress)" : SocketAddress
}
```

### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-connectiondetails-syntax.yaml"></a>

```
  [Mtu](#cfn-groundstation-dataflowendpointgroup-connectiondetails-mtu): Integer
  [SocketAddress](#cfn-groundstation-dataflowendpointgroup-connectiondetails-socketaddress): 
    SocketAddress
```

## Properties
<a name="aws-properties-groundstation-dataflowendpointgroup-connectiondetails-properties"></a>

`Mtu`  <a name="cfn-groundstation-dataflowendpointgroup-connectiondetails-mtu"></a>
Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.  
*Required*: No  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SocketAddress`  <a name="cfn-groundstation-dataflowendpointgroup-connectiondetails-socketaddress"></a>
A socket address.  
*Required*: No  
*Type*: [SocketAddress](aws-properties-groundstation-dataflowendpointgroup-socketaddress.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::GroundStation::DataflowEndpointGroup DataflowEndpoint
<a name="aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint"></a>

 Contains information such as socket address and name that defines an endpoint. 

## Syntax
<a name="aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint-syntax"></a>

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

### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint-syntax.json"></a>

```
{
  "[Address](#cfn-groundstation-dataflowendpointgroup-dataflowendpoint-address)" : SocketAddress,
  "[Mtu](#cfn-groundstation-dataflowendpointgroup-dataflowendpoint-mtu)" : Integer,
  "[Name](#cfn-groundstation-dataflowendpointgroup-dataflowendpoint-name)" : String
}
```

### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint-syntax.yaml"></a>

```
  [Address](#cfn-groundstation-dataflowendpointgroup-dataflowendpoint-address): 
    SocketAddress
  [Mtu](#cfn-groundstation-dataflowendpointgroup-dataflowendpoint-mtu): Integer
  [Name](#cfn-groundstation-dataflowendpointgroup-dataflowendpoint-name): String
```

## Properties
<a name="aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint-properties"></a>

`Address`  <a name="cfn-groundstation-dataflowendpointgroup-dataflowendpoint-address"></a>
 The address and port of an endpoint.   
*Required*: No  
*Type*: [SocketAddress](aws-properties-groundstation-dataflowendpointgroup-socketaddress.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Mtu`  <a name="cfn-groundstation-dataflowendpointgroup-dataflowendpoint-mtu"></a>
Maximum transmission unit (MTU) size in bytes of a dataflow endpoint. Valid values are between 1400 and 1500. A default value of 1500 is used if not set.   
*Required*: No  
*Type*: Integer  
*Minimum*: `1400`  
*Maximum*: `1500`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-groundstation-dataflowendpointgroup-dataflowendpoint-name"></a>
 The endpoint name.   
 When listing available contacts for a satellite, Ground Station searches for a dataflow endpoint whose name matches the value specified by the dataflow endpoint config of the selected mission profile. If no matching dataflow endpoints are found then Ground Station will not display any available contacts for the satellite.   
*Required*: No  
*Type*: String  
*Pattern*: `^[ a-zA-Z0-9_:-]{1,256}$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Examples
<a name="aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint--examples"></a>

### Create a DataflowEndpoint
<a name="aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint--examples--Create_a_DataflowEndpoint"></a>

The following example creates a Ground Station `DataflowEndpoint`

#### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint--examples--Create_a_DataflowEndpoint--json"></a>

```
{
  "Endpoint": {
    "Name": "myEndpoint",
    "Address": {
      "Name": "172.10.0.2",
      "Port": 44720
    },
    "Mtu": 1500
}
```

#### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint--examples--Create_a_DataflowEndpoint--yaml"></a>

```
Endpoint:
  Name: myEndpoint
  Address:
    Name: 172.10.0.2
    Port: 44720
  Mtu: 1500
```

# AWS::GroundStation::DataflowEndpointGroup EndpointDetails
<a name="aws-properties-groundstation-dataflowendpointgroup-endpointdetails"></a>

 The security details and endpoint information. 

## Syntax
<a name="aws-properties-groundstation-dataflowendpointgroup-endpointdetails-syntax"></a>

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

### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-endpointdetails-syntax.json"></a>

```
{
  "[AwsGroundStationAgentEndpoint](#cfn-groundstation-dataflowendpointgroup-endpointdetails-awsgroundstationagentendpoint)" : AwsGroundStationAgentEndpoint,
  "[Endpoint](#cfn-groundstation-dataflowendpointgroup-endpointdetails-endpoint)" : DataflowEndpoint,
  "[SecurityDetails](#cfn-groundstation-dataflowendpointgroup-endpointdetails-securitydetails)" : SecurityDetails
}
```

### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-endpointdetails-syntax.yaml"></a>

```
  [AwsGroundStationAgentEndpoint](#cfn-groundstation-dataflowendpointgroup-endpointdetails-awsgroundstationagentendpoint): 
    AwsGroundStationAgentEndpoint
  [Endpoint](#cfn-groundstation-dataflowendpointgroup-endpointdetails-endpoint): 
    DataflowEndpoint
  [SecurityDetails](#cfn-groundstation-dataflowendpointgroup-endpointdetails-securitydetails): 
    SecurityDetails
```

## Properties
<a name="aws-properties-groundstation-dataflowendpointgroup-endpointdetails-properties"></a>

`AwsGroundStationAgentEndpoint`  <a name="cfn-groundstation-dataflowendpointgroup-endpointdetails-awsgroundstationagentendpoint"></a>
An agent endpoint.  
*Required*: No  
*Type*: [AwsGroundStationAgentEndpoint](aws-properties-groundstation-dataflowendpointgroup-awsgroundstationagentendpoint.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Endpoint`  <a name="cfn-groundstation-dataflowendpointgroup-endpointdetails-endpoint"></a>
 Information about the endpoint such as name and the endpoint address.   
*Required*: No  
*Type*: [DataflowEndpoint](aws-properties-groundstation-dataflowendpointgroup-dataflowendpoint.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SecurityDetails`  <a name="cfn-groundstation-dataflowendpointgroup-endpointdetails-securitydetails"></a>
 The role ARN, and IDs for security groups and subnets.   
*Required*: No  
*Type*: [SecurityDetails](aws-properties-groundstation-dataflowendpointgroup-securitydetails.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Examples
<a name="aws-properties-groundstation-dataflowendpointgroup-endpointdetails--examples"></a>

### Create a EndpointDetails
<a name="aws-properties-groundstation-dataflowendpointgroup-endpointdetails--examples--Create_a_EndpointDetails"></a>

The following example creates Ground Station `EndpointDetails`

#### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-endpointdetails--examples--Create_a_EndpointDetails--json"></a>

```
{
  "EndpointDetails": [
    {
      "SecurityDetails": {
        "SubnetIds": [
          "subnet-6782e71e"
        ],
        "SecurityGroupIds": [
          "sg-6979fe18"
        ],
        "RoleArn": "arn:aws:iam::012345678910:role/groundstation-service-role-AWSServiceRoleForAmazonGroundStation-EXAMPLEBQ4PI"
      },
      "Endpoint": {
        "Name": "myEndpoint",
        "Address": {
          "Name": "172.10.0.2",
          "Port": 44720
        },
        "Mtu": 1500
      }
    }
  }
}
```

#### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-endpointdetails--examples--Create_a_EndpointDetails--yaml"></a>

```
EndpointDetails:
  - SecurityDetails:
      SubnetIds:
        - subnet-12345678
      SecurityGroupIds:
        - sg-87654321
      RoleArn: arn:aws:iam::012345678910:role/groundstation-service-role-AWSServiceRoleForAmazonGroundStation-EXAMPLEABCDE
Endpoint:
  Name: myEndpoint
  Address:
    Name: 172.10.0.2
    Port: 44720
  Mtu: 1500
```

# AWS::GroundStation::DataflowEndpointGroup IntegerRange
<a name="aws-properties-groundstation-dataflowendpointgroup-integerrange"></a>

An integer range that has a minimum and maximum value.

## Syntax
<a name="aws-properties-groundstation-dataflowendpointgroup-integerrange-syntax"></a>

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

### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-integerrange-syntax.json"></a>

```
{
  "[Maximum](#cfn-groundstation-dataflowendpointgroup-integerrange-maximum)" : Integer,
  "[Minimum](#cfn-groundstation-dataflowendpointgroup-integerrange-minimum)" : Integer
}
```

### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-integerrange-syntax.yaml"></a>

```
  [Maximum](#cfn-groundstation-dataflowendpointgroup-integerrange-maximum): Integer
  [Minimum](#cfn-groundstation-dataflowendpointgroup-integerrange-minimum): Integer
```

## Properties
<a name="aws-properties-groundstation-dataflowendpointgroup-integerrange-properties"></a>

`Maximum`  <a name="cfn-groundstation-dataflowendpointgroup-integerrange-maximum"></a>
A maximum value.  
*Required*: No  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Minimum`  <a name="cfn-groundstation-dataflowendpointgroup-integerrange-minimum"></a>
A minimum value.  
*Required*: No  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::GroundStation::DataflowEndpointGroup RangedConnectionDetails
<a name="aws-properties-groundstation-dataflowendpointgroup-rangedconnectiondetails"></a>

Ingress address of AgentEndpoint with a port range and an optional mtu.

## Syntax
<a name="aws-properties-groundstation-dataflowendpointgroup-rangedconnectiondetails-syntax"></a>

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

### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-rangedconnectiondetails-syntax.json"></a>

```
{
  "[Mtu](#cfn-groundstation-dataflowendpointgroup-rangedconnectiondetails-mtu)" : Integer,
  "[SocketAddress](#cfn-groundstation-dataflowendpointgroup-rangedconnectiondetails-socketaddress)" : RangedSocketAddress
}
```

### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-rangedconnectiondetails-syntax.yaml"></a>

```
  [Mtu](#cfn-groundstation-dataflowendpointgroup-rangedconnectiondetails-mtu): Integer
  [SocketAddress](#cfn-groundstation-dataflowendpointgroup-rangedconnectiondetails-socketaddress): 
    RangedSocketAddress
```

## Properties
<a name="aws-properties-groundstation-dataflowendpointgroup-rangedconnectiondetails-properties"></a>

`Mtu`  <a name="cfn-groundstation-dataflowendpointgroup-rangedconnectiondetails-mtu"></a>
Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1400`  
*Maximum*: `1500`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SocketAddress`  <a name="cfn-groundstation-dataflowendpointgroup-rangedconnectiondetails-socketaddress"></a>
A ranged socket address.  
*Required*: No  
*Type*: [RangedSocketAddress](aws-properties-groundstation-dataflowendpointgroup-rangedsocketaddress.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::GroundStation::DataflowEndpointGroup RangedSocketAddress
<a name="aws-properties-groundstation-dataflowendpointgroup-rangedsocketaddress"></a>

A socket address with a port range.

## Syntax
<a name="aws-properties-groundstation-dataflowendpointgroup-rangedsocketaddress-syntax"></a>

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

### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-rangedsocketaddress-syntax.json"></a>

```
{
  "[Name](#cfn-groundstation-dataflowendpointgroup-rangedsocketaddress-name)" : String,
  "[PortRange](#cfn-groundstation-dataflowendpointgroup-rangedsocketaddress-portrange)" : IntegerRange
}
```

### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-rangedsocketaddress-syntax.yaml"></a>

```
  [Name](#cfn-groundstation-dataflowendpointgroup-rangedsocketaddress-name): String
  [PortRange](#cfn-groundstation-dataflowendpointgroup-rangedsocketaddress-portrange): 
    IntegerRange
```

## Properties
<a name="aws-properties-groundstation-dataflowendpointgroup-rangedsocketaddress-properties"></a>

`Name`  <a name="cfn-groundstation-dataflowendpointgroup-rangedsocketaddress-name"></a>
IPv4 socket address.  
*Required*: No  
*Type*: String  
*Pattern*: `\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}`  
*Minimum*: `7`  
*Maximum*: `16`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PortRange`  <a name="cfn-groundstation-dataflowendpointgroup-rangedsocketaddress-portrange"></a>
Port range of a socket address.  
*Required*: No  
*Type*: [IntegerRange](aws-properties-groundstation-dataflowendpointgroup-integerrange.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::GroundStation::DataflowEndpointGroup SecurityDetails
<a name="aws-properties-groundstation-dataflowendpointgroup-securitydetails"></a>

 Information about IAM roles, subnets, and security groups needed for this DataflowEndpointGroup. 

## Syntax
<a name="aws-properties-groundstation-dataflowendpointgroup-securitydetails-syntax"></a>

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

### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-securitydetails-syntax.json"></a>

```
{
  "[RoleArn](#cfn-groundstation-dataflowendpointgroup-securitydetails-rolearn)" : String,
  "[SecurityGroupIds](#cfn-groundstation-dataflowendpointgroup-securitydetails-securitygroupids)" : [ String, ... ],
  "[SubnetIds](#cfn-groundstation-dataflowendpointgroup-securitydetails-subnetids)" : [ String, ... ]
}
```

### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-securitydetails-syntax.yaml"></a>

```
  [RoleArn](#cfn-groundstation-dataflowendpointgroup-securitydetails-rolearn): String
  [SecurityGroupIds](#cfn-groundstation-dataflowendpointgroup-securitydetails-securitygroupids): 
    - String
  [SubnetIds](#cfn-groundstation-dataflowendpointgroup-securitydetails-subnetids): 
    - String
```

## Properties
<a name="aws-properties-groundstation-dataflowendpointgroup-securitydetails-properties"></a>

`RoleArn`  <a name="cfn-groundstation-dataflowendpointgroup-securitydetails-rolearn"></a>
The ARN of a role which Ground Station has permission to assume, such as `arn:aws:iam::012345678910:role/DataDeliveryServiceRole`.   
 Ground Station will assume this role and create an ENI in your VPC on the specified subnet upon creation of a dataflow endpoint group. This ENI is used as the ingress/egress point for data streamed during a satellite contact.   
*Required*: No  
*Type*: String  
*Pattern*: `^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SecurityGroupIds`  <a name="cfn-groundstation-dataflowendpointgroup-securitydetails-securitygroupids"></a>
The security group Ids of the security role, such as `sg-1234567890abcdef0`.   
*Required*: No  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SubnetIds`  <a name="cfn-groundstation-dataflowendpointgroup-securitydetails-subnetids"></a>
The subnet Ids of the security details, such as `subnet-12345678`.   
*Required*: No  
*Type*: Array of String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Examples
<a name="aws-properties-groundstation-dataflowendpointgroup-securitydetails--examples"></a>

### Create SecurityDetails
<a name="aws-properties-groundstation-dataflowendpointgroup-securitydetails--examples--Create_SecurityDetails"></a>

The following example creates Ground Station `SecurityDetails`

#### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-securitydetails--examples--Create_SecurityDetails--json"></a>

```
{
  "SecurityDetails": {
    "SubnetIds": [
      "subnet-6782e71e"
    ],
    "SecurityGroupIds": [
      "sg-6979fe18"
    ],
    "RoleArn": "arn:aws:iam::012345678910:role/groundstation-service-role-AWSServiceRoleForAmazonGroundStation-EXAMPLEBQ4PI"
  }
}
```

#### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-securitydetails--examples--Create_SecurityDetails--yaml"></a>

```
SecurityDetails:
  SubnetIds:
    - subnet-12345678
  SecurityGroupIds:
    - sg-87654321
  RoleArn: arn:aws:iam::012345678910:role/groundstation-service-role-AWSServiceRoleForAmazonGroundStation-EXAMPLEABCDE
```

# AWS::GroundStation::DataflowEndpointGroup SocketAddress
<a name="aws-properties-groundstation-dataflowendpointgroup-socketaddress"></a>

The address of the endpoint, such as `192.168.1.1`. 

## Syntax
<a name="aws-properties-groundstation-dataflowendpointgroup-socketaddress-syntax"></a>

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

### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-socketaddress-syntax.json"></a>

```
{
  "[Name](#cfn-groundstation-dataflowendpointgroup-socketaddress-name)" : String,
  "[Port](#cfn-groundstation-dataflowendpointgroup-socketaddress-port)" : Integer
}
```

### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-socketaddress-syntax.yaml"></a>

```
  [Name](#cfn-groundstation-dataflowendpointgroup-socketaddress-name): String
  [Port](#cfn-groundstation-dataflowendpointgroup-socketaddress-port): Integer
```

## Properties
<a name="aws-properties-groundstation-dataflowendpointgroup-socketaddress-properties"></a>

`Name`  <a name="cfn-groundstation-dataflowendpointgroup-socketaddress-name"></a>
The name of the endpoint, such as `Endpoint 1`.   
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Port`  <a name="cfn-groundstation-dataflowendpointgroup-socketaddress-port"></a>
The port of the endpoint, such as `55888`.   
*Required*: No  
*Type*: Integer  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Examples
<a name="aws-properties-groundstation-dataflowendpointgroup-socketaddress--examples"></a>

### Create a SocketAddress
<a name="aws-properties-groundstation-dataflowendpointgroup-socketaddress--examples--Create_a_SocketAddress"></a>

The following example creates a Ground Station `SocketAddress`

#### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-socketaddress--examples--Create_a_SocketAddress--json"></a>

```
{
  "Address": {
    "Name": "172.10.0.2",
    "Port": 44720
  }
}
```

#### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-socketaddress--examples--Create_a_SocketAddress--yaml"></a>

```
Address:
  Name: 172.10.0.2
  Port: 44720
```

# AWS::GroundStation::DataflowEndpointGroup Tag
<a name="aws-properties-groundstation-dataflowendpointgroup-tag"></a>

The key name of the tag. You can specify a value that's 1 to 128 Unicode characters in length and can't be prefixed with `aws:`. digits, whitespace, `_`, `.`, `:`, `/`, `=`, `+`, `@`, `-`, and `"`.

For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)

## Syntax
<a name="aws-properties-groundstation-dataflowendpointgroup-tag-syntax"></a>

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

### JSON
<a name="aws-properties-groundstation-dataflowendpointgroup-tag-syntax.json"></a>

```
{
  "[Key](#cfn-groundstation-dataflowendpointgroup-tag-key)" : String,
  "[Value](#cfn-groundstation-dataflowendpointgroup-tag-value)" : String
}
```

### YAML
<a name="aws-properties-groundstation-dataflowendpointgroup-tag-syntax.yaml"></a>

```
  [Key](#cfn-groundstation-dataflowendpointgroup-tag-key): String
  [Value](#cfn-groundstation-dataflowendpointgroup-tag-value): String
```

## Properties
<a name="aws-properties-groundstation-dataflowendpointgroup-tag-properties"></a>

`Key`  <a name="cfn-groundstation-dataflowendpointgroup-tag-key"></a>
Name of the object key.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[ a-zA-Z0-9\+\-=._:/@]{1,128}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-groundstation-dataflowendpointgroup-tag-value"></a>
Value of the tag.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[ a-zA-Z0-9\+\-=._:/@]{1,256}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)