:doc:`DirectConnect <../../directconnect>` / Client / update_lag

**********
update_lag
**********



.. py:method:: DirectConnect.Client.update_lag(**kwargs)

  

  Updates the attributes of the specified link aggregation group (LAG).

   

  You can update the following LAG attributes:

   

  
  * The name of the LAG.
   
  * The value for the minimum number of connections that must be operational for the LAG itself to be operational.
   
  * The LAG's MACsec encryption mode. Amazon Web Services assigns this value to each connection which is part of the LAG.
   
  * The tags
  

   

  .. note::

    

    If you adjust the threshold value for the minimum number of operational connections, ensure that the new value does not cause the LAG to fall below the threshold and become non-operational.

    

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateLag>`_  


  **Request Syntax**
  ::

    response = client.update_lag(
        lagId='string',
        lagName='string',
        minimumLinks=123,
        encryptionMode='string'
    )
    
  :type lagId: string
  :param lagId: **[REQUIRED]** 

    The ID of the LAG.

    

  
  :type lagName: string
  :param lagName: 

    The name of the LAG.

    

  
  :type minimumLinks: integer
  :param minimumLinks: 

    The minimum number of physical connections that must be operational for the LAG itself to be operational.

    

  
  :type encryptionMode: string
  :param encryptionMode: 

    The LAG MAC Security (MACsec) encryption mode.

     

    Amazon Web Services applies the value to all connections which are part of the LAG.

    

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

    
    ::

      {
          'connectionsBandwidth': 'string',
          'numberOfConnections': 123,
          'lagId': 'string',
          'ownerAccount': 'string',
          'lagName': 'string',
          'lagState': 'requested'|'pending'|'available'|'down'|'deleting'|'deleted'|'unknown',
          'location': 'string',
          'region': 'string',
          'minimumLinks': 123,
          'awsDevice': 'string',
          'awsDeviceV2': 'string',
          'awsLogicalDeviceId': 'string',
          'connections': [
              {
                  'ownerAccount': 'string',
                  'connectionId': 'string',
                  'connectionName': 'string',
                  'connectionState': 'ordering'|'requested'|'pending'|'available'|'down'|'deleting'|'deleted'|'rejected'|'unknown',
                  'region': 'string',
                  'location': 'string',
                  'bandwidth': 'string',
                  'vlan': 123,
                  'partnerName': 'string',
                  'loaIssueTime': datetime(2015, 1, 1),
                  'lagId': 'string',
                  'awsDevice': 'string',
                  'jumboFrameCapable': True|False,
                  'awsDeviceV2': 'string',
                  'awsLogicalDeviceId': 'string',
                  'hasLogicalRedundancy': 'unknown'|'yes'|'no',
                  'tags': [
                      {
                          'key': 'string',
                          'value': 'string'
                      },
                  ],
                  'providerName': 'string',
                  'macSecCapable': True|False,
                  'portEncryptionStatus': 'string',
                  'encryptionMode': 'string',
                  'macSecKeys': [
                      {
                          'secretARN': 'string',
                          'ckn': 'string',
                          'state': 'string',
                          'startOn': 'string'
                      },
                  ],
                  'partnerInterconnectMacSecCapable': True|False
              },
          ],
          'allowsHostedConnections': True|False,
          'jumboFrameCapable': True|False,
          'hasLogicalRedundancy': 'unknown'|'yes'|'no',
          'tags': [
              {
                  'key': 'string',
                  'value': 'string'
              },
          ],
          'providerName': 'string',
          'macSecCapable': True|False,
          'encryptionMode': 'string',
          'macSecKeys': [
              {
                  'secretARN': 'string',
                  'ckn': 'string',
                  'state': 'string',
                  'startOn': 'string'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Information about a link aggregation group (LAG).

      
      

      - **connectionsBandwidth** *(string) --* 

        The individual bandwidth of the physical connections bundled by the LAG. The possible values are 1Gbps, 10Gbps, 100Gbps, or 400 Gbps..

        
      

      - **numberOfConnections** *(integer) --* 

        The number of physical dedicated connections initially provisioned and bundled by the LAG. You can have a maximum of four connections when the port speed is 1 Gbps or 10 Gbps, or two when the port speed is 100 Gbps or 400 Gbps.

        
      

      - **lagId** *(string) --* 

        The ID of the LAG.

        
      

      - **ownerAccount** *(string) --* 

        The ID of the Amazon Web Services account that owns the LAG.

        
      

      - **lagName** *(string) --* 

        The name of the LAG.

        
      

      - **lagState** *(string) --* 

        The state of the LAG. The following are the possible values:

         

        
        * ``requested``: The initial state of a LAG. The LAG stays in the requested state until the Letter of Authorization (LOA) is available.
         
        * ``pending``: The LAG has been approved and is being initialized.
         
        * ``available``: The network link is established and the LAG is ready for use.
         
        * ``down``: The network link is down.
         
        * ``deleting``: The LAG is being deleted.
         
        * ``deleted``: The LAG is deleted.
         
        * ``unknown``: The state of the LAG is not available.
        

        
      

      - **location** *(string) --* 

        The location of the LAG.

        
      

      - **region** *(string) --* 

        The Amazon Web Services Region where the connection is located.

        
      

      - **minimumLinks** *(integer) --* 

        The minimum number of physical dedicated connections that must be operational for the LAG itself to be operational.

        
      

      - **awsDevice** *(string) --* 

        The Direct Connect endpoint that hosts the LAG.

        
      

      - **awsDeviceV2** *(string) --* 

        The Direct Connect endpoint that hosts the LAG.

        
      

      - **awsLogicalDeviceId** *(string) --* 

        The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.

        
      

      - **connections** *(list) --* 

        The connections bundled by the LAG.

        
        

        - *(dict) --* 

          Information about an Direct Connect connection.

          
          

          - **ownerAccount** *(string) --* 

            The ID of the Amazon Web Services account that owns the connection.

            
          

          - **connectionId** *(string) --* 

            The ID of the connection.

            
          

          - **connectionName** *(string) --* 

            The name of the connection.

            
          

          - **connectionState** *(string) --* 

            The state of the connection. The following are the possible values:

             

            
            * ``ordering``: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.
             
            * ``requested``: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.
             
            * ``pending``: The connection has been approved and is being initialized.
             
            * ``available``: The network link is up and the connection is ready for use.
             
            * ``down``: The network link is down.
             
            * ``deleting``: The connection is being deleted.
             
            * ``deleted``: The connection has been deleted.
             
            * ``rejected``: A hosted connection in the ``ordering`` state enters the ``rejected`` state if it is deleted by the customer.
             
            * ``unknown``: The state of the connection is not available.
            

            
          

          - **region** *(string) --* 

            The Amazon Web Services Region where the connection is located.

            
          

          - **location** *(string) --* 

            The location of the connection.

            
          

          - **bandwidth** *(string) --* 

            The bandwidth of the connection.

            
          

          - **vlan** *(integer) --* 

            The ID of the VLAN.

            
          

          - **partnerName** *(string) --* 

            The name of the Direct Connect service provider associated with the connection.

            
          

          - **loaIssueTime** *(datetime) --* 

            The time of the most recent call to  DescribeLoa for this connection.

            
          

          - **lagId** *(string) --* 

            The ID of the LAG.

            
          

          - **awsDevice** *(string) --* 

            The Direct Connect endpoint on which the physical connection terminates.

            
          

          - **jumboFrameCapable** *(boolean) --* 

            Indicates whether jumbo frames are supported.

            
          

          - **awsDeviceV2** *(string) --* 

            The Direct Connect endpoint that terminates the physical connection.

            
          

          - **awsLogicalDeviceId** *(string) --* 

            The Direct Connect endpoint that terminates the logical connection. This device might be different than the device that terminates the physical connection.

            
          

          - **hasLogicalRedundancy** *(string) --* 

            Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).

            
          

          - **tags** *(list) --* 

            The tags associated with the connection.

            
            

            - *(dict) --* 

              Information about a tag.

              
              

              - **key** *(string) --* 

                The key.

                
              

              - **value** *(string) --* 

                The value.

                
          
        
          

          - **providerName** *(string) --* 

            The name of the service provider associated with the connection.

            
          

          - **macSecCapable** *(boolean) --* 

            Indicates whether the connection supports MAC Security (MACsec).

            
          

          - **portEncryptionStatus** *(string) --* 

            The MAC Security (MACsec) port link status of the connection.

             

            The valid values are ``Encryption Up``, which means that there is an active Connection Key Name, or ``Encryption Down``.

            
          

          - **encryptionMode** *(string) --* 

            The MAC Security (MACsec) connection encryption mode.

             

            The valid values are ``no_encrypt``, ``should_encrypt``, and ``must_encrypt``.

            
          

          - **macSecKeys** *(list) --* 

            The MAC Security (MACsec) security keys associated with the connection.

            
            

            - *(dict) --* 

              Information about the MAC Security (MACsec) secret key.

              
              

              - **secretARN** *(string) --* 

                The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

                
              

              - **ckn** *(string) --* 

                The Connection Key Name (CKN) for the MAC Security secret key.

                
              

              - **state** *(string) --* 

                The state of the MAC Security (MACsec) secret key.

                 

                The possible values are:

                 

                
                * ``associating``: The MAC Security (MACsec) secret key is being validated and not yet associated with the connection or LAG.
                 
                * ``associated``: The MAC Security (MACsec) secret key is validated and associated with the connection or LAG.
                 
                * ``disassociating``: The MAC Security (MACsec) secret key is being disassociated from the connection or LAG
                 
                * ``disassociated``: The MAC Security (MACsec) secret key is no longer associated with the connection or LAG.
                

                
              

              - **startOn** *(string) --* 

                The date that the MAC Security (MACsec) secret key takes effect. The value is displayed in UTC format.

                
          
        
          

          - **partnerInterconnectMacSecCapable** *(boolean) --* 

            Indicates whether the interconnect hosting this connection supports MAC Security (MACsec).

            
      
    
      

      - **allowsHostedConnections** *(boolean) --* 

        Indicates whether the LAG can host other connections.

        
      

      - **jumboFrameCapable** *(boolean) --* 

        Indicates whether jumbo frames are supported.

        
      

      - **hasLogicalRedundancy** *(string) --* 

        Indicates whether the LAG supports a secondary BGP peer in the same address family (IPv4/IPv6).

        
      

      - **tags** *(list) --* 

        The tags associated with the LAG.

        
        

        - *(dict) --* 

          Information about a tag.

          
          

          - **key** *(string) --* 

            The key.

            
          

          - **value** *(string) --* 

            The value.

            
      
    
      

      - **providerName** *(string) --* 

        The name of the service provider associated with the LAG.

        
      

      - **macSecCapable** *(boolean) --* 

        Indicates whether the LAG supports MAC Security (MACsec).

        
      

      - **encryptionMode** *(string) --* 

        The LAG MAC Security (MACsec) encryption mode.

         

        The valid values are ``no_encrypt``, ``should_encrypt``, and ``must_encrypt``.

        
      

      - **macSecKeys** *(list) --* 

        The MAC Security (MACsec) security keys associated with the LAG.

        
        

        - *(dict) --* 

          Information about the MAC Security (MACsec) secret key.

          
          

          - **secretARN** *(string) --* 

            The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.

            
          

          - **ckn** *(string) --* 

            The Connection Key Name (CKN) for the MAC Security secret key.

            
          

          - **state** *(string) --* 

            The state of the MAC Security (MACsec) secret key.

             

            The possible values are:

             

            
            * ``associating``: The MAC Security (MACsec) secret key is being validated and not yet associated with the connection or LAG.
             
            * ``associated``: The MAC Security (MACsec) secret key is validated and associated with the connection or LAG.
             
            * ``disassociating``: The MAC Security (MACsec) secret key is being disassociated from the connection or LAG
             
            * ``disassociated``: The MAC Security (MACsec) secret key is no longer associated with the connection or LAG.
            

            
          

          - **startOn** *(string) --* 

            The date that the MAC Security (MACsec) secret key takes effect. The value is displayed in UTC format.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`DirectConnect.Client.exceptions.DirectConnectServerException`

  
  *   :py:class:`DirectConnect.Client.exceptions.DirectConnectClientException`

  