# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins as _builtins
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

import types

__config__ = pulumi.Config('okta')


class _ExportableConfig(types.ModuleType):
    @_builtins.property
    def access_token(self) -> Optional[str]:
        """
        Bearer token granting privileges to Okta API.
        """
        return __config__.get('accessToken')

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

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

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

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

    @_builtins.property
    def http_proxy(self) -> Optional[str]:
        """
        Alternate HTTP proxy of scheme://hostname or scheme://hostname:port format
        """
        return __config__.get('httpProxy')

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

    @_builtins.property
    def max_api_capacity(self) -> Optional[int]:
        """
        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')

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

    @_builtins.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')

    @_builtins.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')

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

    @_builtins.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')

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

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

    @_builtins.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')

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

