|
2 | 2 |
|
3 | 3 | import json |
4 | 4 |
|
5 | | -from arns import AWS_MANAGED_GLUE_IAM_POLICY_ARN, CRAWLER_IAM_POLICY_ARN |
| 5 | +from arns import AWS_MANAGED_GLUE_IAM_POLICY_ARN, GLUE_CRAWLER_IAM_POLICY_ARN |
6 | 6 | from logger import logger |
7 | | -from vars import ACCOUNT_ID, CRAWLER_IAM_ROLE |
| 7 | +from vars import ACCOUNT_ID, GLUE_CRAWLER_IAM_ROLE |
8 | 8 |
|
9 | 9 | iam = boto3.client("iam") |
10 | 10 |
|
|
28 | 28 |
|
29 | 29 | try: |
30 | 30 | iam.create_role( |
31 | | - RoleName=CRAWLER_IAM_ROLE, |
| 31 | + RoleName=GLUE_CRAWLER_IAM_ROLE, |
32 | 32 | AssumeRolePolicyDocument=json.dumps(trust_policy) |
33 | 33 | ) |
34 | 34 | logger.info(f"Created role") |
|
37 | 37 |
|
38 | 38 |
|
39 | 39 | # Get existing attached policies |
40 | | -response = iam.list_attached_role_policies(RoleName=CRAWLER_IAM_ROLE) |
| 40 | +response = iam.list_attached_role_policies(RoleName=GLUE_CRAWLER_IAM_ROLE) |
41 | 41 | attached_policies = [p['PolicyArn'] for p in response.get('AttachedPolicies', [])] |
42 | 42 |
|
43 | 43 | if AWS_MANAGED_GLUE_IAM_POLICY_ARN not in attached_policies: |
44 | 44 | iam.attach_role_policy( |
45 | | - RoleName=CRAWLER_IAM_ROLE, |
| 45 | + RoleName=GLUE_CRAWLER_IAM_ROLE, |
46 | 46 | PolicyArn=AWS_MANAGED_GLUE_IAM_POLICY_ARN |
47 | 47 | ) |
48 | 48 | logger.info("AWS Glue Service Role policy attached.") |
49 | 49 | else: |
50 | 50 | logger.info("AWS Glue Service Role policy already attached.") |
51 | 51 |
|
52 | | -if CRAWLER_IAM_POLICY_ARN not in attached_policies: |
| 52 | +if GLUE_CRAWLER_IAM_POLICY_ARN not in attached_policies: |
53 | 53 | iam.attach_role_policy( |
54 | | - RoleName=CRAWLER_IAM_ROLE, |
55 | | - PolicyArn=CRAWLER_IAM_POLICY_ARN |
| 54 | + RoleName=GLUE_CRAWLER_IAM_ROLE, |
| 55 | + PolicyArn=GLUE_CRAWLER_IAM_POLICY_ARN |
56 | 56 | ) |
57 | 57 | logger.info("Custom Glue Crawler policy attached.") |
58 | 58 | else: |
|
0 commit comments