cloud-governance 1.1.380__py3-none-any.whl → 1.1.381__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -222,11 +222,14 @@ class IAMOperations:
222
222
  if last_used_date:
223
223
  last_used_days = (now - last_used_date).days
224
224
  else:
225
- last_used_days = "N/A"
225
+ # when no last used date is available, get the age of the key
226
+ last_used_days = age_days
226
227
  except Exception:
227
- last_used_days = "N/A"
228
+ # Set None in case of error to avoid deletion, not "N/A" because it will take age time
229
+ logger.error(f"Failed to get last used date for access key")
230
+ last_used_days = None
228
231
 
229
- result[username][label] = {'label': label, 'status': status, 'age_days': age_days, 'last_activity_days': last_used_days if last_used_days is not None else "N/A"}
232
+ result[username][label] = {'label': label, 'status': status, 'age_days': age_days, 'last_activity_days': last_used_days}
230
233
 
231
234
  # Tags as list of dicts
232
235
  try:
@@ -185,6 +185,7 @@ class EnvironmentVariables:
185
185
  self._environment_variables_dict['RESOURCE_TO_TAG'] = EnvironmentVariables.get_env('RESOURCE_TO_TAG', '')
186
186
 
187
187
  # Common env vars
188
+ # when dry_run='no', choose FORCE_DELETE=True and update self._resource_id in abstract_policy_operations.py
188
189
  self._environment_variables_dict['dry_run'] = EnvironmentVariables.get_env('dry_run', 'yes')
189
190
  self._environment_variables_dict['FORCE_DELETE'] = EnvironmentVariables.get_boolean_from_environment(
190
191
  'FORCE_DELETE', False)
@@ -21,15 +21,12 @@ class UnusedAccessKey(AWSPolicyOperations):
21
21
  if 'access key' in access_key_label.lower():
22
22
  last_activity_days = access_key_data['last_activity_days']
23
23
  age_days = access_key_data['age_days']
24
- # if access key last_activity_days is "N/A", use age_days
25
- if last_activity_days == "N/A":
26
- last_activity_days = age_days
27
24
  region = user_data['region']
28
25
  user_name = username
29
26
  tags = user_data.get('Tags', [])
30
27
  cleanup_result = False
31
28
  cleanup_days = 0
32
- if int(last_activity_days) >= UNUSED_ACCESS_KEY_DAYS and self._has_active_access_keys(user_name, access_key_label) and self.get_skip_policy_value(tags=tags) not in ('NOTDELETE', 'SKIP'):
29
+ if last_activity_days and int(last_activity_days) >= UNUSED_ACCESS_KEY_DAYS and self._has_active_access_keys(user_name, access_key_label) and self.get_skip_policy_value(tags=tags) not in ('NOTDELETE', 'SKIP'):
33
30
  cleanup_days = self.get_clean_up_days_count(tags=tags)
34
31
  cleanup_result = self.verify_and_delete_resource(resource_id=user_name, tags=tags,
35
32
  clean_up_days=cleanup_days, access_key_label=access_key_label)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloud-governance
3
- Version: 1.1.380
3
+ Version: 1.1.381
4
4
  Summary: Cloud Governance Tool
5
5
  Home-page: https://github.com/redhat-performance/cloud-governance
6
6
  Author: Red Hat
@@ -51,7 +51,7 @@ cloud_governance/common/clouds/aws/dynamodb/dynamodb_operations.py,sha256=eeV3Yg
51
51
  cloud_governance/common/clouds/aws/ec2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
52
  cloud_governance/common/clouds/aws/ec2/ec2_operations.py,sha256=0ibMvf7nqyK9MCRhxrg11xnOPELqsZIQsZUgd6_neKc,24680
53
53
  cloud_governance/common/clouds/aws/iam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
- cloud_governance/common/clouds/aws/iam/iam_operations.py,sha256=QXRevArr3OjSOIDhAAc61iZyZZSMGxI97ezySOgdqv8,11485
54
+ cloud_governance/common/clouds/aws/iam/iam_operations.py,sha256=cQWh1iJdlQCGVcZcQF6aDt8fQrKnv6n-361xALNQ7QQ,11732
55
55
  cloud_governance/common/clouds/aws/price/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
56
  cloud_governance/common/clouds/aws/price/price.py,sha256=Ju76WniNTVujQPi6QFRgLt6Jd8gsxL2FOnN7c1et5F0,6403
57
57
  cloud_governance/common/clouds/aws/price/resources_pricing.py,sha256=k-hucUvxpZfF126wLQQwJt3BzNQiOoSU1x6gjIQ_4cM,6253
@@ -143,7 +143,7 @@ cloud_governance/common/utils/configs.py,sha256=shFxWt0Kc-GwzcZKYCkHm058ujwdTxn4
143
143
  cloud_governance/common/utils/json_datetime_encoder.py,sha256=_-jzRTe0UqAKTn2E9qaU8SYIxHUoRA5ElWuVA0Y54Xw,338
144
144
  cloud_governance/common/utils/utils.py,sha256=ZUsi4ax2XhDIV-EQ5kJt5Ppd72kmm2psqcg1cNDZrvc,4349
145
145
  cloud_governance/main/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
- cloud_governance/main/environment_variables.py,sha256=fxGtPqdoRyXk0T7Hp6oSoCoPrEc3d80551v6d_vdaKk,29448
146
+ cloud_governance/main/environment_variables.py,sha256=8OdeTmZNnjCJtXVKjQnqVR4_fnVCRxxW4mZ4Oirq09M,29564
147
147
  cloud_governance/main/environment_variables_exceptions.py,sha256=UR0Ith0P0oshsDZdJRlRq8ZUTt0h8jFvUtrnP4m4AIY,437
148
148
  cloud_governance/main/es_uploader.py,sha256=6Ify5CS2NtUF1xXZ-rMwpYxVzDKfEZhv2vogWFltt98,10656
149
149
  cloud_governance/main/main.py,sha256=4TBiCBO_1z8KpGXb8brPKBmv3jHBl8fl_-Sb80ctYno,18880
@@ -166,7 +166,7 @@ cloud_governance/policy/aws/optimize_resources_report.py,sha256=zG7w8KHF7Z25jxYG
166
166
  cloud_governance/policy/aws/s3_inactive.py,sha256=NXUUGtJhpqohaWYczSebw-q0Q7RKg3XMMj_h7xfGhQ0,2839
167
167
  cloud_governance/policy/aws/skipped_resources.py,sha256=D0kbt9dg6Bkl5PgGaqimWvLct6D-JOnerzJ0FkWzGFc,5679
168
168
  cloud_governance/policy/aws/spot_savings_analysis.py,sha256=lGG5qtz8pr7xjLo5BrtVSHGTz928MLwYPbSCaDfpTes,5513
169
- cloud_governance/policy/aws/unused_access_key.py,sha256=62_JaQMZLgnmYck0Brp8CTS1CvyRhwcNTXYmFjgWMoY,3542
169
+ cloud_governance/policy/aws/unused_access_key.py,sha256=T4XwZT9b4IjTuV9JgCGvBPgMHbyu9tr-W9XI7d-emSE,3381
170
170
  cloud_governance/policy/aws/zombie_cluster_resource.py,sha256=Qkd5_Sh74cixaL7yiQgU1OvoEIfGmeKSECb5tNAnQ7I,59675
171
171
  cloud_governance/policy/aws/zombie_snapshots.py,sha256=V48cq4GCG2z-MRwUSE4b5wQcGeI_T1Ah99SiHlTwkvY,3834
172
172
  cloud_governance/policy/aws/cleanup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -264,8 +264,8 @@ cloud_governance/policy/policy_runners/elasticsearch/__init__.py,sha256=47DEQpj8
264
264
  cloud_governance/policy/policy_runners/elasticsearch/upload_elastic_search.py,sha256=pOwUJWXjJbyTy8iv3Ap8xJGnqQe-5lZgoR8-vGfAVos,1881
265
265
  cloud_governance/policy/policy_runners/ibm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
266
266
  cloud_governance/policy/policy_runners/ibm/policy_runner.py,sha256=V0E_f7F3hXit0aSq4BlfX1Jd4vjR2NEvOWsJ5upvZ4o,1302
267
- cloud_governance-1.1.380.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
268
- cloud_governance-1.1.380.dist-info/METADATA,sha256=9nkOcj-OPneyM7zXBMTxPJzlPMXrd0yCIUTHRpu3phs,11384
269
- cloud_governance-1.1.380.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
270
- cloud_governance-1.1.380.dist-info/top_level.txt,sha256=jfB1fgj7jvx3YZkZA4G6hFeS1RHO7J7XtnbjuMNMRww,17
271
- cloud_governance-1.1.380.dist-info/RECORD,,
267
+ cloud_governance-1.1.381.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
268
+ cloud_governance-1.1.381.dist-info/METADATA,sha256=OXwXhY7LJ5wTFMQi5HwapZIK1FHkuaP9T1w1NuDKPi0,11384
269
+ cloud_governance-1.1.381.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
270
+ cloud_governance-1.1.381.dist-info/top_level.txt,sha256=jfB1fgj7jvx3YZkZA4G6hFeS1RHO7J7XtnbjuMNMRww,17
271
+ cloud_governance-1.1.381.dist-info/RECORD,,