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

*****************
update_node_state
*****************



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

  Update the state of a node.

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


  **Request Syntax**
  ::

    response = client.update_node_state(
        ClusterId='string',
        NodeId='string',
        State='ACTIVE'|'DRAINING'
    )
    
  :type ClusterId: string
  :param ClusterId: **[REQUIRED]** The ID of the cluster

  
  :type NodeId: string
  :param NodeId: **[REQUIRED]** The ID of the node.

  
  :type State: string
  :param State: The state to apply to the Node. Set to ACTIVE (COMMISSIONED) to indicate that the Node is deployable. MediaLive Anywhere will consider this node it needs a Node to run a Channel on, or when it needs a Node to promote from a backup node to an active node. Set to DRAINING to isolate the Node so that MediaLive Anywhere won't use it.

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

    
    ::

      {
          'Arn': 'string',
          'ChannelPlacementGroups': [
              'string',
          ],
          'ClusterId': 'string',
          'ConnectionState': 'CONNECTED'|'DISCONNECTED',
          'Id': 'string',
          'InstanceArn': 'string',
          'Name': 'string',
          'NodeInterfaceMappings': [
              {
                  'LogicalInterfaceName': 'string',
                  'NetworkInterfaceMode': 'NAT'|'BRIDGE',
                  'PhysicalInterfaceName': 'string',
                  'PhysicalInterfaceIpAddresses': [
                      'string',
                  ]
              },
          ],
          'Role': 'BACKUP'|'ACTIVE',
          'State': 'CREATED'|'REGISTERING'|'READY_TO_ACTIVATE'|'REGISTRATION_FAILED'|'ACTIVATION_FAILED'|'ACTIVE'|'READY'|'IN_USE'|'DEREGISTERING'|'DRAINING'|'DEREGISTRATION_FAILED'|'DEREGISTERED',
          'SdiSourceMappings': [
              {
                  'CardNumber': 123,
                  'ChannelNumber': 123,
                  'SdiSource': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* An update to node state is in progress.
      

      - **Arn** *(string) --* The ARN of the Node. It is automatically assigned when the Node is created.
      

      - **ChannelPlacementGroups** *(list) --* An array of IDs. Each ID is one ChannelPlacementGroup that is associated with this Node. Empty if the Node is not yet associated with any groups.
        

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

      - **ClusterId** *(string) --* The ID of the Cluster that the Node belongs to.
      

      - **ConnectionState** *(string) --* The current connection state of the Node.
      

      - **Id** *(string) --* The unique ID of the Node. Unique in the Cluster. The ID is the resource-id portion of the ARN.
      

      - **InstanceArn** *(string) --* The ARN of the EC2 instance hosting the Node.
      

      - **Name** *(string) --* The name that you specified for the Node.
      

      - **NodeInterfaceMappings** *(list) --* 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
        
      
    
      

      - **Role** *(string) --* The initial role current 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.
      

      - **State** *(string) --* The current state of the Node.
      

      - **SdiSourceMappings** *(list) --* An array of SDI source mappings. Each mapping connects one logical SdiSource to the physical SDI card and port that the physical SDI source uses.
        

        - *(dict) --* Used in DescribeNodeSummary, DescribeNodeResult.
          

          - **CardNumber** *(integer) --* A number that uniquely identifies the SDI card on the node hardware.
          

          - **ChannelNumber** *(integer) --* A number that uniquely identifies a port on the SDI card.
          

          - **SdiSource** *(string) --* The ID of the SdiSource to associate with this port on this card. You can use the ListSdiSources operation to discover all the IDs.
      
    
  
  **Exceptions**
  
  *   :py:class:`MediaLive.Client.exceptions.BadRequestException`

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

  
  *   :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`

  