Skip to content

Commit

Permalink
fix: Add ssm exception for collect.
Browse files Browse the repository at this point in the history
Signed-off-by: mz-ko <hyupko@megazone.com>
  • Loading branch information
mz-ko committed Jul 22, 2024
1 parent e374e5b commit fbf2f92
Showing 1 changed file with 35 additions and 29 deletions.
64 changes: 35 additions & 29 deletions src/plugin/connector/ec2/instance_connector.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from spaceone.core.error import ERROR_REQUIRED_PARAMETER

from plugin.conf.cloud_service_conf import *
from plugin.connector.base import ResourceConnector
from plugin.connector.base import ResourceConnector, _LOGGER


class InstanceConnector(ResourceConnector):
Expand Down Expand Up @@ -224,35 +224,41 @@ def _generate_query(is_paginate=False, **query):
def describe_instance_information(self, instances, **query) -> dict:
instance_information = {}

for i in range(0, len(instances), 100):
instances_chunk = instances[i : i + 100]
query = self._generate_query(is_paginate=True, **query)
query.update(
{
"Filters": [
{
"Key": "InstanceIds",
"Values": self._get_instance_ids_from_instance(
instances_chunk
),
},
]
}
)
paginator = self.ssm_client.get_paginator("describe_instance_information")
response_iterator = paginator.paginate(**query)

for data in response_iterator:
for instance in data.get("InstanceInformationList", []):
instance_information.update(
{
instance.get("InstanceId"): {
"platform_type": instance.get("PlatformType"),
"platform_name": instance.get("PlatformName"),
"platform_version": instance.get("PlatformVersion"),
try:
for i in range(0, len(instances), 100):
instances_chunk = instances[i : i + 100]
query = self._generate_query(is_paginate=True, **query)
query.update(
{
"Filters": [
{
"Key": "InstanceIds",
"Values": self._get_instance_ids_from_instance(
instances_chunk
),
},
]
}
)
paginator = self.ssm_client.get_paginator(
"describe_instance_information"
)
response_iterator = paginator.paginate(**query)

for data in response_iterator:
for instance in data.get("InstanceInformationList", []):
instance_information.update(
{
instance.get("InstanceId"): {
"platform_type": instance.get("PlatformType"),
"platform_name": instance.get("PlatformName"),
"platform_version": instance.get("PlatformVersion"),
}
}
}
)
)
except Exception as e:
_LOGGER.error(f"[instance_information] {e}")
instance_information = {}

return instance_information

Expand Down

0 comments on commit fbf2f92

Please sign in to comment.