:doc:`MediaLive <../../medialive>` / Client / create_node_registration_script

*******************************
create_node_registration_script
*******************************



.. py:method:: MediaLive.Client.create_node_registration_script(**kwargs)

  Create the Register Node script for all the nodes intended for a specific Cluster. You will then run the script on each hardware unit that is intended for that Cluster. The script creates a Node in the specified Cluster. It then binds the Node to this hardware unit, and activates the node hardware for use with MediaLive Anywhere.

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/CreateNodeRegistrationScript>`_  


  **Request Syntax**
  ::

    response = client.create_node_registration_script(
        ClusterId='string',
        Id='string',
        Name='string',
        NodeInterfaceMappings=[
            {
                'LogicalInterfaceName': 'string',
                'NetworkInterfaceMode': 'NAT'|'BRIDGE',
                'PhysicalInterfaceName': 'string',
                'PhysicalInterfaceIpAddresses': [
                    'string',
                ]
            },
        ],
        RequestId='string',
        Role='BACKUP'|'ACTIVE'
    )
    
  :type ClusterId: string
  :param ClusterId: **[REQUIRED]** The ID of the cluster

  
  :type Id: string
  :param Id: If you're generating a re-registration script for an already existing node, this is where you provide the id.

  
  :type Name: string
  :param Name: Specify a pattern for MediaLive Anywhere to use to assign a name to each Node in the Cluster. The pattern can include the variables $hn (hostname of the node hardware) and $ts for the date and time that the Node is created, in UTC (for example, 2024-08-20T23:35:12Z).

  
  :type NodeInterfaceMappings: list
  :param NodeInterfaceMappings: Documentation update needed

  
    - *(dict) --* A mapping that's used to pair a logical network interface name on a Node with the physical interface name exposed in the operating system.

    
      - **LogicalInterfaceName** *(string) --* A uniform logical interface name to address in a MediaLive channel configuration.

      
      - **NetworkInterfaceMode** *(string) --* Used in NodeInterfaceMapping and NodeInterfaceMappingCreateRequest

      
      - **PhysicalInterfaceName** *(string) --* The name of the physical interface on the hardware that will be running Elemental anywhere.

      
      - **PhysicalInterfaceIpAddresses** *(list) --* The IP addresses associated with the physical interface on the node hardware.

      
        - *(string) --* Placeholder documentation for __string

        
    
    

  :type RequestId: string
  :param RequestId: An ID that you assign to a create request. This ID ensures idempotency when creating resources.This field is autopopulated if not provided.

  
  :type Role: string
  :param Role: The initial role of the Node in the Cluster. ACTIVE means the Node is available for encoding. BACKUP means the Node is a redundant Node and might get used if an ACTIVE Node fails.

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

    
    ::

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

    

    - *(dict) --* A new node registration script has been completed.
      

      - **NodeRegistrationScript** *(string) --* A script that can be run on a Bring Your Own Device Elemental Anywhere system to create a node in a cluster.
  
  **Exceptions**
  
  *   :py:class:`MediaLive.Client.exceptions.BadRequestException`

  
  *   :py:class:`MediaLive.Client.exceptions.InternalServerErrorException`

  
  *   :py:class:`MediaLive.Client.exceptions.ForbiddenException`

  
  *   :py:class:`MediaLive.Client.exceptions.BadGatewayException`

  
  *   :py:class:`MediaLive.Client.exceptions.GatewayTimeoutException`

  
  *   :py:class:`MediaLive.Client.exceptions.TooManyRequestsException`

  
  *   :py:class:`MediaLive.Client.exceptions.ConflictException`

  