Skip to content

Commit e6edaa7

Browse files
authored
Merge pull request #35 from mz-ko/master
Add config for session client to increment retries count.
2 parents 77bea7f + cf8326f commit e6edaa7

File tree

3 files changed

+45
-10
lines changed

3 files changed

+45
-10
lines changed

src/plugin/connector/base.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def set_client(self, service_name):
119119
self._client = self.session.client(
120120
self.service_name,
121121
verify=BOTO3_HTTPS_VERIFIED,
122-
Config=Config(retries={"max_attempts": 10}),
122+
config=Config(retries={"max_attempts": 10}),
123123
)
124124
return self._client
125125

@@ -130,7 +130,11 @@ def load_account_id(self, account_id):
130130
self.account_id = account_id
131131

132132
def set_account_id(self):
133-
sts_client = self.session.client("sts", verify=BOTO3_HTTPS_VERIFIED)
133+
sts_client = self.session.client(
134+
"sts",
135+
verify=BOTO3_HTTPS_VERIFIED,
136+
config=Config(retries={"max_attempts": 10}),
137+
)
134138
self.account_id = sts_client.get_caller_identity()["Account"]
135139

136140
def set_cloud_service_types(self):

src/plugin/connector/ec2/auto_scaling_group_connector.py

+32-6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from botocore.config import Config
2+
13
from plugin.conf.cloud_service_conf import BOTO3_HTTPS_VERIFIED
24
from plugin.connector.base import ResourceConnector
35

@@ -25,7 +27,11 @@ def get_auto_scaling_groups(self):
2527
return response_iterator
2628

2729
def get_launch_templates(self):
28-
lt_client = self.session.client("ec2", verify=BOTO3_HTTPS_VERIFIED)
30+
lt_client = self.session.client(
31+
"ec2",
32+
verify=BOTO3_HTTPS_VERIFIED,
33+
config=Config(retries={"max_attempts": 10}),
34+
)
2935
paginator = lt_client.get_paginator("describe_launch_templates")
3036
response_iterator = paginator.paginate(
3137
PaginationConfig={
@@ -46,29 +52,49 @@ def get_launch_configurations(self):
4652
return response_iterator
4753

4854
def describe_launch_template_versions(self, lt):
49-
lt_client = self.session.client("ec2", verify=BOTO3_HTTPS_VERIFIED)
55+
lt_client = self.session.client(
56+
"ec2",
57+
verify=BOTO3_HTTPS_VERIFIED,
58+
config=Config(retries={"max_attempts": 10}),
59+
)
5060
lt_versions = lt_client.describe_launch_template_versions(LaunchTemplateId=lt)
5161
return lt_versions
5262

5363
def describe_instances(self, instance_ids):
54-
ec2_client = self.session.client("ec2", verify=BOTO3_HTTPS_VERIFIED)
64+
ec2_client = self.session.client(
65+
"ec2",
66+
verify=BOTO3_HTTPS_VERIFIED,
67+
config=Config(retries={"max_attempts": 10}),
68+
)
5569
res = ec2_client.describe_instances(InstanceIds=instance_ids)
5670
return res
5771

5872
def describe_target_groups(self, tg_arns):
59-
elb_client = self.session.client("elbv2", verify=BOTO3_HTTPS_VERIFIED)
73+
elb_client = self.session.client(
74+
"elbv2",
75+
verify=BOTO3_HTTPS_VERIFIED,
76+
config=Config(retries={"max_attempts": 10}),
77+
)
6078
res = elb_client.describe_target_groups(TargetGroupArns=tg_arns)
6179
return res
6280

6381
def describe_load_balancers(self, lb_arns):
64-
elb_client = self.session.client("elbv2", verify=BOTO3_HTTPS_VERIFIED)
82+
elb_client = self.session.client(
83+
"elbv2",
84+
verify=BOTO3_HTTPS_VERIFIED,
85+
config=Config(retries={"max_attempts": 10}),
86+
)
6587
res = elb_client.describe_load_balancers(LoadBalancerArns=lb_arns).get(
6688
"LoadBalancers", []
6789
)
6890
return res
6991

7092
def describe_listeners(self, lb_arn):
71-
elb_client = self.session.client("elbv2", verify=BOTO3_HTTPS_VERIFIED)
93+
elb_client = self.session.client(
94+
"elbv2",
95+
verify=BOTO3_HTTPS_VERIFIED,
96+
config=Config(retries={"max_attempts": 10}),
97+
)
7298
res = elb_client.describe_listeners(lb_arn).get("Listeners", [])
7399
return res
74100

src/plugin/connector/ec2/instance_connector.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from botocore.config import Config
12
from spaceone.core.error import ERROR_REQUIRED_PARAMETER
23

34
from plugin.conf.cloud_service_conf import *
@@ -15,8 +16,12 @@ def __init__(self, secret_data, region_name):
1516
self.service_name = "ec2"
1617
self.cloud_service_type = "Instance"
1718
self.rest_service_name = "ec2"
18-
self.asg_client = self.session.client("autoscaling")
19-
self.elbv2_client = self.session.client("elbv2")
19+
self.asg_client = self.session.client(
20+
"autoscaling", config=Config(retries={"max_attempts": 10})
21+
)
22+
self.elbv2_client = self.session.client(
23+
"elbv2", config=Config(retries={"max_attempts": 10})
24+
)
2025

2126
def list_regions(self, **query):
2227
query = self._generate_query(is_paginate=False, **query)

0 commit comments

Comments
 (0)