|
30 | 30 | u'secrets': ({"name": "baz", "valueFrom": "qux"}, {"name": "dolor", "valueFrom": "sit"})}, |
31 | 31 | {u'name': u'application', u'image': u'application:123', u'command': u'run', u'environment': ()} |
32 | 32 | ] |
| 33 | + |
33 | 34 | TASK_DEFINITION_FAMILY_2 = u'test-task' |
34 | 35 | TASK_DEFINITION_REVISION_2 = 2 |
35 | 36 | TASK_DEFINITION_ARN_2 = u'arn:aws:ecs:eu-central-1:123456789012:task-definition/%s:%s' % (TASK_DEFINITION_FAMILY_2, |
|
42 | 43 | {u'name': u'application', u'image': u'application:123', u'command': u'run', u'environment': ()} |
43 | 44 | ] |
44 | 45 |
|
| 46 | +TASK_DEFINITION_REVISION_3 = 3 |
| 47 | +TASK_DEFINITION_ARN_3 = u'arn:aws:ecs:eu-central-1:123456789012:task-definition/%s:%s' % (TASK_DEFINITION_FAMILY_1, |
| 48 | + TASK_DEFINITION_REVISION_3) |
| 49 | +TASK_DEFINITION_VOLUMES_3 = [] |
| 50 | +TASK_DEFINITION_CONTAINERS_3 = [ |
| 51 | + {u'name': u'webserver', u'image': u'webserver:456', u'command': u'execute', |
| 52 | + u'environment': ({"name": "foo", "value": "foobar"}, {"name": "newvar", "value": "new value"}), |
| 53 | + u'secrets': ({"name": "baz", "valueFrom": "foobaz"}, {"name": "dolor", "valueFrom": "loremdolor"})}, |
| 54 | + {u'name': u'application', u'image': u'application:123', u'command': u'run', u'environment': ()} |
| 55 | +] |
| 56 | +TASK_DEFINITION_ROLE_ARN_3 = u'arn:test:another-role:1' |
| 57 | + |
45 | 58 | PAYLOAD_TASK_DEFINITION_1 = { |
46 | 59 | u'taskDefinitionArn': TASK_DEFINITION_ARN_1, |
47 | 60 | u'family': TASK_DEFINITION_FAMILY_1, |
|
69 | 82 | u'compatibilities': [u'EC2'], |
70 | 83 | } |
71 | 84 |
|
| 85 | +PAYLOAD_TASK_DEFINITION_3 = { |
| 86 | + u'taskDefinitionArn': TASK_DEFINITION_ARN_3, |
| 87 | + u'family': TASK_DEFINITION_FAMILY_1, |
| 88 | + u'revision': TASK_DEFINITION_REVISION_3, |
| 89 | + u'taskRoleArn': TASK_DEFINITION_ROLE_ARN_3, |
| 90 | + u'executionRoleArn': TASK_DEFINITION_ROLE_ARN_3, |
| 91 | + u'volumes': deepcopy(TASK_DEFINITION_VOLUMES_3), |
| 92 | + u'containerDefinitions': deepcopy(TASK_DEFINITION_CONTAINERS_3), |
| 93 | + u'status': u'active', |
| 94 | + u'requiresAttributes': {}, |
| 95 | + u'networkMode': u'host', |
| 96 | + u'placementConstraints': {}, |
| 97 | + u'unknownProperty': u'lorem-ipsum', |
| 98 | + u'compatibilities': [u'EC2'], |
| 99 | +} |
| 100 | + |
72 | 101 | TASK_ARN_1 = u'arn:aws:ecs:eu-central-1:123456789012:task/12345678-1234-1234-1234-123456789011' |
73 | 102 | TASK_ARN_2 = u'arn:aws:ecs:eu-central-1:123456789012:task/12345678-1234-1234-1234-123456789012' |
74 | 103 |
|
|
166 | 195 | u"taskDefinition": PAYLOAD_TASK_DEFINITION_2 |
167 | 196 | } |
168 | 197 |
|
| 198 | +RESPONSE_TASK_DEFINITION_3 = { |
| 199 | + u"taskDefinition": PAYLOAD_TASK_DEFINITION_3 |
| 200 | +} |
| 201 | + |
169 | 202 | RESPONSE_TASK_DEFINITIONS = { |
170 | 203 | TASK_DEFINITION_ARN_1: RESPONSE_TASK_DEFINITION, |
171 | 204 | TASK_DEFINITION_ARN_2: RESPONSE_TASK_DEFINITION_2, |
| 205 | + TASK_DEFINITION_ARN_3: RESPONSE_TASK_DEFINITION_3, |
172 | 206 | u'test-task:1': RESPONSE_TASK_DEFINITION, |
173 | 207 | u'test-task:2': RESPONSE_TASK_DEFINITION_2, |
| 208 | + u'test-task:3': RESPONSE_TASK_DEFINITION_3, |
174 | 209 | u'test-task': RESPONSE_TASK_DEFINITION_2, |
175 | 210 | } |
176 | 211 |
|
@@ -892,6 +927,8 @@ def describe_services(self, cluster_name, service_name): |
892 | 927 | } |
893 | 928 |
|
894 | 929 | def describe_task_definition(self, task_definition_arn): |
| 930 | + if not self.access_key_id or not self.secret_access_key: |
| 931 | + raise EcsConnectionError(u'Unable to locate credentials. Configure credentials by running "aws configure".') |
895 | 932 | if task_definition_arn in RESPONSE_TASK_DEFINITIONS: |
896 | 933 | return deepcopy(RESPONSE_TASK_DEFINITIONS[task_definition_arn]) |
897 | 934 | raise UnknownTaskDefinitionError('Unknown task definition arn: %s' % task_definition_arn) |
|
0 commit comments