Skip to content

Commit 671c1b8

Browse files
committed
(ELI-597) linting
1 parent 75b207e commit 671c1b8

3 files changed

Lines changed: 76 additions & 88 deletions

File tree

Lines changed: 39 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,71 @@
1-
import boto3
1+
import json
2+
import logging
3+
import os
24
import secrets
35
import string
4-
import os
5-
import logging
6-
import json
76

8-
SECRET_NAME = os.environ.get('SECRET_NAME')
9-
REGION_NAME = os.environ.get('AWS_REGION')
7+
import boto3
8+
9+
SECRET_NAME = os.environ.get("SECRET_NAME")
10+
REGION_NAME = os.environ.get("AWS_REGION")
1011

1112
logger = logging.getLogger()
1213
logger.setLevel(logging.INFO)
1314

15+
1416
def generate_password(length=32):
1517
"""Generates a secure random password."""
1618
alphabet = string.ascii_letters + string.digits + "!@#$%^&*"
17-
return ''.join(secrets.choice(alphabet) for i in range(length))
19+
return "".join(secrets.choice(alphabet) for i in range(length))
20+
1821

1922
def lambda_handler(event, context):
20-
sm_client = boto3.client('secretsmanager', region_name=REGION_NAME)
23+
sm_client = boto3.client("secretsmanager", region_name=REGION_NAME)
2124

22-
logger.info(json.dumps({
23-
'event': 'rotation_started',
24-
'request_id': context.aws_request_id,
25-
'secret_name': SECRET_NAME,
26-
'function': 'create_pending_secret'
27-
}))
25+
logger.info(
26+
json.dumps(
27+
{
28+
"event": "rotation_started",
29+
"request_id": context.aws_request_id,
30+
"secret_name": SECRET_NAME,
31+
"function": "create_pending_secret",
32+
}
33+
)
34+
)
2835

2936
try:
3037
metadata = sm_client.describe_secret(SecretId=SECRET_NAME)
3138
# Check if any version currently has the 'AWSPENDING' label
32-
for version_id, stages in metadata.get('VersionIdsToStages', {}).items():
33-
if 'AWSPENDING' in stages:
39+
for version_id, stages in metadata.get("VersionIdsToStages", {}).items():
40+
if "AWSPENDING" in stages:
3441
msg = f"Pending version already exists with version_id: {version_id}."
3542

36-
logger.warning(json.dumps({
37-
'event': 'rotation_aborted',
38-
'reason': 'pending_version_exists',
39-
'pending_version_id': version_id
40-
}))
43+
logger.warning(
44+
json.dumps(
45+
{
46+
"event": "rotation_aborted",
47+
"reason": "pending_version_exists",
48+
"pending_version_id": version_id,
49+
}
50+
)
51+
)
4152

4253
raise Exception(msg)
4354
except sm_client.exceptions.ResourceNotFoundException:
4455
logger.info("Secret not found. Proceeding to create (assuming it will be initialized).")
45-
pass
4656

4757
new_password = generate_password()
4858

4959
try:
50-
resp = sm_client.put_secret_value(
51-
SecretId=SECRET_NAME,
52-
SecretString=new_password,
53-
VersionStages=['AWSPENDING']
54-
)
60+
resp = sm_client.put_secret_value(SecretId=SECRET_NAME, SecretString=new_password, VersionStages=["AWSPENDING"])
5561

56-
logger.info(json.dumps({
57-
'event': 'pending_version_created',
58-
'version_id': resp['VersionId'],
59-
'status': 'success'
60-
}))
61-
return {
62-
"status": "success",
63-
"secret_name": SECRET_NAME,
64-
"version_id": resp['VersionId']
65-
}
62+
logger.info(
63+
json.dumps({"event": "pending_version_created", "version_id": resp["VersionId"], "status": "success"})
64+
)
65+
return {"status": "success", "secret_name": SECRET_NAME, "version_id": resp["VersionId"]}
6666

6767
except sm_client.exceptions.ResourceNotFoundException:
6868
raise Exception(f"The secret '{SECRET_NAME}' was not found in region '{REGION_NAME}'.")
6969
except Exception as e:
70-
logger.error(json.dumps({
71-
'event': 'rotation_failed',
72-
'error': str(e),
73-
'type': type(e).__name__
74-
}))
75-
raise Exception(f"Error creating pending secret: {str(e)}")
70+
logger.error(json.dumps({"event": "rotation_failed", "error": str(e), "type": type(e).__name__}))
71+
raise Exception(f"Error creating pending secret: {e!s}")
Lines changed: 36 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,66 @@
1-
import os
1+
import json
22
import logging
3+
import os
4+
35
import boto3
4-
import json
56

6-
SECRET_NAME = os.environ.get('SECRET_NAME')
7-
REGION_NAME = os.environ.get('AWS_REGION')
7+
SECRET_NAME = os.environ.get("SECRET_NAME")
8+
REGION_NAME = os.environ.get("AWS_REGION")
89

910
logger = logging.getLogger()
1011
logger.setLevel(logging.INFO)
1112

13+
1214
def lambda_handler(event, context):
13-
sm_client = boto3.client('secretsmanager', region_name=REGION_NAME)
14-
logger.info(json.dumps({
15-
'event': 'promotion_started',
16-
'request_id': context.aws_request_id,
17-
'secret_name': SECRET_NAME,
18-
'function': 'promote_to_current'
19-
}))
15+
sm_client = boto3.client("secretsmanager", region_name=REGION_NAME)
16+
logger.info(
17+
json.dumps(
18+
{
19+
"event": "promotion_started",
20+
"request_id": context.aws_request_id,
21+
"secret_name": SECRET_NAME,
22+
"function": "promote_to_current",
23+
}
24+
)
25+
)
2026

2127
try:
2228
metadata = sm_client.describe_secret(SecretId=SECRET_NAME)
2329
pending_version = None
2430

25-
for version_id, stages in metadata['VersionIdsToStages'].items():
26-
if 'AWSPENDING' in stages:
31+
for version_id, stages in metadata["VersionIdsToStages"].items():
32+
if "AWSPENDING" in stages:
2733
pending_version = version_id
2834
break
2935

3036
if not pending_version:
31-
logger.warning(json.dumps({
32-
'event': 'promotion_skipped',
33-
'reason': 'no_pending_version_found',
34-
'secret_name': SECRET_NAME
35-
}))
37+
logger.warning(
38+
json.dumps(
39+
{"event": "promotion_skipped", "reason": "no_pending_version_found", "secret_name": SECRET_NAME}
40+
)
41+
)
3642
return {"status": "skipped", "reason": "no_pending_version"}
3743

38-
logger.info(json.dumps({
39-
'event': 'promoting_version',
40-
'pending_version_id': pending_version,
41-
'action': 'swap_AWSCURRENT'
42-
}))
44+
logger.info(
45+
json.dumps(
46+
{"event": "promoting_version", "pending_version_id": pending_version, "action": "swap_AWSCURRENT"}
47+
)
48+
)
4349

4450
sm_client.update_secret_version_stage(
45-
SecretId=SECRET_NAME,
46-
VersionStage='AWSCURRENT',
47-
MoveToVersionId=pending_version
51+
SecretId=SECRET_NAME, VersionStage="AWSCURRENT", MoveToVersionId=pending_version
4852
)
4953

5054
sm_client.update_secret_version_stage(
51-
SecretId=SECRET_NAME,
52-
VersionStage='AWSPENDING',
53-
RemoveFromVersionId=pending_version
55+
SecretId=SECRET_NAME, VersionStage="AWSPENDING", RemoveFromVersionId=pending_version
5456
)
5557

56-
logger.info(json.dumps({
57-
'event': 'promotion_complete',
58-
'new_current_version': pending_version,
59-
'status': 'success'
60-
}))
58+
logger.info(
59+
json.dumps({"event": "promotion_complete", "new_current_version": pending_version, "status": "success"})
60+
)
6161

62-
return {
63-
'status': 'success',
64-
'action': 'promoted_and_cleaned',
65-
'new_current_version': pending_version
66-
}
62+
return {"status": "success", "action": "promoted_and_cleaned", "new_current_version": pending_version}
6763

6864
except Exception as e:
69-
logger.error(json.dumps({
70-
'event': 'promotion_failed',
71-
'error': str(e),
72-
'type': type(e).__name__
73-
}))
65+
logger.error(json.dumps({"event": "promotion_failed", "error": str(e), "type": type(e).__name__}))
7466
raise e

src/eligibility_signposting_api/model/campaign_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ class IterationRule(BaseModel):
158158
model_config = {"populate_by_name": True, "extra": "ignore"}
159159

160160
@field_validator("rule_stop", mode="before")
161-
def parse_yn_to_bool(cls, v: str | bool) -> bool: # noqa: N805, FBT001
161+
def parse_yn_to_bool(cls, v: str | bool) -> bool: # noqa: N805
162162
if isinstance(v, str):
163163
return v.upper() == "Y"
164164
return v

0 commit comments

Comments
 (0)