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

import types

__config__ = pulumi.Config('okta')


class _ExportableConfig(types.ModuleType):
    @property
    def api_token(self) -> Optional[str]:
        """
        API Token granting privileges to Okta API.
        """
        return __config__.get('apiToken')

    @property
    def backoff(self) -> Optional[bool]:
        """
        Use exponential back off strategy for rate limits.
        """
        return __config__.get_bool('backoff')

    @property
    def base_url(self) -> Optional[str]:
        """
        The Okta url. (Use 'oktapreview.com' for Okta testing)
        """
        return __config__.get('baseUrl')

    @property
    def client_id(self) -> Optional[str]:
        """
        API Token granting privileges to Okta API.
        """
        return __config__.get('clientId')

    @property
    def log_level(self) -> Optional[int]:
        """
        providers log level. Minimum is 1 (TRACE), and maximum is 5 (ERROR)
        """
        return __config__.get_int('logLevel')

    @property
    def max_api_capacity(self) -> Optional[int]:
        """
        (Experimental) sets what percentage of capacity the provider can use of the total rate limit capacity while making calls
        to the Okta management API endpoints. Okta API operates in one minute buckets. See Okta Management API Rate Limits:
        https://developer.okta.com/docs/reference/rl-global-mgmt/
        """
        return __config__.get_int('maxApiCapacity')

    @property
    def max_retries(self) -> Optional[int]:
        """
        maximum number of retries to attempt before erroring out.
        """
        return __config__.get_int('maxRetries')

    @property
    def max_wait_seconds(self) -> Optional[int]:
        """
        maximum seconds to wait when rate limit is hit. We use exponential backoffs when backoff is enabled.
        """
        return __config__.get_int('maxWaitSeconds')

    @property
    def min_wait_seconds(self) -> Optional[int]:
        """
        minimum seconds to wait when rate limit is hit. We use exponential backoffs when backoff is enabled.
        """
        return __config__.get_int('minWaitSeconds')

    @property
    def org_name(self) -> Optional[str]:
        """
        The organization to manage in Okta.
        """
        return __config__.get('orgName')

    @property
    def parallelism(self) -> Optional[int]:
        """
        Number of concurrent requests to make within a resource where bulk operations are not possible. Take note of
        https://developer.okta.com/docs/api/getting_started/rate-limits.
        """
        return __config__.get_int('parallelism')

    @property
    def private_key(self) -> Optional[str]:
        """
        API Token granting privileges to Okta API.
        """
        return __config__.get('privateKey')

    @property
    def request_timeout(self) -> Optional[int]:
        """
        Timeout for single request (in seconds) which is made to Okta, the default is `0` (means no limit is set). The maximum
        value can be `300`.
        """
        return __config__.get_int('requestTimeout')

    @property
    def scopes(self) -> Optional[str]:
        """
        API Token granting privileges to Okta API.
        """
        return __config__.get('scopes')

