def __init__(self, repository, tag=None, pull_policy=ImagePullPolicy.IF_NOT_PRESENT,<EOL>location=None):
self.system_requirements()<EOL>self.container_process = None<EOL>super(NspawnImage, self).__init__(repository, tag=None)<EOL>if not isinstance(pull_policy, ImagePullPolicy):<EOL><INDENT>raise ConuException(<EOL>"<STR_LIT>")<EOL><DEDENT>self.pull_policy = pull_policy<EOL>self.location = location<EOL>self.local_location = os.path.join(CONU_IMAGES_STORE, self.name + ("<STR_LIT:_>" + self.tag if self.tag else "<STR_LIT>"))<EOL>if self.pull_policy == ImagePullPolicy.ALWAYS:<EOL><INDENT>logger.debug("<STR_LIT>")<EOL>self.pull()<EOL><DEDENT>elif self.pull_policy == ImagePullPolicy.IF_NOT_PRESENT and not self.is_present():<EOL><INDENT>logger.debug(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>")<EOL>self.pull()<EOL><DEDENT>elif self.pull_policy == ImagePullPolicy.NEVER:<EOL><INDENT>logger.debug("<STR_LIT>")<EOL><DEDENT>
:param repository: str, expected name of this image
:param tag: not used, nspawn doesn't utilize the concept of tags
:param pull_policy: enum, strategy to apply for pulling the image
:param location: str, location from which we can obtain the image, it can be local (a
        path) or remote (URL)