# 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
from .. import utilities

class GetDropletResult(object):
    """
    A collection of values returned by getDroplet.
    """
    def __init__(__self__, backups=None, disk=None, image=None, ipv4_address=None, ipv4_address_private=None, ipv6=None, ipv6_address=None, ipv6_address_private=None, locked=None, memory=None, monitoring=None, price_hourly=None, price_monthly=None, private_networking=None, region=None, size=None, status=None, tags=None, vcpus=None, volume_ids=None, id=None):
        if backups and not isinstance(backups, bool):
            raise TypeError('Expected argument backups to be a bool')
        __self__.backups = backups
        if disk and not isinstance(disk, int):
            raise TypeError('Expected argument disk to be a int')
        __self__.disk = disk
        if image and not isinstance(image, basestring):
            raise TypeError('Expected argument image to be a basestring')
        __self__.image = image
        if ipv4_address and not isinstance(ipv4_address, basestring):
            raise TypeError('Expected argument ipv4_address to be a basestring')
        __self__.ipv4_address = ipv4_address
        if ipv4_address_private and not isinstance(ipv4_address_private, basestring):
            raise TypeError('Expected argument ipv4_address_private to be a basestring')
        __self__.ipv4_address_private = ipv4_address_private
        if ipv6 and not isinstance(ipv6, bool):
            raise TypeError('Expected argument ipv6 to be a bool')
        __self__.ipv6 = ipv6
        if ipv6_address and not isinstance(ipv6_address, basestring):
            raise TypeError('Expected argument ipv6_address to be a basestring')
        __self__.ipv6_address = ipv6_address
        if ipv6_address_private and not isinstance(ipv6_address_private, basestring):
            raise TypeError('Expected argument ipv6_address_private to be a basestring')
        __self__.ipv6_address_private = ipv6_address_private
        if locked and not isinstance(locked, bool):
            raise TypeError('Expected argument locked to be a bool')
        __self__.locked = locked
        if memory and not isinstance(memory, int):
            raise TypeError('Expected argument memory to be a int')
        __self__.memory = memory
        if monitoring and not isinstance(monitoring, bool):
            raise TypeError('Expected argument monitoring to be a bool')
        __self__.monitoring = monitoring
        if price_hourly and not isinstance(price_hourly, float):
            raise TypeError('Expected argument price_hourly to be a float')
        __self__.price_hourly = price_hourly
        if price_monthly and not isinstance(price_monthly, float):
            raise TypeError('Expected argument price_monthly to be a float')
        __self__.price_monthly = price_monthly
        if private_networking and not isinstance(private_networking, bool):
            raise TypeError('Expected argument private_networking to be a bool')
        __self__.private_networking = private_networking
        if region and not isinstance(region, basestring):
            raise TypeError('Expected argument region to be a basestring')
        __self__.region = region
        if size and not isinstance(size, basestring):
            raise TypeError('Expected argument size to be a basestring')
        __self__.size = size
        if status and not isinstance(status, basestring):
            raise TypeError('Expected argument status to be a basestring')
        __self__.status = status
        if tags and not isinstance(tags, list):
            raise TypeError('Expected argument tags to be a list')
        __self__.tags = tags
        if vcpus and not isinstance(vcpus, int):
            raise TypeError('Expected argument vcpus to be a int')
        __self__.vcpus = vcpus
        if volume_ids and not isinstance(volume_ids, list):
            raise TypeError('Expected argument volume_ids to be a list')
        __self__.volume_ids = volume_ids
        if id and not isinstance(id, basestring):
            raise TypeError('Expected argument id to be a basestring')
        __self__.id = id
        """
        id is the provider-assigned unique ID for this managed resource.
        """

def get_droplet(name=None):
    __args__ = dict()

    __args__['name'] = name
    __ret__ = pulumi.runtime.invoke('do:core/getDroplet:getDroplet', __args__)

    return GetDropletResult(
        backups=__ret__.get('backups'),
        disk=__ret__.get('disk'),
        image=__ret__.get('image'),
        ipv4_address=__ret__.get('ipv4Address'),
        ipv4_address_private=__ret__.get('ipv4AddressPrivate'),
        ipv6=__ret__.get('ipv6'),
        ipv6_address=__ret__.get('ipv6Address'),
        ipv6_address_private=__ret__.get('ipv6AddressPrivate'),
        locked=__ret__.get('locked'),
        memory=__ret__.get('memory'),
        monitoring=__ret__.get('monitoring'),
        price_hourly=__ret__.get('priceHourly'),
        price_monthly=__ret__.get('priceMonthly'),
        private_networking=__ret__.get('privateNetworking'),
        region=__ret__.get('region'),
        size=__ret__.get('size'),
        status=__ret__.get('status'),
        tags=__ret__.get('tags'),
        vcpus=__ret__.get('vcpus'),
        volume_ids=__ret__.get('volumeIds'),
        id=__ret__.get('id'))
