example response:
            {
                u'comment': u'',
                u'virtual_size': 566087127,
                u'container': u'a2ea130e8c7a945823c804253c20f7c877376c69a36311a0cc614d5c455f645f',
                u'os': u'linux',
                u'parent': u'14e75a5684c2fabb7db24d92bdda09d11da1179a7d86ab4c9640ef70d1fd4082',
                u'author': u'alexb@tune.com',
                u'checksum': u'tarsum.dev+sha256:1b755912c77197c6a43539f2a708ef89d5849b8ce02642cb702e47afaa8195c3',
                u'created': u'2014-10-16T23:41:25.445801849Z',
                u'container_config': {
                    u'tty': False,
                    u'on_build': [],
                    u'domainname': u'',
                    u'attach_stdin': False,
                    u'image': u'14e75a5684c2fabb7db24d92bdda09d11da1179a7d86ab4c9640ef70d1fd4082',
                    u'port_specs': None,
                    u'hostname': u'2c1b05d4dd63',
                    u'mac_address': u'',
                    u'working_dir': u'',
                    u'entrypoint': [u'/usr/local/bin/dockerjenkins.sh'],
                    u'env': [
                            u'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
                            u'REFRESHED_AT=2014-10-14',
                            u'JENKINS_HOME=/opt/jenkins/data',
                            u'JENKINS_MIRROR=http://mirrors.jenkins-ci.org'
                    ],
                    u'memory': 0,
                    u'attach_stdout': False,
                    u'exposed_ports': {
                        u'8080/tcp': {}
                    },
                    u'stdin_once': False,
                    u'cpuset': u'',
                    u'user': u'',
                    u'network_disabled': False,
                    u'memory_swap': 0,
                    u'attach_stderr': False,
                    u'cmd': [
                        u'/bin/sh',
                        u'-c',
                        u'#(nop) ENTRYPOINT [/usr/local/bin/dockerjenkins.sh]'
                    ],
                    u'open_stdin': False,
                    u'volumes': {
                        u'/var/lib/docker': {}
                    },
                    u'cpu_shares': 0
                },
                u'architecture': u'amd64',
                u'docker_version': u'1.3.0',
                u'config': {
                    u'tty': False,
                    u'on_build': [],
                    u'domainname': u'',
                    u'attach_stdin': False,
                    u'image': u'14e75a5684c2fabb7db24d92bdda09d11da1179a7d86ab4c9640ef70d1fd4082',
                    u'port_specs': None,
                    u'hostname': u'2c1b05d4dd63',
                    u'mac_address': u'',
                    u'working_dir': u'',
                    u'entrypoint': [u'/usr/local/bin/dockerjenkins.sh'],
                    u'env': [
                        u'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
                        u'REFRESHED_AT=2014-10-14',
                        u'JENKINS_HOME=/opt/jenkins/data',
                        u'JENKINS_MIRROR=http://mirrors.jenkins-ci.org'
                    ],
                    u'memory': 0,
                    u'attach_stdout': False,
                    u'exposed_ports': {
                        u'8080/tcp': {}
                    },
                    u'stdin_once': False,
                    u'cpuset': u'',
                    u'user': u'',
                    u'network_disabled': False,
                    u'memory_swap': 0,
                    u'attach_stderr': False,
                    u'cmd': None,
                    u'open_stdin': False,
                    u'volumes': {
                        u'/var/lib/docker': {}
                    },
                    u'cpu_shares': 0
                },
                u'id': u'd37e267af092e02aaab68e962fadcc1107a3b42a34b0c581ee1e3a54aed62ad4',
                u'size': 0
            }

def _inspect_and_map(self, identifier):
        """
        example response:
            {
                u'comment': u'',
                u'virtual_size': 566087127,
                u'container': u'a2ea130e8c7a945823c804253c20f7c877376c69a36311a0cc614d5c455f645f',
                u'os': u'linux',
                u'parent': u'14e75a5684c2fabb7db24d92bdda09d11da1179a7d86ab4c9640ef70d1fd4082',
                u'author': u'alexb@tune.com',
                u'checksum': u'tarsum.dev+sha256:1b755912c77197c6a43539f2a708ef89d5849b8ce02642cb702e47afaa8195c3',
                u'created': u'2014-10-16T23:41:25.445801849Z',
                u'container_config': {
                    u'tty': False,
                    u'on_build': [],
                    u'domainname': u'',
                    u'attach_stdin': False,
                    u'image': u'14e75a5684c2fabb7db24d92bdda09d11da1179a7d86ab4c9640ef70d1fd4082',
                    u'port_specs': None,
                    u'hostname': u'2c1b05d4dd63',
                    u'mac_address': u'',
                    u'working_dir': u'',
                    u'entrypoint': [u'/usr/local/bin/dockerjenkins.sh'],
                    u'env': [
                            u'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
                            u'REFRESHED_AT=2014-10-14',
                            u'JENKINS_HOME=/opt/jenkins/data',
                            u'JENKINS_MIRROR=http://mirrors.jenkins-ci.org'
                    ],
                    u'memory': 0,
                    u'attach_stdout': False,
                    u'exposed_ports': {
                        u'8080/tcp': {}
                    },
                    u'stdin_once': False,
                    u'cpuset': u'',
                    u'user': u'',
                    u'network_disabled': False,
                    u'memory_swap': 0,
                    u'attach_stderr': False,
                    u'cmd': [
                        u'/bin/sh',
                        u'-c',
                        u'#(nop) ENTRYPOINT [/usr/local/bin/dockerjenkins.sh]'
                    ],
                    u'open_stdin': False,
                    u'volumes': {
                        u'/var/lib/docker': {}
                    },
                    u'cpu_shares': 0
                },
                u'architecture': u'amd64',
                u'docker_version': u'1.3.0',
                u'config': {
                    u'tty': False,
                    u'on_build': [],
                    u'domainname': u'',
                    u'attach_stdin': False,
                    u'image': u'14e75a5684c2fabb7db24d92bdda09d11da1179a7d86ab4c9640ef70d1fd4082',
                    u'port_specs': None,
                    u'hostname': u'2c1b05d4dd63',
                    u'mac_address': u'',
                    u'working_dir': u'',
                    u'entrypoint': [u'/usr/local/bin/dockerjenkins.sh'],
                    u'env': [
                        u'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
                        u'REFRESHED_AT=2014-10-14',
                        u'JENKINS_HOME=/opt/jenkins/data',
                        u'JENKINS_MIRROR=http://mirrors.jenkins-ci.org'
                    ],
                    u'memory': 0,
                    u'attach_stdout': False,
                    u'exposed_ports': {
                        u'8080/tcp': {}
                    },
                    u'stdin_once': False,
                    u'cpuset': u'',
                    u'user': u'',
                    u'network_disabled': False,
                    u'memory_swap': 0,
                    u'attach_stderr': False,
                    u'cmd': None,
                    u'open_stdin': False,
                    u'volumes': {
                        u'/var/lib/docker': {}
                    },
                    u'cpu_shares': 0
                },
                u'id': u'd37e267af092e02aaab68e962fadcc1107a3b42a34b0c581ee1e3a54aed62ad4',
                u'size': 0
            }
        """
        # validate
        try:
            response = normalize_keys(self.client.inspect_image(identifier))

            self.comment = response['comment'] if response['comment'] else None
            self.id = response["id"]
            self.virtual_size = response['virtual_size']
            self.container = response['container']
            self.os = response['os']
            self.parent = response['parent']
            self.author = response.get('author', None)
            self.created_at = self.created_at = dateutil.parser.parse(response['created'], ignoretz=True)
            self.architecture = response['architecture']
            self.docker_version = response['docker_version']
            self.size = response['size']
            self.container_config = ContainerConfig(response.get('container_config')) if response.get('config') else ContainerConfig()
            self.config = ContainerConfig(response.get('config')) if response.get('config') else ContainerConfig()

        except Exception as e:
            raise e