# 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 builtins
import copy
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

__all__ = [
    'AssumeRole',
    'Endpoints',
]

@pulumi.output_type
class AssumeRole(dict):
    def __init__(__self__, *,
                 assume_role_trn: builtins.str,
                 duration_seconds: Optional[builtins.int] = None,
                 policy: Optional[builtins.str] = None):
        """
        :param builtins.str assume_role_trn: he TRN of the role to assume.
        :param builtins.int duration_seconds: The duration of the session when making the AssumeRole call. Its value ranges from 900 to 43200(seconds), and default is 3600 seconds.
        :param builtins.str policy: A more restrictive policy when making the AssumeRole call
        """
        pulumi.set(__self__, "assume_role_trn", assume_role_trn)
        if duration_seconds is not None:
            pulumi.set(__self__, "duration_seconds", duration_seconds)
        if policy is not None:
            pulumi.set(__self__, "policy", policy)

    @property
    @pulumi.getter(name="assumeRoleTrn")
    def assume_role_trn(self) -> builtins.str:
        """
        he TRN of the role to assume.
        """
        return pulumi.get(self, "assume_role_trn")

    @property
    @pulumi.getter(name="durationSeconds")
    def duration_seconds(self) -> Optional[builtins.int]:
        """
        The duration of the session when making the AssumeRole call. Its value ranges from 900 to 43200(seconds), and default is 3600 seconds.
        """
        return pulumi.get(self, "duration_seconds")

    @property
    @pulumi.getter
    def policy(self) -> Optional[builtins.str]:
        """
        A more restrictive policy when making the AssumeRole call
        """
        return pulumi.get(self, "policy")


@pulumi.output_type
class Endpoints(dict):
    def __init__(__self__, *,
                 cloudcontrolapi: Optional[builtins.str] = None,
                 sts: Optional[builtins.str] = None):
        """
        :param builtins.str cloudcontrolapi: Use this to override the default Cloud Control API service endpoint URL
        :param builtins.str sts: Use this to override the default STS service endpoint URL
        """
        if cloudcontrolapi is not None:
            pulumi.set(__self__, "cloudcontrolapi", cloudcontrolapi)
        if sts is not None:
            pulumi.set(__self__, "sts", sts)

    @property
    @pulumi.getter
    def cloudcontrolapi(self) -> Optional[builtins.str]:
        """
        Use this to override the default Cloud Control API service endpoint URL
        """
        return pulumi.get(self, "cloudcontrolapi")

    @property
    @pulumi.getter
    def sts(self) -> Optional[builtins.str]:
        """
        Use this to override the default STS service endpoint URL
        """
        return pulumi.get(self, "sts")


