# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import pulumi
import pulumi.runtime

class GetImageResult(object):
    """
    A collection of values returned by getImage.
    """
    def __init__(__self__, checksum=None, container_format=None, disk_format=None, file=None, metadata=None, min_disk_gb=None, min_ram_mb=None, protected=None, region=None, schema=None, size_bytes=None, updated_at=None):
        if checksum and not isinstance(checksum, basestring):
            raise TypeError('Expected argument checksum to be a basestring')
        __self__.checksum = checksum
        """
        The checksum of the data associated with the image.
        """
        if container_format and not isinstance(container_format, basestring):
            raise TypeError('Expected argument container_format to be a basestring')
        __self__.container_format = container_format
        if disk_format and not isinstance(disk_format, basestring):
            raise TypeError('Expected argument disk_format to be a basestring')
        __self__.disk_format = disk_format
        if file and not isinstance(file, basestring):
            raise TypeError('Expected argument file to be a basestring')
        __self__.file = file
        """
        the trailing path after the glance endpoint that represent the
        location of the image or the path to retrieve it.
        """
        if metadata and not isinstance(metadata, dict):
            raise TypeError('Expected argument metadata to be a dict')
        __self__.metadata = metadata
        """
        The metadata associated with the image.
        Image metadata allow for meaningfully define the image properties
        and tags. See http://docs.openstack.org/developer/glance/metadefs-concepts.html.
        """
        if min_disk_gb and not isinstance(min_disk_gb, int):
            raise TypeError('Expected argument min_disk_gb to be a int')
        __self__.min_disk_gb = min_disk_gb
        """
        The minimum amount of disk space required to use the image.
        """
        if min_ram_mb and not isinstance(min_ram_mb, int):
            raise TypeError('Expected argument min_ram_mb to be a int')
        __self__.min_ram_mb = min_ram_mb
        """
        The minimum amount of ram required to use the image.
        """
        if protected and not isinstance(protected, bool):
            raise TypeError('Expected argument protected to be a bool')
        __self__.protected = protected
        """
        Whether or not the image is protected.
        """
        if region and not isinstance(region, basestring):
            raise TypeError('Expected argument region to be a basestring')
        __self__.region = region
        if schema and not isinstance(schema, basestring):
            raise TypeError('Expected argument schema to be a basestring')
        __self__.schema = schema
        """
        The path to the JSON-schema that represent
        the image or image
        """
        if size_bytes and not isinstance(size_bytes, int):
            raise TypeError('Expected argument size_bytes to be a int')
        __self__.size_bytes = size_bytes
        """
        The size of the image (in bytes).
        """
        if updated_at and not isinstance(updated_at, basestring):
            raise TypeError('Expected argument updated_at to be a basestring')
        __self__.updated_at = updated_at

def get_image(member_status=None, most_recent=None, name=None, owner=None, properties=None, region=None, size_max=None, size_min=None, sort_direction=None, sort_key=None, tag=None, visibility=None):
    """
    Use this data source to get the ID of an available OpenStack image.
    """
    __args__ = dict()

    __args__['memberStatus'] = member_status
    __args__['mostRecent'] = most_recent
    __args__['name'] = name
    __args__['owner'] = owner
    __args__['properties'] = properties
    __args__['region'] = region
    __args__['sizeMax'] = size_max
    __args__['sizeMin'] = size_min
    __args__['sortDirection'] = sort_direction
    __args__['sortKey'] = sort_key
    __args__['tag'] = tag
    __args__['visibility'] = visibility
    __ret__ = pulumi.runtime.invoke('openstack:images/getImage:getImage', __args__)

    return GetImageResult(
        checksum=__ret__.get('checksum'),
        container_format=__ret__.get('containerFormat'),
        disk_format=__ret__.get('diskFormat'),
        file=__ret__.get('file'),
        metadata=__ret__.get('metadata'),
        min_disk_gb=__ret__.get('minDiskGb'),
        min_ram_mb=__ret__.get('minRamMb'),
        protected=__ret__.get('protected'),
        region=__ret__.get('region'),
        schema=__ret__.get('schema'),
        size_bytes=__ret__.get('sizeBytes'),
        updated_at=__ret__.get('updatedAt'))
