|
2 | 2 | from spaceone.core.error import ERROR_REQUIRED_PARAMETER |
3 | 3 |
|
4 | 4 | from plugin.conf.cloud_service_conf import * |
5 | | -from plugin.connector.base import ResourceConnector |
| 5 | +from plugin.connector.base import ResourceConnector, _LOGGER |
6 | 6 |
|
7 | 7 |
|
8 | 8 | class InstanceConnector(ResourceConnector): |
@@ -224,35 +224,41 @@ def _generate_query(is_paginate=False, **query): |
224 | 224 | def describe_instance_information(self, instances, **query) -> dict: |
225 | 225 | instance_information = {} |
226 | 226 |
|
227 | | - for i in range(0, len(instances), 100): |
228 | | - instances_chunk = instances[i : i + 100] |
229 | | - query = self._generate_query(is_paginate=True, **query) |
230 | | - query.update( |
231 | | - { |
232 | | - "Filters": [ |
233 | | - { |
234 | | - "Key": "InstanceIds", |
235 | | - "Values": self._get_instance_ids_from_instance( |
236 | | - instances_chunk |
237 | | - ), |
238 | | - }, |
239 | | - ] |
240 | | - } |
241 | | - ) |
242 | | - paginator = self.ssm_client.get_paginator("describe_instance_information") |
243 | | - response_iterator = paginator.paginate(**query) |
244 | | - |
245 | | - for data in response_iterator: |
246 | | - for instance in data.get("InstanceInformationList", []): |
247 | | - instance_information.update( |
248 | | - { |
249 | | - instance.get("InstanceId"): { |
250 | | - "platform_type": instance.get("PlatformType"), |
251 | | - "platform_name": instance.get("PlatformName"), |
252 | | - "platform_version": instance.get("PlatformVersion"), |
| 227 | + try: |
| 228 | + for i in range(0, len(instances), 100): |
| 229 | + instances_chunk = instances[i : i + 100] |
| 230 | + query = self._generate_query(is_paginate=True, **query) |
| 231 | + query.update( |
| 232 | + { |
| 233 | + "Filters": [ |
| 234 | + { |
| 235 | + "Key": "InstanceIds", |
| 236 | + "Values": self._get_instance_ids_from_instance( |
| 237 | + instances_chunk |
| 238 | + ), |
| 239 | + }, |
| 240 | + ] |
| 241 | + } |
| 242 | + ) |
| 243 | + paginator = self.ssm_client.get_paginator( |
| 244 | + "describe_instance_information" |
| 245 | + ) |
| 246 | + response_iterator = paginator.paginate(**query) |
| 247 | + |
| 248 | + for data in response_iterator: |
| 249 | + for instance in data.get("InstanceInformationList", []): |
| 250 | + instance_information.update( |
| 251 | + { |
| 252 | + instance.get("InstanceId"): { |
| 253 | + "platform_type": instance.get("PlatformType"), |
| 254 | + "platform_name": instance.get("PlatformName"), |
| 255 | + "platform_version": instance.get("PlatformVersion"), |
| 256 | + } |
253 | 257 | } |
254 | | - } |
255 | | - ) |
| 258 | + ) |
| 259 | + except Exception as e: |
| 260 | + _LOGGER.error(f"[instance_information] {e}") |
| 261 | + instance_information = {} |
256 | 262 |
|
257 | 263 | return instance_information |
258 | 264 |
|
|
0 commit comments