nodes: 0, module; 1, function_definition; 2, function_name:list_campaign_device_states; 3, parameters; 4, block; 5, identifier:self; 6, identifier:campaign_id; 7, dictionary_splat_pattern; 8, expression_statement; 9, expression_statement; 10, expression_statement; 11, expression_statement; 12, expression_statement; 13, return_statement; 14, identifier:kwargs; 15, comment:"""List campaign devices status.
  
          :param str campaign_id: Id of the update campaign (Required)
          :param int limit: number of devices state to retrieve
          :param str order: sort direction of device state when ordered by creation time (desc|asc)
          :param str after: get devices state after given id
          :return: List of :py:class:`CampaignDeviceState` objects
          :rtype: PaginatedResponse
          """; 16, assignment; 17, assignment; 18, assignment; 19, assignment; 20, call; 21, identifier:kwargs; 22, call; 23, identifier:kwargs; 24, call; 25, subscript; 26, identifier:campaign_id; 27, identifier:api; 28, call; 29, identifier:PaginatedResponse; 30, argument_list; 31, attribute; 32, argument_list; 33, attribute; 34, argument_list; 35, identifier:kwargs; 36, string:"campaign_id"; 37, attribute; 38, argument_list; 39, attribute; 40, keyword_argument; 41, dictionary_splat; 42, identifier:self; 43, identifier:_verify_sort_options; 44, identifier:kwargs; 45, identifier:self; 46, identifier:_verify_filters; 47, identifier:kwargs; 48, identifier:CampaignDeviceState; 49, True; 50, identifier:self; 51, identifier:_get_api; 52, attribute; 53, identifier:api; 54, identifier:update_campaign_metadata_list; 55, identifier:lwrap_type; 56, identifier:CampaignDeviceState; 57, identifier:kwargs; 58, identifier:update_service; 59, identifier:DefaultApi
code: def list_campaign_device_states(self, campaign_id, **kwargs):
          """List campaign devices status.
  
          :param str campaign_id: Id of the update campaign (Required)
          :param int limit: number of devices state to retrieve
          :param str order: sort direction of device state when ordered by creation time (desc|asc)
          :param str after: get devices state after given id
          :return: List of :py:class:`CampaignDeviceState` objects
          :rtype: PaginatedResponse
          """
          kwargs = self._verify_sort_options(kwargs)
          kwargs = self._verify_filters(kwargs, CampaignDeviceState, True)
          kwargs["campaign_id"] = campaign_id
          api = self._get_api(update_service.DefaultApi)
          return PaginatedResponse(api.update_campaign_metadata_list,
                                   lwrap_type=CampaignDeviceState, **kwargs)