1def make_arn_for_compute_env(account_id, name, region_name):
2    return "arn:aws:batch:{0}:{1}:compute-environment/{2}".format(
3        region_name, account_id, name
4    )
5
6
7def make_arn_for_job_queue(account_id, name, region_name):
8    return "arn:aws:batch:{0}:{1}:job-queue/{2}".format(region_name, account_id, name)
9
10
11def make_arn_for_task_def(account_id, name, revision, region_name):
12    return "arn:aws:batch:{0}:{1}:job-definition/{2}:{3}".format(
13        region_name, account_id, name, revision
14    )
15
16
17def lowercase_first_key(some_dict):
18    new_dict = {}
19    for key, value in some_dict.items():
20        new_key = key[0].lower() + key[1:]
21        try:
22            if isinstance(value, dict):
23                new_dict[new_key] = lowercase_first_key(value)
24            elif all([isinstance(v, dict) for v in value]):
25                new_dict[new_key] = [lowercase_first_key(v) for v in value]
26            else:
27                new_dict[new_key] = value
28        except TypeError:
29            new_dict[new_key] = value
30
31    return new_dict
32