# 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 json
import warnings
import pulumi
import pulumi.runtime
from . import utilities, tables

class GetOperatingSystemResult:
    """
    A collection of values returned by getOperatingSystem.
    """
    def __init__(__self__, slug=None, id=None):
        if slug and not isinstance(slug, str):
            raise TypeError('Expected argument slug to be a str')
        __self__.slug = slug
        """
        Operating system slug (same as `id`)
        """
        if id and not isinstance(id, str):
            raise TypeError('Expected argument id to be a str')
        __self__.id = id
        """
        id is the provider-assigned unique ID for this managed resource.
        """

async def get_operating_system(distro=None,name=None,provisionable_on=None,version=None,opts=None):
    """
    Use this data source to get Packet Operating System image.
    """
    __args__ = dict()

    __args__['distro'] = distro
    __args__['name'] = name
    __args__['provisionableOn'] = provisionable_on
    __args__['version'] = version
    __ret__ = await pulumi.runtime.invoke('packet:index/getOperatingSystem:getOperatingSystem', __args__, opts=opts)

    return GetOperatingSystemResult(
        slug=__ret__.get('slug'),
        id=__ret__.get('id'))
