# 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 copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities

import types

__config__ = pulumi.Config('exoscale')


class _ExportableConfig(types.ModuleType):
    @property
    def compute_endpoint(self) -> Optional[str]:
        """
        Exoscale CloudStack API endpoint (by default: https://api.exoscale.com/v1)
        """
        return __config__.get('computeEndpoint')

    @property
    def config(self) -> Optional[str]:
        """
        CloudStack ini configuration filename (by default: cloudstack.ini)
        """
        return __config__.get('config')

    @property
    def delay(self) -> Optional[int]:
        return __config__.get_int('delay')

    @property
    def dns_endpoint(self) -> Optional[str]:
        """
        Exoscale DNS API endpoint (by default: https://api.exoscale.com/dns)
        """
        return __config__.get('dnsEndpoint')

    @property
    def environment(self) -> Optional[str]:
        return __config__.get('environment')

    @property
    def gzip_user_data(self) -> Optional[bool]:
        """
        Defines if the user-data of compute instances should be gzipped (by default: true)
        """
        return __config__.get_bool('gzipUserData')

    @property
    def key(self) -> Optional[str]:
        """
        Exoscale API key
        """
        return __config__.get('key')

    @property
    def profile(self) -> Optional[str]:
        return __config__.get('profile')

    @property
    def region(self) -> Optional[str]:
        """
        CloudStack ini configuration section name (by default: cloudstack)
        """
        return __config__.get('region')

    @property
    def secret(self) -> Optional[str]:
        """
        Exoscale API secret
        """
        return __config__.get('secret')

    @property
    def timeout(self) -> Optional[int]:
        """
        Timeout in seconds for waiting on compute resources to become available (by default: 300)
        """
        return __config__.get_int('timeout')

    @property
    def token(self) -> Optional[str]:
        return __config__.get('token')

