Add registeredAt to ecs container instance (#3358)
This commit is contained in:
		
							parent
							
								
									08da2c92d9
								
							
						
					
					
						commit
						349b9a990d
					
				@ -1,18 +1,18 @@
 | 
				
			|||||||
from __future__ import unicode_literals
 | 
					from __future__ import unicode_literals
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import re
 | 
					import re
 | 
				
			||||||
import uuid
 | 
					import uuid
 | 
				
			||||||
 | 
					from copy import copy
 | 
				
			||||||
from datetime import datetime
 | 
					from datetime import datetime
 | 
				
			||||||
from random import random, randint
 | 
					from random import random, randint
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import pytz
 | 
					import pytz
 | 
				
			||||||
from boto3 import Session
 | 
					from boto3 import Session
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from moto.core.exceptions import JsonRESTError
 | 
					 | 
				
			||||||
from moto.core import BaseBackend, BaseModel, CloudFormationModel
 | 
					from moto.core import BaseBackend, BaseModel, CloudFormationModel
 | 
				
			||||||
 | 
					from moto.core.exceptions import JsonRESTError
 | 
				
			||||||
from moto.core.utils import unix_time
 | 
					from moto.core.utils import unix_time
 | 
				
			||||||
from moto.ec2 import ec2_backends
 | 
					from moto.ec2 import ec2_backends
 | 
				
			||||||
from copy import copy
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from .exceptions import (
 | 
					from .exceptions import (
 | 
				
			||||||
    ServiceNotFoundException,
 | 
					    ServiceNotFoundException,
 | 
				
			||||||
    TaskDefinitionNotFoundException,
 | 
					    TaskDefinitionNotFoundException,
 | 
				
			||||||
@ -481,6 +481,7 @@ class ContainerInstance(BaseObject):
 | 
				
			|||||||
            if ec2_instance.platform == "windows"
 | 
					            if ec2_instance.platform == "windows"
 | 
				
			||||||
            else "linux",  # options are windows and linux, linux is default
 | 
					            else "linux",  # options are windows and linux, linux is default
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        self.registered_at = datetime.now(pytz.utc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @property
 | 
					    @property
 | 
				
			||||||
    def response_object(self):
 | 
					    def response_object(self):
 | 
				
			||||||
@ -489,6 +490,10 @@ class ContainerInstance(BaseObject):
 | 
				
			|||||||
            self._format_attribute(name, value)
 | 
					            self._format_attribute(name, value)
 | 
				
			||||||
            for name, value in response_object["attributes"].items()
 | 
					            for name, value in response_object["attributes"].items()
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
 | 
					        if isinstance(response_object["registeredAt"], datetime):
 | 
				
			||||||
 | 
					            response_object["registeredAt"] = unix_time(
 | 
				
			||||||
 | 
					                response_object["registeredAt"].replace(tzinfo=None)
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
        return response_object
 | 
					        return response_object
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def _format_attribute(self, name, value):
 | 
					    def _format_attribute(self, name, value):
 | 
				
			||||||
 | 
				
			|||||||
@ -950,6 +950,7 @@ def test_describe_container_instances():
 | 
				
			|||||||
    for instance in response["containerInstances"]:
 | 
					    for instance in response["containerInstances"]:
 | 
				
			||||||
        instance.keys().should.contain("runningTasksCount")
 | 
					        instance.keys().should.contain("runningTasksCount")
 | 
				
			||||||
        instance.keys().should.contain("pendingTasksCount")
 | 
					        instance.keys().should.contain("pendingTasksCount")
 | 
				
			||||||
 | 
					        instance["registeredAt"].should.be.a("datetime.datetime")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    with assert_raises(ClientError) as e:
 | 
					    with assert_raises(ClientError) as e:
 | 
				
			||||||
        ecs_client.describe_container_instances(
 | 
					        ecs_client.describe_container_instances(
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user