:doc:`MediaConnect <../../mediaconnect>` / Client / update_router_network_interface

*******************************
update_router_network_interface
*******************************



.. py:method:: MediaConnect.Client.update_router_network_interface(**kwargs)

  

  Updates the configuration of an existing router network interface in AWS Elemental MediaConnect.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateRouterNetworkInterface>`_  


  **Request Syntax**
  ::

    response = client.update_router_network_interface(
        Arn='string',
        Name='string',
        Configuration={
            'Public': {
                'AllowRules': [
                    {
                        'Cidr': 'string'
                    },
                ]
            },
            'Vpc': {
                'SecurityGroupIds': [
                    'string',
                ],
                'SubnetId': 'string'
            }
        }
    )
    
  :type Arn: string
  :param Arn: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the router network interface that you want to update.

    

  
  :type Name: string
  :param Name: 

    The updated name for the router network interface.

    

  
  :type Configuration: dict
  :param Configuration: 

    The updated configuration settings for the router network interface. Changing the type of the configuration is not supported.

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

  
    - **Public** *(dict) --* 

      The configuration settings for a public router network interface, including the list of allowed CIDR blocks.

      

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

        The list of allowed CIDR blocks for the public router network interface.

        

      
        - *(dict) --* 

          A rule that allows a specific CIDR block to access the public router network interface.

          

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

            The CIDR block that is allowed to access the public router network interface.

            

          
        
    
    
    - **Vpc** *(dict) --* 

      The configuration settings for a router network interface within a VPC, including the security group IDs and subnet ID.

      

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

        The IDs of the security groups to associate with the router network interface within the VPC.

        

      
        - *(string) --* 

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

        The ID of the subnet within the VPC to associate the router network interface with.

        

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

    
    ::

      {
          'RouterNetworkInterface': {
              'Name': 'string',
              'Arn': 'string',
              'Id': 'string',
              'State': 'CREATING'|'ACTIVE'|'UPDATING'|'DELETING'|'ERROR'|'RECOVERING',
              'NetworkInterfaceType': 'PUBLIC'|'VPC',
              'Configuration': {
                  'Public': {
                      'AllowRules': [
                          {
                              'Cidr': 'string'
                          },
                      ]
                  },
                  'Vpc': {
                      'SecurityGroupIds': [
                          'string',
                      ],
                      'SubnetId': 'string'
                  }
              },
              'AssociatedOutputCount': 123,
              'AssociatedInputCount': 123,
              'RegionName': 'string',
              'CreatedAt': datetime(2015, 1, 1),
              'UpdatedAt': datetime(2015, 1, 1),
              'Tags': {
                  'string': 'string'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **RouterNetworkInterface** *(dict) --* 

        The updated router network interface.

        
        

        - **Name** *(string) --* 

          The name of the router network interface.

          
        

        - **Arn** *(string) --* 

          The Amazon Resource Name (ARN) of the router network interface.

          
        

        - **Id** *(string) --* 

          The unique identifier of the router network interface.

          
        

        - **State** *(string) --* 

          The current state of the router network interface.

          
        

        - **NetworkInterfaceType** *(string) --* 

          The type of the router network interface.

          
        

        - **Configuration** *(dict) --* 

          The configuration settings for a router network interface.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``Public``, ``Vpc``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                    'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


        
          

          - **Public** *(dict) --* 

            The configuration settings for a public router network interface, including the list of allowed CIDR blocks.

            
            

            - **AllowRules** *(list) --* 

              The list of allowed CIDR blocks for the public router network interface.

              
              

              - *(dict) --* 

                A rule that allows a specific CIDR block to access the public router network interface.

                
                

                - **Cidr** *(string) --* 

                  The CIDR block that is allowed to access the public router network interface.

                  
            
          
        
          

          - **Vpc** *(dict) --* 

            The configuration settings for a router network interface within a VPC, including the security group IDs and subnet ID.

            
            

            - **SecurityGroupIds** *(list) --* 

              The IDs of the security groups to associate with the router network interface within the VPC.

              
              

              - *(string) --* 
          
            

            - **SubnetId** *(string) --* 

              The ID of the subnet within the VPC to associate the router network interface with.

              
        
      
        

        - **AssociatedOutputCount** *(integer) --* 

          The number of router outputs associated with the network interface.

          
        

        - **AssociatedInputCount** *(integer) --* 

          The number of router inputs associated with the network interface.

          
        

        - **RegionName** *(string) --* 

          The Amazon Web Services Region where the router network interface is located.

          
        

        - **CreatedAt** *(datetime) --* 

          The timestamp when the router network interface was created.

          
        

        - **UpdatedAt** *(datetime) --* 

          The timestamp when the router network interface was last updated.

          
        

        - **Tags** *(dict) --* 

          Key-value pairs that can be used to tag and organize this router network interface.

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
    
  
  **Exceptions**
  
  *   :py:class:`MediaConnect.Client.exceptions.BadRequestException`

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

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

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

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

  
  *   :py:class:`MediaConnect.Client.exceptions.ServiceUnavailableException`

  