:doc:`GroundStation <../../groundstation>` / Client / create_dataflow_endpoint_group

******************************
create_dataflow_endpoint_group
******************************



.. py:method:: GroundStation.Client.create_dataflow_endpoint_group(**kwargs)

  

  Creates a ``DataflowEndpoint`` group containing the specified list of ``DataflowEndpoint`` objects.

   

  The ``name`` field in each endpoint is used in your mission profile ``DataflowEndpointConfig`` to specify which endpoints to use during a contact.

   

  When a contact uses multiple ``DataflowEndpointConfig`` objects, each ``Config`` must match a ``DataflowEndpoint`` in the same group.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/groundstation-2019-05-23/CreateDataflowEndpointGroup>`_  


  **Request Syntax**
  ::

    response = client.create_dataflow_endpoint_group(
        endpointDetails=[
            {
                'securityDetails': {
                    'subnetIds': [
                        'string',
                    ],
                    'securityGroupIds': [
                        'string',
                    ],
                    'roleArn': 'string'
                },
                'endpoint': {
                    'name': 'string',
                    'address': {
                        'name': 'string',
                        'port': 123
                    },
                    'status': 'created'|'creating'|'deleted'|'deleting'|'failed',
                    'mtu': 123
                },
                'awsGroundStationAgentEndpoint': {
                    'name': 'string',
                    'egressAddress': {
                        'socketAddress': {
                            'name': 'string',
                            'port': 123
                        },
                        'mtu': 123
                    },
                    'ingressAddress': {
                        'socketAddress': {
                            'name': 'string',
                            'portRange': {
                                'minimum': 123,
                                'maximum': 123
                            }
                        },
                        'mtu': 123
                    },
                    'agentStatus': 'SUCCESS'|'FAILED'|'ACTIVE'|'INACTIVE',
                    'auditResults': 'HEALTHY'|'UNHEALTHY'
                },
                'uplinkAwsGroundStationAgentEndpoint': {
                    'name': 'string',
                    'dataflowDetails': {
                        'agentConnectionDetails': {
                            'ingressAddressAndPort': {
                                'socketAddress': {
                                    'name': 'string',
                                    'port': 123
                                },
                                'mtu': 123
                            },
                            'agentIpAndPortAddress': {
                                'socketAddress': {
                                    'name': 'string',
                                    'portRange': {
                                        'minimum': 123,
                                        'maximum': 123
                                    }
                                },
                                'mtu': 123
                            }
                        }
                    },
                    'agentStatus': 'SUCCESS'|'FAILED'|'ACTIVE'|'INACTIVE',
                    'auditResults': 'HEALTHY'|'UNHEALTHY'
                },
                'downlinkAwsGroundStationAgentEndpoint': {
                    'name': 'string',
                    'dataflowDetails': {
                        'agentConnectionDetails': {
                            'agentIpAndPortAddress': {
                                'socketAddress': {
                                    'name': 'string',
                                    'portRange': {
                                        'minimum': 123,
                                        'maximum': 123
                                    }
                                },
                                'mtu': 123
                            },
                            'egressAddressAndPort': {
                                'socketAddress': {
                                    'name': 'string',
                                    'port': 123
                                },
                                'mtu': 123
                            }
                        }
                    },
                    'agentStatus': 'SUCCESS'|'FAILED'|'ACTIVE'|'INACTIVE',
                    'auditResults': 'HEALTHY'|'UNHEALTHY'
                },
                'healthStatus': 'HEALTHY'|'UNHEALTHY',
                'healthReasons': [
                    'NO_REGISTERED_AGENT'|'INVALID_IP_OWNERSHIP'|'NOT_AUTHORIZED_TO_CREATE_SLR'|'UNVERIFIED_IP_OWNERSHIP'|'INITIALIZING_DATAPLANE'|'DATAPLANE_FAILURE'|'HEALTHY',
                ]
            },
        ],
        tags={
            'string': 'string'
        },
        contactPrePassDurationSeconds=123,
        contactPostPassDurationSeconds=123
    )
    
  :type endpointDetails: list
  :param endpointDetails: **[REQUIRED]** 

    Endpoint details of each endpoint in the dataflow endpoint group. All dataflow endpoints within a single dataflow endpoint group must be of the same type. You cannot mix `AWS Ground Station Agent endpoints <https://docs.aws.amazon.com/ground-station/latest/APIReference/API_AwsGroundStationAgentEndpoint.html>`__ with `Dataflow endpoints <https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DataflowEndpoint.html>`__ in the same group. If your use case requires both types of endpoints, you must create separate dataflow endpoint groups for each type.

    

  
    - *(dict) --* 

      Information about the endpoint details.

      

    
      - **securityDetails** *(dict) --* 

        Endpoint security details including a list of subnets, a list of security groups and a role to connect streams to instances.

        

      
        - **subnetIds** *(list) --* **[REQUIRED]** 

          A list of subnets where AWS Ground Station places elastic network interfaces to send streams to your instances.

          

        
          - *(string) --* 

          
      
        - **securityGroupIds** *(list) --* **[REQUIRED]** 

          The security groups to attach to the elastic network interfaces.

          

        
          - *(string) --* 

          
      
        - **roleArn** *(string) --* **[REQUIRED]** 

          ARN to a role needed for connecting streams to your instances.

          

        
      
      - **endpoint** *(dict) --* 

        A dataflow endpoint.

        

      
        - **name** *(string) --* 

          Name of a dataflow endpoint.

          

        
        - **address** *(dict) --* 

          Socket address of a dataflow endpoint.

          

        
          - **name** *(string) --* **[REQUIRED]** 

            Name of a socket address.

            

          
          - **port** *(integer) --* **[REQUIRED]** 

            Port of a socket address.

            

          
        
        - **status** *(string) --* 

          Status of a dataflow endpoint.

          

        
        - **mtu** *(integer) --* 

          Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.

          

        
      
      - **awsGroundStationAgentEndpoint** *(dict) --* 

        An agent endpoint.

        

      
        - **name** *(string) --* **[REQUIRED]** 

          Name string associated with AgentEndpoint. Used as a human-readable identifier for AgentEndpoint.

          

        
        - **egressAddress** *(dict) --* **[REQUIRED]** 

          The egress address of AgentEndpoint.

          

        
          - **socketAddress** *(dict) --* **[REQUIRED]** 

            A socket address.

            

          
            - **name** *(string) --* **[REQUIRED]** 

              Name of a socket address.

              

            
            - **port** *(integer) --* **[REQUIRED]** 

              Port of a socket address.

              

            
          
          - **mtu** *(integer) --* 

            Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.

            

          
        
        - **ingressAddress** *(dict) --* **[REQUIRED]** 

          The ingress address of AgentEndpoint.

          

        
          - **socketAddress** *(dict) --* **[REQUIRED]** 

            A ranged socket address.

            

          
            - **name** *(string) --* **[REQUIRED]** 

              IPv4 socket address.

              

            
            - **portRange** *(dict) --* **[REQUIRED]** 

              Port range of a socket address.

              

            
              - **minimum** *(integer) --* **[REQUIRED]** 

                A minimum value.

                

              
              - **maximum** *(integer) --* **[REQUIRED]** 

                A maximum value.

                

              
            
          
          - **mtu** *(integer) --* 

            Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.

            

          
        
        - **agentStatus** *(string) --* 

          The status of AgentEndpoint.

          

        
        - **auditResults** *(string) --* 

          The results of the audit.

          

        
      
      - **uplinkAwsGroundStationAgentEndpoint** *(dict) --* 

        Definition for an uplink agent endpoint

        

      
        - **name** *(string) --* **[REQUIRED]** 

          Uplink dataflow endpoint name

          

        
        - **dataflowDetails** *(dict) --* **[REQUIRED]** 

          Dataflow details for the uplink endpoint

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``agentConnectionDetails``. 

        
          - **agentConnectionDetails** *(dict) --* 

            Uplink connection details for customer to Agent and Agent to Ground Station

            

          
            - **ingressAddressAndPort** *(dict) --* **[REQUIRED]** 

              Egress address of AgentEndpoint with an optional mtu.

              

            
              - **socketAddress** *(dict) --* **[REQUIRED]** 

                A socket address.

                

              
                - **name** *(string) --* **[REQUIRED]** 

                  Name of a socket address.

                  

                
                - **port** *(integer) --* **[REQUIRED]** 

                  Port of a socket address.

                  

                
              
              - **mtu** *(integer) --* 

                Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.

                

              
            
            - **agentIpAndPortAddress** *(dict) --* **[REQUIRED]** 

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

              

            
              - **socketAddress** *(dict) --* **[REQUIRED]** 

                A ranged socket address.

                

              
                - **name** *(string) --* **[REQUIRED]** 

                  IPv4 socket address.

                  

                
                - **portRange** *(dict) --* **[REQUIRED]** 

                  Port range of a socket address.

                  

                
                  - **minimum** *(integer) --* **[REQUIRED]** 

                    A minimum value.

                    

                  
                  - **maximum** *(integer) --* **[REQUIRED]** 

                    A maximum value.

                    

                  
                
              
              - **mtu** *(integer) --* 

                Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.

                

              
            
          
        
        - **agentStatus** *(string) --* 

          Status of the agent associated with the uplink dataflow endpoint

          

        
        - **auditResults** *(string) --* 

          Health audit results for the uplink dataflow endpoint

          

        
      
      - **downlinkAwsGroundStationAgentEndpoint** *(dict) --* 

        Definition for a downlink agent endpoint

        

      
        - **name** *(string) --* **[REQUIRED]** 

          Downlink dataflow endpoint name

          

        
        - **dataflowDetails** *(dict) --* **[REQUIRED]** 

          Dataflow details for the downlink endpoint

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``agentConnectionDetails``. 

        
          - **agentConnectionDetails** *(dict) --* 

            Downlink connection details for customer to Agent and Agent to Ground Station

            

          
            - **agentIpAndPortAddress** *(dict) --* **[REQUIRED]** 

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

              

            
              - **socketAddress** *(dict) --* **[REQUIRED]** 

                A ranged socket address.

                

              
                - **name** *(string) --* **[REQUIRED]** 

                  IPv4 socket address.

                  

                
                - **portRange** *(dict) --* **[REQUIRED]** 

                  Port range of a socket address.

                  

                
                  - **minimum** *(integer) --* **[REQUIRED]** 

                    A minimum value.

                    

                  
                  - **maximum** *(integer) --* **[REQUIRED]** 

                    A maximum value.

                    

                  
                
              
              - **mtu** *(integer) --* 

                Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.

                

              
            
            - **egressAddressAndPort** *(dict) --* **[REQUIRED]** 

              Egress address of AgentEndpoint with an optional mtu.

              

            
              - **socketAddress** *(dict) --* **[REQUIRED]** 

                A socket address.

                

              
                - **name** *(string) --* **[REQUIRED]** 

                  Name of a socket address.

                  

                
                - **port** *(integer) --* **[REQUIRED]** 

                  Port of a socket address.

                  

                
              
              - **mtu** *(integer) --* 

                Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.

                

              
            
          
        
        - **agentStatus** *(string) --* 

          Status of the agent associated with the downlink dataflow endpoint

          

        
        - **auditResults** *(string) --* 

          Health audit results for the downlink dataflow endpoint

          

        
      
      - **healthStatus** *(string) --* 

        A dataflow endpoint health status. This field is ignored when calling ``CreateDataflowEndpointGroup``.

        

      
      - **healthReasons** *(list) --* 

        Health reasons for a dataflow endpoint. This field is ignored when calling ``CreateDataflowEndpointGroup``.

        

      
        - *(string) --* 

        
    
    

  :type tags: dict
  :param tags: 

    Tags of a dataflow endpoint group.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type contactPrePassDurationSeconds: integer
  :param contactPrePassDurationSeconds: 

    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 <https://docs.aws.amazon.com/ground-station/latest/ug/monitoring.automating-events.html>`__ will be emitted when the Dataflow Endpoint Group enters and exits the ``PREPASS`` state.

    

  
  :type contactPostPassDurationSeconds: integer
  :param contactPostPassDurationSeconds: 

    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 <https://docs.aws.amazon.com/ground-station/latest/ug/monitoring.automating-events.html>`__ will be emitted when the Dataflow Endpoint Group enters and exits the ``POSTPASS`` state.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'dataflowEndpointGroupId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **dataflowEndpointGroupId** *(string) --* 

        UUID of a dataflow endpoint group.

        
  
  **Exceptions**
  
  *   :py:class:`GroundStation.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`GroundStation.Client.exceptions.DependencyException`

  
  *   :py:class:`GroundStation.Client.exceptions.ResourceNotFoundException`

  