Added JobDefinition to cloudformation
This commit is contained in:
parent
9805a279c7
commit
629503398c
3 changed files with 116 additions and 16 deletions
|
|
@ -162,3 +162,86 @@ def test_create_job_queue_cf():
|
|||
job_queue_resource['PhysicalResourceId'].startswith('arn:aws:batch:')
|
||||
job_queue_resource['PhysicalResourceId'].should.contain('test_stack')
|
||||
job_queue_resource['PhysicalResourceId'].should.contain('job-queue/')
|
||||
|
||||
|
||||
@mock_cloudformation()
|
||||
@mock_ec2
|
||||
@mock_ecs
|
||||
@mock_iam
|
||||
@mock_batch
|
||||
def test_create_job_def_cf():
|
||||
ec2_client, iam_client, ecs_client, logs_client, batch_client = _get_clients()
|
||||
vpc_id, subnet_id, sg_id, iam_arn = _setup(ec2_client, iam_client)
|
||||
|
||||
create_environment_template = {
|
||||
'Resources': {
|
||||
"ComputeEnvironment": {
|
||||
"Type": "AWS::Batch::ComputeEnvironment",
|
||||
"Properties": {
|
||||
"Type": "MANAGED",
|
||||
"ComputeResources": {
|
||||
"Type": "EC2",
|
||||
"MinvCpus": 0,
|
||||
"DesiredvCpus": 0,
|
||||
"MaxvCpus": 64,
|
||||
"InstanceTypes": [
|
||||
"optimal"
|
||||
],
|
||||
"Subnets": [subnet_id],
|
||||
"SecurityGroupIds": [sg_id],
|
||||
"InstanceRole": iam_arn
|
||||
},
|
||||
"ServiceRole": iam_arn
|
||||
}
|
||||
},
|
||||
|
||||
"JobQueue": {
|
||||
"Type": "AWS::Batch::JobQueue",
|
||||
"Properties": {
|
||||
"Priority": 1,
|
||||
"ComputeEnvironmentOrder": [
|
||||
{
|
||||
"Order": 1,
|
||||
"ComputeEnvironment": {"Ref": "ComputeEnvironment"}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
"JobDefinition": {
|
||||
"Type": "AWS::Batch::JobDefinition",
|
||||
"Properties": {
|
||||
"Type": "container",
|
||||
"ContainerProperties": {
|
||||
"Image": {
|
||||
"Fn::Join": ["", ["137112412989.dkr.ecr.", {"Ref": "AWS::Region"}, ".amazonaws.com/amazonlinux:latest"]]
|
||||
},
|
||||
"Vcpus": 2,
|
||||
"Memory": 2000,
|
||||
"Command": ["echo", "Hello world"]
|
||||
},
|
||||
"RetryStrategy": {
|
||||
"Attempts": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
cf_json = json.dumps(create_environment_template)
|
||||
|
||||
cf_conn = boto3.client('cloudformation', DEFAULT_REGION)
|
||||
stack_id = cf_conn.create_stack(
|
||||
StackName='test_stack',
|
||||
TemplateBody=cf_json,
|
||||
)['StackId']
|
||||
|
||||
stack_resources = cf_conn.list_stack_resources(StackName=stack_id)
|
||||
len(stack_resources['StackResourceSummaries']).should.equal(3)
|
||||
|
||||
job_def_resource = list(filter(lambda item: item['ResourceType'] == 'AWS::Batch::JobDefinition', stack_resources['StackResourceSummaries']))[0]
|
||||
|
||||
job_def_resource['ResourceStatus'].should.equal('CREATE_COMPLETE')
|
||||
# Spot checks on the ARN
|
||||
job_def_resource['PhysicalResourceId'].startswith('arn:aws:batch:')
|
||||
job_def_resource['PhysicalResourceId'].should.contain('test_stack-JobDef')
|
||||
job_def_resource['PhysicalResourceId'].should.contain('job-definition/')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue