API reference¶
Deployment utilities¶
Shared library to help surface ECS deployment information.
-
class
wellcome_aws_utils.deployment_utils.
Deployment
(deployment_key, deployment_status, color, created_at, task_definition)¶ -
color
¶ Alias for field number 2
-
created_at
¶ Alias for field number 3
-
deployment_key
¶ Alias for field number 0
-
deployment_status
¶ Alias for field number 1
-
task_definition
¶ Alias for field number 4
-
DynamoDB utilities¶
ECS¶
-
wellcome_aws_utils.ecs_utils.
clone_task_definition
(client, task_definition)[source]¶ Given a task definition ARN, clone the associated task.
Returns the new task definition ARN.
-
wellcome_aws_utils.ecs_utils.
describe_cluster
(ecs_client, cluster_arn)[source]¶ Given a cluster ARN attempts to find a matching cluster description.
Returns a cluster description.
-
wellcome_aws_utils.ecs_utils.
describe_service
(ecs_client, cluster_arn, service_arn)[source]¶ Given a cluster ARN and service ARN, attempts to find a matching service description.
Returns a service description.
-
wellcome_aws_utils.ecs_utils.
get_cluster_arns
(ecs_client)[source]¶ Extract the list of cluster ARNs in this account.
Returns a list of cluster ARNs.
-
wellcome_aws_utils.ecs_utils.
get_latest_task_definition
(client, cluster, service)[source]¶ Given the name of a cluster and a service, return the ARN for its latest task definition.
-
wellcome_aws_utils.ecs_utils.
get_service_arns
(ecs_client, cluster_arn)[source]¶ Given a cluster ARN, extracts the associated service ARNs.
Returns a list of service ARNS.
S3¶
-
wellcome_aws_utils.s3_utils.
is_object
(bucket, key)[source]¶ Checks if an object exists in S3. Returns True/False.
Parameters: - bucket – Bucket of the object to check.
- key – Key of the object to check.
-
wellcome_aws_utils.s3_utils.
copy_object
(src_bucket, src_key, dst_bucket, dst_key, lazy=False)[source]¶ Copy an object from one S3 bucket to another.
Parameters: - src_bucket – Bucket of the source object.
- src_key – Key of the source object.
- dst_bucket – Bucket of the destination object.
- dst_key – Key of the destination object.
- lazy – Do a lazy copy. This means that the object will only be copied if the destination object does not exist, or exists but has a different ETag from the source object.
-
wellcome_aws_utils.s3_utils.
parse_s3_record
(event)[source]¶ Extracts a simple subset of an S3 update event.
-
wellcome_aws_utils.s3_utils.
write_objects_to_s3
(bucket, key, objects)[source]¶ Given an iterable of objects that can be serialised as JSON, serialise them as JSON, and write them to a file in S3, one per line.
Parameters: - bucket – S3 bucket to upload the new file to.
- key – S3 key to upload the new file to.
- objects – An iterable of objects that can be serialised as JSON.
SNS¶
-
class
wellcome_aws_utils.sns_utils.
EnhancedJSONEncoder
(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]¶ -
default
(obj)[source]¶ Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).For example, to support arbitrary iterators, you could implement default like this:
def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) # Let the base class default method raise the TypeError return JSONEncoder.default(self, o)
-
-
class
wellcome_aws_utils.sns_utils.
SNSEvent
(subject, message)¶ -
message
¶ Alias for field number 1
-
subject
¶ Alias for field number 0
-
-
wellcome_aws_utils.sns_utils.
extract_json_message
(event)[source]¶ Extracts a JSON message from an SNS event sent to a lambda
Deprecated in favour of extract_sns_messages_from_lambda_event