:doc:`SnowDeviceManagement <../../snow-device-management>` / Client / describe_device_ec2_instances

*****************************
describe_device_ec2_instances
*****************************



.. py:method:: SnowDeviceManagement.Client.describe_device_ec2_instances(**kwargs)

  

  Checks the current state of the Amazon EC2 instances. The output is similar to ``describeDevice``, but the results are sourced from the device cache in the Amazon Web Services Cloud and include a subset of the available fields.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/snow-device-management-2021-08-04/DescribeDeviceEc2Instances>`_  


  **Request Syntax**
  ::

    response = client.describe_device_ec2_instances(
        instanceIds=[
            'string',
        ],
        managedDeviceId='string'
    )
    
  :type instanceIds: list
  :param instanceIds: **[REQUIRED]** 

    A list of instance IDs associated with the managed device.

    

  
    - *(string) --* 

    

  :type managedDeviceId: string
  :param managedDeviceId: **[REQUIRED]** 

    The ID of the managed device.

    

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

    
    ::

      {
          'instances': [
              {
                  'instance': {
                      'amiLaunchIndex': 123,
                      'blockDeviceMappings': [
                          {
                              'deviceName': 'string',
                              'ebs': {
                                  'attachTime': datetime(2015, 1, 1),
                                  'deleteOnTermination': True|False,
                                  'status': 'ATTACHING'|'ATTACHED'|'DETACHING'|'DETACHED',
                                  'volumeId': 'string'
                              }
                          },
                      ],
                      'cpuOptions': {
                          'coreCount': 123,
                          'threadsPerCore': 123
                      },
                      'createdAt': datetime(2015, 1, 1),
                      'imageId': 'string',
                      'instanceId': 'string',
                      'instanceType': 'string',
                      'privateIpAddress': 'string',
                      'publicIpAddress': 'string',
                      'rootDeviceName': 'string',
                      'securityGroups': [
                          {
                              'groupId': 'string',
                              'groupName': 'string'
                          },
                      ],
                      'state': {
                          'code': 123,
                          'name': 'PENDING'|'RUNNING'|'SHUTTING_DOWN'|'TERMINATED'|'STOPPING'|'STOPPED'
                      },
                      'updatedAt': datetime(2015, 1, 1)
                  },
                  'lastUpdatedAt': datetime(2015, 1, 1)
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **instances** *(list) --* 

        A list of structures containing information about each instance.

        
        

        - *(dict) --* 

          The details about the instance.

          
          

          - **instance** *(dict) --* 

            A structure containing details about the instance.

            
            

            - **amiLaunchIndex** *(integer) --* 

              The Amazon Machine Image (AMI) launch index, which you can use to find this instance in the launch group.

              
            

            - **blockDeviceMappings** *(list) --* 

              Any block device mapping entries for the instance.

              
              

              - *(dict) --* 

                The description of a block device mapping.

                
                

                - **deviceName** *(string) --* 

                  The block device name.

                  
                

                - **ebs** *(dict) --* 

                  The parameters used to automatically set up Amazon Elastic Block Store (Amazon EBS) volumes when the instance is launched.

                  
                  

                  - **attachTime** *(datetime) --* 

                    When the attachment was initiated.

                    
                  

                  - **deleteOnTermination** *(boolean) --* 

                    A value that indicates whether the volume is deleted on instance termination.

                    
                  

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

                    The attachment state.

                    
                  

                  - **volumeId** *(string) --* 

                    The ID of the Amazon EBS volume.

                    
              
            
          
            

            - **cpuOptions** *(dict) --* 

              The CPU options for the instance.

              
              

              - **coreCount** *(integer) --* 

                The number of cores that the CPU can use.

                
              

              - **threadsPerCore** *(integer) --* 

                The number of threads per core in the CPU.

                
          
            

            - **createdAt** *(datetime) --* 

              When the instance was created.

              
            

            - **imageId** *(string) --* 

              The ID of the AMI used to launch the instance.

              
            

            - **instanceId** *(string) --* 

              The ID of the instance.

              
            

            - **instanceType** *(string) --* 

              The instance type.

              
            

            - **privateIpAddress** *(string) --* 

              The private IPv4 address assigned to the instance.

              
            

            - **publicIpAddress** *(string) --* 

              The public IPv4 address assigned to the instance.

              
            

            - **rootDeviceName** *(string) --* 

              The device name of the root device volume (for example, ``/dev/sda1``).

              
            

            - **securityGroups** *(list) --* 

              The security groups for the instance.

              
              

              - *(dict) --* 

                Information about the device's security group.

                
                

                - **groupId** *(string) --* 

                  The security group ID.

                  
                

                - **groupName** *(string) --* 

                  The security group name.

                  
            
          
            

            - **state** *(dict) --* 

              The description of the current state of an instance.

              
              

              - **code** *(integer) --* 

                The state of the instance as a 16-bit unsigned integer.

                 

                The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored.

                 

                The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255.

                 

                The valid values for the instance state code are all in the range of the low byte. These values are:

                 

                
                * ``0`` : ``pending``
                 
                * ``16`` : ``running``
                 
                * ``32`` : ``shutting-down``
                 
                * ``48`` : ``terminated``
                 
                * ``64`` : ``stopping``
                 
                * ``80`` : ``stopped``
                

                 

                You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.

                
              

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

                The current state of the instance.

                
          
            

            - **updatedAt** *(datetime) --* 

              When the instance was last updated.

              
        
          

          - **lastUpdatedAt** *(datetime) --* 

            When the instance summary was last updated.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`SnowDeviceManagement.Client.exceptions.ThrottlingException`

  
  *   :py:class:`SnowDeviceManagement.Client.exceptions.InternalServerException`

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

  
  *   :py:class:`SnowDeviceManagement.Client.exceptions.ValidationException`

  
  *   :py:class:`SnowDeviceManagement.Client.exceptions.AccessDeniedException`

  