# 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('oci')


class _ExportableConfig(types.ModuleType):
    @property
    def auth(self) -> Optional[str]:
        """
        (Optional) The type of auth to use. Options are 'ApiKey', 'SecurityToken' and 'InstancePrincipal' and
        'ResourcePrincipal'. By default, 'ApiKey' will be used.
        """
        return __config__.get('auth')

    @property
    def config_file_profile(self) -> Optional[str]:
        """
        (Optional) The profile name to be used from config file, if not set it will be DEFAULT.
        """
        return __config__.get('configFileProfile')

    @property
    def disable_auto_retries(self) -> Optional[bool]:
        """
        (Optional) Disable automatic retries for retriable errors. Automatic retries were introduced to solve some eventual
        consistency problems but it also introduced performance issues on destroy operations.
        """
        return __config__.get_bool('disableAutoRetries')

    @property
    def fingerprint(self) -> Optional[str]:
        """
        (Optional) The fingerprint for the user's RSA key. This can be found in user settings in the Oracle Cloud Infrastructure
        console. Required if auth is set to 'ApiKey', ignored otherwise.
        """
        return __config__.get('fingerprint')

    @property
    def ignore_defined_tags(self) -> Optional[str]:
        """
        (Optional) List of defined tags keys that Terraform should ignore when planning creates and updates to the associated
        remote object
        """
        return __config__.get('ignoreDefinedTags')

    @property
    def private_key(self) -> Optional[str]:
        """
        (Optional) A PEM formatted RSA private key for the user. A private_key or a private_key_path must be provided if auth is
        set to 'ApiKey', ignored otherwise.
        """
        return __config__.get('privateKey')

    @property
    def private_key_password(self) -> Optional[str]:
        """
        (Optional) The password used to secure the private key.
        """
        return __config__.get('privateKeyPassword')

    @property
    def private_key_path(self) -> Optional[str]:
        """
        (Optional) The path to the user's PEM formatted private key. A private_key or a private_key_path must be provided if
        auth is set to 'ApiKey', ignored otherwise.
        """
        return __config__.get('privateKeyPath')

    @property
    def region(self) -> Optional[str]:
        """
        (Required) The region for API connections (e.g. us-ashburn-1).
        """
        return __config__.get('region')

    @property
    def retry_duration_seconds(self) -> Optional[int]:
        """
        (Optional) The minimum duration (in seconds) to retry a resource operation in response to an error. The actual retry
        duration may be longer due to jittering of retry operations. This value is ignored if the `disable_auto_retries` field
        is set to true.
        """
        return __config__.get_int('retryDurationSeconds')

    @property
    def tenancy_ocid(self) -> Optional[str]:
        """
        (Optional) The tenancy OCID for a user. The tenancy OCID can be found at the bottom of user settings in the Oracle Cloud
        Infrastructure console. Required if auth is set to 'ApiKey', ignored otherwise.
        """
        return __config__.get('tenancyOcid')

    @property
    def user_ocid(self) -> Optional[str]:
        """
        (Optional) The user OCID. This can be found in user settings in the Oracle Cloud Infrastructure console. Required if
        auth is set to 'ApiKey', ignored otherwise.
        """
        return __config__.get('userOcid')

