update to new version of openapi-python-client
now: 0.13.0
This commit is contained in:
		
							parent
							
								
									deb73d06e6
								
							
						
					
					
						commit
						4a31250bca
					
				
					 159 changed files with 13668 additions and 11420 deletions
				
			
		| 
						 | 
				
			
			@ -1,49 +1,95 @@
 | 
			
		|||
""" Contains all the data models used in inputs/outputs """
 | 
			
		||||
 | 
			
		||||
from .accept_consent_request import AcceptConsentRequest
 | 
			
		||||
from .accept_login_request import AcceptLoginRequest
 | 
			
		||||
from .completed_request import CompletedRequest
 | 
			
		||||
from .consent_request import ConsentRequest
 | 
			
		||||
from .consent_request_session import ConsentRequestSession
 | 
			
		||||
from .consent_request_session_access_token import ConsentRequestSessionAccessToken
 | 
			
		||||
from .consent_request_session_id_token import ConsentRequestSessionIdToken
 | 
			
		||||
from .container_wait_ok_body_error import ContainerWaitOKBodyError
 | 
			
		||||
from .flush_inactive_o_auth_2_tokens_request import FlushInactiveOAuth2TokensRequest
 | 
			
		||||
from .contains_information_about_an_ongoing_logout_request import ContainsInformationAboutAnOngoingLogoutRequest
 | 
			
		||||
from .contains_information_on_an_ongoing_consent_request import ContainsInformationOnAnOngoingConsentRequest
 | 
			
		||||
from .contains_information_on_an_ongoing_login_request import ContainsInformationOnAnOngoingLoginRequest
 | 
			
		||||
from .contains_optional_information_about_the_open_id_connect_request import ContainsOptionalInformationAboutTheOpenIDConnectRequest
 | 
			
		||||
from .contains_optional_information_about_the_open_id_connect_request_id_token_hint_claims import ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims
 | 
			
		||||
from .create_json_web_key_set import CreateJsonWebKeySet
 | 
			
		||||
from .error_o_auth_2 import ErrorOAuth2
 | 
			
		||||
from .generic_error import GenericError
 | 
			
		||||
from .get_version_response_200 import GetVersionResponse200
 | 
			
		||||
from .handled_login_request_is_the_request_payload_used_to_accept_a_login_request import HandledLoginRequestIsTheRequestPayloadUsedToAcceptALoginRequest
 | 
			
		||||
from .health_not_ready_status import HealthNotReadyStatus
 | 
			
		||||
from .health_not_ready_status_errors import HealthNotReadyStatusErrors
 | 
			
		||||
from .health_status import HealthStatus
 | 
			
		||||
from .introspect_o_auth_2_token_data import IntrospectOAuth2TokenData
 | 
			
		||||
from .jose_json_web_key_set import JoseJSONWebKeySet
 | 
			
		||||
from .json_raw_message import JSONRawMessage
 | 
			
		||||
from .json_web_key import JSONWebKey
 | 
			
		||||
from .json_web_key_set import JSONWebKeySet
 | 
			
		||||
from .json_web_key_set_generator_request import JsonWebKeySetGeneratorRequest
 | 
			
		||||
from .login_request import LoginRequest
 | 
			
		||||
from .logout_request import LogoutRequest
 | 
			
		||||
from .o_auth_2_client import OAuth2Client
 | 
			
		||||
from .o_auth_2_token_introspection import OAuth2TokenIntrospection
 | 
			
		||||
from .o_auth_2_token_introspection_ext import OAuth2TokenIntrospectionExt
 | 
			
		||||
from .oauth_2_token_data import Oauth2TokenData
 | 
			
		||||
from .oauth_2_token_response import Oauth2TokenResponse
 | 
			
		||||
from .open_id_connect_context import OpenIDConnectContext
 | 
			
		||||
from .open_id_connect_context_id_token_hint_claims import OpenIDConnectContextIdTokenHintClaims
 | 
			
		||||
from .plugin_config import PluginConfig
 | 
			
		||||
from .plugin_config_args import PluginConfigArgs
 | 
			
		||||
from .plugin_config_interface import PluginConfigInterface
 | 
			
		||||
from .plugin_config_linux import PluginConfigLinux
 | 
			
		||||
from .plugin_config_network import PluginConfigNetwork
 | 
			
		||||
from .plugin_config_rootfs import PluginConfigRootfs
 | 
			
		||||
from .plugin_config_user import PluginConfigUser
 | 
			
		||||
from .plugin_device import PluginDevice
 | 
			
		||||
from .plugin_env import PluginEnv
 | 
			
		||||
from .plugin_interface_type import PluginInterfaceType
 | 
			
		||||
from .plugin_mount import PluginMount
 | 
			
		||||
from .plugin_settings import PluginSettings
 | 
			
		||||
from .previous_consent_session import PreviousConsentSession
 | 
			
		||||
from .reject_request import RejectRequest
 | 
			
		||||
from .introspected_o_auth_2_token import IntrospectedOAuth2Token
 | 
			
		||||
from .introspected_o_auth_2_token_ext import IntrospectedOAuth2TokenExt
 | 
			
		||||
from .is_ready_response_200 import IsReadyResponse200
 | 
			
		||||
from .is_ready_response_503 import IsReadyResponse503
 | 
			
		||||
from .is_ready_response_503_errors import IsReadyResponse503Errors
 | 
			
		||||
from .json_patch import JsonPatch
 | 
			
		||||
from .json_web_key import JsonWebKey
 | 
			
		||||
from .json_web_key_set import JsonWebKeySet
 | 
			
		||||
from .o_auth_20_client import OAuth20Client
 | 
			
		||||
from .o_auth_20_client_token_lifespans import OAuth20ClientTokenLifespans
 | 
			
		||||
from .o_auth_20_consent_session import OAuth20ConsentSession
 | 
			
		||||
from .o_auth_20_consent_session_expires_at import OAuth20ConsentSessionExpiresAt
 | 
			
		||||
from .o_auth_20_redirect_browser_to import OAuth20RedirectBrowserTo
 | 
			
		||||
from .o_auth_2_token_exchange import OAuth2TokenExchange
 | 
			
		||||
from .oauth_2_token_exchange_data import Oauth2TokenExchangeData
 | 
			
		||||
from .oidc_user_info import OidcUserInfo
 | 
			
		||||
from .open_id_connect_discovery_metadata import OpenIDConnectDiscoveryMetadata
 | 
			
		||||
from .pagination import Pagination
 | 
			
		||||
from .pagination_headers import PaginationHeaders
 | 
			
		||||
from .pagination_request_parameters import PaginationRequestParameters
 | 
			
		||||
from .pagination_response_header import PaginationResponseHeader
 | 
			
		||||
from .pass_session_data_to_a_consent_request import PassSessionDataToAConsentRequest
 | 
			
		||||
from .revoke_o_auth_2_token_data import RevokeOAuth2TokenData
 | 
			
		||||
from .userinfo_response import UserinfoResponse
 | 
			
		||||
from .the_request_payload_used_to_accept_a_consent_request import TheRequestPayloadUsedToAcceptAConsentRequest
 | 
			
		||||
from .the_request_payload_used_to_accept_a_login_or_consent_request import TheRequestPayloadUsedToAcceptALoginOrConsentRequest
 | 
			
		||||
from .token_pagination import TokenPagination
 | 
			
		||||
from .token_pagination_headers import TokenPaginationHeaders
 | 
			
		||||
from .trust_o_auth_2_jwt_grant_issuer import TrustOAuth2JwtGrantIssuer
 | 
			
		||||
from .trusted_o_auth_2_jwt_grant_issuer import TrustedOAuth2JwtGrantIssuer
 | 
			
		||||
from .trusted_o_auth_2_jwt_grant_json_web_key import TrustedOAuth2JwtGrantJsonWebKey
 | 
			
		||||
from .version import Version
 | 
			
		||||
from .volume_usage_data import VolumeUsageData
 | 
			
		||||
from .well_known import WellKnown
 | 
			
		||||
 | 
			
		||||
__all__ = (
 | 
			
		||||
    "ContainsInformationAboutAnOngoingLogoutRequest",
 | 
			
		||||
    "ContainsInformationOnAnOngoingConsentRequest",
 | 
			
		||||
    "ContainsInformationOnAnOngoingLoginRequest",
 | 
			
		||||
    "ContainsOptionalInformationAboutTheOpenIDConnectRequest",
 | 
			
		||||
    "ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims",
 | 
			
		||||
    "CreateJsonWebKeySet",
 | 
			
		||||
    "ErrorOAuth2",
 | 
			
		||||
    "GenericError",
 | 
			
		||||
    "GetVersionResponse200",
 | 
			
		||||
    "HandledLoginRequestIsTheRequestPayloadUsedToAcceptALoginRequest",
 | 
			
		||||
    "HealthNotReadyStatus",
 | 
			
		||||
    "HealthNotReadyStatusErrors",
 | 
			
		||||
    "HealthStatus",
 | 
			
		||||
    "IntrospectedOAuth2Token",
 | 
			
		||||
    "IntrospectedOAuth2TokenExt",
 | 
			
		||||
    "IntrospectOAuth2TokenData",
 | 
			
		||||
    "IsReadyResponse200",
 | 
			
		||||
    "IsReadyResponse503",
 | 
			
		||||
    "IsReadyResponse503Errors",
 | 
			
		||||
    "JsonPatch",
 | 
			
		||||
    "JsonWebKey",
 | 
			
		||||
    "JsonWebKeySet",
 | 
			
		||||
    "OAuth20Client",
 | 
			
		||||
    "OAuth20ClientTokenLifespans",
 | 
			
		||||
    "OAuth20ConsentSession",
 | 
			
		||||
    "OAuth20ConsentSessionExpiresAt",
 | 
			
		||||
    "OAuth20RedirectBrowserTo",
 | 
			
		||||
    "OAuth2TokenExchange",
 | 
			
		||||
    "Oauth2TokenExchangeData",
 | 
			
		||||
    "OidcUserInfo",
 | 
			
		||||
    "OpenIDConnectDiscoveryMetadata",
 | 
			
		||||
    "Pagination",
 | 
			
		||||
    "PaginationHeaders",
 | 
			
		||||
    "PaginationRequestParameters",
 | 
			
		||||
    "PaginationResponseHeader",
 | 
			
		||||
    "PassSessionDataToAConsentRequest",
 | 
			
		||||
    "RevokeOAuth2TokenData",
 | 
			
		||||
    "TheRequestPayloadUsedToAcceptAConsentRequest",
 | 
			
		||||
    "TheRequestPayloadUsedToAcceptALoginOrConsentRequest",
 | 
			
		||||
    "TokenPagination",
 | 
			
		||||
    "TokenPaginationHeaders",
 | 
			
		||||
    "TrustedOAuth2JwtGrantIssuer",
 | 
			
		||||
    "TrustedOAuth2JwtGrantJsonWebKey",
 | 
			
		||||
    "TrustOAuth2JwtGrantIssuer",
 | 
			
		||||
    "Version",
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,62 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ConsentRequestSessionAccessToken")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class ConsentRequestSessionAccessToken:
 | 
			
		||||
    """AccessToken sets session data for the access and refresh token, as well as any future tokens issued by the
 | 
			
		||||
refresh grant. Keep in mind that this data will be available to anyone performing OAuth 2.0 Challenge Introspection.
 | 
			
		||||
If only your services can perform OAuth 2.0 Challenge Introspection, this is usually fine. But if third parties
 | 
			
		||||
can access that endpoint as well, sensitive data from the session might be exposed to them. Use with care!
 | 
			
		||||
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        consent_request_session_access_token = cls(
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        consent_request_session_access_token.additional_properties = _d
 | 
			
		||||
        return consent_request_session_access_token
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,60 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ConsentRequestSessionIdToken")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class ConsentRequestSessionIdToken:
 | 
			
		||||
    """IDToken sets session data for the OpenID Connect ID token. Keep in mind that the session'id payloads are readable
 | 
			
		||||
by anyone that has access to the ID Challenge. Use with care!
 | 
			
		||||
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        consent_request_session_id_token = cls(
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        consent_request_session_id_token.additional_properties = _d
 | 
			
		||||
        return consent_request_session_id_token
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,18 +7,29 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.o_auth_20_client import OAuth20Client
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="LogoutRequest")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ContainsInformationAboutAnOngoingLogoutRequest")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class LogoutRequest:
 | 
			
		||||
class ContainsInformationAboutAnOngoingLogoutRequest:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        challenge (Union[Unset, str]): Challenge is the identifier ("logout challenge") of the logout authentication
 | 
			
		||||
            request. It is used to
 | 
			
		||||
            identify the session.
 | 
			
		||||
        client (Union[Unset, OAuth20Client]): OAuth 2.0 Clients are used to perform OAuth 2.0 and OpenID Connect flows.
 | 
			
		||||
            Usually, OAuth 2.0 clients are
 | 
			
		||||
            generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.
 | 
			
		||||
        request_url (Union[Unset, str]): RequestURL is the original Logout URL requested.
 | 
			
		||||
        rp_initiated (Union[Unset, bool]): RPInitiated is set to true if the request was initiated by a Relying Party
 | 
			
		||||
            (RP), also known as an OAuth 2.0 Client.
 | 
			
		||||
| 
						 | 
				
			
			@ -26,6 +37,8 @@ class LogoutRequest:
 | 
			
		|||
        subject (Union[Unset, str]): Subject is the user for whom the logout was request.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    challenge: Union[Unset, str] = UNSET
 | 
			
		||||
    client: Union[Unset, 'OAuth20Client'] = UNSET
 | 
			
		||||
    request_url: Union[Unset, str] = UNSET
 | 
			
		||||
    rp_initiated: Union[Unset, bool] = UNSET
 | 
			
		||||
    sid: Union[Unset, str] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -34,6 +47,12 @@ class LogoutRequest:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.o_auth_20_client import OAuth20Client
 | 
			
		||||
        challenge = self.challenge
 | 
			
		||||
        client: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.client, Unset):
 | 
			
		||||
            client = self.client.to_dict()
 | 
			
		||||
 | 
			
		||||
        request_url = self.request_url
 | 
			
		||||
        rp_initiated = self.rp_initiated
 | 
			
		||||
        sid = self.sid
 | 
			
		||||
| 
						 | 
				
			
			@ -43,6 +62,10 @@ class LogoutRequest:
 | 
			
		|||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if challenge is not UNSET:
 | 
			
		||||
            field_dict["challenge"] = challenge
 | 
			
		||||
        if client is not UNSET:
 | 
			
		||||
            field_dict["client"] = client
 | 
			
		||||
        if request_url is not UNSET:
 | 
			
		||||
            field_dict["request_url"] = request_url
 | 
			
		||||
        if rp_initiated is not UNSET:
 | 
			
		||||
| 
						 | 
				
			
			@ -58,7 +81,20 @@ class LogoutRequest:
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.o_auth_20_client import OAuth20Client
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        challenge = _d.pop("challenge", UNSET)
 | 
			
		||||
 | 
			
		||||
        _client = _d.pop("client", UNSET)
 | 
			
		||||
        client: Union[Unset, OAuth20Client]
 | 
			
		||||
        if isinstance(_client,  Unset):
 | 
			
		||||
            client = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            client = OAuth20Client.from_dict(_client)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        request_url = _d.pop("request_url", UNSET)
 | 
			
		||||
 | 
			
		||||
        rp_initiated = _d.pop("rp_initiated", UNSET)
 | 
			
		||||
| 
						 | 
				
			
			@ -67,15 +103,17 @@ class LogoutRequest:
 | 
			
		|||
 | 
			
		||||
        subject = _d.pop("subject", UNSET)
 | 
			
		||||
 | 
			
		||||
        logout_request = cls(
 | 
			
		||||
        contains_information_about_an_ongoing_logout_request = cls(
 | 
			
		||||
            challenge=challenge,
 | 
			
		||||
            client=client,
 | 
			
		||||
            request_url=request_url,
 | 
			
		||||
            rp_initiated=rp_initiated,
 | 
			
		||||
            sid=sid,
 | 
			
		||||
            subject=subject,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        logout_request.additional_properties = _d
 | 
			
		||||
        return logout_request
 | 
			
		||||
        contains_information_about_an_ongoing_logout_request.additional_properties = _d
 | 
			
		||||
        return contains_information_about_an_ongoing_logout_request
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,19 +7,23 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.contains_optional_information_about_the_open_id_connect_request import ContainsOptionalInformationAboutTheOpenIDConnectRequest
 | 
			
		||||
  from ..models.o_auth_20_client import OAuth20Client
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ConsentRequest")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ContainsInformationOnAnOngoingConsentRequest")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class ConsentRequest:
 | 
			
		||||
class ContainsInformationOnAnOngoingConsentRequest:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        challenge (str): ID is the identifier ("authorization challenge") of the consent authorization request. It is
 | 
			
		||||
| 
						 | 
				
			
			@ -28,8 +32,11 @@ class ConsentRequest:
 | 
			
		|||
        acr (Union[Unset, str]): ACR represents the Authentication AuthorizationContext Class Reference value for this
 | 
			
		||||
            authentication session. You can use it
 | 
			
		||||
            to express that, for example, a user authenticated using two factor authentication.
 | 
			
		||||
        client (Union[Unset, OAuth2Client]):
 | 
			
		||||
        context (Union[Unset, JSONRawMessage]):
 | 
			
		||||
        amr (Union[Unset, List[str]]):
 | 
			
		||||
        client (Union[Unset, OAuth20Client]): OAuth 2.0 Clients are used to perform OAuth 2.0 and OpenID Connect flows.
 | 
			
		||||
            Usually, OAuth 2.0 clients are
 | 
			
		||||
            generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.
 | 
			
		||||
        context (Union[Unset, Any]):
 | 
			
		||||
        login_challenge (Union[Unset, str]): LoginChallenge is the login challenge this consent challenge belongs to. It
 | 
			
		||||
            can be used to associate
 | 
			
		||||
            a login and consent request in the login & consent app.
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +47,7 @@ class ConsentRequest:
 | 
			
		|||
            this will be a new random value. This value is used as the "sid" parameter in the ID Token and in OIDC
 | 
			
		||||
            Front-/Back-
 | 
			
		||||
            channel logout. It's value can generally be used to associate consecutive login requests by a certain user.
 | 
			
		||||
        oidc_context (Union[Unset, OpenIDConnectContext]):
 | 
			
		||||
        oidc_context (Union[Unset, ContainsOptionalInformationAboutTheOpenIDConnectRequest]):
 | 
			
		||||
        request_url (Union[Unset, str]): RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth
 | 
			
		||||
            2.0 client. It is the URL which
 | 
			
		||||
            initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but
 | 
			
		||||
| 
						 | 
				
			
			@ -58,11 +65,12 @@ class ConsentRequest:
 | 
			
		|||
 | 
			
		||||
    challenge: str
 | 
			
		||||
    acr: Union[Unset, str] = UNSET
 | 
			
		||||
    client: Union[Unset, 'OAuth2Client'] = UNSET
 | 
			
		||||
    context: Union[Unset, 'JSONRawMessage'] = UNSET
 | 
			
		||||
    amr: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    client: Union[Unset, 'OAuth20Client'] = UNSET
 | 
			
		||||
    context: Union[Unset, Any] = UNSET
 | 
			
		||||
    login_challenge: Union[Unset, str] = UNSET
 | 
			
		||||
    login_session_id: Union[Unset, str] = UNSET
 | 
			
		||||
    oidc_context: Union[Unset, 'OpenIDConnectContext'] = UNSET
 | 
			
		||||
    oidc_context: Union[Unset, 'ContainsOptionalInformationAboutTheOpenIDConnectRequest'] = UNSET
 | 
			
		||||
    request_url: Union[Unset, str] = UNSET
 | 
			
		||||
    requested_access_token_audience: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    requested_scope: Union[Unset, List[str]] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -72,16 +80,22 @@ class ConsentRequest:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.contains_optional_information_about_the_open_id_connect_request import ContainsOptionalInformationAboutTheOpenIDConnectRequest
 | 
			
		||||
        from ..models.o_auth_20_client import OAuth20Client
 | 
			
		||||
        challenge = self.challenge
 | 
			
		||||
        acr = self.acr
 | 
			
		||||
        amr: Union[Unset, List[str]] = UNSET
 | 
			
		||||
        if not isinstance(self.amr, Unset):
 | 
			
		||||
            amr = self.amr
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        client: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.client, Unset):
 | 
			
		||||
            client = self.client.to_dict()
 | 
			
		||||
 | 
			
		||||
        context: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.context, Unset):
 | 
			
		||||
            context = self.context.to_dict()
 | 
			
		||||
 | 
			
		||||
        context = self.context
 | 
			
		||||
        login_challenge = self.login_challenge
 | 
			
		||||
        login_session_id = self.login_session_id
 | 
			
		||||
        oidc_context: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -113,6 +127,8 @@ class ConsentRequest:
 | 
			
		|||
        })
 | 
			
		||||
        if acr is not UNSET:
 | 
			
		||||
            field_dict["acr"] = acr
 | 
			
		||||
        if amr is not UNSET:
 | 
			
		||||
            field_dict["amr"] = amr
 | 
			
		||||
        if client is not UNSET:
 | 
			
		||||
            field_dict["client"] = client
 | 
			
		||||
        if context is not UNSET:
 | 
			
		||||
| 
						 | 
				
			
			@ -140,41 +156,38 @@ class ConsentRequest:
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.contains_optional_information_about_the_open_id_connect_request import ContainsOptionalInformationAboutTheOpenIDConnectRequest
 | 
			
		||||
        from ..models.o_auth_20_client import OAuth20Client
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        challenge = _d.pop("challenge")
 | 
			
		||||
 | 
			
		||||
        acr = _d.pop("acr", UNSET)
 | 
			
		||||
 | 
			
		||||
        amr = cast(List[str], _d.pop("amr", UNSET))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _client = _d.pop("client", UNSET)
 | 
			
		||||
        client: Union[Unset, OAuth2Client]
 | 
			
		||||
        client: Union[Unset, OAuth20Client]
 | 
			
		||||
        if isinstance(_client,  Unset):
 | 
			
		||||
            client = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            client = OAuth2Client.from_dict(_client)
 | 
			
		||||
            client = OAuth20Client.from_dict(_client)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _context = _d.pop("context", UNSET)
 | 
			
		||||
        context: Union[Unset, JSONRawMessage]
 | 
			
		||||
        if isinstance(_context,  Unset):
 | 
			
		||||
            context = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            context = JSONRawMessage.from_dict(_context)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        context = _d.pop("context", UNSET)
 | 
			
		||||
 | 
			
		||||
        login_challenge = _d.pop("login_challenge", UNSET)
 | 
			
		||||
 | 
			
		||||
        login_session_id = _d.pop("login_session_id", UNSET)
 | 
			
		||||
 | 
			
		||||
        _oidc_context = _d.pop("oidc_context", UNSET)
 | 
			
		||||
        oidc_context: Union[Unset, OpenIDConnectContext]
 | 
			
		||||
        oidc_context: Union[Unset, ContainsOptionalInformationAboutTheOpenIDConnectRequest]
 | 
			
		||||
        if isinstance(_oidc_context,  Unset):
 | 
			
		||||
            oidc_context = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            oidc_context = OpenIDConnectContext.from_dict(_oidc_context)
 | 
			
		||||
            oidc_context = ContainsOptionalInformationAboutTheOpenIDConnectRequest.from_dict(_oidc_context)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -191,9 +204,10 @@ class ConsentRequest:
 | 
			
		|||
 | 
			
		||||
        subject = _d.pop("subject", UNSET)
 | 
			
		||||
 | 
			
		||||
        consent_request = cls(
 | 
			
		||||
        contains_information_on_an_ongoing_consent_request = cls(
 | 
			
		||||
            challenge=challenge,
 | 
			
		||||
            acr=acr,
 | 
			
		||||
            amr=amr,
 | 
			
		||||
            client=client,
 | 
			
		||||
            context=context,
 | 
			
		||||
            login_challenge=login_challenge,
 | 
			
		||||
| 
						 | 
				
			
			@ -206,8 +220,8 @@ class ConsentRequest:
 | 
			
		|||
            subject=subject,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        consent_request.additional_properties = _d
 | 
			
		||||
        return consent_request
 | 
			
		||||
        contains_information_on_an_ongoing_consent_request.additional_properties = _d
 | 
			
		||||
        return contains_information_on_an_ongoing_consent_request
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,24 +7,30 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.contains_optional_information_about_the_open_id_connect_request import ContainsOptionalInformationAboutTheOpenIDConnectRequest
 | 
			
		||||
  from ..models.o_auth_20_client import OAuth20Client
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="LoginRequest")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ContainsInformationOnAnOngoingLoginRequest")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class LoginRequest:
 | 
			
		||||
class ContainsInformationOnAnOngoingLoginRequest:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        challenge (str): ID is the identifier ("login challenge") of the login request. It is used to
 | 
			
		||||
            identify the session.
 | 
			
		||||
        client (OAuth2Client):
 | 
			
		||||
        client (OAuth20Client): OAuth 2.0 Clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth
 | 
			
		||||
            2.0 clients are
 | 
			
		||||
            generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.
 | 
			
		||||
        request_url (str): RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It
 | 
			
		||||
            is the URL which
 | 
			
		||||
            initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +46,7 @@ class LoginRequest:
 | 
			
		|||
            deny the scope
 | 
			
		||||
            requested by the OAuth 2.0 client. If this value is set and `skip` is true, you MUST include this subject type
 | 
			
		||||
            when accepting the login request, or the request will fail.
 | 
			
		||||
        oidc_context (Union[Unset, OpenIDConnectContext]):
 | 
			
		||||
        oidc_context (Union[Unset, ContainsOptionalInformationAboutTheOpenIDConnectRequest]):
 | 
			
		||||
        session_id (Union[Unset, str]): SessionID is the login session ID. If the user-agent reuses a login session (via
 | 
			
		||||
            cookie / remember flag)
 | 
			
		||||
            this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember
 | 
			
		||||
| 
						 | 
				
			
			@ -51,18 +57,20 @@ class LoginRequest:
 | 
			
		|||
    """
 | 
			
		||||
 | 
			
		||||
    challenge: str
 | 
			
		||||
    client: 'OAuth2Client'
 | 
			
		||||
    client: 'OAuth20Client'
 | 
			
		||||
    request_url: str
 | 
			
		||||
    requested_access_token_audience: List[str]
 | 
			
		||||
    requested_scope: List[str]
 | 
			
		||||
    skip: bool
 | 
			
		||||
    subject: str
 | 
			
		||||
    oidc_context: Union[Unset, 'OpenIDConnectContext'] = UNSET
 | 
			
		||||
    oidc_context: Union[Unset, 'ContainsOptionalInformationAboutTheOpenIDConnectRequest'] = UNSET
 | 
			
		||||
    session_id: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.contains_optional_information_about_the_open_id_connect_request import ContainsOptionalInformationAboutTheOpenIDConnectRequest
 | 
			
		||||
        from ..models.o_auth_20_client import OAuth20Client
 | 
			
		||||
        challenge = self.challenge
 | 
			
		||||
        client = self.client.to_dict()
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -107,10 +115,12 @@ class LoginRequest:
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.contains_optional_information_about_the_open_id_connect_request import ContainsOptionalInformationAboutTheOpenIDConnectRequest
 | 
			
		||||
        from ..models.o_auth_20_client import OAuth20Client
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        challenge = _d.pop("challenge")
 | 
			
		||||
 | 
			
		||||
        client = OAuth2Client.from_dict(_d.pop("client"))
 | 
			
		||||
        client = OAuth20Client.from_dict(_d.pop("client"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -128,18 +138,18 @@ class LoginRequest:
 | 
			
		|||
        subject = _d.pop("subject")
 | 
			
		||||
 | 
			
		||||
        _oidc_context = _d.pop("oidc_context", UNSET)
 | 
			
		||||
        oidc_context: Union[Unset, OpenIDConnectContext]
 | 
			
		||||
        oidc_context: Union[Unset, ContainsOptionalInformationAboutTheOpenIDConnectRequest]
 | 
			
		||||
        if isinstance(_oidc_context,  Unset):
 | 
			
		||||
            oidc_context = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            oidc_context = OpenIDConnectContext.from_dict(_oidc_context)
 | 
			
		||||
            oidc_context = ContainsOptionalInformationAboutTheOpenIDConnectRequest.from_dict(_oidc_context)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        session_id = _d.pop("session_id", UNSET)
 | 
			
		||||
 | 
			
		||||
        login_request = cls(
 | 
			
		||||
        contains_information_on_an_ongoing_login_request = cls(
 | 
			
		||||
            challenge=challenge,
 | 
			
		||||
            client=client,
 | 
			
		||||
            request_url=request_url,
 | 
			
		||||
| 
						 | 
				
			
			@ -151,8 +161,8 @@ class LoginRequest:
 | 
			
		|||
            session_id=session_id,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        login_request.additional_properties = _d
 | 
			
		||||
        return login_request
 | 
			
		||||
        contains_information_on_an_ongoing_login_request.additional_properties = _d
 | 
			
		||||
        return contains_information_on_an_ongoing_login_request
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,19 +7,22 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.contains_optional_information_about_the_open_id_connect_request_id_token_hint_claims import ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OpenIDConnectContext")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ContainsOptionalInformationAboutTheOpenIDConnectRequest")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class OpenIDConnectContext:
 | 
			
		||||
class ContainsOptionalInformationAboutTheOpenIDConnectRequest:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        acr_values (Union[Unset, List[str]]): ACRValues is the Authentication AuthorizationContext Class Reference
 | 
			
		||||
| 
						 | 
				
			
			@ -49,8 +52,9 @@ class OpenIDConnectContext:
 | 
			
		|||
 | 
			
		||||
            The Authorization Server MAY also attempt to detect the capabilities of the User Agent and present an
 | 
			
		||||
            appropriate display.
 | 
			
		||||
        id_token_hint_claims (Union[Unset, OpenIDConnectContextIdTokenHintClaims]): IDTokenHintClaims are the claims of
 | 
			
		||||
            the ID Token previously issued by the Authorization Server being passed as a hint about the
 | 
			
		||||
        id_token_hint_claims (Union[Unset, ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims]):
 | 
			
		||||
            IDTokenHintClaims are the claims of the ID Token previously issued by the Authorization Server being passed as a
 | 
			
		||||
            hint about the
 | 
			
		||||
            End-User's current or past authenticated session with the Client.
 | 
			
		||||
        login_hint (Union[Unset, str]): LoginHint hints about the login identifier the End-User might use to log in (if
 | 
			
		||||
            necessary).
 | 
			
		||||
| 
						 | 
				
			
			@ -68,13 +72,14 @@ class OpenIDConnectContext:
 | 
			
		|||
 | 
			
		||||
    acr_values: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    display: Union[Unset, str] = UNSET
 | 
			
		||||
    id_token_hint_claims: Union[Unset, 'OpenIDConnectContextIdTokenHintClaims'] = UNSET
 | 
			
		||||
    id_token_hint_claims: Union[Unset, 'ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims'] = UNSET
 | 
			
		||||
    login_hint: Union[Unset, str] = UNSET
 | 
			
		||||
    ui_locales: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.contains_optional_information_about_the_open_id_connect_request_id_token_hint_claims import ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims
 | 
			
		||||
        acr_values: Union[Unset, List[str]] = UNSET
 | 
			
		||||
        if not isinstance(self.acr_values, Unset):
 | 
			
		||||
            acr_values = self.acr_values
 | 
			
		||||
| 
						 | 
				
			
			@ -117,6 +122,7 @@ class OpenIDConnectContext:
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.contains_optional_information_about_the_open_id_connect_request_id_token_hint_claims import ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        acr_values = cast(List[str], _d.pop("acr_values", UNSET))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -124,11 +130,11 @@ class OpenIDConnectContext:
 | 
			
		|||
        display = _d.pop("display", UNSET)
 | 
			
		||||
 | 
			
		||||
        _id_token_hint_claims = _d.pop("id_token_hint_claims", UNSET)
 | 
			
		||||
        id_token_hint_claims: Union[Unset, OpenIDConnectContextIdTokenHintClaims]
 | 
			
		||||
        id_token_hint_claims: Union[Unset, ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims]
 | 
			
		||||
        if isinstance(_id_token_hint_claims,  Unset):
 | 
			
		||||
            id_token_hint_claims = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            id_token_hint_claims = OpenIDConnectContextIdTokenHintClaims.from_dict(_id_token_hint_claims)
 | 
			
		||||
            id_token_hint_claims = ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims.from_dict(_id_token_hint_claims)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -138,7 +144,7 @@ class OpenIDConnectContext:
 | 
			
		|||
        ui_locales = cast(List[str], _d.pop("ui_locales", UNSET))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        open_id_connect_context = cls(
 | 
			
		||||
        contains_optional_information_about_the_open_id_connect_request = cls(
 | 
			
		||||
            acr_values=acr_values,
 | 
			
		||||
            display=display,
 | 
			
		||||
            id_token_hint_claims=id_token_hint_claims,
 | 
			
		||||
| 
						 | 
				
			
			@ -146,8 +152,8 @@ class OpenIDConnectContext:
 | 
			
		|||
            ui_locales=ui_locales,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        open_id_connect_context.additional_properties = _d
 | 
			
		||||
        return open_id_connect_context
 | 
			
		||||
        contains_optional_information_about_the_open_id_connect_request.additional_properties = _d
 | 
			
		||||
        return contains_optional_information_about_the_open_id_connect_request
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -11,10 +11,11 @@ from ..types import UNSET, Unset
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OpenIDConnectContextIdTokenHintClaims")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class OpenIDConnectContextIdTokenHintClaims:
 | 
			
		||||
class ContainsOptionalInformationAboutTheOpenIDConnectRequestIdTokenHintClaims:
 | 
			
		||||
    """IDTokenHintClaims are the claims of the ID Token previously issued by the Authorization Server being passed as a
 | 
			
		||||
hint about the
 | 
			
		||||
End-User's current or past authenticated session with the Client.
 | 
			
		||||
| 
						 | 
				
			
			@ -38,11 +39,11 @@ End-User's current or past authenticated session with the Client.
 | 
			
		|||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        open_id_connect_context_id_token_hint_claims = cls(
 | 
			
		||||
        contains_optional_information_about_the_open_id_connect_request_id_token_hint_claims = cls(
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        open_id_connect_context_id_token_hint_claims.additional_properties = _d
 | 
			
		||||
        return open_id_connect_context_id_token_hint_claims
 | 
			
		||||
        contains_optional_information_about_the_open_id_connect_request_id_token_hint_claims.additional_properties = _d
 | 
			
		||||
        return contains_optional_information_about_the_open_id_connect_request_id_token_hint_claims
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -11,15 +11,23 @@ from ..types import UNSET, Unset
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="JsonWebKeySetGeneratorRequest")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="CreateJsonWebKeySet")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class JsonWebKeySetGeneratorRequest:
 | 
			
		||||
    """
 | 
			
		||||
class CreateJsonWebKeySet:
 | 
			
		||||
    """Create JSON Web Key Set Request Body
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        alg (str): The algorithm to be used for creating the key. Supports "RS256", "ES512", "HS512", and "HS256"
 | 
			
		||||
        kid (str): The kid of the key to be created
 | 
			
		||||
        use (str): The "use" (public key use) parameter identifies the intended use of
 | 
			
		||||
        alg (str): JSON Web Key Algorithm
 | 
			
		||||
 | 
			
		||||
            The algorithm to be used for creating the key. Supports `RS256`, `ES256`, `ES512`, `HS512`, and `HS256`.
 | 
			
		||||
        kid (str): JSON Web Key ID
 | 
			
		||||
 | 
			
		||||
            The Key ID of the key to be created.
 | 
			
		||||
        use (str): JSON Web Key Use
 | 
			
		||||
 | 
			
		||||
            The "use" (public key use) parameter identifies the intended use of
 | 
			
		||||
            the public key. The "use" parameter is employed to indicate whether
 | 
			
		||||
            a public key is used for encrypting data or verifying the signature
 | 
			
		||||
            on data. Valid values are "enc" and "sig".
 | 
			
		||||
| 
						 | 
				
			
			@ -57,14 +65,14 @@ class JsonWebKeySetGeneratorRequest:
 | 
			
		|||
 | 
			
		||||
        use = _d.pop("use")
 | 
			
		||||
 | 
			
		||||
        json_web_key_set_generator_request = cls(
 | 
			
		||||
        create_json_web_key_set = cls(
 | 
			
		||||
            alg=alg,
 | 
			
		||||
            kid=kid,
 | 
			
		||||
            use=use,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        json_web_key_set_generator_request.additional_properties = _d
 | 
			
		||||
        return json_web_key_set_generator_request
 | 
			
		||||
        create_json_web_key_set.additional_properties = _d
 | 
			
		||||
        return create_json_web_key_set
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
							
								
								
									
										107
									
								
								libs/ory-hydra-client/ory_hydra_client/models/error_o_auth_2.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								libs/ory-hydra-client/ory_hydra_client/models/error_o_auth_2.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,107 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ErrorOAuth2")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class ErrorOAuth2:
 | 
			
		||||
    """Error
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        error (Union[Unset, str]): Error
 | 
			
		||||
        error_debug (Union[Unset, str]): Error Debug Information
 | 
			
		||||
 | 
			
		||||
            Only available in dev mode.
 | 
			
		||||
        error_description (Union[Unset, str]): Error Description
 | 
			
		||||
        error_hint (Union[Unset, str]): Error Hint
 | 
			
		||||
 | 
			
		||||
            Helps the user identify the error cause. Example: The redirect URL is not allowed..
 | 
			
		||||
        status_code (Union[Unset, int]): HTTP Status Code Example: 401.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    error: Union[Unset, str] = UNSET
 | 
			
		||||
    error_debug: Union[Unset, str] = UNSET
 | 
			
		||||
    error_description: Union[Unset, str] = UNSET
 | 
			
		||||
    error_hint: Union[Unset, str] = UNSET
 | 
			
		||||
    status_code: Union[Unset, int] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        error = self.error
 | 
			
		||||
        error_debug = self.error_debug
 | 
			
		||||
        error_description = self.error_description
 | 
			
		||||
        error_hint = self.error_hint
 | 
			
		||||
        status_code = self.status_code
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if error is not UNSET:
 | 
			
		||||
            field_dict["error"] = error
 | 
			
		||||
        if error_debug is not UNSET:
 | 
			
		||||
            field_dict["error_debug"] = error_debug
 | 
			
		||||
        if error_description is not UNSET:
 | 
			
		||||
            field_dict["error_description"] = error_description
 | 
			
		||||
        if error_hint is not UNSET:
 | 
			
		||||
            field_dict["error_hint"] = error_hint
 | 
			
		||||
        if status_code is not UNSET:
 | 
			
		||||
            field_dict["status_code"] = status_code
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        error = _d.pop("error", UNSET)
 | 
			
		||||
 | 
			
		||||
        error_debug = _d.pop("error_debug", UNSET)
 | 
			
		||||
 | 
			
		||||
        error_description = _d.pop("error_description", UNSET)
 | 
			
		||||
 | 
			
		||||
        error_hint = _d.pop("error_hint", UNSET)
 | 
			
		||||
 | 
			
		||||
        status_code = _d.pop("status_code", UNSET)
 | 
			
		||||
 | 
			
		||||
        error_o_auth_2 = cls(
 | 
			
		||||
            error=error,
 | 
			
		||||
            error_debug=error_debug,
 | 
			
		||||
            error_description=error_description,
 | 
			
		||||
            error_hint=error_hint,
 | 
			
		||||
            status_code=status_code,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        error_o_auth_2.additional_properties = _d
 | 
			
		||||
        return error_o_auth_2
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,45 +13,73 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="GenericError")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class GenericError:
 | 
			
		||||
    """Error responses are sent when an error (e.g. unauthorized, bad request, ...) occurred.
 | 
			
		||||
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        error (str): Name is the error name. Example: The requested resource could not be found.
 | 
			
		||||
        debug (Union[Unset, str]): Debug contains debug information. This is usually not available and has to be
 | 
			
		||||
            enabled. Example: The database adapter was unable to find the element.
 | 
			
		||||
        error_description (Union[Unset, str]): Description contains further information on the nature of the error.
 | 
			
		||||
            Example: Object with ID 12345 does not exist.
 | 
			
		||||
        status_code (Union[Unset, int]): Code represents the error status code (404, 403, 401, ...). Example: 404.
 | 
			
		||||
        message (str): Error message
 | 
			
		||||
 | 
			
		||||
            The error's message. Example: The resource could not be found.
 | 
			
		||||
        code (Union[Unset, int]): The status code Example: 404.
 | 
			
		||||
        debug (Union[Unset, str]): Debug information
 | 
			
		||||
 | 
			
		||||
            This field is often not exposed to protect against leaking
 | 
			
		||||
            sensitive information. Example: SQL field "foo" is not a bool..
 | 
			
		||||
        details (Union[Unset, Any]): Further error details
 | 
			
		||||
        id (Union[Unset, str]): The error ID
 | 
			
		||||
 | 
			
		||||
            Useful when trying to identify various errors in application logic.
 | 
			
		||||
        reason (Union[Unset, str]): A human-readable reason for the error Example: User with ID 1234 does not exist..
 | 
			
		||||
        request (Union[Unset, str]): The request ID
 | 
			
		||||
 | 
			
		||||
            The request ID is often exposed internally in order to trace
 | 
			
		||||
            errors across service architectures. This is often a UUID. Example: d7ef54b1-ec15-46e6-bccb-524b82c035e6.
 | 
			
		||||
        status (Union[Unset, str]): The status description Example: Not Found.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    error: str
 | 
			
		||||
    message: str
 | 
			
		||||
    code: Union[Unset, int] = UNSET
 | 
			
		||||
    debug: Union[Unset, str] = UNSET
 | 
			
		||||
    error_description: Union[Unset, str] = UNSET
 | 
			
		||||
    status_code: Union[Unset, int] = UNSET
 | 
			
		||||
    details: Union[Unset, Any] = UNSET
 | 
			
		||||
    id: Union[Unset, str] = UNSET
 | 
			
		||||
    reason: Union[Unset, str] = UNSET
 | 
			
		||||
    request: Union[Unset, str] = UNSET
 | 
			
		||||
    status: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        error = self.error
 | 
			
		||||
        message = self.message
 | 
			
		||||
        code = self.code
 | 
			
		||||
        debug = self.debug
 | 
			
		||||
        error_description = self.error_description
 | 
			
		||||
        status_code = self.status_code
 | 
			
		||||
        details = self.details
 | 
			
		||||
        id = self.id
 | 
			
		||||
        reason = self.reason
 | 
			
		||||
        request = self.request
 | 
			
		||||
        status = self.status
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "error": error,
 | 
			
		||||
            "message": message,
 | 
			
		||||
        })
 | 
			
		||||
        if code is not UNSET:
 | 
			
		||||
            field_dict["code"] = code
 | 
			
		||||
        if debug is not UNSET:
 | 
			
		||||
            field_dict["debug"] = debug
 | 
			
		||||
        if error_description is not UNSET:
 | 
			
		||||
            field_dict["error_description"] = error_description
 | 
			
		||||
        if status_code is not UNSET:
 | 
			
		||||
            field_dict["status_code"] = status_code
 | 
			
		||||
        if details is not UNSET:
 | 
			
		||||
            field_dict["details"] = details
 | 
			
		||||
        if id is not UNSET:
 | 
			
		||||
            field_dict["id"] = id
 | 
			
		||||
        if reason is not UNSET:
 | 
			
		||||
            field_dict["reason"] = reason
 | 
			
		||||
        if request is not UNSET:
 | 
			
		||||
            field_dict["request"] = request
 | 
			
		||||
        if status is not UNSET:
 | 
			
		||||
            field_dict["status"] = status
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -60,19 +88,31 @@ class GenericError:
 | 
			
		|||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        error = _d.pop("error")
 | 
			
		||||
        message = _d.pop("message")
 | 
			
		||||
 | 
			
		||||
        code = _d.pop("code", UNSET)
 | 
			
		||||
 | 
			
		||||
        debug = _d.pop("debug", UNSET)
 | 
			
		||||
 | 
			
		||||
        error_description = _d.pop("error_description", UNSET)
 | 
			
		||||
        details = _d.pop("details", UNSET)
 | 
			
		||||
 | 
			
		||||
        status_code = _d.pop("status_code", UNSET)
 | 
			
		||||
        id = _d.pop("id", UNSET)
 | 
			
		||||
 | 
			
		||||
        reason = _d.pop("reason", UNSET)
 | 
			
		||||
 | 
			
		||||
        request = _d.pop("request", UNSET)
 | 
			
		||||
 | 
			
		||||
        status = _d.pop("status", UNSET)
 | 
			
		||||
 | 
			
		||||
        generic_error = cls(
 | 
			
		||||
            error=error,
 | 
			
		||||
            message=message,
 | 
			
		||||
            code=code,
 | 
			
		||||
            debug=debug,
 | 
			
		||||
            error_description=error_description,
 | 
			
		||||
            status_code=status_code,
 | 
			
		||||
            details=details,
 | 
			
		||||
            id=id,
 | 
			
		||||
            reason=reason,
 | 
			
		||||
            request=request,
 | 
			
		||||
            status=status,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        generic_error.additional_properties = _d
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,29 +13,29 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ContainerWaitOKBodyError")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="GetVersionResponse200")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class ContainerWaitOKBodyError:
 | 
			
		||||
    """ContainerWaitOKBodyError container waiting error, if any
 | 
			
		||||
 | 
			
		||||
class GetVersionResponse200:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        message (Union[Unset, str]): Details of an error
 | 
			
		||||
        version (Union[Unset, str]): The version of Ory Hydra.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    message: Union[Unset, str] = UNSET
 | 
			
		||||
    version: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        message = self.message
 | 
			
		||||
        version = self.version
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if message is not UNSET:
 | 
			
		||||
            field_dict["Message"] = message
 | 
			
		||||
        if version is not UNSET:
 | 
			
		||||
            field_dict["version"] = version
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -44,14 +44,14 @@ class ContainerWaitOKBodyError:
 | 
			
		|||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        message = _d.pop("Message", UNSET)
 | 
			
		||||
        version = _d.pop("version", UNSET)
 | 
			
		||||
 | 
			
		||||
        container_wait_ok_body_error = cls(
 | 
			
		||||
            message=message,
 | 
			
		||||
        get_version_response_200 = cls(
 | 
			
		||||
            version=version,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        container_wait_ok_body_error.additional_properties = _d
 | 
			
		||||
        return container_wait_ok_body_error
 | 
			
		||||
        get_version_response_200.additional_properties = _d
 | 
			
		||||
        return get_version_response_200
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,25 +7,26 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="AcceptLoginRequest")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="HandledLoginRequestIsTheRequestPayloadUsedToAcceptALoginRequest")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class AcceptLoginRequest:
 | 
			
		||||
class HandledLoginRequestIsTheRequestPayloadUsedToAcceptALoginRequest:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        subject (str): Subject is the user ID of the end-user that authenticated.
 | 
			
		||||
        acr (Union[Unset, str]): ACR sets the Authentication AuthorizationContext Class Reference value for this
 | 
			
		||||
            authentication session. You can use it
 | 
			
		||||
            to express that, for example, a user authenticated using two factor authentication.
 | 
			
		||||
        context (Union[Unset, JSONRawMessage]):
 | 
			
		||||
        amr (Union[Unset, List[str]]):
 | 
			
		||||
        context (Union[Unset, Any]):
 | 
			
		||||
        force_subject_identifier (Union[Unset, str]): ForceSubjectIdentifier forces the "pairwise" user ID of the end-
 | 
			
		||||
            user that authenticated. The "pairwise" user ID refers to the
 | 
			
		||||
            (Pairwise Identifier Algorithm)[http://openid.net/specs/openid-connect-core-1_0.html#PairwiseAlg] of the OpenID
 | 
			
		||||
| 
						 | 
				
			
			@ -58,7 +59,8 @@ class AcceptLoginRequest:
 | 
			
		|||
 | 
			
		||||
    subject: str
 | 
			
		||||
    acr: Union[Unset, str] = UNSET
 | 
			
		||||
    context: Union[Unset, 'JSONRawMessage'] = UNSET
 | 
			
		||||
    amr: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    context: Union[Unset, Any] = UNSET
 | 
			
		||||
    force_subject_identifier: Union[Unset, str] = UNSET
 | 
			
		||||
    remember: Union[Unset, bool] = UNSET
 | 
			
		||||
    remember_for: Union[Unset, int] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -68,10 +70,14 @@ class AcceptLoginRequest:
 | 
			
		|||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        subject = self.subject
 | 
			
		||||
        acr = self.acr
 | 
			
		||||
        context: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.context, Unset):
 | 
			
		||||
            context = self.context.to_dict()
 | 
			
		||||
        amr: Union[Unset, List[str]] = UNSET
 | 
			
		||||
        if not isinstance(self.amr, Unset):
 | 
			
		||||
            amr = self.amr
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        context = self.context
 | 
			
		||||
        force_subject_identifier = self.force_subject_identifier
 | 
			
		||||
        remember = self.remember
 | 
			
		||||
        remember_for = self.remember_for
 | 
			
		||||
| 
						 | 
				
			
			@ -83,6 +89,8 @@ class AcceptLoginRequest:
 | 
			
		|||
        })
 | 
			
		||||
        if acr is not UNSET:
 | 
			
		||||
            field_dict["acr"] = acr
 | 
			
		||||
        if amr is not UNSET:
 | 
			
		||||
            field_dict["amr"] = amr
 | 
			
		||||
        if context is not UNSET:
 | 
			
		||||
            field_dict["context"] = context
 | 
			
		||||
        if force_subject_identifier is not UNSET:
 | 
			
		||||
| 
						 | 
				
			
			@ -103,15 +111,10 @@ class AcceptLoginRequest:
 | 
			
		|||
 | 
			
		||||
        acr = _d.pop("acr", UNSET)
 | 
			
		||||
 | 
			
		||||
        _context = _d.pop("context", UNSET)
 | 
			
		||||
        context: Union[Unset, JSONRawMessage]
 | 
			
		||||
        if isinstance(_context,  Unset):
 | 
			
		||||
            context = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            context = JSONRawMessage.from_dict(_context)
 | 
			
		||||
 | 
			
		||||
        amr = cast(List[str], _d.pop("amr", UNSET))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        context = _d.pop("context", UNSET)
 | 
			
		||||
 | 
			
		||||
        force_subject_identifier = _d.pop("force_subject_identifier", UNSET)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -119,17 +122,18 @@ class AcceptLoginRequest:
 | 
			
		|||
 | 
			
		||||
        remember_for = _d.pop("remember_for", UNSET)
 | 
			
		||||
 | 
			
		||||
        accept_login_request = cls(
 | 
			
		||||
        handled_login_request_is_the_request_payload_used_to_accept_a_login_request = cls(
 | 
			
		||||
            subject=subject,
 | 
			
		||||
            acr=acr,
 | 
			
		||||
            amr=amr,
 | 
			
		||||
            context=context,
 | 
			
		||||
            force_subject_identifier=force_subject_identifier,
 | 
			
		||||
            remember=remember,
 | 
			
		||||
            remember_for=remember_for,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        accept_login_request.additional_properties = _d
 | 
			
		||||
        return accept_login_request
 | 
			
		||||
        handled_login_request_is_the_request_payload_used_to_accept_a_login_request.additional_properties = _d
 | 
			
		||||
        return handled_login_request_is_the_request_payload_used_to_accept_a_login_request
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,10 +7,13 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import cast
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.health_not_ready_status_errors import HealthNotReadyStatusErrors
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -30,6 +33,7 @@ class HealthNotReadyStatus:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.health_not_ready_status_errors import HealthNotReadyStatusErrors
 | 
			
		||||
        errors: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.errors, Unset):
 | 
			
		||||
            errors = self.errors.to_dict()
 | 
			
		||||
| 
						 | 
				
			
			@ -48,6 +52,7 @@ class HealthNotReadyStatus:
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.health_not_ready_status_errors import HealthNotReadyStatusErrors
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        _errors = _d.pop("errors", UNSET)
 | 
			
		||||
        errors: Union[Unset, HealthNotReadyStatusErrors]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ from ..types import UNSET, Unset
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="HealthNotReadyStatusErrors")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +40,7 @@ class HealthNotReadyStatusErrors:
 | 
			
		|||
        health_not_ready_status_errors = cls(
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        health_not_ready_status_errors.additional_properties = _d
 | 
			
		||||
        return health_not_ready_status_errors
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,6 +13,7 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="HealthStatus")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,6 +13,7 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="IntrospectOAuth2TokenData")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,20 +7,24 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.introspected_o_auth_2_token_ext import IntrospectedOAuth2TokenExt
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OAuth2TokenIntrospection")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="IntrospectedOAuth2Token")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class OAuth2TokenIntrospection:
 | 
			
		||||
    """https://tools.ietf.org/html/rfc7662
 | 
			
		||||
class IntrospectedOAuth2Token:
 | 
			
		||||
    """Introspection contains an access token's session data as specified by
 | 
			
		||||
[IETF RFC 7662](https://tools.ietf.org/html/rfc7662)
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        active (bool): Active is a boolean indicator of whether or not the presented token
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +41,7 @@ class OAuth2TokenIntrospection:
 | 
			
		|||
            requested this token.
 | 
			
		||||
        exp (Union[Unset, int]): Expires at is an integer timestamp, measured in the number of seconds
 | 
			
		||||
            since January 1 1970 UTC, indicating when this token will expire.
 | 
			
		||||
        ext (Union[Unset, OAuth2TokenIntrospectionExt]): Extra is arbitrary data set by the session.
 | 
			
		||||
        ext (Union[Unset, IntrospectedOAuth2TokenExt]): Extra is arbitrary data set by the session.
 | 
			
		||||
        iat (Union[Unset, int]): Issued at is an integer timestamp, measured in the number of seconds
 | 
			
		||||
            since January 1 1970 UTC, indicating when this token was
 | 
			
		||||
            originally issued.
 | 
			
		||||
| 
						 | 
				
			
			@ -64,7 +68,7 @@ class OAuth2TokenIntrospection:
 | 
			
		|||
    aud: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    client_id: Union[Unset, str] = UNSET
 | 
			
		||||
    exp: Union[Unset, int] = UNSET
 | 
			
		||||
    ext: Union[Unset, 'OAuth2TokenIntrospectionExt'] = UNSET
 | 
			
		||||
    ext: Union[Unset, 'IntrospectedOAuth2TokenExt'] = UNSET
 | 
			
		||||
    iat: Union[Unset, int] = UNSET
 | 
			
		||||
    iss: Union[Unset, str] = UNSET
 | 
			
		||||
    nbf: Union[Unset, int] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -78,6 +82,7 @@ class OAuth2TokenIntrospection:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.introspected_o_auth_2_token_ext import IntrospectedOAuth2TokenExt
 | 
			
		||||
        active = self.active
 | 
			
		||||
        aud: Union[Unset, List[str]] = UNSET
 | 
			
		||||
        if not isinstance(self.aud, Unset):
 | 
			
		||||
| 
						 | 
				
			
			@ -140,6 +145,7 @@ class OAuth2TokenIntrospection:
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.introspected_o_auth_2_token_ext import IntrospectedOAuth2TokenExt
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        active = _d.pop("active")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -151,11 +157,11 @@ class OAuth2TokenIntrospection:
 | 
			
		|||
        exp = _d.pop("exp", UNSET)
 | 
			
		||||
 | 
			
		||||
        _ext = _d.pop("ext", UNSET)
 | 
			
		||||
        ext: Union[Unset, OAuth2TokenIntrospectionExt]
 | 
			
		||||
        ext: Union[Unset, IntrospectedOAuth2TokenExt]
 | 
			
		||||
        if isinstance(_ext,  Unset):
 | 
			
		||||
            ext = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            ext = OAuth2TokenIntrospectionExt.from_dict(_ext)
 | 
			
		||||
            ext = IntrospectedOAuth2TokenExt.from_dict(_ext)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -178,7 +184,7 @@ class OAuth2TokenIntrospection:
 | 
			
		|||
 | 
			
		||||
        username = _d.pop("username", UNSET)
 | 
			
		||||
 | 
			
		||||
        o_auth_2_token_introspection = cls(
 | 
			
		||||
        introspected_o_auth_2_token = cls(
 | 
			
		||||
            active=active,
 | 
			
		||||
            aud=aud,
 | 
			
		||||
            client_id=client_id,
 | 
			
		||||
| 
						 | 
				
			
			@ -195,8 +201,8 @@ class OAuth2TokenIntrospection:
 | 
			
		|||
            username=username,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        o_auth_2_token_introspection.additional_properties = _d
 | 
			
		||||
        return o_auth_2_token_introspection
 | 
			
		||||
        introspected_o_auth_2_token.additional_properties = _d
 | 
			
		||||
        return introspected_o_auth_2_token
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -11,10 +11,11 @@ from ..types import UNSET, Unset
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OAuth2TokenIntrospectionExt")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="IntrospectedOAuth2TokenExt")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class OAuth2TokenIntrospectionExt:
 | 
			
		||||
class IntrospectedOAuth2TokenExt:
 | 
			
		||||
    """Extra is arbitrary data set by the session.
 | 
			
		||||
 | 
			
		||||
    """
 | 
			
		||||
| 
						 | 
				
			
			@ -36,11 +37,11 @@ class OAuth2TokenIntrospectionExt:
 | 
			
		|||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        o_auth_2_token_introspection_ext = cls(
 | 
			
		||||
        introspected_o_auth_2_token_ext = cls(
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        o_auth_2_token_introspection_ext.additional_properties = _d
 | 
			
		||||
        return o_auth_2_token_introspection_ext
 | 
			
		||||
        introspected_o_auth_2_token_ext.additional_properties = _d
 | 
			
		||||
        return introspected_o_auth_2_token_ext
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,32 +7,35 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginConfigNetwork")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="IsReadyResponse200")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginConfigNetwork:
 | 
			
		||||
    """PluginConfigNetwork plugin config network
 | 
			
		||||
 | 
			
		||||
class IsReadyResponse200:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        type (str): type
 | 
			
		||||
        status (Union[Unset, str]): Always "ok".
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    type: str
 | 
			
		||||
    status: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        type = self.type
 | 
			
		||||
        status = self.status
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "Type": type,
 | 
			
		||||
        })
 | 
			
		||||
        if status is not UNSET:
 | 
			
		||||
            field_dict["status"] = status
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -41,14 +44,14 @@ class PluginConfigNetwork:
 | 
			
		|||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        type = _d.pop("Type")
 | 
			
		||||
        status = _d.pop("status", UNSET)
 | 
			
		||||
 | 
			
		||||
        plugin_config_network = cls(
 | 
			
		||||
            type=type,
 | 
			
		||||
        is_ready_response_200 = cls(
 | 
			
		||||
            status=status,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_config_network.additional_properties = _d
 | 
			
		||||
        return plugin_config_network
 | 
			
		||||
        is_ready_response_200.additional_properties = _d
 | 
			
		||||
        return is_ready_response_200
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,42 +7,44 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from dateutil.parser import isoparse
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
import datetime
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.is_ready_response_503_errors import IsReadyResponse503Errors
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="FlushInactiveOAuth2TokensRequest")
 | 
			
		||||
T = TypeVar("T", bound="IsReadyResponse503")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class FlushInactiveOAuth2TokensRequest:
 | 
			
		||||
class IsReadyResponse503:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        not_after (Union[Unset, datetime.datetime]): NotAfter sets after which point tokens should not be flushed. This
 | 
			
		||||
            is useful when you want to keep a history
 | 
			
		||||
            of recently issued tokens for auditing.
 | 
			
		||||
        errors (Union[Unset, IsReadyResponse503Errors]): Errors contains a list of errors that caused the not ready
 | 
			
		||||
            status.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    not_after: Union[Unset, datetime.datetime] = UNSET
 | 
			
		||||
    errors: Union[Unset, 'IsReadyResponse503Errors'] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        not_after: Union[Unset, str] = UNSET
 | 
			
		||||
        if not isinstance(self.not_after, Unset):
 | 
			
		||||
            not_after = self.not_after.isoformat()
 | 
			
		||||
        from ..models.is_ready_response_503_errors import IsReadyResponse503Errors
 | 
			
		||||
        errors: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.errors, Unset):
 | 
			
		||||
            errors = self.errors.to_dict()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if not_after is not UNSET:
 | 
			
		||||
            field_dict["notAfter"] = not_after
 | 
			
		||||
        if errors is not UNSET:
 | 
			
		||||
            field_dict["errors"] = errors
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -50,23 +52,24 @@ class FlushInactiveOAuth2TokensRequest:
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.is_ready_response_503_errors import IsReadyResponse503Errors
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        _not_after = _d.pop("notAfter", UNSET)
 | 
			
		||||
        not_after: Union[Unset, datetime.datetime]
 | 
			
		||||
        if isinstance(_not_after,  Unset):
 | 
			
		||||
            not_after = UNSET
 | 
			
		||||
        _errors = _d.pop("errors", UNSET)
 | 
			
		||||
        errors: Union[Unset, IsReadyResponse503Errors]
 | 
			
		||||
        if isinstance(_errors,  Unset):
 | 
			
		||||
            errors = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            not_after = isoparse(_not_after)
 | 
			
		||||
            errors = IsReadyResponse503Errors.from_dict(_errors)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        flush_inactive_o_auth_2_tokens_request = cls(
 | 
			
		||||
            not_after=not_after,
 | 
			
		||||
        is_ready_response_503 = cls(
 | 
			
		||||
            errors=errors,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        flush_inactive_o_auth_2_tokens_request.additional_properties = _d
 | 
			
		||||
        return flush_inactive_o_auth_2_tokens_request
 | 
			
		||||
        is_ready_response_503.additional_properties = _d
 | 
			
		||||
        return is_ready_response_503
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -11,14 +11,16 @@ from ..types import UNSET, Unset
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="JoseJSONWebKeySet")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="IsReadyResponse503Errors")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class JoseJSONWebKeySet:
 | 
			
		||||
    """
 | 
			
		||||
class IsReadyResponse503Errors:
 | 
			
		||||
    """Errors contains a list of errors that caused the not ready status.
 | 
			
		||||
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
    additional_properties: Dict[str, str] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
| 
						 | 
				
			
			@ -35,20 +37,21 @@ class JoseJSONWebKeySet:
 | 
			
		|||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        jose_json_web_key_set = cls(
 | 
			
		||||
        is_ready_response_503_errors = cls(
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        jose_json_web_key_set.additional_properties = _d
 | 
			
		||||
        return jose_json_web_key_set
 | 
			
		||||
 | 
			
		||||
        is_ready_response_503_errors.additional_properties = _d
 | 
			
		||||
        return is_ready_response_503_errors
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
    def __getitem__(self, key: str) -> str:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
    def __setitem__(self, key: str, value: str) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
							
								
								
									
										100
									
								
								libs/ory-hydra-client/ory_hydra_client/models/json_patch.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								libs/ory-hydra-client/ory_hydra_client/models/json_patch.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,100 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="JsonPatch")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class JsonPatch:
 | 
			
		||||
    """A JSONPatch document as defined by RFC 6902
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        op (str): The operation to be performed. One of "add", "remove", "replace", "move", "copy", or "test". Example:
 | 
			
		||||
            replace.
 | 
			
		||||
        path (str): The path to the target path. Uses JSON pointer notation.
 | 
			
		||||
 | 
			
		||||
            Learn more [about JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901#section-5). Example: /name.
 | 
			
		||||
        from_ (Union[Unset, str]): This field is used together with operation "move" and uses JSON Pointer notation.
 | 
			
		||||
 | 
			
		||||
            Learn more [about JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901#section-5). Example: /name.
 | 
			
		||||
        value (Union[Unset, Any]): The value to be used within the operations.
 | 
			
		||||
 | 
			
		||||
            Learn more [about JSON Pointers](https://datatracker.ietf.org/doc/html/rfc6901#section-5). Example: foobar.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    op: str
 | 
			
		||||
    path: str
 | 
			
		||||
    from_: Union[Unset, str] = UNSET
 | 
			
		||||
    value: Union[Unset, Any] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        op = self.op
 | 
			
		||||
        path = self.path
 | 
			
		||||
        from_ = self.from_
 | 
			
		||||
        value = self.value
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "op": op,
 | 
			
		||||
            "path": path,
 | 
			
		||||
        })
 | 
			
		||||
        if from_ is not UNSET:
 | 
			
		||||
            field_dict["from"] = from_
 | 
			
		||||
        if value is not UNSET:
 | 
			
		||||
            field_dict["value"] = value
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        op = _d.pop("op")
 | 
			
		||||
 | 
			
		||||
        path = _d.pop("path")
 | 
			
		||||
 | 
			
		||||
        from_ = _d.pop("from", UNSET)
 | 
			
		||||
 | 
			
		||||
        value = _d.pop("value", UNSET)
 | 
			
		||||
 | 
			
		||||
        json_patch = cls(
 | 
			
		||||
            op=op,
 | 
			
		||||
            path=path,
 | 
			
		||||
            from_=from_,
 | 
			
		||||
            value=value,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        json_patch.additional_properties = _d
 | 
			
		||||
        return json_patch
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,58 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="JSONRawMessage")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class JSONRawMessage:
 | 
			
		||||
    """
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        json_raw_message = cls(
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        json_raw_message.additional_properties = _d
 | 
			
		||||
        return json_raw_message
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -14,14 +14,12 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="JSONWebKey")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="JsonWebKey")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class JSONWebKey:
 | 
			
		||||
    """It is important that this model object is named JSONWebKey for
 | 
			
		||||
"swagger generate spec" to generate only on definition of a
 | 
			
		||||
JSONWebKey.
 | 
			
		||||
 | 
			
		||||
class JsonWebKey:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        alg (str): The "alg" (algorithm) parameter identifies the algorithm intended for
 | 
			
		||||
            use with the key.  The values used should either be registered in the
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,38 +7,40 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.json_web_key import JsonWebKey
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="JSONWebKeySet")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="JsonWebKeySet")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class JSONWebKeySet:
 | 
			
		||||
    """It is important that this model object is named JSONWebKeySet for
 | 
			
		||||
"swagger generate spec" to generate only on definition of a
 | 
			
		||||
JSONWebKeySet. Since one with the same name is previously defined as
 | 
			
		||||
client.Client.JSONWebKeys and this one is last, this one will be
 | 
			
		||||
effectively written in the swagger spec.
 | 
			
		||||
class JsonWebKeySet:
 | 
			
		||||
    """JSON Web Key Set
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        keys (Union[Unset, List['JSONWebKey']]): The value of the "keys" parameter is an array of JWK values.  By
 | 
			
		||||
            default, the order of the JWK values within the array does not imply
 | 
			
		||||
            an order of preference among them, although applications of JWK Sets
 | 
			
		||||
            can choose to assign a meaning to the order for their purposes, if
 | 
			
		||||
            desired.
 | 
			
		||||
        keys (Union[Unset, List['JsonWebKey']]): List of JSON Web Keys
 | 
			
		||||
 | 
			
		||||
            The value of the "keys" parameter is an array of JSON Web Key (JWK)
 | 
			
		||||
            values. By default, the order of the JWK values within the array does
 | 
			
		||||
            not imply an order of preference among them, although applications
 | 
			
		||||
            of JWK Sets can choose to assign a meaning to the order for their
 | 
			
		||||
            purposes, if desired.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    keys: Union[Unset, List['JSONWebKey']] = UNSET
 | 
			
		||||
    keys: Union[Unset, List['JsonWebKey']] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.json_web_key import JsonWebKey
 | 
			
		||||
        keys: Union[Unset, List[Dict[str, Any]]] = UNSET
 | 
			
		||||
        if not isinstance(self.keys, Unset):
 | 
			
		||||
            keys = []
 | 
			
		||||
| 
						 | 
				
			
			@ -64,11 +66,12 @@ effectively written in the swagger spec.
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.json_web_key import JsonWebKey
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        keys = []
 | 
			
		||||
        _keys = _d.pop("keys", UNSET)
 | 
			
		||||
        for keys_item_data in (_keys or []):
 | 
			
		||||
            keys_item = JSONWebKey.from_dict(keys_item_data)
 | 
			
		||||
            keys_item = JsonWebKey.from_dict(keys_item_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,63 +7,95 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from dateutil.parser import isoparse
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Union
 | 
			
		||||
from dateutil.parser import isoparse
 | 
			
		||||
import datetime
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OAuth2Client")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OAuth20Client")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class OAuth2Client:
 | 
			
		||||
    """
 | 
			
		||||
class OAuth20Client:
 | 
			
		||||
    """OAuth 2.0 Clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are
 | 
			
		||||
generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        allowed_cors_origins (Union[Unset, List[str]]):
 | 
			
		||||
        audience (Union[Unset, List[str]]):
 | 
			
		||||
        backchannel_logout_session_required (Union[Unset, bool]): Boolean value specifying whether the RP requires that
 | 
			
		||||
            a sid (session ID) Claim be included in the Logout
 | 
			
		||||
        authorization_code_grant_access_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds,
 | 
			
		||||
            seconds, minutes, hours.
 | 
			
		||||
        authorization_code_grant_id_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds,
 | 
			
		||||
            seconds, minutes, hours.
 | 
			
		||||
        authorization_code_grant_refresh_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds,
 | 
			
		||||
            seconds, minutes, hours.
 | 
			
		||||
        backchannel_logout_session_required (Union[Unset, bool]): OpenID Connect Back-Channel Logout Session Required
 | 
			
		||||
 | 
			
		||||
            Boolean value specifying whether the RP requires that a sid (session ID) Claim be included in the Logout
 | 
			
		||||
            Token to identify the RP session with the OP when the backchannel_logout_uri is used.
 | 
			
		||||
            If omitted, the default value is false.
 | 
			
		||||
        backchannel_logout_uri (Union[Unset, str]): RP URL that will cause the RP to log itself out when sent a Logout
 | 
			
		||||
            Token by the OP.
 | 
			
		||||
        client_id (Union[Unset, str]): ID  is the id for this client.
 | 
			
		||||
        client_name (Union[Unset, str]): Name is the human-readable string name of the client to be presented to the
 | 
			
		||||
            end-user during authorization.
 | 
			
		||||
        client_secret (Union[Unset, str]): Secret is the client's secret. The secret will be included in the create
 | 
			
		||||
            request as cleartext, and then
 | 
			
		||||
            never again. The secret is stored using BCrypt so it is impossible to recover it. Tell your users
 | 
			
		||||
            that they need to write the secret down as it will not be made available again.
 | 
			
		||||
        client_secret_expires_at (Union[Unset, int]): SecretExpiresAt is an integer holding the time at which the client
 | 
			
		||||
            secret will expire or 0 if it will not expire. The time is
 | 
			
		||||
            represented as the number of seconds from 1970-01-01T00:00:00Z as
 | 
			
		||||
            measured in UTC until the date/time of expiration.
 | 
			
		||||
        backchannel_logout_uri (Union[Unset, str]): OpenID Connect Back-Channel Logout URI
 | 
			
		||||
 | 
			
		||||
            This feature is currently not supported and it's value will always
 | 
			
		||||
            be set to 0.
 | 
			
		||||
        client_uri (Union[Unset, str]): ClientURI is an URL string of a web page providing information about the client.
 | 
			
		||||
            RP URL that will cause the RP to log itself out when sent a Logout Token by the OP.
 | 
			
		||||
        client_credentials_grant_access_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds,
 | 
			
		||||
            seconds, minutes, hours.
 | 
			
		||||
        client_id (Union[Unset, str]): OAuth 2.0 Client ID
 | 
			
		||||
 | 
			
		||||
            The ID is autogenerated and immutable.
 | 
			
		||||
        client_name (Union[Unset, str]): OAuth 2.0 Client Name
 | 
			
		||||
 | 
			
		||||
            The human-readable name of the client to be presented to the
 | 
			
		||||
            end-user during authorization.
 | 
			
		||||
        client_secret (Union[Unset, str]): OAuth 2.0 Client Secret
 | 
			
		||||
 | 
			
		||||
            The secret will be included in the create request as cleartext, and then
 | 
			
		||||
            never again. The secret is kept in hashed format and is not recoverable once lost.
 | 
			
		||||
        client_secret_expires_at (Union[Unset, int]): OAuth 2.0 Client Secret Expires At
 | 
			
		||||
 | 
			
		||||
            The field is currently not supported and its value is always 0.
 | 
			
		||||
        client_uri (Union[Unset, str]): OAuth 2.0 Client URI
 | 
			
		||||
 | 
			
		||||
            ClientURI is a URL string of a web page providing information about the client.
 | 
			
		||||
            If present, the server SHOULD display this URL to the end-user in
 | 
			
		||||
            a clickable fashion.
 | 
			
		||||
        contacts (Union[Unset, List[str]]):
 | 
			
		||||
        created_at (Union[Unset, datetime.datetime]): CreatedAt returns the timestamp of the client's creation.
 | 
			
		||||
        frontchannel_logout_session_required (Union[Unset, bool]): Boolean value specifying whether the RP requires that
 | 
			
		||||
            iss (issuer) and sid (session ID) query parameters be
 | 
			
		||||
        created_at (Union[Unset, datetime.datetime]): OAuth 2.0 Client Creation Date
 | 
			
		||||
 | 
			
		||||
            CreatedAt returns the timestamp of the client's creation.
 | 
			
		||||
        frontchannel_logout_session_required (Union[Unset, bool]): OpenID Connect Front-Channel Logout Session Required
 | 
			
		||||
 | 
			
		||||
            Boolean value specifying whether the RP requires that iss (issuer) and sid (session ID) query parameters be
 | 
			
		||||
            included to identify the RP session with the OP when the frontchannel_logout_uri is used.
 | 
			
		||||
            If omitted, the default value is false.
 | 
			
		||||
        frontchannel_logout_uri (Union[Unset, str]): RP URL that will cause the RP to log itself out when rendered in an
 | 
			
		||||
            iframe by the OP. An iss (issuer) query
 | 
			
		||||
        frontchannel_logout_uri (Union[Unset, str]): OpenID Connect Front-Channel Logout URI
 | 
			
		||||
 | 
			
		||||
            RP URL that will cause the RP to log itself out when rendered in an iframe by the OP. An iss (issuer) query
 | 
			
		||||
            parameter and a sid (session ID) query parameter MAY be included by the OP to enable the RP to validate the
 | 
			
		||||
            request and to determine which of the potentially multiple sessions is to be logged out; if either is
 | 
			
		||||
            included, both MUST be.
 | 
			
		||||
        grant_types (Union[Unset, List[str]]):
 | 
			
		||||
        jwks (Union[Unset, JoseJSONWebKeySet]):
 | 
			
		||||
        jwks_uri (Union[Unset, str]): URL for the Client's JSON Web Key Set [JWK] document. If the Client signs requests
 | 
			
		||||
            to the Server, it contains
 | 
			
		||||
        implicit_grant_access_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds, seconds,
 | 
			
		||||
            minutes, hours.
 | 
			
		||||
        implicit_grant_id_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds, seconds, minutes,
 | 
			
		||||
            hours.
 | 
			
		||||
        jwks (Union[Unset, Any]): OAuth 2.0 Client JSON Web Key Set
 | 
			
		||||
 | 
			
		||||
            Client's JSON Web Key Set [JWK] document, passed by value. The semantics of the jwks parameter are the same as
 | 
			
		||||
            the jwks_uri parameter, other than that the JWK Set is passed by value, rather than by reference. This parameter
 | 
			
		||||
            is intended only to be used by Clients that, for some reason, are unable to use the jwks_uri parameter, for
 | 
			
		||||
            instance, by native applications that might not have a location to host the contents of the JWK Set. If a Client
 | 
			
		||||
            can use jwks_uri, it MUST NOT use jwks. One significant downside of jwks is that it does not enable key rotation
 | 
			
		||||
            (which jwks_uri does, as described in Section 10 of OpenID Connect Core 1.0 [OpenID.Core]). The jwks_uri and
 | 
			
		||||
            jwks
 | 
			
		||||
            parameters MUST NOT be used together.
 | 
			
		||||
        jwks_uri (Union[Unset, str]): OAuth 2.0 Client JSON Web Key Set URL
 | 
			
		||||
 | 
			
		||||
            URL for the Client's JSON Web Key Set [JWK] document. If the Client signs requests to the Server, it contains
 | 
			
		||||
            the signing key(s) the Server uses to validate signatures from the Client. The JWK Set MAY also contain the
 | 
			
		||||
            Client's encryption keys(s), which are used by the Server to encrypt responses to the Client. When both signing
 | 
			
		||||
            and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the
 | 
			
		||||
| 
						 | 
				
			
			@ -72,41 +104,80 @@ class OAuth2Client:
 | 
			
		|||
            signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used
 | 
			
		||||
            to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST
 | 
			
		||||
            match those in the certificate.
 | 
			
		||||
        logo_uri (Union[Unset, str]): LogoURI is an URL string that references a logo for the client.
 | 
			
		||||
        metadata (Union[Unset, JSONRawMessage]):
 | 
			
		||||
        owner (Union[Unset, str]): Owner is a string identifying the owner of the OAuth 2.0 Client.
 | 
			
		||||
        policy_uri (Union[Unset, str]): PolicyURI is a URL string that points to a human-readable privacy policy
 | 
			
		||||
            document
 | 
			
		||||
        jwt_bearer_grant_access_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds, seconds,
 | 
			
		||||
            minutes, hours.
 | 
			
		||||
        logo_uri (Union[Unset, str]): OAuth 2.0 Client Logo URI
 | 
			
		||||
 | 
			
		||||
            A URL string referencing the client's logo.
 | 
			
		||||
        metadata (Union[Unset, Any]):
 | 
			
		||||
        owner (Union[Unset, str]): OAuth 2.0 Client Owner
 | 
			
		||||
 | 
			
		||||
            Owner is a string identifying the owner of the OAuth 2.0 Client.
 | 
			
		||||
        policy_uri (Union[Unset, str]): OAuth 2.0 Client Policy URI
 | 
			
		||||
 | 
			
		||||
            PolicyURI is a URL string that points to a human-readable privacy policy document
 | 
			
		||||
            that describes how the deployment organization collects, uses,
 | 
			
		||||
            retains, and discloses personal data.
 | 
			
		||||
        post_logout_redirect_uris (Union[Unset, List[str]]):
 | 
			
		||||
        redirect_uris (Union[Unset, List[str]]):
 | 
			
		||||
        request_object_signing_alg (Union[Unset, str]): JWS [JWS] alg algorithm [JWA] that MUST be used for signing
 | 
			
		||||
            Request Objects sent to the OP. All Request Objects
 | 
			
		||||
        refresh_token_grant_access_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds, seconds,
 | 
			
		||||
            minutes, hours.
 | 
			
		||||
        refresh_token_grant_id_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds, seconds,
 | 
			
		||||
            minutes, hours.
 | 
			
		||||
        refresh_token_grant_refresh_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds,
 | 
			
		||||
            seconds, minutes, hours.
 | 
			
		||||
        registration_access_token (Union[Unset, str]): OpenID Connect Dynamic Client Registration Access Token
 | 
			
		||||
 | 
			
		||||
            RegistrationAccessToken can be used to update, get, or delete the OAuth2 Client. It is sent when creating a
 | 
			
		||||
            client
 | 
			
		||||
            using Dynamic Client Registration.
 | 
			
		||||
        registration_client_uri (Union[Unset, str]): OpenID Connect Dynamic Client Registration URL
 | 
			
		||||
 | 
			
		||||
            RegistrationClientURI is the URL used to update, get, or delete the OAuth2 Client.
 | 
			
		||||
        request_object_signing_alg (Union[Unset, str]): OpenID Connect Request Object Signing Algorithm
 | 
			
		||||
 | 
			
		||||
            JWS [JWS] alg algorithm [JWA] that MUST be used for signing Request Objects sent to the OP. All Request Objects
 | 
			
		||||
            from this Client MUST be rejected, if not signed with this algorithm.
 | 
			
		||||
        request_uris (Union[Unset, List[str]]):
 | 
			
		||||
        response_types (Union[Unset, List[str]]):
 | 
			
		||||
        scope (Union[Unset, str]): Scope is a string containing a space-separated list of scope values (as
 | 
			
		||||
        scope (Union[Unset, str]): OAuth 2.0 Client Scope
 | 
			
		||||
 | 
			
		||||
            Scope is a string containing a space-separated list of scope values (as
 | 
			
		||||
            described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client
 | 
			
		||||
            can use when requesting access tokens.
 | 
			
		||||
        sector_identifier_uri (Union[Unset, str]): URL using the https scheme to be used in calculating Pseudonymous
 | 
			
		||||
            Identifiers by the OP. The URL references a
 | 
			
		||||
            can use when requesting access tokens. Example: scope1 scope-2 scope.3 scope:4.
 | 
			
		||||
        sector_identifier_uri (Union[Unset, str]): OpenID Connect Sector Identifier URI
 | 
			
		||||
 | 
			
		||||
            URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. The URL references a
 | 
			
		||||
            file with a single JSON array of redirect_uri values.
 | 
			
		||||
        subject_type (Union[Unset, str]): SubjectType requested for responses to this Client. The
 | 
			
		||||
            subject_types_supported Discovery parameter contains a
 | 
			
		||||
        subject_type (Union[Unset, str]): OpenID Connect Subject Type
 | 
			
		||||
 | 
			
		||||
            The `subject_types_supported` Discovery parameter contains a
 | 
			
		||||
            list of the supported subject_type values for this server. Valid types include `pairwise` and `public`.
 | 
			
		||||
        token_endpoint_auth_method (Union[Unset, str]): Requested Client Authentication method for the Token Endpoint.
 | 
			
		||||
            The options are client_secret_post,
 | 
			
		||||
            client_secret_basic, private_key_jwt, and none.
 | 
			
		||||
        token_endpoint_auth_signing_alg (Union[Unset, str]): Requested Client Authentication signing algorithm for the
 | 
			
		||||
            Token Endpoint.
 | 
			
		||||
        tos_uri (Union[Unset, str]): TermsOfServiceURI is a URL string that points to a human-readable terms of service
 | 
			
		||||
        token_endpoint_auth_method (Union[Unset, str]): OAuth 2.0 Token Endpoint Authentication Method
 | 
			
		||||
 | 
			
		||||
            Requested Client Authentication method for the Token Endpoint. The options are:
 | 
			
		||||
 | 
			
		||||
            `client_secret_post`: (default) Send `client_id` and `client_secret` as `application/x-www-form-urlencoded` in
 | 
			
		||||
            the HTTP body.
 | 
			
		||||
            `client_secret_basic`: Send `client_id` and `client_secret` as `application/x-www-form-urlencoded` encoded in
 | 
			
		||||
            the HTTP Authorization header.
 | 
			
		||||
            `private_key_jwt`: Use JSON Web Tokens to authenticate the client.
 | 
			
		||||
            `none`: Used for public clients (native apps, mobile apps) which can not have secrets.
 | 
			
		||||
        token_endpoint_auth_signing_alg (Union[Unset, str]): OAuth 2.0 Token Endpoint Signing Algorithm
 | 
			
		||||
 | 
			
		||||
            Requested Client Authentication signing algorithm for the Token Endpoint.
 | 
			
		||||
        tos_uri (Union[Unset, str]): OAuth 2.0 Client Terms of Service URI
 | 
			
		||||
 | 
			
		||||
            A URL string pointing to a human-readable terms of service
 | 
			
		||||
            document for the client that describes a contractual relationship
 | 
			
		||||
            between the end-user and the client that the end-user accepts when
 | 
			
		||||
            authorizing the client.
 | 
			
		||||
        updated_at (Union[Unset, datetime.datetime]): UpdatedAt returns the timestamp of the last update.
 | 
			
		||||
        userinfo_signed_response_alg (Union[Unset, str]): JWS alg algorithm [JWA] REQUIRED for signing UserInfo
 | 
			
		||||
            Responses. If this is specified, the response will be JWT
 | 
			
		||||
        updated_at (Union[Unset, datetime.datetime]): OAuth 2.0 Client Last Update Date
 | 
			
		||||
 | 
			
		||||
            UpdatedAt returns the timestamp of the last update.
 | 
			
		||||
        userinfo_signed_response_alg (Union[Unset, str]): OpenID Connect Request Userinfo Signed Response Algorithm
 | 
			
		||||
 | 
			
		||||
            JWS alg algorithm [JWA] REQUIRED for signing UserInfo Responses. If this is specified, the response will be JWT
 | 
			
		||||
            [JWT] serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response to return the
 | 
			
		||||
            Claims
 | 
			
		||||
            as a UTF-8 encoded JSON object using the application/json content-type.
 | 
			
		||||
| 
						 | 
				
			
			@ -114,8 +185,12 @@ class OAuth2Client:
 | 
			
		|||
 | 
			
		||||
    allowed_cors_origins: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    audience: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    authorization_code_grant_access_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    authorization_code_grant_id_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    authorization_code_grant_refresh_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    backchannel_logout_session_required: Union[Unset, bool] = UNSET
 | 
			
		||||
    backchannel_logout_uri: Union[Unset, str] = UNSET
 | 
			
		||||
    client_credentials_grant_access_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    client_id: Union[Unset, str] = UNSET
 | 
			
		||||
    client_name: Union[Unset, str] = UNSET
 | 
			
		||||
    client_secret: Union[Unset, str] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -126,14 +201,22 @@ class OAuth2Client:
 | 
			
		|||
    frontchannel_logout_session_required: Union[Unset, bool] = UNSET
 | 
			
		||||
    frontchannel_logout_uri: Union[Unset, str] = UNSET
 | 
			
		||||
    grant_types: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    jwks: Union[Unset, 'JoseJSONWebKeySet'] = UNSET
 | 
			
		||||
    implicit_grant_access_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    implicit_grant_id_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    jwks: Union[Unset, Any] = UNSET
 | 
			
		||||
    jwks_uri: Union[Unset, str] = UNSET
 | 
			
		||||
    jwt_bearer_grant_access_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    logo_uri: Union[Unset, str] = UNSET
 | 
			
		||||
    metadata: Union[Unset, 'JSONRawMessage'] = UNSET
 | 
			
		||||
    metadata: Union[Unset, Any] = UNSET
 | 
			
		||||
    owner: Union[Unset, str] = UNSET
 | 
			
		||||
    policy_uri: Union[Unset, str] = UNSET
 | 
			
		||||
    post_logout_redirect_uris: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    redirect_uris: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    refresh_token_grant_access_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    refresh_token_grant_id_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    refresh_token_grant_refresh_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    registration_access_token: Union[Unset, str] = UNSET
 | 
			
		||||
    registration_client_uri: Union[Unset, str] = UNSET
 | 
			
		||||
    request_object_signing_alg: Union[Unset, str] = UNSET
 | 
			
		||||
    request_uris: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    response_types: Union[Unset, List[str]] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -163,8 +246,12 @@ class OAuth2Client:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        authorization_code_grant_access_token_lifespan = self.authorization_code_grant_access_token_lifespan
 | 
			
		||||
        authorization_code_grant_id_token_lifespan = self.authorization_code_grant_id_token_lifespan
 | 
			
		||||
        authorization_code_grant_refresh_token_lifespan = self.authorization_code_grant_refresh_token_lifespan
 | 
			
		||||
        backchannel_logout_session_required = self.backchannel_logout_session_required
 | 
			
		||||
        backchannel_logout_uri = self.backchannel_logout_uri
 | 
			
		||||
        client_credentials_grant_access_token_lifespan = self.client_credentials_grant_access_token_lifespan
 | 
			
		||||
        client_id = self.client_id
 | 
			
		||||
        client_name = self.client_name
 | 
			
		||||
        client_secret = self.client_secret
 | 
			
		||||
| 
						 | 
				
			
			@ -190,16 +277,13 @@ class OAuth2Client:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        jwks: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.jwks, Unset):
 | 
			
		||||
            jwks = self.jwks.to_dict()
 | 
			
		||||
 | 
			
		||||
        implicit_grant_access_token_lifespan = self.implicit_grant_access_token_lifespan
 | 
			
		||||
        implicit_grant_id_token_lifespan = self.implicit_grant_id_token_lifespan
 | 
			
		||||
        jwks = self.jwks
 | 
			
		||||
        jwks_uri = self.jwks_uri
 | 
			
		||||
        jwt_bearer_grant_access_token_lifespan = self.jwt_bearer_grant_access_token_lifespan
 | 
			
		||||
        logo_uri = self.logo_uri
 | 
			
		||||
        metadata: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.metadata, Unset):
 | 
			
		||||
            metadata = self.metadata.to_dict()
 | 
			
		||||
 | 
			
		||||
        metadata = self.metadata
 | 
			
		||||
        owner = self.owner
 | 
			
		||||
        policy_uri = self.policy_uri
 | 
			
		||||
        post_logout_redirect_uris: Union[Unset, List[str]] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -216,6 +300,11 @@ class OAuth2Client:
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        refresh_token_grant_access_token_lifespan = self.refresh_token_grant_access_token_lifespan
 | 
			
		||||
        refresh_token_grant_id_token_lifespan = self.refresh_token_grant_id_token_lifespan
 | 
			
		||||
        refresh_token_grant_refresh_token_lifespan = self.refresh_token_grant_refresh_token_lifespan
 | 
			
		||||
        registration_access_token = self.registration_access_token
 | 
			
		||||
        registration_client_uri = self.registration_client_uri
 | 
			
		||||
        request_object_signing_alg = self.request_object_signing_alg
 | 
			
		||||
        request_uris: Union[Unset, List[str]] = UNSET
 | 
			
		||||
        if not isinstance(self.request_uris, Unset):
 | 
			
		||||
| 
						 | 
				
			
			@ -251,10 +340,18 @@ class OAuth2Client:
 | 
			
		|||
            field_dict["allowed_cors_origins"] = allowed_cors_origins
 | 
			
		||||
        if audience is not UNSET:
 | 
			
		||||
            field_dict["audience"] = audience
 | 
			
		||||
        if authorization_code_grant_access_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["authorization_code_grant_access_token_lifespan"] = authorization_code_grant_access_token_lifespan
 | 
			
		||||
        if authorization_code_grant_id_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["authorization_code_grant_id_token_lifespan"] = authorization_code_grant_id_token_lifespan
 | 
			
		||||
        if authorization_code_grant_refresh_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["authorization_code_grant_refresh_token_lifespan"] = authorization_code_grant_refresh_token_lifespan
 | 
			
		||||
        if backchannel_logout_session_required is not UNSET:
 | 
			
		||||
            field_dict["backchannel_logout_session_required"] = backchannel_logout_session_required
 | 
			
		||||
        if backchannel_logout_uri is not UNSET:
 | 
			
		||||
            field_dict["backchannel_logout_uri"] = backchannel_logout_uri
 | 
			
		||||
        if client_credentials_grant_access_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["client_credentials_grant_access_token_lifespan"] = client_credentials_grant_access_token_lifespan
 | 
			
		||||
        if client_id is not UNSET:
 | 
			
		||||
            field_dict["client_id"] = client_id
 | 
			
		||||
        if client_name is not UNSET:
 | 
			
		||||
| 
						 | 
				
			
			@ -275,10 +372,16 @@ class OAuth2Client:
 | 
			
		|||
            field_dict["frontchannel_logout_uri"] = frontchannel_logout_uri
 | 
			
		||||
        if grant_types is not UNSET:
 | 
			
		||||
            field_dict["grant_types"] = grant_types
 | 
			
		||||
        if implicit_grant_access_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["implicit_grant_access_token_lifespan"] = implicit_grant_access_token_lifespan
 | 
			
		||||
        if implicit_grant_id_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["implicit_grant_id_token_lifespan"] = implicit_grant_id_token_lifespan
 | 
			
		||||
        if jwks is not UNSET:
 | 
			
		||||
            field_dict["jwks"] = jwks
 | 
			
		||||
        if jwks_uri is not UNSET:
 | 
			
		||||
            field_dict["jwks_uri"] = jwks_uri
 | 
			
		||||
        if jwt_bearer_grant_access_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["jwt_bearer_grant_access_token_lifespan"] = jwt_bearer_grant_access_token_lifespan
 | 
			
		||||
        if logo_uri is not UNSET:
 | 
			
		||||
            field_dict["logo_uri"] = logo_uri
 | 
			
		||||
        if metadata is not UNSET:
 | 
			
		||||
| 
						 | 
				
			
			@ -291,6 +394,16 @@ class OAuth2Client:
 | 
			
		|||
            field_dict["post_logout_redirect_uris"] = post_logout_redirect_uris
 | 
			
		||||
        if redirect_uris is not UNSET:
 | 
			
		||||
            field_dict["redirect_uris"] = redirect_uris
 | 
			
		||||
        if refresh_token_grant_access_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["refresh_token_grant_access_token_lifespan"] = refresh_token_grant_access_token_lifespan
 | 
			
		||||
        if refresh_token_grant_id_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["refresh_token_grant_id_token_lifespan"] = refresh_token_grant_id_token_lifespan
 | 
			
		||||
        if refresh_token_grant_refresh_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["refresh_token_grant_refresh_token_lifespan"] = refresh_token_grant_refresh_token_lifespan
 | 
			
		||||
        if registration_access_token is not UNSET:
 | 
			
		||||
            field_dict["registration_access_token"] = registration_access_token
 | 
			
		||||
        if registration_client_uri is not UNSET:
 | 
			
		||||
            field_dict["registration_client_uri"] = registration_client_uri
 | 
			
		||||
        if request_object_signing_alg is not UNSET:
 | 
			
		||||
            field_dict["request_object_signing_alg"] = request_object_signing_alg
 | 
			
		||||
        if request_uris is not UNSET:
 | 
			
		||||
| 
						 | 
				
			
			@ -327,10 +440,18 @@ class OAuth2Client:
 | 
			
		|||
        audience = cast(List[str], _d.pop("audience", UNSET))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        authorization_code_grant_access_token_lifespan = _d.pop("authorization_code_grant_access_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        authorization_code_grant_id_token_lifespan = _d.pop("authorization_code_grant_id_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        authorization_code_grant_refresh_token_lifespan = _d.pop("authorization_code_grant_refresh_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        backchannel_logout_session_required = _d.pop("backchannel_logout_session_required", UNSET)
 | 
			
		||||
 | 
			
		||||
        backchannel_logout_uri = _d.pop("backchannel_logout_uri", UNSET)
 | 
			
		||||
 | 
			
		||||
        client_credentials_grant_access_token_lifespan = _d.pop("client_credentials_grant_access_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        client_id = _d.pop("client_id", UNSET)
 | 
			
		||||
 | 
			
		||||
        client_name = _d.pop("client_name", UNSET)
 | 
			
		||||
| 
						 | 
				
			
			@ -361,29 +482,19 @@ class OAuth2Client:
 | 
			
		|||
        grant_types = cast(List[str], _d.pop("grant_types", UNSET))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _jwks = _d.pop("jwks", UNSET)
 | 
			
		||||
        jwks: Union[Unset, JoseJSONWebKeySet]
 | 
			
		||||
        if isinstance(_jwks,  Unset):
 | 
			
		||||
            jwks = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            jwks = JoseJSONWebKeySet.from_dict(_jwks)
 | 
			
		||||
 | 
			
		||||
        implicit_grant_access_token_lifespan = _d.pop("implicit_grant_access_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        implicit_grant_id_token_lifespan = _d.pop("implicit_grant_id_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        jwks = _d.pop("jwks", UNSET)
 | 
			
		||||
 | 
			
		||||
        jwks_uri = _d.pop("jwks_uri", UNSET)
 | 
			
		||||
 | 
			
		||||
        jwt_bearer_grant_access_token_lifespan = _d.pop("jwt_bearer_grant_access_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        logo_uri = _d.pop("logo_uri", UNSET)
 | 
			
		||||
 | 
			
		||||
        _metadata = _d.pop("metadata", UNSET)
 | 
			
		||||
        metadata: Union[Unset, JSONRawMessage]
 | 
			
		||||
        if isinstance(_metadata,  Unset):
 | 
			
		||||
            metadata = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            metadata = JSONRawMessage.from_dict(_metadata)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        metadata = _d.pop("metadata", UNSET)
 | 
			
		||||
 | 
			
		||||
        owner = _d.pop("owner", UNSET)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -395,6 +506,16 @@ class OAuth2Client:
 | 
			
		|||
        redirect_uris = cast(List[str], _d.pop("redirect_uris", UNSET))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        refresh_token_grant_access_token_lifespan = _d.pop("refresh_token_grant_access_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        refresh_token_grant_id_token_lifespan = _d.pop("refresh_token_grant_id_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        refresh_token_grant_refresh_token_lifespan = _d.pop("refresh_token_grant_refresh_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        registration_access_token = _d.pop("registration_access_token", UNSET)
 | 
			
		||||
 | 
			
		||||
        registration_client_uri = _d.pop("registration_client_uri", UNSET)
 | 
			
		||||
 | 
			
		||||
        request_object_signing_alg = _d.pop("request_object_signing_alg", UNSET)
 | 
			
		||||
 | 
			
		||||
        request_uris = cast(List[str], _d.pop("request_uris", UNSET))
 | 
			
		||||
| 
						 | 
				
			
			@ -427,11 +548,15 @@ class OAuth2Client:
 | 
			
		|||
 | 
			
		||||
        userinfo_signed_response_alg = _d.pop("userinfo_signed_response_alg", UNSET)
 | 
			
		||||
 | 
			
		||||
        o_auth_2_client = cls(
 | 
			
		||||
        o_auth_20_client = cls(
 | 
			
		||||
            allowed_cors_origins=allowed_cors_origins,
 | 
			
		||||
            audience=audience,
 | 
			
		||||
            authorization_code_grant_access_token_lifespan=authorization_code_grant_access_token_lifespan,
 | 
			
		||||
            authorization_code_grant_id_token_lifespan=authorization_code_grant_id_token_lifespan,
 | 
			
		||||
            authorization_code_grant_refresh_token_lifespan=authorization_code_grant_refresh_token_lifespan,
 | 
			
		||||
            backchannel_logout_session_required=backchannel_logout_session_required,
 | 
			
		||||
            backchannel_logout_uri=backchannel_logout_uri,
 | 
			
		||||
            client_credentials_grant_access_token_lifespan=client_credentials_grant_access_token_lifespan,
 | 
			
		||||
            client_id=client_id,
 | 
			
		||||
            client_name=client_name,
 | 
			
		||||
            client_secret=client_secret,
 | 
			
		||||
| 
						 | 
				
			
			@ -442,14 +567,22 @@ class OAuth2Client:
 | 
			
		|||
            frontchannel_logout_session_required=frontchannel_logout_session_required,
 | 
			
		||||
            frontchannel_logout_uri=frontchannel_logout_uri,
 | 
			
		||||
            grant_types=grant_types,
 | 
			
		||||
            implicit_grant_access_token_lifespan=implicit_grant_access_token_lifespan,
 | 
			
		||||
            implicit_grant_id_token_lifespan=implicit_grant_id_token_lifespan,
 | 
			
		||||
            jwks=jwks,
 | 
			
		||||
            jwks_uri=jwks_uri,
 | 
			
		||||
            jwt_bearer_grant_access_token_lifespan=jwt_bearer_grant_access_token_lifespan,
 | 
			
		||||
            logo_uri=logo_uri,
 | 
			
		||||
            metadata=metadata,
 | 
			
		||||
            owner=owner,
 | 
			
		||||
            policy_uri=policy_uri,
 | 
			
		||||
            post_logout_redirect_uris=post_logout_redirect_uris,
 | 
			
		||||
            redirect_uris=redirect_uris,
 | 
			
		||||
            refresh_token_grant_access_token_lifespan=refresh_token_grant_access_token_lifespan,
 | 
			
		||||
            refresh_token_grant_id_token_lifespan=refresh_token_grant_id_token_lifespan,
 | 
			
		||||
            refresh_token_grant_refresh_token_lifespan=refresh_token_grant_refresh_token_lifespan,
 | 
			
		||||
            registration_access_token=registration_access_token,
 | 
			
		||||
            registration_client_uri=registration_client_uri,
 | 
			
		||||
            request_object_signing_alg=request_object_signing_alg,
 | 
			
		||||
            request_uris=request_uris,
 | 
			
		||||
            response_types=response_types,
 | 
			
		||||
| 
						 | 
				
			
			@ -463,8 +596,8 @@ class OAuth2Client:
 | 
			
		|||
            userinfo_signed_response_alg=userinfo_signed_response_alg,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        o_auth_2_client.additional_properties = _d
 | 
			
		||||
        return o_auth_2_client
 | 
			
		||||
        o_auth_20_client.additional_properties = _d
 | 
			
		||||
        return o_auth_20_client
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,153 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OAuth20ClientTokenLifespans")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class OAuth20ClientTokenLifespans:
 | 
			
		||||
    """Lifespans of different token types issued for this OAuth 2.0 Client.
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        authorization_code_grant_access_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds,
 | 
			
		||||
            seconds, minutes, hours.
 | 
			
		||||
        authorization_code_grant_id_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds,
 | 
			
		||||
            seconds, minutes, hours.
 | 
			
		||||
        authorization_code_grant_refresh_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds,
 | 
			
		||||
            seconds, minutes, hours.
 | 
			
		||||
        client_credentials_grant_access_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds,
 | 
			
		||||
            seconds, minutes, hours.
 | 
			
		||||
        implicit_grant_access_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds, seconds,
 | 
			
		||||
            minutes, hours.
 | 
			
		||||
        implicit_grant_id_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds, seconds, minutes,
 | 
			
		||||
            hours.
 | 
			
		||||
        jwt_bearer_grant_access_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds, seconds,
 | 
			
		||||
            minutes, hours.
 | 
			
		||||
        refresh_token_grant_access_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds, seconds,
 | 
			
		||||
            minutes, hours.
 | 
			
		||||
        refresh_token_grant_id_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds, seconds,
 | 
			
		||||
            minutes, hours.
 | 
			
		||||
        refresh_token_grant_refresh_token_lifespan (Union[Unset, str]): Specify a time duration in milliseconds,
 | 
			
		||||
            seconds, minutes, hours.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    authorization_code_grant_access_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    authorization_code_grant_id_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    authorization_code_grant_refresh_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    client_credentials_grant_access_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    implicit_grant_access_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    implicit_grant_id_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    jwt_bearer_grant_access_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    refresh_token_grant_access_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    refresh_token_grant_id_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    refresh_token_grant_refresh_token_lifespan: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        authorization_code_grant_access_token_lifespan = self.authorization_code_grant_access_token_lifespan
 | 
			
		||||
        authorization_code_grant_id_token_lifespan = self.authorization_code_grant_id_token_lifespan
 | 
			
		||||
        authorization_code_grant_refresh_token_lifespan = self.authorization_code_grant_refresh_token_lifespan
 | 
			
		||||
        client_credentials_grant_access_token_lifespan = self.client_credentials_grant_access_token_lifespan
 | 
			
		||||
        implicit_grant_access_token_lifespan = self.implicit_grant_access_token_lifespan
 | 
			
		||||
        implicit_grant_id_token_lifespan = self.implicit_grant_id_token_lifespan
 | 
			
		||||
        jwt_bearer_grant_access_token_lifespan = self.jwt_bearer_grant_access_token_lifespan
 | 
			
		||||
        refresh_token_grant_access_token_lifespan = self.refresh_token_grant_access_token_lifespan
 | 
			
		||||
        refresh_token_grant_id_token_lifespan = self.refresh_token_grant_id_token_lifespan
 | 
			
		||||
        refresh_token_grant_refresh_token_lifespan = self.refresh_token_grant_refresh_token_lifespan
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if authorization_code_grant_access_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["authorization_code_grant_access_token_lifespan"] = authorization_code_grant_access_token_lifespan
 | 
			
		||||
        if authorization_code_grant_id_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["authorization_code_grant_id_token_lifespan"] = authorization_code_grant_id_token_lifespan
 | 
			
		||||
        if authorization_code_grant_refresh_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["authorization_code_grant_refresh_token_lifespan"] = authorization_code_grant_refresh_token_lifespan
 | 
			
		||||
        if client_credentials_grant_access_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["client_credentials_grant_access_token_lifespan"] = client_credentials_grant_access_token_lifespan
 | 
			
		||||
        if implicit_grant_access_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["implicit_grant_access_token_lifespan"] = implicit_grant_access_token_lifespan
 | 
			
		||||
        if implicit_grant_id_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["implicit_grant_id_token_lifespan"] = implicit_grant_id_token_lifespan
 | 
			
		||||
        if jwt_bearer_grant_access_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["jwt_bearer_grant_access_token_lifespan"] = jwt_bearer_grant_access_token_lifespan
 | 
			
		||||
        if refresh_token_grant_access_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["refresh_token_grant_access_token_lifespan"] = refresh_token_grant_access_token_lifespan
 | 
			
		||||
        if refresh_token_grant_id_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["refresh_token_grant_id_token_lifespan"] = refresh_token_grant_id_token_lifespan
 | 
			
		||||
        if refresh_token_grant_refresh_token_lifespan is not UNSET:
 | 
			
		||||
            field_dict["refresh_token_grant_refresh_token_lifespan"] = refresh_token_grant_refresh_token_lifespan
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        authorization_code_grant_access_token_lifespan = _d.pop("authorization_code_grant_access_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        authorization_code_grant_id_token_lifespan = _d.pop("authorization_code_grant_id_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        authorization_code_grant_refresh_token_lifespan = _d.pop("authorization_code_grant_refresh_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        client_credentials_grant_access_token_lifespan = _d.pop("client_credentials_grant_access_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        implicit_grant_access_token_lifespan = _d.pop("implicit_grant_access_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        implicit_grant_id_token_lifespan = _d.pop("implicit_grant_id_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        jwt_bearer_grant_access_token_lifespan = _d.pop("jwt_bearer_grant_access_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        refresh_token_grant_access_token_lifespan = _d.pop("refresh_token_grant_access_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        refresh_token_grant_id_token_lifespan = _d.pop("refresh_token_grant_id_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        refresh_token_grant_refresh_token_lifespan = _d.pop("refresh_token_grant_refresh_token_lifespan", UNSET)
 | 
			
		||||
 | 
			
		||||
        o_auth_20_client_token_lifespans = cls(
 | 
			
		||||
            authorization_code_grant_access_token_lifespan=authorization_code_grant_access_token_lifespan,
 | 
			
		||||
            authorization_code_grant_id_token_lifespan=authorization_code_grant_id_token_lifespan,
 | 
			
		||||
            authorization_code_grant_refresh_token_lifespan=authorization_code_grant_refresh_token_lifespan,
 | 
			
		||||
            client_credentials_grant_access_token_lifespan=client_credentials_grant_access_token_lifespan,
 | 
			
		||||
            implicit_grant_access_token_lifespan=implicit_grant_access_token_lifespan,
 | 
			
		||||
            implicit_grant_id_token_lifespan=implicit_grant_id_token_lifespan,
 | 
			
		||||
            jwt_bearer_grant_access_token_lifespan=jwt_bearer_grant_access_token_lifespan,
 | 
			
		||||
            refresh_token_grant_access_token_lifespan=refresh_token_grant_access_token_lifespan,
 | 
			
		||||
            refresh_token_grant_id_token_lifespan=refresh_token_grant_id_token_lifespan,
 | 
			
		||||
            refresh_token_grant_refresh_token_lifespan=refresh_token_grant_refresh_token_lifespan,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        o_auth_20_client_token_lifespans.additional_properties = _d
 | 
			
		||||
        return o_auth_20_client_token_lifespans
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,53 +7,68 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from dateutil.parser import isoparse
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from dateutil.parser import isoparse
 | 
			
		||||
import datetime
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.pass_session_data_to_a_consent_request import PassSessionDataToAConsentRequest
 | 
			
		||||
  from ..models.o_auth_20_consent_session_expires_at import OAuth20ConsentSessionExpiresAt
 | 
			
		||||
  from ..models.contains_information_on_an_ongoing_consent_request import ContainsInformationOnAnOngoingConsentRequest
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PreviousConsentSession")
 | 
			
		||||
T = TypeVar("T", bound="OAuth20ConsentSession")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PreviousConsentSession:
 | 
			
		||||
    """The response used to return used consent requests
 | 
			
		||||
same as HandledLoginRequest, just with consent_request exposed as json
 | 
			
		||||
class OAuth20ConsentSession:
 | 
			
		||||
    """A completed OAuth 2.0 Consent Session.
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        consent_request (Union[Unset, ConsentRequest]):
 | 
			
		||||
        consent_request (Union[Unset, ContainsInformationOnAnOngoingConsentRequest]):
 | 
			
		||||
        expires_at (Union[Unset, OAuth20ConsentSessionExpiresAt]):
 | 
			
		||||
        grant_access_token_audience (Union[Unset, List[str]]):
 | 
			
		||||
        grant_scope (Union[Unset, List[str]]):
 | 
			
		||||
        handled_at (Union[Unset, datetime.datetime]):
 | 
			
		||||
        remember (Union[Unset, bool]): Remember, if set to true, tells ORY Hydra to remember this consent authorization
 | 
			
		||||
            and reuse it if the same
 | 
			
		||||
        remember (Union[Unset, bool]): Remember Consent
 | 
			
		||||
 | 
			
		||||
            Remember, if set to true, tells ORY Hydra to remember this consent authorization and reuse it if the same
 | 
			
		||||
            client asks the same user for the same, or a subset of, scope.
 | 
			
		||||
        remember_for (Union[Unset, int]): RememberFor sets how long the consent authorization should be remembered for
 | 
			
		||||
            in seconds. If set to `0`, the
 | 
			
		||||
        remember_for (Union[Unset, int]): Remember Consent For
 | 
			
		||||
 | 
			
		||||
            RememberFor sets how long the consent authorization should be remembered for in seconds. If set to `0`, the
 | 
			
		||||
            authorization will be remembered indefinitely.
 | 
			
		||||
        session (Union[Unset, ConsentRequestSession]):
 | 
			
		||||
        session (Union[Unset, PassSessionDataToAConsentRequest]):
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    consent_request: Union[Unset, 'ConsentRequest'] = UNSET
 | 
			
		||||
    consent_request: Union[Unset, 'ContainsInformationOnAnOngoingConsentRequest'] = UNSET
 | 
			
		||||
    expires_at: Union[Unset, 'OAuth20ConsentSessionExpiresAt'] = UNSET
 | 
			
		||||
    grant_access_token_audience: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    grant_scope: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    handled_at: Union[Unset, datetime.datetime] = UNSET
 | 
			
		||||
    remember: Union[Unset, bool] = UNSET
 | 
			
		||||
    remember_for: Union[Unset, int] = UNSET
 | 
			
		||||
    session: Union[Unset, 'ConsentRequestSession'] = UNSET
 | 
			
		||||
    session: Union[Unset, 'PassSessionDataToAConsentRequest'] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.pass_session_data_to_a_consent_request import PassSessionDataToAConsentRequest
 | 
			
		||||
        from ..models.o_auth_20_consent_session_expires_at import OAuth20ConsentSessionExpiresAt
 | 
			
		||||
        from ..models.contains_information_on_an_ongoing_consent_request import ContainsInformationOnAnOngoingConsentRequest
 | 
			
		||||
        consent_request: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.consent_request, Unset):
 | 
			
		||||
            consent_request = self.consent_request.to_dict()
 | 
			
		||||
 | 
			
		||||
        expires_at: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.expires_at, Unset):
 | 
			
		||||
            expires_at = self.expires_at.to_dict()
 | 
			
		||||
 | 
			
		||||
        grant_access_token_audience: Union[Unset, List[str]] = UNSET
 | 
			
		||||
        if not isinstance(self.grant_access_token_audience, Unset):
 | 
			
		||||
            grant_access_token_audience = self.grant_access_token_audience
 | 
			
		||||
| 
						 | 
				
			
			@ -85,6 +100,8 @@ same as HandledLoginRequest, just with consent_request exposed as json
 | 
			
		|||
        })
 | 
			
		||||
        if consent_request is not UNSET:
 | 
			
		||||
            field_dict["consent_request"] = consent_request
 | 
			
		||||
        if expires_at is not UNSET:
 | 
			
		||||
            field_dict["expires_at"] = expires_at
 | 
			
		||||
        if grant_access_token_audience is not UNSET:
 | 
			
		||||
            field_dict["grant_access_token_audience"] = grant_access_token_audience
 | 
			
		||||
        if grant_scope is not UNSET:
 | 
			
		||||
| 
						 | 
				
			
			@ -104,13 +121,26 @@ same as HandledLoginRequest, just with consent_request exposed as json
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.pass_session_data_to_a_consent_request import PassSessionDataToAConsentRequest
 | 
			
		||||
        from ..models.o_auth_20_consent_session_expires_at import OAuth20ConsentSessionExpiresAt
 | 
			
		||||
        from ..models.contains_information_on_an_ongoing_consent_request import ContainsInformationOnAnOngoingConsentRequest
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        _consent_request = _d.pop("consent_request", UNSET)
 | 
			
		||||
        consent_request: Union[Unset, ConsentRequest]
 | 
			
		||||
        consent_request: Union[Unset, ContainsInformationOnAnOngoingConsentRequest]
 | 
			
		||||
        if isinstance(_consent_request,  Unset):
 | 
			
		||||
            consent_request = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            consent_request = ConsentRequest.from_dict(_consent_request)
 | 
			
		||||
            consent_request = ContainsInformationOnAnOngoingConsentRequest.from_dict(_consent_request)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _expires_at = _d.pop("expires_at", UNSET)
 | 
			
		||||
        expires_at: Union[Unset, OAuth20ConsentSessionExpiresAt]
 | 
			
		||||
        if isinstance(_expires_at,  Unset):
 | 
			
		||||
            expires_at = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            expires_at = OAuth20ConsentSessionExpiresAt.from_dict(_expires_at)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -136,17 +166,18 @@ same as HandledLoginRequest, just with consent_request exposed as json
 | 
			
		|||
        remember_for = _d.pop("remember_for", UNSET)
 | 
			
		||||
 | 
			
		||||
        _session = _d.pop("session", UNSET)
 | 
			
		||||
        session: Union[Unset, ConsentRequestSession]
 | 
			
		||||
        session: Union[Unset, PassSessionDataToAConsentRequest]
 | 
			
		||||
        if isinstance(_session,  Unset):
 | 
			
		||||
            session = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            session = ConsentRequestSession.from_dict(_session)
 | 
			
		||||
            session = PassSessionDataToAConsentRequest.from_dict(_session)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        previous_consent_session = cls(
 | 
			
		||||
        o_auth_20_consent_session = cls(
 | 
			
		||||
            consent_request=consent_request,
 | 
			
		||||
            expires_at=expires_at,
 | 
			
		||||
            grant_access_token_audience=grant_access_token_audience,
 | 
			
		||||
            grant_scope=grant_scope,
 | 
			
		||||
            handled_at=handled_at,
 | 
			
		||||
| 
						 | 
				
			
			@ -155,8 +186,8 @@ same as HandledLoginRequest, just with consent_request exposed as json
 | 
			
		|||
            session=session,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        previous_consent_session.additional_properties = _d
 | 
			
		||||
        return previous_consent_session
 | 
			
		||||
        o_auth_20_consent_session.additional_properties = _d
 | 
			
		||||
        return o_auth_20_consent_session
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,160 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Union
 | 
			
		||||
from dateutil.parser import isoparse
 | 
			
		||||
import datetime
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OAuth20ConsentSessionExpiresAt")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class OAuth20ConsentSessionExpiresAt:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        access_token (Union[Unset, datetime.datetime]):
 | 
			
		||||
        authorize_code (Union[Unset, datetime.datetime]):
 | 
			
		||||
        id_token (Union[Unset, datetime.datetime]):
 | 
			
		||||
        par_context (Union[Unset, datetime.datetime]):
 | 
			
		||||
        refresh_token (Union[Unset, datetime.datetime]):
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    access_token: Union[Unset, datetime.datetime] = UNSET
 | 
			
		||||
    authorize_code: Union[Unset, datetime.datetime] = UNSET
 | 
			
		||||
    id_token: Union[Unset, datetime.datetime] = UNSET
 | 
			
		||||
    par_context: Union[Unset, datetime.datetime] = UNSET
 | 
			
		||||
    refresh_token: Union[Unset, datetime.datetime] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        access_token: Union[Unset, str] = UNSET
 | 
			
		||||
        if not isinstance(self.access_token, Unset):
 | 
			
		||||
            access_token = self.access_token.isoformat()
 | 
			
		||||
 | 
			
		||||
        authorize_code: Union[Unset, str] = UNSET
 | 
			
		||||
        if not isinstance(self.authorize_code, Unset):
 | 
			
		||||
            authorize_code = self.authorize_code.isoformat()
 | 
			
		||||
 | 
			
		||||
        id_token: Union[Unset, str] = UNSET
 | 
			
		||||
        if not isinstance(self.id_token, Unset):
 | 
			
		||||
            id_token = self.id_token.isoformat()
 | 
			
		||||
 | 
			
		||||
        par_context: Union[Unset, str] = UNSET
 | 
			
		||||
        if not isinstance(self.par_context, Unset):
 | 
			
		||||
            par_context = self.par_context.isoformat()
 | 
			
		||||
 | 
			
		||||
        refresh_token: Union[Unset, str] = UNSET
 | 
			
		||||
        if not isinstance(self.refresh_token, Unset):
 | 
			
		||||
            refresh_token = self.refresh_token.isoformat()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if access_token is not UNSET:
 | 
			
		||||
            field_dict["access_token"] = access_token
 | 
			
		||||
        if authorize_code is not UNSET:
 | 
			
		||||
            field_dict["authorize_code"] = authorize_code
 | 
			
		||||
        if id_token is not UNSET:
 | 
			
		||||
            field_dict["id_token"] = id_token
 | 
			
		||||
        if par_context is not UNSET:
 | 
			
		||||
            field_dict["par_context"] = par_context
 | 
			
		||||
        if refresh_token is not UNSET:
 | 
			
		||||
            field_dict["refresh_token"] = refresh_token
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        _access_token = _d.pop("access_token", UNSET)
 | 
			
		||||
        access_token: Union[Unset, datetime.datetime]
 | 
			
		||||
        if isinstance(_access_token,  Unset):
 | 
			
		||||
            access_token = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            access_token = isoparse(_access_token)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _authorize_code = _d.pop("authorize_code", UNSET)
 | 
			
		||||
        authorize_code: Union[Unset, datetime.datetime]
 | 
			
		||||
        if isinstance(_authorize_code,  Unset):
 | 
			
		||||
            authorize_code = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            authorize_code = isoparse(_authorize_code)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _id_token = _d.pop("id_token", UNSET)
 | 
			
		||||
        id_token: Union[Unset, datetime.datetime]
 | 
			
		||||
        if isinstance(_id_token,  Unset):
 | 
			
		||||
            id_token = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            id_token = isoparse(_id_token)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _par_context = _d.pop("par_context", UNSET)
 | 
			
		||||
        par_context: Union[Unset, datetime.datetime]
 | 
			
		||||
        if isinstance(_par_context,  Unset):
 | 
			
		||||
            par_context = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            par_context = isoparse(_par_context)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _refresh_token = _d.pop("refresh_token", UNSET)
 | 
			
		||||
        refresh_token: Union[Unset, datetime.datetime]
 | 
			
		||||
        if isinstance(_refresh_token,  Unset):
 | 
			
		||||
            refresh_token = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            refresh_token = isoparse(_refresh_token)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        o_auth_20_consent_session_expires_at = cls(
 | 
			
		||||
            access_token=access_token,
 | 
			
		||||
            authorize_code=authorize_code,
 | 
			
		||||
            id_token=id_token,
 | 
			
		||||
            par_context=par_context,
 | 
			
		||||
            refresh_token=refresh_token,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        o_auth_20_consent_session_expires_at.additional_properties = _d
 | 
			
		||||
        return o_auth_20_consent_session_expires_at
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -11,14 +11,16 @@ from ..types import UNSET, Unset
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="CompletedRequest")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OAuth20RedirectBrowserTo")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class CompletedRequest:
 | 
			
		||||
    """
 | 
			
		||||
class OAuth20RedirectBrowserTo:
 | 
			
		||||
    """Contains a redirect URL used to complete a login, consent, or logout request.
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        redirect_to (str): RedirectURL is the URL which you should redirect the user to once the authentication process
 | 
			
		||||
            is completed.
 | 
			
		||||
        redirect_to (str): RedirectURL is the URL which you should redirect the user's browser to once the
 | 
			
		||||
            authentication process is completed.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    redirect_to: str
 | 
			
		||||
| 
						 | 
				
			
			@ -43,12 +45,12 @@ class CompletedRequest:
 | 
			
		|||
        _d = src_dict.copy()
 | 
			
		||||
        redirect_to = _d.pop("redirect_to")
 | 
			
		||||
 | 
			
		||||
        completed_request = cls(
 | 
			
		||||
        o_auth_20_redirect_browser_to = cls(
 | 
			
		||||
            redirect_to=redirect_to,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        completed_request.additional_properties = _d
 | 
			
		||||
        return completed_request
 | 
			
		||||
        o_auth_20_redirect_browser_to.additional_properties = _d
 | 
			
		||||
        return o_auth_20_redirect_browser_to
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,24 +13,28 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="Oauth2TokenResponse")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OAuth2TokenExchange")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class Oauth2TokenResponse:
 | 
			
		||||
    """The Access Token Response
 | 
			
		||||
class OAuth2TokenExchange:
 | 
			
		||||
    """OAuth2 Token Exchange Result
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        access_token (Union[Unset, str]):
 | 
			
		||||
        expires_in (Union[Unset, int]):
 | 
			
		||||
        id_token (Union[Unset, str]):
 | 
			
		||||
        refresh_token (Union[Unset, str]):
 | 
			
		||||
        scope (Union[Unset, str]):
 | 
			
		||||
        token_type (Union[Unset, str]):
 | 
			
		||||
        access_token (Union[Unset, str]): The access token issued by the authorization server.
 | 
			
		||||
        expires_in (Union[Unset, int]): The lifetime in seconds of the access token. For
 | 
			
		||||
            example, the value "3600" denotes that the access token will
 | 
			
		||||
            expire in one hour from the time the response was generated.
 | 
			
		||||
        id_token (Union[Unset, int]): To retrieve a refresh token request the id_token scope.
 | 
			
		||||
        refresh_token (Union[Unset, str]): The refresh token, which can be used to obtain new
 | 
			
		||||
            access tokens. To retrieve it add the scope "offline" to your access token request.
 | 
			
		||||
        scope (Union[Unset, str]): The scope of the access token
 | 
			
		||||
        token_type (Union[Unset, str]): The type of the token issued
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    access_token: Union[Unset, str] = UNSET
 | 
			
		||||
    expires_in: Union[Unset, int] = UNSET
 | 
			
		||||
    id_token: Union[Unset, str] = UNSET
 | 
			
		||||
    id_token: Union[Unset, int] = UNSET
 | 
			
		||||
    refresh_token: Union[Unset, str] = UNSET
 | 
			
		||||
    scope: Union[Unset, str] = UNSET
 | 
			
		||||
    token_type: Union[Unset, str] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -81,7 +85,7 @@ class Oauth2TokenResponse:
 | 
			
		|||
 | 
			
		||||
        token_type = _d.pop("token_type", UNSET)
 | 
			
		||||
 | 
			
		||||
        oauth_2_token_response = cls(
 | 
			
		||||
        o_auth_2_token_exchange = cls(
 | 
			
		||||
            access_token=access_token,
 | 
			
		||||
            expires_in=expires_in,
 | 
			
		||||
            id_token=id_token,
 | 
			
		||||
| 
						 | 
				
			
			@ -90,8 +94,8 @@ class Oauth2TokenResponse:
 | 
			
		|||
            token_type=token_type,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        oauth_2_token_response.additional_properties = _d
 | 
			
		||||
        return oauth_2_token_response
 | 
			
		||||
        o_auth_2_token_exchange.additional_properties = _d
 | 
			
		||||
        return o_auth_2_token_exchange
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,47 +13,48 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="Oauth2TokenData")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="Oauth2TokenExchangeData")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class Oauth2TokenData:
 | 
			
		||||
class Oauth2TokenExchangeData:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        grant_type (str):
 | 
			
		||||
        code (Union[Unset, str]):
 | 
			
		||||
        refresh_token (Union[Unset, str]):
 | 
			
		||||
        redirect_uri (Union[Unset, str]):
 | 
			
		||||
        client_id (Union[Unset, str]):
 | 
			
		||||
        code (Union[Unset, str]):
 | 
			
		||||
        redirect_uri (Union[Unset, str]):
 | 
			
		||||
        refresh_token (Union[Unset, str]):
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    grant_type: str
 | 
			
		||||
    code: Union[Unset, str] = UNSET
 | 
			
		||||
    refresh_token: Union[Unset, str] = UNSET
 | 
			
		||||
    redirect_uri: Union[Unset, str] = UNSET
 | 
			
		||||
    client_id: Union[Unset, str] = UNSET
 | 
			
		||||
    code: Union[Unset, str] = UNSET
 | 
			
		||||
    redirect_uri: Union[Unset, str] = UNSET
 | 
			
		||||
    refresh_token: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        grant_type = self.grant_type
 | 
			
		||||
        code = self.code
 | 
			
		||||
        refresh_token = self.refresh_token
 | 
			
		||||
        redirect_uri = self.redirect_uri
 | 
			
		||||
        client_id = self.client_id
 | 
			
		||||
        code = self.code
 | 
			
		||||
        redirect_uri = self.redirect_uri
 | 
			
		||||
        refresh_token = self.refresh_token
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "grant_type": grant_type,
 | 
			
		||||
        })
 | 
			
		||||
        if code is not UNSET:
 | 
			
		||||
            field_dict["code"] = code
 | 
			
		||||
        if refresh_token is not UNSET:
 | 
			
		||||
            field_dict["refresh_token"] = refresh_token
 | 
			
		||||
        if redirect_uri is not UNSET:
 | 
			
		||||
            field_dict["redirect_uri"] = redirect_uri
 | 
			
		||||
        if client_id is not UNSET:
 | 
			
		||||
            field_dict["client_id"] = client_id
 | 
			
		||||
        if code is not UNSET:
 | 
			
		||||
            field_dict["code"] = code
 | 
			
		||||
        if redirect_uri is not UNSET:
 | 
			
		||||
            field_dict["redirect_uri"] = redirect_uri
 | 
			
		||||
        if refresh_token is not UNSET:
 | 
			
		||||
            field_dict["refresh_token"] = refresh_token
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -64,24 +65,24 @@ class Oauth2TokenData:
 | 
			
		|||
        _d = src_dict.copy()
 | 
			
		||||
        grant_type = _d.pop("grant_type")
 | 
			
		||||
 | 
			
		||||
        code = _d.pop("code", UNSET)
 | 
			
		||||
        client_id = _d.pop("client_id", UNSET)
 | 
			
		||||
 | 
			
		||||
        refresh_token = _d.pop("refresh_token", UNSET)
 | 
			
		||||
        code = _d.pop("code", UNSET)
 | 
			
		||||
 | 
			
		||||
        redirect_uri = _d.pop("redirect_uri", UNSET)
 | 
			
		||||
 | 
			
		||||
        client_id = _d.pop("client_id", UNSET)
 | 
			
		||||
        refresh_token = _d.pop("refresh_token", UNSET)
 | 
			
		||||
 | 
			
		||||
        oauth_2_token_data = cls(
 | 
			
		||||
        oauth_2_token_exchange_data = cls(
 | 
			
		||||
            grant_type=grant_type,
 | 
			
		||||
            code=code,
 | 
			
		||||
            refresh_token=refresh_token,
 | 
			
		||||
            redirect_uri=redirect_uri,
 | 
			
		||||
            client_id=client_id,
 | 
			
		||||
            code=code,
 | 
			
		||||
            redirect_uri=redirect_uri,
 | 
			
		||||
            refresh_token=refresh_token,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        oauth_2_token_data.additional_properties = _d
 | 
			
		||||
        return oauth_2_token_data
 | 
			
		||||
        oauth_2_token_exchange_data.additional_properties = _d
 | 
			
		||||
        return oauth_2_token_exchange_data
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,11 +13,12 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="UserinfoResponse")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OidcUserInfo")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class UserinfoResponse:
 | 
			
		||||
    """The userinfo response
 | 
			
		||||
class OidcUserInfo:
 | 
			
		||||
    """OpenID Connect Userinfo
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        birthdate (Union[Unset, str]): End-User's birthday, represented as an ISO 8601:2004 [ISO8601‑2004] YYYY-MM-DD
 | 
			
		||||
| 
						 | 
				
			
			@ -209,7 +210,7 @@ class UserinfoResponse:
 | 
			
		|||
 | 
			
		||||
        zoneinfo = _d.pop("zoneinfo", UNSET)
 | 
			
		||||
 | 
			
		||||
        userinfo_response = cls(
 | 
			
		||||
        oidc_user_info = cls(
 | 
			
		||||
            birthdate=birthdate,
 | 
			
		||||
            email=email,
 | 
			
		||||
            email_verified=email_verified,
 | 
			
		||||
| 
						 | 
				
			
			@ -231,8 +232,8 @@ class UserinfoResponse:
 | 
			
		|||
            zoneinfo=zoneinfo,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        userinfo_response.additional_properties = _d
 | 
			
		||||
        return userinfo_response
 | 
			
		||||
        oidc_user_info.additional_properties = _d
 | 
			
		||||
        return oidc_user_info
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -14,103 +14,147 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="WellKnown")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="OpenIDConnectDiscoveryMetadata")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class WellKnown:
 | 
			
		||||
    """It includes links to several endpoints (e.g. /oauth2/token) and exposes information on supported signature
 | 
			
		||||
class OpenIDConnectDiscoveryMetadata:
 | 
			
		||||
    """Includes links to several endpoints (for example `/oauth2/token`) and exposes information on supported signature
 | 
			
		||||
algorithms
 | 
			
		||||
among others.
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        authorization_endpoint (str): URL of the OP's OAuth 2.0 Authorization Endpoint. Example:
 | 
			
		||||
            https://playground.ory.sh/ory-hydra/public/oauth2/auth.
 | 
			
		||||
        id_token_signing_alg_values_supported (List[str]): JSON array containing a list of the JWS signing algorithms
 | 
			
		||||
            (alg values) supported by the OP for the ID Token
 | 
			
		||||
        authorization_endpoint (str): OAuth 2.0 Authorization Endpoint URL Example: https://playground.ory.sh/ory-
 | 
			
		||||
            hydra/public/oauth2/auth.
 | 
			
		||||
        id_token_signed_response_alg (List[str]): OpenID Connect Default ID Token Signing Algorithms
 | 
			
		||||
 | 
			
		||||
            Algorithm used to sign OpenID Connect ID Tokens.
 | 
			
		||||
        id_token_signing_alg_values_supported (List[str]): OpenID Connect Supported ID Token Signing Algorithms
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token
 | 
			
		||||
            to encode the Claims in a JWT.
 | 
			
		||||
        issuer (str): URL using the https scheme with no query or fragment component that the OP asserts as its
 | 
			
		||||
            IssuerURL Identifier.
 | 
			
		||||
        issuer (str): OpenID Connect Issuer URL
 | 
			
		||||
 | 
			
		||||
            An URL using the https scheme with no query or fragment component that the OP asserts as its IssuerURL
 | 
			
		||||
            Identifier.
 | 
			
		||||
            If IssuerURL discovery is supported , this value MUST be identical to the issuer value returned
 | 
			
		||||
            by WebFinger. This also MUST be identical to the iss Claim value in ID Tokens issued from this IssuerURL.
 | 
			
		||||
            Example: https://playground.ory.sh/ory-hydra/public/.
 | 
			
		||||
        jwks_uri (str): URL of the OP's JSON Web Key Set [JWK] document. This contains the signing key(s) the RP uses to
 | 
			
		||||
            validate
 | 
			
		||||
        jwks_uri (str): OpenID Connect Well-Known JSON Web Keys URL
 | 
			
		||||
 | 
			
		||||
            URL of the OP's JSON Web Key Set [JWK] document. This contains the signing key(s) the RP uses to validate
 | 
			
		||||
            signatures from the OP. The JWK Set MAY also contain the Server's encryption key(s), which are used by RPs
 | 
			
		||||
            to encrypt requests to the Server. When both signing and encryption keys are made available, a use (Key Use)
 | 
			
		||||
            parameter value is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage.
 | 
			
		||||
            Although some algorithms allow the same key to be used for both signatures and encryption, doing so is
 | 
			
		||||
            NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used to provide X.509 representations of
 | 
			
		||||
            keys provided. When used, the bare key values MUST still be present and MUST match those in the certificate.
 | 
			
		||||
            Example: https://playground.ory.sh/ory-hydra/public/.well-known/jwks.json.
 | 
			
		||||
        response_types_supported (List[str]): JSON array containing a list of the OAuth 2.0 response_type values that
 | 
			
		||||
            this OP supports. Dynamic OpenID
 | 
			
		||||
            Example: https://{slug}.projects.oryapis.com/.well-known/jwks.json.
 | 
			
		||||
        response_types_supported (List[str]): OAuth 2.0 Supported Response Types
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Dynamic OpenID
 | 
			
		||||
            Providers MUST support the code, id_token, and the token id_token Response Type values.
 | 
			
		||||
        subject_types_supported (List[str]): JSON array containing a list of the Subject Identifier types that this OP
 | 
			
		||||
            supports. Valid types include
 | 
			
		||||
        subject_types_supported (List[str]): OpenID Connect Supported Subject Types
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of the Subject Identifier types that this OP supports. Valid types include
 | 
			
		||||
            pairwise and public.
 | 
			
		||||
        token_endpoint (str): URL of the OP's OAuth 2.0 Token Endpoint Example: https://playground.ory.sh/ory-
 | 
			
		||||
        token_endpoint (str): OAuth 2.0 Token Endpoint URL Example: https://playground.ory.sh/ory-
 | 
			
		||||
            hydra/public/oauth2/token.
 | 
			
		||||
        backchannel_logout_session_supported (Union[Unset, bool]): Boolean value specifying whether the OP can pass a
 | 
			
		||||
            sid (session ID) Claim in the Logout Token to identify the RP
 | 
			
		||||
        userinfo_signed_response_alg (List[str]): OpenID Connect User Userinfo Signing Algorithm
 | 
			
		||||
 | 
			
		||||
            Algorithm used to sign OpenID Connect Userinfo Responses.
 | 
			
		||||
        backchannel_logout_session_supported (Union[Unset, bool]): OpenID Connect Back-Channel Logout Session Required
 | 
			
		||||
 | 
			
		||||
            Boolean value specifying whether the OP can pass a sid (session ID) Claim in the Logout Token to identify the RP
 | 
			
		||||
            session with the OP. If supported, the sid Claim is also included in ID Tokens issued by the OP
 | 
			
		||||
        backchannel_logout_supported (Union[Unset, bool]): Boolean value specifying whether the OP supports back-channel
 | 
			
		||||
            logout, with true indicating support.
 | 
			
		||||
        claims_parameter_supported (Union[Unset, bool]): Boolean value specifying whether the OP supports use of the
 | 
			
		||||
            claims parameter, with true indicating support.
 | 
			
		||||
        claims_supported (Union[Unset, List[str]]): JSON array containing a list of the Claim Names of the Claims that
 | 
			
		||||
            the OpenID Provider MAY be able to supply
 | 
			
		||||
        backchannel_logout_supported (Union[Unset, bool]): OpenID Connect Back-Channel Logout Supported
 | 
			
		||||
 | 
			
		||||
            Boolean value specifying whether the OP supports back-channel logout, with true indicating support.
 | 
			
		||||
        claims_parameter_supported (Union[Unset, bool]): OpenID Connect Claims Parameter Parameter Supported
 | 
			
		||||
 | 
			
		||||
            Boolean value specifying whether the OP supports use of the claims parameter, with true indicating support.
 | 
			
		||||
        claims_supported (Union[Unset, List[str]]): OpenID Connect Supported Claims
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply
 | 
			
		||||
            values for. Note that for privacy or other reasons, this might not be an exhaustive list.
 | 
			
		||||
        end_session_endpoint (Union[Unset, str]): URL at the OP to which an RP can perform a redirect to request that
 | 
			
		||||
            the End-User be logged out at the OP.
 | 
			
		||||
        frontchannel_logout_session_supported (Union[Unset, bool]): Boolean value specifying whether the OP can pass iss
 | 
			
		||||
            (issuer) and sid (session ID) query parameters to identify
 | 
			
		||||
        code_challenge_methods_supported (Union[Unset, List[str]]): OAuth 2.0 PKCE Supported Code Challenge Methods
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of Proof Key for Code Exchange (PKCE) [RFC7636] code challenge methods supported
 | 
			
		||||
            by this authorization server.
 | 
			
		||||
        end_session_endpoint (Union[Unset, str]): OpenID Connect End-Session Endpoint
 | 
			
		||||
 | 
			
		||||
            URL at the OP to which an RP can perform a redirect to request that the End-User be logged out at the OP.
 | 
			
		||||
        frontchannel_logout_session_supported (Union[Unset, bool]): OpenID Connect Front-Channel Logout Session Required
 | 
			
		||||
 | 
			
		||||
            Boolean value specifying whether the OP can pass iss (issuer) and sid (session ID) query parameters to identify
 | 
			
		||||
            the RP session with the OP when the frontchannel_logout_uri is used. If supported, the sid Claim is also
 | 
			
		||||
            included in ID Tokens issued by the OP.
 | 
			
		||||
        frontchannel_logout_supported (Union[Unset, bool]): Boolean value specifying whether the OP supports HTTP-based
 | 
			
		||||
            logout, with true indicating support.
 | 
			
		||||
        grant_types_supported (Union[Unset, List[str]]): JSON array containing a list of the OAuth 2.0 Grant Type values
 | 
			
		||||
            that this OP supports.
 | 
			
		||||
        registration_endpoint (Union[Unset, str]): URL of the OP's Dynamic Client Registration Endpoint. Example:
 | 
			
		||||
        frontchannel_logout_supported (Union[Unset, bool]): OpenID Connect Front-Channel Logout Supported
 | 
			
		||||
 | 
			
		||||
            Boolean value specifying whether the OP supports HTTP-based logout, with true indicating support.
 | 
			
		||||
        grant_types_supported (Union[Unset, List[str]]): OAuth 2.0 Supported Grant Types
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of the OAuth 2.0 Grant Type values that this OP supports.
 | 
			
		||||
        registration_endpoint (Union[Unset, str]): OpenID Connect Dynamic Client Registration Endpoint URL Example:
 | 
			
		||||
            https://playground.ory.sh/ory-hydra/admin/client.
 | 
			
		||||
        request_object_signing_alg_values_supported (Union[Unset, List[str]]): JSON array containing a list of the JWS
 | 
			
		||||
            signing algorithms (alg values) supported by the OP for Request Objects,
 | 
			
		||||
        request_object_signing_alg_values_supported (Union[Unset, List[str]]): OpenID Connect Supported Request Object
 | 
			
		||||
            Signing Algorithms
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for Request Objects,
 | 
			
		||||
            which are described in Section 6.1 of OpenID Connect Core 1.0 [OpenID.Core]. These algorithms are used both when
 | 
			
		||||
            the Request Object is passed by value (using the request parameter) and when it is passed by reference
 | 
			
		||||
            (using the request_uri parameter).
 | 
			
		||||
        request_parameter_supported (Union[Unset, bool]): Boolean value specifying whether the OP supports use of the
 | 
			
		||||
            request parameter, with true indicating support.
 | 
			
		||||
        request_uri_parameter_supported (Union[Unset, bool]): Boolean value specifying whether the OP supports use of
 | 
			
		||||
            the request_uri parameter, with true indicating support.
 | 
			
		||||
        require_request_uri_registration (Union[Unset, bool]): Boolean value specifying whether the OP requires any
 | 
			
		||||
            request_uri values used to be pre-registered
 | 
			
		||||
        request_parameter_supported (Union[Unset, bool]): OpenID Connect Request Parameter Supported
 | 
			
		||||
 | 
			
		||||
            Boolean value specifying whether the OP supports use of the request parameter, with true indicating support.
 | 
			
		||||
        request_uri_parameter_supported (Union[Unset, bool]): OpenID Connect Request URI Parameter Supported
 | 
			
		||||
 | 
			
		||||
            Boolean value specifying whether the OP supports use of the request_uri parameter, with true indicating support.
 | 
			
		||||
        require_request_uri_registration (Union[Unset, bool]): OpenID Connect Requires Request URI Registration
 | 
			
		||||
 | 
			
		||||
            Boolean value specifying whether the OP requires any request_uri values used to be pre-registered
 | 
			
		||||
            using the request_uris registration parameter.
 | 
			
		||||
        response_modes_supported (Union[Unset, List[str]]): JSON array containing a list of the OAuth 2.0 response_mode
 | 
			
		||||
            values that this OP supports.
 | 
			
		||||
        revocation_endpoint (Union[Unset, str]): URL of the authorization server's OAuth 2.0 revocation endpoint.
 | 
			
		||||
        scopes_supported (Union[Unset, List[str]]): SON array containing a list of the OAuth 2.0 [RFC6749] scope values
 | 
			
		||||
            that this server supports. The server MUST
 | 
			
		||||
        response_modes_supported (Union[Unset, List[str]]): OAuth 2.0 Supported Response Modes
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of the OAuth 2.0 response_mode values that this OP supports.
 | 
			
		||||
        revocation_endpoint (Union[Unset, str]): OAuth 2.0 Token Revocation URL
 | 
			
		||||
 | 
			
		||||
            URL of the authorization server's OAuth 2.0 revocation endpoint.
 | 
			
		||||
        scopes_supported (Union[Unset, List[str]]): OAuth 2.0 Supported Scope Values
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of the OAuth 2.0 [RFC6749] scope values that this server supports. The server MUST
 | 
			
		||||
            support the openid scope value. Servers MAY choose not to advertise some supported scope values even when this
 | 
			
		||||
            parameter is used
 | 
			
		||||
        token_endpoint_auth_methods_supported (Union[Unset, List[str]]): JSON array containing a list of Client
 | 
			
		||||
            Authentication methods supported by this Token Endpoint. The options are
 | 
			
		||||
        token_endpoint_auth_methods_supported (Union[Unset, List[str]]): OAuth 2.0 Supported Client Authentication
 | 
			
		||||
            Methods
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of Client Authentication methods supported by this Token Endpoint. The options are
 | 
			
		||||
            client_secret_post, client_secret_basic, client_secret_jwt, and private_key_jwt, as described in Section 9 of
 | 
			
		||||
            OpenID Connect Core 1.0
 | 
			
		||||
        userinfo_endpoint (Union[Unset, str]): URL of the OP's UserInfo Endpoint.
 | 
			
		||||
        userinfo_signing_alg_values_supported (Union[Unset, List[str]]): JSON array containing a list of the JWS [JWS]
 | 
			
		||||
            signing algorithms (alg values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT].
 | 
			
		||||
        userinfo_endpoint (Union[Unset, str]): OpenID Connect Userinfo URL
 | 
			
		||||
 | 
			
		||||
            URL of the OP's UserInfo Endpoint.
 | 
			
		||||
        userinfo_signing_alg_values_supported (Union[Unset, List[str]]): OpenID Connect Supported Userinfo Signing
 | 
			
		||||
            Algorithm
 | 
			
		||||
 | 
			
		||||
            JSON array containing a list of the JWS [JWS] signing algorithms (alg values) [JWA] supported by the UserInfo
 | 
			
		||||
            Endpoint to encode the Claims in a JWT [JWT].
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    authorization_endpoint: str
 | 
			
		||||
    id_token_signed_response_alg: List[str]
 | 
			
		||||
    id_token_signing_alg_values_supported: List[str]
 | 
			
		||||
    issuer: str
 | 
			
		||||
    jwks_uri: str
 | 
			
		||||
    response_types_supported: List[str]
 | 
			
		||||
    subject_types_supported: List[str]
 | 
			
		||||
    token_endpoint: str
 | 
			
		||||
    userinfo_signed_response_alg: List[str]
 | 
			
		||||
    backchannel_logout_session_supported: Union[Unset, bool] = UNSET
 | 
			
		||||
    backchannel_logout_supported: Union[Unset, bool] = UNSET
 | 
			
		||||
    claims_parameter_supported: Union[Unset, bool] = UNSET
 | 
			
		||||
    claims_supported: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    code_challenge_methods_supported: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    end_session_endpoint: Union[Unset, str] = UNSET
 | 
			
		||||
    frontchannel_logout_session_supported: Union[Unset, bool] = UNSET
 | 
			
		||||
    frontchannel_logout_supported: Union[Unset, bool] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -131,6 +175,11 @@ among others.
 | 
			
		|||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        authorization_endpoint = self.authorization_endpoint
 | 
			
		||||
        id_token_signed_response_alg = self.id_token_signed_response_alg
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        id_token_signing_alg_values_supported = self.id_token_signing_alg_values_supported
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -149,6 +198,11 @@ among others.
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
        token_endpoint = self.token_endpoint
 | 
			
		||||
        userinfo_signed_response_alg = self.userinfo_signed_response_alg
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        backchannel_logout_session_supported = self.backchannel_logout_session_supported
 | 
			
		||||
        backchannel_logout_supported = self.backchannel_logout_supported
 | 
			
		||||
        claims_parameter_supported = self.claims_parameter_supported
 | 
			
		||||
| 
						 | 
				
			
			@ -159,6 +213,13 @@ among others.
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        code_challenge_methods_supported: Union[Unset, List[str]] = UNSET
 | 
			
		||||
        if not isinstance(self.code_challenge_methods_supported, Unset):
 | 
			
		||||
            code_challenge_methods_supported = self.code_challenge_methods_supported
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        end_session_endpoint = self.end_session_endpoint
 | 
			
		||||
        frontchannel_logout_session_supported = self.frontchannel_logout_session_supported
 | 
			
		||||
        frontchannel_logout_supported = self.frontchannel_logout_supported
 | 
			
		||||
| 
						 | 
				
			
			@ -215,12 +276,14 @@ among others.
 | 
			
		|||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "authorization_endpoint": authorization_endpoint,
 | 
			
		||||
            "id_token_signed_response_alg": id_token_signed_response_alg,
 | 
			
		||||
            "id_token_signing_alg_values_supported": id_token_signing_alg_values_supported,
 | 
			
		||||
            "issuer": issuer,
 | 
			
		||||
            "jwks_uri": jwks_uri,
 | 
			
		||||
            "response_types_supported": response_types_supported,
 | 
			
		||||
            "subject_types_supported": subject_types_supported,
 | 
			
		||||
            "token_endpoint": token_endpoint,
 | 
			
		||||
            "userinfo_signed_response_alg": userinfo_signed_response_alg,
 | 
			
		||||
        })
 | 
			
		||||
        if backchannel_logout_session_supported is not UNSET:
 | 
			
		||||
            field_dict["backchannel_logout_session_supported"] = backchannel_logout_session_supported
 | 
			
		||||
| 
						 | 
				
			
			@ -230,6 +293,8 @@ among others.
 | 
			
		|||
            field_dict["claims_parameter_supported"] = claims_parameter_supported
 | 
			
		||||
        if claims_supported is not UNSET:
 | 
			
		||||
            field_dict["claims_supported"] = claims_supported
 | 
			
		||||
        if code_challenge_methods_supported is not UNSET:
 | 
			
		||||
            field_dict["code_challenge_methods_supported"] = code_challenge_methods_supported
 | 
			
		||||
        if end_session_endpoint is not UNSET:
 | 
			
		||||
            field_dict["end_session_endpoint"] = end_session_endpoint
 | 
			
		||||
        if frontchannel_logout_session_supported is not UNSET:
 | 
			
		||||
| 
						 | 
				
			
			@ -270,6 +335,9 @@ among others.
 | 
			
		|||
        _d = src_dict.copy()
 | 
			
		||||
        authorization_endpoint = _d.pop("authorization_endpoint")
 | 
			
		||||
 | 
			
		||||
        id_token_signed_response_alg = cast(List[str], _d.pop("id_token_signed_response_alg"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        id_token_signing_alg_values_supported = cast(List[str], _d.pop("id_token_signing_alg_values_supported"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -285,6 +353,9 @@ among others.
 | 
			
		|||
 | 
			
		||||
        token_endpoint = _d.pop("token_endpoint")
 | 
			
		||||
 | 
			
		||||
        userinfo_signed_response_alg = cast(List[str], _d.pop("userinfo_signed_response_alg"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        backchannel_logout_session_supported = _d.pop("backchannel_logout_session_supported", UNSET)
 | 
			
		||||
 | 
			
		||||
        backchannel_logout_supported = _d.pop("backchannel_logout_supported", UNSET)
 | 
			
		||||
| 
						 | 
				
			
			@ -294,6 +365,9 @@ among others.
 | 
			
		|||
        claims_supported = cast(List[str], _d.pop("claims_supported", UNSET))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        code_challenge_methods_supported = cast(List[str], _d.pop("code_challenge_methods_supported", UNSET))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        end_session_endpoint = _d.pop("end_session_endpoint", UNSET)
 | 
			
		||||
 | 
			
		||||
        frontchannel_logout_session_supported = _d.pop("frontchannel_logout_session_supported", UNSET)
 | 
			
		||||
| 
						 | 
				
			
			@ -330,18 +404,21 @@ among others.
 | 
			
		|||
        userinfo_signing_alg_values_supported = cast(List[str], _d.pop("userinfo_signing_alg_values_supported", UNSET))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        well_known = cls(
 | 
			
		||||
        open_id_connect_discovery_metadata = cls(
 | 
			
		||||
            authorization_endpoint=authorization_endpoint,
 | 
			
		||||
            id_token_signed_response_alg=id_token_signed_response_alg,
 | 
			
		||||
            id_token_signing_alg_values_supported=id_token_signing_alg_values_supported,
 | 
			
		||||
            issuer=issuer,
 | 
			
		||||
            jwks_uri=jwks_uri,
 | 
			
		||||
            response_types_supported=response_types_supported,
 | 
			
		||||
            subject_types_supported=subject_types_supported,
 | 
			
		||||
            token_endpoint=token_endpoint,
 | 
			
		||||
            userinfo_signed_response_alg=userinfo_signed_response_alg,
 | 
			
		||||
            backchannel_logout_session_supported=backchannel_logout_session_supported,
 | 
			
		||||
            backchannel_logout_supported=backchannel_logout_supported,
 | 
			
		||||
            claims_parameter_supported=claims_parameter_supported,
 | 
			
		||||
            claims_supported=claims_supported,
 | 
			
		||||
            code_challenge_methods_supported=code_challenge_methods_supported,
 | 
			
		||||
            end_session_endpoint=end_session_endpoint,
 | 
			
		||||
            frontchannel_logout_session_supported=frontchannel_logout_session_supported,
 | 
			
		||||
            frontchannel_logout_supported=frontchannel_logout_supported,
 | 
			
		||||
| 
						 | 
				
			
			@ -359,8 +436,8 @@ among others.
 | 
			
		|||
            userinfo_signing_alg_values_supported=userinfo_signing_alg_values_supported,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        well_known.additional_properties = _d
 | 
			
		||||
        return well_known
 | 
			
		||||
        open_id_connect_discovery_metadata.additional_properties = _d
 | 
			
		||||
        return open_id_connect_discovery_metadata
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
							
								
								
									
										86
									
								
								libs/ory-hydra-client/ory_hydra_client/models/pagination.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								libs/ory-hydra-client/ory_hydra_client/models/pagination.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,86 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="Pagination")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class Pagination:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        page_size (Union[Unset, int]): Items per page
 | 
			
		||||
 | 
			
		||||
            This is the number of items per page to return.
 | 
			
		||||
            For details on pagination please head over to the [pagination
 | 
			
		||||
            documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination). Default: 250.
 | 
			
		||||
        page_token (Union[Unset, str]): Next Page Token
 | 
			
		||||
 | 
			
		||||
            The next page token.
 | 
			
		||||
            For details on pagination please head over to the [pagination
 | 
			
		||||
            documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination). Default: '1'.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    page_size: Union[Unset, int] = 250
 | 
			
		||||
    page_token: Union[Unset, str] = '1'
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        page_size = self.page_size
 | 
			
		||||
        page_token = self.page_token
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if page_size is not UNSET:
 | 
			
		||||
            field_dict["page_size"] = page_size
 | 
			
		||||
        if page_token is not UNSET:
 | 
			
		||||
            field_dict["page_token"] = page_token
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        page_size = _d.pop("page_size", UNSET)
 | 
			
		||||
 | 
			
		||||
        page_token = _d.pop("page_token", UNSET)
 | 
			
		||||
 | 
			
		||||
        pagination = cls(
 | 
			
		||||
            page_size=page_size,
 | 
			
		||||
            page_token=page_token,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        pagination.additional_properties = _d
 | 
			
		||||
        return pagination
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,47 +7,47 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginConfigRootfs")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PaginationHeaders")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginConfigRootfs:
 | 
			
		||||
    """PluginConfigRootfs plugin config rootfs
 | 
			
		||||
 | 
			
		||||
class PaginationHeaders:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        diff_ids (Union[Unset, List[str]]): diff ids
 | 
			
		||||
        type (Union[Unset, str]): type
 | 
			
		||||
        link (Union[Unset, str]): The link header contains pagination links.
 | 
			
		||||
 | 
			
		||||
            For details on pagination please head over to the [pagination
 | 
			
		||||
            documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).
 | 
			
		||||
 | 
			
		||||
            in: header
 | 
			
		||||
        x_total_count (Union[Unset, str]): The total number of clients.
 | 
			
		||||
 | 
			
		||||
            in: header
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    diff_ids: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    type: Union[Unset, str] = UNSET
 | 
			
		||||
    link: Union[Unset, str] = UNSET
 | 
			
		||||
    x_total_count: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        diff_ids: Union[Unset, List[str]] = UNSET
 | 
			
		||||
        if not isinstance(self.diff_ids, Unset):
 | 
			
		||||
            diff_ids = self.diff_ids
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        type = self.type
 | 
			
		||||
        link = self.link
 | 
			
		||||
        x_total_count = self.x_total_count
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if diff_ids is not UNSET:
 | 
			
		||||
            field_dict["diff_ids"] = diff_ids
 | 
			
		||||
        if type is not UNSET:
 | 
			
		||||
            field_dict["type"] = type
 | 
			
		||||
        if link is not UNSET:
 | 
			
		||||
            field_dict["link"] = link
 | 
			
		||||
        if x_total_count is not UNSET:
 | 
			
		||||
            field_dict["x-total-count"] = x_total_count
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -56,18 +56,17 @@ class PluginConfigRootfs:
 | 
			
		|||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        diff_ids = cast(List[str], _d.pop("diff_ids", UNSET))
 | 
			
		||||
        link = _d.pop("link", UNSET)
 | 
			
		||||
 | 
			
		||||
        x_total_count = _d.pop("x-total-count", UNSET)
 | 
			
		||||
 | 
			
		||||
        type = _d.pop("type", UNSET)
 | 
			
		||||
 | 
			
		||||
        plugin_config_rootfs = cls(
 | 
			
		||||
            diff_ids=diff_ids,
 | 
			
		||||
            type=type,
 | 
			
		||||
        pagination_headers = cls(
 | 
			
		||||
            link=link,
 | 
			
		||||
            x_total_count=x_total_count,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_config_rootfs.additional_properties = _d
 | 
			
		||||
        return plugin_config_rootfs
 | 
			
		||||
        pagination_headers.additional_properties = _d
 | 
			
		||||
        return pagination_headers
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,91 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PaginationRequestParameters")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PaginationRequestParameters:
 | 
			
		||||
    """The `Link` HTTP header contains multiple links (`first`, `next`, `last`, `previous`) formatted as:
 | 
			
		||||
`<https://{project-slug}.projects.oryapis.com/admin/clients?page_size={limit}&page_token={offset}>; rel="{page}"`
 | 
			
		||||
 | 
			
		||||
For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-
 | 
			
		||||
design#pagination).
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        page_size (Union[Unset, int]): Items per Page
 | 
			
		||||
 | 
			
		||||
            This is the number of items per page to return.
 | 
			
		||||
            For details on pagination please head over to the [pagination
 | 
			
		||||
            documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination). Default: 250.
 | 
			
		||||
        page_token (Union[Unset, str]): Next Page Token
 | 
			
		||||
 | 
			
		||||
            The next page token.
 | 
			
		||||
            For details on pagination please head over to the [pagination
 | 
			
		||||
            documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination). Default: '1'.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    page_size: Union[Unset, int] = 250
 | 
			
		||||
    page_token: Union[Unset, str] = '1'
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        page_size = self.page_size
 | 
			
		||||
        page_token = self.page_token
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if page_size is not UNSET:
 | 
			
		||||
            field_dict["page_size"] = page_size
 | 
			
		||||
        if page_token is not UNSET:
 | 
			
		||||
            field_dict["page_token"] = page_token
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        page_size = _d.pop("page_size", UNSET)
 | 
			
		||||
 | 
			
		||||
        page_token = _d.pop("page_token", UNSET)
 | 
			
		||||
 | 
			
		||||
        pagination_request_parameters = cls(
 | 
			
		||||
            page_size=page_size,
 | 
			
		||||
            page_token=page_token,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        pagination_request_parameters.additional_properties = _d
 | 
			
		||||
        return pagination_request_parameters
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,98 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PaginationResponseHeader")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PaginationResponseHeader:
 | 
			
		||||
    """The `Link` HTTP header contains multiple links (`first`, `next`, `last`, `previous`) formatted as:
 | 
			
		||||
`<https://{project-slug}.projects.oryapis.com/admin/clients?page_size={limit}&page_token={offset}>; rel="{page}"`
 | 
			
		||||
 | 
			
		||||
For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-
 | 
			
		||||
design#pagination).
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        link (Union[Unset, str]): The Link HTTP Header
 | 
			
		||||
 | 
			
		||||
            The `Link` header contains a comma-delimited list of links to the following pages:
 | 
			
		||||
 | 
			
		||||
            first: The first page of results.
 | 
			
		||||
            next: The next page of results.
 | 
			
		||||
            prev: The previous page of results.
 | 
			
		||||
            last: The last page of results.
 | 
			
		||||
 | 
			
		||||
            Pages are omitted if they do not exist. For example, if there is no next page, the `next` link is omitted.
 | 
			
		||||
            Examples:
 | 
			
		||||
 | 
			
		||||
            </clients?page_size=5&page_token=0>; rel="first",</clients?page_size=5&page_token=15>;
 | 
			
		||||
            rel="next",</clients?page_size=5&page_token=5>; rel="prev",</clients?page_size=5&page_token=20>; rel="last"
 | 
			
		||||
        x_total_count (Union[Unset, int]): The X-Total-Count HTTP Header
 | 
			
		||||
 | 
			
		||||
            The `X-Total-Count` header contains the total number of items in the collection.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    link: Union[Unset, str] = UNSET
 | 
			
		||||
    x_total_count: Union[Unset, int] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        link = self.link
 | 
			
		||||
        x_total_count = self.x_total_count
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if link is not UNSET:
 | 
			
		||||
            field_dict["link"] = link
 | 
			
		||||
        if x_total_count is not UNSET:
 | 
			
		||||
            field_dict["x-total-count"] = x_total_count
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        link = _d.pop("link", UNSET)
 | 
			
		||||
 | 
			
		||||
        x_total_count = _d.pop("x-total-count", UNSET)
 | 
			
		||||
 | 
			
		||||
        pagination_response_header = cls(
 | 
			
		||||
            link=link,
 | 
			
		||||
            x_total_count=x_total_count,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        pagination_response_header.additional_properties = _d
 | 
			
		||||
        return pagination_response_header
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,45 +7,38 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="ConsentRequestSession")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PassSessionDataToAConsentRequest")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class ConsentRequestSession:
 | 
			
		||||
class PassSessionDataToAConsentRequest:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        access_token (Union[Unset, ConsentRequestSessionAccessToken]): AccessToken sets session data for the access and
 | 
			
		||||
            refresh token, as well as any future tokens issued by the
 | 
			
		||||
        access_token (Union[Unset, Any]): AccessToken sets session data for the access and refresh token, as well as any
 | 
			
		||||
            future tokens issued by the
 | 
			
		||||
            refresh grant. Keep in mind that this data will be available to anyone performing OAuth 2.0 Challenge
 | 
			
		||||
            Introspection.
 | 
			
		||||
            If only your services can perform OAuth 2.0 Challenge Introspection, this is usually fine. But if third parties
 | 
			
		||||
            can access that endpoint as well, sensitive data from the session might be exposed to them. Use with care!
 | 
			
		||||
        id_token (Union[Unset, ConsentRequestSessionIdToken]): IDToken sets session data for the OpenID Connect ID
 | 
			
		||||
            token. Keep in mind that the session'id payloads are readable
 | 
			
		||||
        id_token (Union[Unset, Any]): IDToken sets session data for the OpenID Connect ID token. Keep in mind that the
 | 
			
		||||
            session'id payloads are readable
 | 
			
		||||
            by anyone that has access to the ID Challenge. Use with care!
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    access_token: Union[Unset, 'ConsentRequestSessionAccessToken'] = UNSET
 | 
			
		||||
    id_token: Union[Unset, 'ConsentRequestSessionIdToken'] = UNSET
 | 
			
		||||
    access_token: Union[Unset, Any] = UNSET
 | 
			
		||||
    id_token: Union[Unset, Any] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        access_token: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.access_token, Unset):
 | 
			
		||||
            access_token = self.access_token.to_dict()
 | 
			
		||||
 | 
			
		||||
        id_token: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.id_token, Unset):
 | 
			
		||||
            id_token = self.id_token.to_dict()
 | 
			
		||||
 | 
			
		||||
        access_token = self.access_token
 | 
			
		||||
        id_token = self.id_token
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
| 
						 | 
				
			
			@ -63,33 +56,17 @@ class ConsentRequestSession:
 | 
			
		|||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        _access_token = _d.pop("access_token", UNSET)
 | 
			
		||||
        access_token: Union[Unset, ConsentRequestSessionAccessToken]
 | 
			
		||||
        if isinstance(_access_token,  Unset):
 | 
			
		||||
            access_token = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            access_token = ConsentRequestSessionAccessToken.from_dict(_access_token)
 | 
			
		||||
        access_token = _d.pop("access_token", UNSET)
 | 
			
		||||
 | 
			
		||||
        id_token = _d.pop("id_token", UNSET)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _id_token = _d.pop("id_token", UNSET)
 | 
			
		||||
        id_token: Union[Unset, ConsentRequestSessionIdToken]
 | 
			
		||||
        if isinstance(_id_token,  Unset):
 | 
			
		||||
            id_token = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            id_token = ConsentRequestSessionIdToken.from_dict(_id_token)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        consent_request_session = cls(
 | 
			
		||||
        pass_session_data_to_a_consent_request = cls(
 | 
			
		||||
            access_token=access_token,
 | 
			
		||||
            id_token=id_token,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        consent_request_session.additional_properties = _d
 | 
			
		||||
        return consent_request_session
 | 
			
		||||
        pass_session_data_to_a_consent_request.additional_properties = _d
 | 
			
		||||
        return pass_session_data_to_a_consent_request
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,254 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginConfig")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginConfig:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        args (PluginConfigArgs): PluginConfigArgs plugin config args
 | 
			
		||||
        description (str): description
 | 
			
		||||
        documentation (str): documentation
 | 
			
		||||
        entrypoint (List[str]): entrypoint
 | 
			
		||||
        env (List['PluginEnv']): env
 | 
			
		||||
        interface (PluginConfigInterface): PluginConfigInterface The interface between Docker and the plugin
 | 
			
		||||
        ipc_host (bool): ipc host
 | 
			
		||||
        linux (PluginConfigLinux): PluginConfigLinux plugin config linux
 | 
			
		||||
        mounts (List['PluginMount']): mounts
 | 
			
		||||
        network (PluginConfigNetwork): PluginConfigNetwork plugin config network
 | 
			
		||||
        pid_host (bool): pid host
 | 
			
		||||
        propagated_mount (str): propagated mount
 | 
			
		||||
        work_dir (str): work dir
 | 
			
		||||
        docker_version (Union[Unset, str]): Docker Version used to create the plugin
 | 
			
		||||
        user (Union[Unset, PluginConfigUser]): PluginConfigUser plugin config user
 | 
			
		||||
        rootfs (Union[Unset, PluginConfigRootfs]): PluginConfigRootfs plugin config rootfs
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    args: 'PluginConfigArgs'
 | 
			
		||||
    description: str
 | 
			
		||||
    documentation: str
 | 
			
		||||
    entrypoint: List[str]
 | 
			
		||||
    env: List['PluginEnv']
 | 
			
		||||
    interface: 'PluginConfigInterface'
 | 
			
		||||
    ipc_host: bool
 | 
			
		||||
    linux: 'PluginConfigLinux'
 | 
			
		||||
    mounts: List['PluginMount']
 | 
			
		||||
    network: 'PluginConfigNetwork'
 | 
			
		||||
    pid_host: bool
 | 
			
		||||
    propagated_mount: str
 | 
			
		||||
    work_dir: str
 | 
			
		||||
    docker_version: Union[Unset, str] = UNSET
 | 
			
		||||
    user: Union[Unset, 'PluginConfigUser'] = UNSET
 | 
			
		||||
    rootfs: Union[Unset, 'PluginConfigRootfs'] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        args = self.args.to_dict()
 | 
			
		||||
 | 
			
		||||
        description = self.description
 | 
			
		||||
        documentation = self.documentation
 | 
			
		||||
        entrypoint = self.entrypoint
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        env = []
 | 
			
		||||
        for env_item_data in self.env:
 | 
			
		||||
            env_item = env_item_data.to_dict()
 | 
			
		||||
 | 
			
		||||
            env.append(env_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        interface = self.interface.to_dict()
 | 
			
		||||
 | 
			
		||||
        ipc_host = self.ipc_host
 | 
			
		||||
        linux = self.linux.to_dict()
 | 
			
		||||
 | 
			
		||||
        mounts = []
 | 
			
		||||
        for mounts_item_data in self.mounts:
 | 
			
		||||
            mounts_item = mounts_item_data.to_dict()
 | 
			
		||||
 | 
			
		||||
            mounts.append(mounts_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        network = self.network.to_dict()
 | 
			
		||||
 | 
			
		||||
        pid_host = self.pid_host
 | 
			
		||||
        propagated_mount = self.propagated_mount
 | 
			
		||||
        work_dir = self.work_dir
 | 
			
		||||
        docker_version = self.docker_version
 | 
			
		||||
        user: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.user, Unset):
 | 
			
		||||
            user = self.user.to_dict()
 | 
			
		||||
 | 
			
		||||
        rootfs: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.rootfs, Unset):
 | 
			
		||||
            rootfs = self.rootfs.to_dict()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "Args": args,
 | 
			
		||||
            "Description": description,
 | 
			
		||||
            "Documentation": documentation,
 | 
			
		||||
            "Entrypoint": entrypoint,
 | 
			
		||||
            "Env": env,
 | 
			
		||||
            "Interface": interface,
 | 
			
		||||
            "IpcHost": ipc_host,
 | 
			
		||||
            "Linux": linux,
 | 
			
		||||
            "Mounts": mounts,
 | 
			
		||||
            "Network": network,
 | 
			
		||||
            "PidHost": pid_host,
 | 
			
		||||
            "PropagatedMount": propagated_mount,
 | 
			
		||||
            "WorkDir": work_dir,
 | 
			
		||||
        })
 | 
			
		||||
        if docker_version is not UNSET:
 | 
			
		||||
            field_dict["DockerVersion"] = docker_version
 | 
			
		||||
        if user is not UNSET:
 | 
			
		||||
            field_dict["User"] = user
 | 
			
		||||
        if rootfs is not UNSET:
 | 
			
		||||
            field_dict["rootfs"] = rootfs
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        args = PluginConfigArgs.from_dict(_d.pop("Args"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        description = _d.pop("Description")
 | 
			
		||||
 | 
			
		||||
        documentation = _d.pop("Documentation")
 | 
			
		||||
 | 
			
		||||
        entrypoint = cast(List[str], _d.pop("Entrypoint"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        env = []
 | 
			
		||||
        _env = _d.pop("Env")
 | 
			
		||||
        for env_item_data in (_env):
 | 
			
		||||
            env_item = PluginEnv.from_dict(env_item_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            env.append(env_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        interface = PluginConfigInterface.from_dict(_d.pop("Interface"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        ipc_host = _d.pop("IpcHost")
 | 
			
		||||
 | 
			
		||||
        linux = PluginConfigLinux.from_dict(_d.pop("Linux"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        mounts = []
 | 
			
		||||
        _mounts = _d.pop("Mounts")
 | 
			
		||||
        for mounts_item_data in (_mounts):
 | 
			
		||||
            mounts_item = PluginMount.from_dict(mounts_item_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            mounts.append(mounts_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        network = PluginConfigNetwork.from_dict(_d.pop("Network"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        pid_host = _d.pop("PidHost")
 | 
			
		||||
 | 
			
		||||
        propagated_mount = _d.pop("PropagatedMount")
 | 
			
		||||
 | 
			
		||||
        work_dir = _d.pop("WorkDir")
 | 
			
		||||
 | 
			
		||||
        docker_version = _d.pop("DockerVersion", UNSET)
 | 
			
		||||
 | 
			
		||||
        _user = _d.pop("User", UNSET)
 | 
			
		||||
        user: Union[Unset, PluginConfigUser]
 | 
			
		||||
        if isinstance(_user,  Unset):
 | 
			
		||||
            user = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            user = PluginConfigUser.from_dict(_user)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _rootfs = _d.pop("rootfs", UNSET)
 | 
			
		||||
        rootfs: Union[Unset, PluginConfigRootfs]
 | 
			
		||||
        if isinstance(_rootfs,  Unset):
 | 
			
		||||
            rootfs = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            rootfs = PluginConfigRootfs.from_dict(_rootfs)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        plugin_config = cls(
 | 
			
		||||
            args=args,
 | 
			
		||||
            description=description,
 | 
			
		||||
            documentation=documentation,
 | 
			
		||||
            entrypoint=entrypoint,
 | 
			
		||||
            env=env,
 | 
			
		||||
            interface=interface,
 | 
			
		||||
            ipc_host=ipc_host,
 | 
			
		||||
            linux=linux,
 | 
			
		||||
            mounts=mounts,
 | 
			
		||||
            network=network,
 | 
			
		||||
            pid_host=pid_host,
 | 
			
		||||
            propagated_mount=propagated_mount,
 | 
			
		||||
            work_dir=work_dir,
 | 
			
		||||
            docker_version=docker_version,
 | 
			
		||||
            user=user,
 | 
			
		||||
            rootfs=rootfs,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_config.additional_properties = _d
 | 
			
		||||
        return plugin_config
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,99 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginConfigArgs")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginConfigArgs:
 | 
			
		||||
    """PluginConfigArgs plugin config args
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        description (str): description
 | 
			
		||||
        name (str): name
 | 
			
		||||
        settable (List[str]): settable
 | 
			
		||||
        value (List[str]): value
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    description: str
 | 
			
		||||
    name: str
 | 
			
		||||
    settable: List[str]
 | 
			
		||||
    value: List[str]
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        description = self.description
 | 
			
		||||
        name = self.name
 | 
			
		||||
        settable = self.settable
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        value = self.value
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "Description": description,
 | 
			
		||||
            "Name": name,
 | 
			
		||||
            "Settable": settable,
 | 
			
		||||
            "Value": value,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        description = _d.pop("Description")
 | 
			
		||||
 | 
			
		||||
        name = _d.pop("Name")
 | 
			
		||||
 | 
			
		||||
        settable = cast(List[str], _d.pop("Settable"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        value = cast(List[str], _d.pop("Value"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        plugin_config_args = cls(
 | 
			
		||||
            description=description,
 | 
			
		||||
            name=name,
 | 
			
		||||
            settable=settable,
 | 
			
		||||
            value=value,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_config_args.additional_properties = _d
 | 
			
		||||
        return plugin_config_args
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,93 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
from typing import Dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginConfigInterface")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginConfigInterface:
 | 
			
		||||
    """PluginConfigInterface The interface between Docker and the plugin
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        socket (str): socket
 | 
			
		||||
        types (List['PluginInterfaceType']): types
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    socket: str
 | 
			
		||||
    types: List['PluginInterfaceType']
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        socket = self.socket
 | 
			
		||||
        types = []
 | 
			
		||||
        for types_item_data in self.types:
 | 
			
		||||
            types_item = types_item_data.to_dict()
 | 
			
		||||
 | 
			
		||||
            types.append(types_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "Socket": socket,
 | 
			
		||||
            "Types": types,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        socket = _d.pop("Socket")
 | 
			
		||||
 | 
			
		||||
        types = []
 | 
			
		||||
        _types = _d.pop("Types")
 | 
			
		||||
        for types_item_data in (_types):
 | 
			
		||||
            types_item = PluginInterfaceType.from_dict(types_item_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            types.append(types_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        plugin_config_interface = cls(
 | 
			
		||||
            socket=socket,
 | 
			
		||||
            types=types,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_config_interface.additional_properties = _d
 | 
			
		||||
        return plugin_config_interface
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,105 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
from typing import Dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginConfigLinux")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginConfigLinux:
 | 
			
		||||
    """PluginConfigLinux plugin config linux
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        allow_all_devices (bool): allow all devices
 | 
			
		||||
        capabilities (List[str]): capabilities
 | 
			
		||||
        devices (List['PluginDevice']): devices
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    allow_all_devices: bool
 | 
			
		||||
    capabilities: List[str]
 | 
			
		||||
    devices: List['PluginDevice']
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        allow_all_devices = self.allow_all_devices
 | 
			
		||||
        capabilities = self.capabilities
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        devices = []
 | 
			
		||||
        for devices_item_data in self.devices:
 | 
			
		||||
            devices_item = devices_item_data.to_dict()
 | 
			
		||||
 | 
			
		||||
            devices.append(devices_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "AllowAllDevices": allow_all_devices,
 | 
			
		||||
            "Capabilities": capabilities,
 | 
			
		||||
            "Devices": devices,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        allow_all_devices = _d.pop("AllowAllDevices")
 | 
			
		||||
 | 
			
		||||
        capabilities = cast(List[str], _d.pop("Capabilities"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        devices = []
 | 
			
		||||
        _devices = _d.pop("Devices")
 | 
			
		||||
        for devices_item_data in (_devices):
 | 
			
		||||
            devices_item = PluginDevice.from_dict(devices_item_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            devices.append(devices_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        plugin_config_linux = cls(
 | 
			
		||||
            allow_all_devices=allow_all_devices,
 | 
			
		||||
            capabilities=capabilities,
 | 
			
		||||
            devices=devices,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_config_linux.additional_properties = _d
 | 
			
		||||
        return plugin_config_linux
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,94 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginDevice")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginDevice:
 | 
			
		||||
    """PluginDevice plugin device
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        description (str): description
 | 
			
		||||
        name (str): name
 | 
			
		||||
        path (str): path
 | 
			
		||||
        settable (List[str]): settable
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    description: str
 | 
			
		||||
    name: str
 | 
			
		||||
    path: str
 | 
			
		||||
    settable: List[str]
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        description = self.description
 | 
			
		||||
        name = self.name
 | 
			
		||||
        path = self.path
 | 
			
		||||
        settable = self.settable
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "Description": description,
 | 
			
		||||
            "Name": name,
 | 
			
		||||
            "Path": path,
 | 
			
		||||
            "Settable": settable,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        description = _d.pop("Description")
 | 
			
		||||
 | 
			
		||||
        name = _d.pop("Name")
 | 
			
		||||
 | 
			
		||||
        path = _d.pop("Path")
 | 
			
		||||
 | 
			
		||||
        settable = cast(List[str], _d.pop("Settable"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        plugin_device = cls(
 | 
			
		||||
            description=description,
 | 
			
		||||
            name=name,
 | 
			
		||||
            path=path,
 | 
			
		||||
            settable=settable,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_device.additional_properties = _d
 | 
			
		||||
        return plugin_device
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,94 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginEnv")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginEnv:
 | 
			
		||||
    """PluginEnv plugin env
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        description (str): description
 | 
			
		||||
        name (str): name
 | 
			
		||||
        settable (List[str]): settable
 | 
			
		||||
        value (str): value
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    description: str
 | 
			
		||||
    name: str
 | 
			
		||||
    settable: List[str]
 | 
			
		||||
    value: str
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        description = self.description
 | 
			
		||||
        name = self.name
 | 
			
		||||
        settable = self.settable
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        value = self.value
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "Description": description,
 | 
			
		||||
            "Name": name,
 | 
			
		||||
            "Settable": settable,
 | 
			
		||||
            "Value": value,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        description = _d.pop("Description")
 | 
			
		||||
 | 
			
		||||
        name = _d.pop("Name")
 | 
			
		||||
 | 
			
		||||
        settable = cast(List[str], _d.pop("Settable"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        value = _d.pop("Value")
 | 
			
		||||
 | 
			
		||||
        plugin_env = cls(
 | 
			
		||||
            description=description,
 | 
			
		||||
            name=name,
 | 
			
		||||
            settable=settable,
 | 
			
		||||
            value=value,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_env.additional_properties = _d
 | 
			
		||||
        return plugin_env
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,81 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginInterfaceType")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginInterfaceType:
 | 
			
		||||
    """PluginInterfaceType plugin interface type
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        capability (str): capability
 | 
			
		||||
        prefix (str): prefix
 | 
			
		||||
        version (str): version
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    capability: str
 | 
			
		||||
    prefix: str
 | 
			
		||||
    version: str
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        capability = self.capability
 | 
			
		||||
        prefix = self.prefix
 | 
			
		||||
        version = self.version
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "Capability": capability,
 | 
			
		||||
            "Prefix": prefix,
 | 
			
		||||
            "Version": version,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        capability = _d.pop("Capability")
 | 
			
		||||
 | 
			
		||||
        prefix = _d.pop("Prefix")
 | 
			
		||||
 | 
			
		||||
        version = _d.pop("Version")
 | 
			
		||||
 | 
			
		||||
        plugin_interface_type = cls(
 | 
			
		||||
            capability=capability,
 | 
			
		||||
            prefix=prefix,
 | 
			
		||||
            version=version,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_interface_type.additional_properties = _d
 | 
			
		||||
        return plugin_interface_type
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,120 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginMount")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginMount:
 | 
			
		||||
    """PluginMount plugin mount
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        description (str): description
 | 
			
		||||
        destination (str): destination
 | 
			
		||||
        name (str): name
 | 
			
		||||
        options (List[str]): options
 | 
			
		||||
        settable (List[str]): settable
 | 
			
		||||
        source (str): source
 | 
			
		||||
        type (str): type
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    description: str
 | 
			
		||||
    destination: str
 | 
			
		||||
    name: str
 | 
			
		||||
    options: List[str]
 | 
			
		||||
    settable: List[str]
 | 
			
		||||
    source: str
 | 
			
		||||
    type: str
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        description = self.description
 | 
			
		||||
        destination = self.destination
 | 
			
		||||
        name = self.name
 | 
			
		||||
        options = self.options
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        settable = self.settable
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        source = self.source
 | 
			
		||||
        type = self.type
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "Description": description,
 | 
			
		||||
            "Destination": destination,
 | 
			
		||||
            "Name": name,
 | 
			
		||||
            "Options": options,
 | 
			
		||||
            "Settable": settable,
 | 
			
		||||
            "Source": source,
 | 
			
		||||
            "Type": type,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        description = _d.pop("Description")
 | 
			
		||||
 | 
			
		||||
        destination = _d.pop("Destination")
 | 
			
		||||
 | 
			
		||||
        name = _d.pop("Name")
 | 
			
		||||
 | 
			
		||||
        options = cast(List[str], _d.pop("Options"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        settable = cast(List[str], _d.pop("Settable"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        source = _d.pop("Source")
 | 
			
		||||
 | 
			
		||||
        type = _d.pop("Type")
 | 
			
		||||
 | 
			
		||||
        plugin_mount = cls(
 | 
			
		||||
            description=description,
 | 
			
		||||
            destination=destination,
 | 
			
		||||
            name=name,
 | 
			
		||||
            options=options,
 | 
			
		||||
            settable=settable,
 | 
			
		||||
            source=source,
 | 
			
		||||
            type=type,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_mount.additional_properties = _d
 | 
			
		||||
        return plugin_mount
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,132 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
from typing import Dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginSettings")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginSettings:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        args (List[str]): args
 | 
			
		||||
        devices (List['PluginDevice']): devices
 | 
			
		||||
        env (List[str]): env
 | 
			
		||||
        mounts (List['PluginMount']): mounts
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    args: List[str]
 | 
			
		||||
    devices: List['PluginDevice']
 | 
			
		||||
    env: List[str]
 | 
			
		||||
    mounts: List['PluginMount']
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        args = self.args
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        devices = []
 | 
			
		||||
        for devices_item_data in self.devices:
 | 
			
		||||
            devices_item = devices_item_data.to_dict()
 | 
			
		||||
 | 
			
		||||
            devices.append(devices_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        env = self.env
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        mounts = []
 | 
			
		||||
        for mounts_item_data in self.mounts:
 | 
			
		||||
            mounts_item = mounts_item_data.to_dict()
 | 
			
		||||
 | 
			
		||||
            mounts.append(mounts_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "Args": args,
 | 
			
		||||
            "Devices": devices,
 | 
			
		||||
            "Env": env,
 | 
			
		||||
            "Mounts": mounts,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        args = cast(List[str], _d.pop("Args"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        devices = []
 | 
			
		||||
        _devices = _d.pop("Devices")
 | 
			
		||||
        for devices_item_data in (_devices):
 | 
			
		||||
            devices_item = PluginDevice.from_dict(devices_item_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            devices.append(devices_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        env = cast(List[str], _d.pop("Env"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        mounts = []
 | 
			
		||||
        _mounts = _d.pop("Mounts")
 | 
			
		||||
        for mounts_item_data in (_mounts):
 | 
			
		||||
            mounts_item = PluginMount.from_dict(mounts_item_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            mounts.append(mounts_item)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        plugin_settings = cls(
 | 
			
		||||
            args=args,
 | 
			
		||||
            devices=devices,
 | 
			
		||||
            env=env,
 | 
			
		||||
            mounts=mounts,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_settings.additional_properties = _d
 | 
			
		||||
        return plugin_settings
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,6 +7,9 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -18,20 +21,30 @@ class RevokeOAuth2TokenData:
 | 
			
		|||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        token (str):
 | 
			
		||||
        client_id (Union[Unset, str]):
 | 
			
		||||
        client_secret (Union[Unset, str]):
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    token: str
 | 
			
		||||
    client_id: Union[Unset, str] = UNSET
 | 
			
		||||
    client_secret: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        token = self.token
 | 
			
		||||
        client_id = self.client_id
 | 
			
		||||
        client_secret = self.client_secret
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "token": token,
 | 
			
		||||
        })
 | 
			
		||||
        if client_id is not UNSET:
 | 
			
		||||
            field_dict["client_id"] = client_id
 | 
			
		||||
        if client_secret is not UNSET:
 | 
			
		||||
            field_dict["client_secret"] = client_secret
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -42,8 +55,14 @@ class RevokeOAuth2TokenData:
 | 
			
		|||
        _d = src_dict.copy()
 | 
			
		||||
        token = _d.pop("token")
 | 
			
		||||
 | 
			
		||||
        client_id = _d.pop("client_id", UNSET)
 | 
			
		||||
 | 
			
		||||
        client_secret = _d.pop("client_secret", UNSET)
 | 
			
		||||
 | 
			
		||||
        revoke_o_auth_2_token_data = cls(
 | 
			
		||||
            token=token,
 | 
			
		||||
            client_id=client_id,
 | 
			
		||||
            client_secret=client_secret,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        revoke_o_auth_2_token_data.additional_properties = _d
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7,21 +7,24 @@ import attr
 | 
			
		|||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from dateutil.parser import isoparse
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import cast
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from dateutil.parser import isoparse
 | 
			
		||||
import datetime
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.pass_session_data_to_a_consent_request import PassSessionDataToAConsentRequest
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="AcceptConsentRequest")
 | 
			
		||||
T = TypeVar("T", bound="TheRequestPayloadUsedToAcceptAConsentRequest")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class AcceptConsentRequest:
 | 
			
		||||
class TheRequestPayloadUsedToAcceptAConsentRequest:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        grant_access_token_audience (Union[Unset, List[str]]):
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +36,7 @@ class AcceptConsentRequest:
 | 
			
		|||
        remember_for (Union[Unset, int]): RememberFor sets how long the consent authorization should be remembered for
 | 
			
		||||
            in seconds. If set to `0`, the
 | 
			
		||||
            authorization will be remembered indefinitely.
 | 
			
		||||
        session (Union[Unset, ConsentRequestSession]):
 | 
			
		||||
        session (Union[Unset, PassSessionDataToAConsentRequest]):
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    grant_access_token_audience: Union[Unset, List[str]] = UNSET
 | 
			
		||||
| 
						 | 
				
			
			@ -41,11 +44,12 @@ class AcceptConsentRequest:
 | 
			
		|||
    handled_at: Union[Unset, datetime.datetime] = UNSET
 | 
			
		||||
    remember: Union[Unset, bool] = UNSET
 | 
			
		||||
    remember_for: Union[Unset, int] = UNSET
 | 
			
		||||
    session: Union[Unset, 'ConsentRequestSession'] = UNSET
 | 
			
		||||
    session: Union[Unset, 'PassSessionDataToAConsentRequest'] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.pass_session_data_to_a_consent_request import PassSessionDataToAConsentRequest
 | 
			
		||||
        grant_access_token_audience: Union[Unset, List[str]] = UNSET
 | 
			
		||||
        if not isinstance(self.grant_access_token_audience, Unset):
 | 
			
		||||
            grant_access_token_audience = self.grant_access_token_audience
 | 
			
		||||
| 
						 | 
				
			
			@ -94,6 +98,7 @@ class AcceptConsentRequest:
 | 
			
		|||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.pass_session_data_to_a_consent_request import PassSessionDataToAConsentRequest
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        grant_access_token_audience = cast(List[str], _d.pop("grant_access_token_audience", UNSET))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -116,16 +121,16 @@ class AcceptConsentRequest:
 | 
			
		|||
        remember_for = _d.pop("remember_for", UNSET)
 | 
			
		||||
 | 
			
		||||
        _session = _d.pop("session", UNSET)
 | 
			
		||||
        session: Union[Unset, ConsentRequestSession]
 | 
			
		||||
        session: Union[Unset, PassSessionDataToAConsentRequest]
 | 
			
		||||
        if isinstance(_session,  Unset):
 | 
			
		||||
            session = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            session = ConsentRequestSession.from_dict(_session)
 | 
			
		||||
            session = PassSessionDataToAConsentRequest.from_dict(_session)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        accept_consent_request = cls(
 | 
			
		||||
        the_request_payload_used_to_accept_a_consent_request = cls(
 | 
			
		||||
            grant_access_token_audience=grant_access_token_audience,
 | 
			
		||||
            grant_scope=grant_scope,
 | 
			
		||||
            handled_at=handled_at,
 | 
			
		||||
| 
						 | 
				
			
			@ -134,8 +139,8 @@ class AcceptConsentRequest:
 | 
			
		|||
            session=session,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        accept_consent_request.additional_properties = _d
 | 
			
		||||
        return accept_consent_request
 | 
			
		||||
        the_request_payload_used_to_accept_a_consent_request.additional_properties = _d
 | 
			
		||||
        return the_request_payload_used_to_accept_a_consent_request
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,10 +13,11 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="RejectRequest")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="TheRequestPayloadUsedToAcceptALoginOrConsentRequest")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class RejectRequest:
 | 
			
		||||
class TheRequestPayloadUsedToAcceptALoginOrConsentRequest:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        error (Union[Unset, str]): The error should follow the OAuth2 error format (e.g. `invalid_request`,
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +81,7 @@ class RejectRequest:
 | 
			
		|||
 | 
			
		||||
        status_code = _d.pop("status_code", UNSET)
 | 
			
		||||
 | 
			
		||||
        reject_request = cls(
 | 
			
		||||
        the_request_payload_used_to_accept_a_login_or_consent_request = cls(
 | 
			
		||||
            error=error,
 | 
			
		||||
            error_debug=error_debug,
 | 
			
		||||
            error_description=error_description,
 | 
			
		||||
| 
						 | 
				
			
			@ -88,8 +89,8 @@ class RejectRequest:
 | 
			
		|||
            status_code=status_code,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        reject_request.additional_properties = _d
 | 
			
		||||
        return reject_request
 | 
			
		||||
        the_request_payload_used_to_accept_a_login_or_consent_request.additional_properties = _d
 | 
			
		||||
        return the_request_payload_used_to_accept_a_login_or_consent_request
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,86 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="TokenPagination")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class TokenPagination:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        page_size (Union[Unset, int]): Items per page
 | 
			
		||||
 | 
			
		||||
            This is the number of items per page to return.
 | 
			
		||||
            For details on pagination please head over to the [pagination
 | 
			
		||||
            documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination). Default: 250.
 | 
			
		||||
        page_token (Union[Unset, str]): Next Page Token
 | 
			
		||||
 | 
			
		||||
            The next page token.
 | 
			
		||||
            For details on pagination please head over to the [pagination
 | 
			
		||||
            documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination). Default: '1'.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    page_size: Union[Unset, int] = 250
 | 
			
		||||
    page_token: Union[Unset, str] = '1'
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        page_size = self.page_size
 | 
			
		||||
        page_token = self.page_token
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if page_size is not UNSET:
 | 
			
		||||
            field_dict["page_size"] = page_size
 | 
			
		||||
        if page_token is not UNSET:
 | 
			
		||||
            field_dict["page_token"] = page_token
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        page_size = _d.pop("page_size", UNSET)
 | 
			
		||||
 | 
			
		||||
        page_token = _d.pop("page_token", UNSET)
 | 
			
		||||
 | 
			
		||||
        token_pagination = cls(
 | 
			
		||||
            page_size=page_size,
 | 
			
		||||
            page_token=page_token,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        token_pagination.additional_properties = _d
 | 
			
		||||
        return token_pagination
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,34 +13,41 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="PluginConfigUser")
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="TokenPaginationHeaders")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class PluginConfigUser:
 | 
			
		||||
    """PluginConfigUser plugin config user
 | 
			
		||||
 | 
			
		||||
class TokenPaginationHeaders:
 | 
			
		||||
    """
 | 
			
		||||
    Attributes:
 | 
			
		||||
        gid (Union[Unset, int]): g ID
 | 
			
		||||
        uid (Union[Unset, int]): UID
 | 
			
		||||
        link (Union[Unset, str]): The link header contains pagination links.
 | 
			
		||||
 | 
			
		||||
            For details on pagination please head over to the [pagination
 | 
			
		||||
            documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).
 | 
			
		||||
 | 
			
		||||
            in: header
 | 
			
		||||
        x_total_count (Union[Unset, str]): The total number of clients.
 | 
			
		||||
 | 
			
		||||
            in: header
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    gid: Union[Unset, int] = UNSET
 | 
			
		||||
    uid: Union[Unset, int] = UNSET
 | 
			
		||||
    link: Union[Unset, str] = UNSET
 | 
			
		||||
    x_total_count: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        gid = self.gid
 | 
			
		||||
        uid = self.uid
 | 
			
		||||
        link = self.link
 | 
			
		||||
        x_total_count = self.x_total_count
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if gid is not UNSET:
 | 
			
		||||
            field_dict["GID"] = gid
 | 
			
		||||
        if uid is not UNSET:
 | 
			
		||||
            field_dict["UID"] = uid
 | 
			
		||||
        if link is not UNSET:
 | 
			
		||||
            field_dict["link"] = link
 | 
			
		||||
        if x_total_count is not UNSET:
 | 
			
		||||
            field_dict["x-total-count"] = x_total_count
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -49,17 +56,17 @@ class PluginConfigUser:
 | 
			
		|||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        gid = _d.pop("GID", UNSET)
 | 
			
		||||
        link = _d.pop("link", UNSET)
 | 
			
		||||
 | 
			
		||||
        uid = _d.pop("UID", UNSET)
 | 
			
		||||
        x_total_count = _d.pop("x-total-count", UNSET)
 | 
			
		||||
 | 
			
		||||
        plugin_config_user = cls(
 | 
			
		||||
            gid=gid,
 | 
			
		||||
            uid=uid,
 | 
			
		||||
        token_pagination_headers = cls(
 | 
			
		||||
            link=link,
 | 
			
		||||
            x_total_count=x_total_count,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        plugin_config_user.additional_properties = _d
 | 
			
		||||
        return plugin_config_user
 | 
			
		||||
        token_pagination_headers.additional_properties = _d
 | 
			
		||||
        return token_pagination_headers
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,134 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from dateutil.parser import isoparse
 | 
			
		||||
import datetime
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.json_web_key import JsonWebKey
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="TrustOAuth2JwtGrantIssuer")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class TrustOAuth2JwtGrantIssuer:
 | 
			
		||||
    """Trust OAuth2 JWT Bearer Grant Type Issuer Request Body
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        expires_at (datetime.datetime): The "expires_at" indicates, when grant will expire, so we will reject assertion
 | 
			
		||||
            from "issuer" targeting "subject".
 | 
			
		||||
        issuer (str): The "issuer" identifies the principal that issued the JWT assertion (same as "iss" claim in JWT).
 | 
			
		||||
            Example: https://jwt-idp.example.com.
 | 
			
		||||
        jwk (JsonWebKey):
 | 
			
		||||
        scope (List[str]): The "scope" contains list of scope values (as described in Section 3.3 of OAuth 2.0
 | 
			
		||||
            [RFC6749]) Example: ['openid', 'offline'].
 | 
			
		||||
        allow_any_subject (Union[Unset, bool]): The "allow_any_subject" indicates that the issuer is allowed to have any
 | 
			
		||||
            principal as the subject of the JWT.
 | 
			
		||||
        subject (Union[Unset, str]): The "subject" identifies the principal that is the subject of the JWT. Example:
 | 
			
		||||
            mike@example.com.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    expires_at: datetime.datetime
 | 
			
		||||
    issuer: str
 | 
			
		||||
    jwk: 'JsonWebKey'
 | 
			
		||||
    scope: List[str]
 | 
			
		||||
    allow_any_subject: Union[Unset, bool] = UNSET
 | 
			
		||||
    subject: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.json_web_key import JsonWebKey
 | 
			
		||||
        expires_at = self.expires_at.isoformat()
 | 
			
		||||
 | 
			
		||||
        issuer = self.issuer
 | 
			
		||||
        jwk = self.jwk.to_dict()
 | 
			
		||||
 | 
			
		||||
        scope = self.scope
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        allow_any_subject = self.allow_any_subject
 | 
			
		||||
        subject = self.subject
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "expires_at": expires_at,
 | 
			
		||||
            "issuer": issuer,
 | 
			
		||||
            "jwk": jwk,
 | 
			
		||||
            "scope": scope,
 | 
			
		||||
        })
 | 
			
		||||
        if allow_any_subject is not UNSET:
 | 
			
		||||
            field_dict["allow_any_subject"] = allow_any_subject
 | 
			
		||||
        if subject is not UNSET:
 | 
			
		||||
            field_dict["subject"] = subject
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.json_web_key import JsonWebKey
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        expires_at = isoparse(_d.pop("expires_at"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        issuer = _d.pop("issuer")
 | 
			
		||||
 | 
			
		||||
        jwk = JsonWebKey.from_dict(_d.pop("jwk"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        scope = cast(List[str], _d.pop("scope"))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        allow_any_subject = _d.pop("allow_any_subject", UNSET)
 | 
			
		||||
 | 
			
		||||
        subject = _d.pop("subject", UNSET)
 | 
			
		||||
 | 
			
		||||
        trust_o_auth_2_jwt_grant_issuer = cls(
 | 
			
		||||
            expires_at=expires_at,
 | 
			
		||||
            issuer=issuer,
 | 
			
		||||
            jwk=jwk,
 | 
			
		||||
            scope=scope,
 | 
			
		||||
            allow_any_subject=allow_any_subject,
 | 
			
		||||
            subject=subject,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        trust_o_auth_2_jwt_grant_issuer.additional_properties = _d
 | 
			
		||||
        return trust_o_auth_2_jwt_grant_issuer
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,182 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import cast
 | 
			
		||||
from typing import Union
 | 
			
		||||
from typing import Dict
 | 
			
		||||
from dateutil.parser import isoparse
 | 
			
		||||
import datetime
 | 
			
		||||
from typing import cast, List
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
  from ..models.trusted_o_auth_2_jwt_grant_json_web_key import TrustedOAuth2JwtGrantJsonWebKey
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="TrustedOAuth2JwtGrantIssuer")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class TrustedOAuth2JwtGrantIssuer:
 | 
			
		||||
    """OAuth2 JWT Bearer Grant Type Issuer Trust Relationship
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        allow_any_subject (Union[Unset, bool]): The "allow_any_subject" indicates that the issuer is allowed to have any
 | 
			
		||||
            principal as the subject of the JWT.
 | 
			
		||||
        created_at (Union[Unset, datetime.datetime]): The "created_at" indicates, when grant was created.
 | 
			
		||||
        expires_at (Union[Unset, datetime.datetime]): The "expires_at" indicates, when grant will expire, so we will
 | 
			
		||||
            reject assertion from "issuer" targeting "subject".
 | 
			
		||||
        id (Union[Unset, str]):  Example: 9edc811f-4e28-453c-9b46-4de65f00217f.
 | 
			
		||||
        issuer (Union[Unset, str]): The "issuer" identifies the principal that issued the JWT assertion (same as "iss"
 | 
			
		||||
            claim in JWT). Example: https://jwt-idp.example.com.
 | 
			
		||||
        public_key (Union[Unset, TrustedOAuth2JwtGrantJsonWebKey]): OAuth2 JWT Bearer Grant Type Issuer Trusted JSON Web
 | 
			
		||||
            Key
 | 
			
		||||
        scope (Union[Unset, List[str]]): The "scope" contains list of scope values (as described in Section 3.3 of OAuth
 | 
			
		||||
            2.0 [RFC6749]) Example: ['openid', 'offline'].
 | 
			
		||||
        subject (Union[Unset, str]): The "subject" identifies the principal that is the subject of the JWT. Example:
 | 
			
		||||
            mike@example.com.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    allow_any_subject: Union[Unset, bool] = UNSET
 | 
			
		||||
    created_at: Union[Unset, datetime.datetime] = UNSET
 | 
			
		||||
    expires_at: Union[Unset, datetime.datetime] = UNSET
 | 
			
		||||
    id: Union[Unset, str] = UNSET
 | 
			
		||||
    issuer: Union[Unset, str] = UNSET
 | 
			
		||||
    public_key: Union[Unset, 'TrustedOAuth2JwtGrantJsonWebKey'] = UNSET
 | 
			
		||||
    scope: Union[Unset, List[str]] = UNSET
 | 
			
		||||
    subject: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        from ..models.trusted_o_auth_2_jwt_grant_json_web_key import TrustedOAuth2JwtGrantJsonWebKey
 | 
			
		||||
        allow_any_subject = self.allow_any_subject
 | 
			
		||||
        created_at: Union[Unset, str] = UNSET
 | 
			
		||||
        if not isinstance(self.created_at, Unset):
 | 
			
		||||
            created_at = self.created_at.isoformat()
 | 
			
		||||
 | 
			
		||||
        expires_at: Union[Unset, str] = UNSET
 | 
			
		||||
        if not isinstance(self.expires_at, Unset):
 | 
			
		||||
            expires_at = self.expires_at.isoformat()
 | 
			
		||||
 | 
			
		||||
        id = self.id
 | 
			
		||||
        issuer = self.issuer
 | 
			
		||||
        public_key: Union[Unset, Dict[str, Any]] = UNSET
 | 
			
		||||
        if not isinstance(self.public_key, Unset):
 | 
			
		||||
            public_key = self.public_key.to_dict()
 | 
			
		||||
 | 
			
		||||
        scope: Union[Unset, List[str]] = UNSET
 | 
			
		||||
        if not isinstance(self.scope, Unset):
 | 
			
		||||
            scope = self.scope
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        subject = self.subject
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if allow_any_subject is not UNSET:
 | 
			
		||||
            field_dict["allow_any_subject"] = allow_any_subject
 | 
			
		||||
        if created_at is not UNSET:
 | 
			
		||||
            field_dict["created_at"] = created_at
 | 
			
		||||
        if expires_at is not UNSET:
 | 
			
		||||
            field_dict["expires_at"] = expires_at
 | 
			
		||||
        if id is not UNSET:
 | 
			
		||||
            field_dict["id"] = id
 | 
			
		||||
        if issuer is not UNSET:
 | 
			
		||||
            field_dict["issuer"] = issuer
 | 
			
		||||
        if public_key is not UNSET:
 | 
			
		||||
            field_dict["public_key"] = public_key
 | 
			
		||||
        if scope is not UNSET:
 | 
			
		||||
            field_dict["scope"] = scope
 | 
			
		||||
        if subject is not UNSET:
 | 
			
		||||
            field_dict["subject"] = subject
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        from ..models.trusted_o_auth_2_jwt_grant_json_web_key import TrustedOAuth2JwtGrantJsonWebKey
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        allow_any_subject = _d.pop("allow_any_subject", UNSET)
 | 
			
		||||
 | 
			
		||||
        _created_at = _d.pop("created_at", UNSET)
 | 
			
		||||
        created_at: Union[Unset, datetime.datetime]
 | 
			
		||||
        if isinstance(_created_at,  Unset):
 | 
			
		||||
            created_at = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            created_at = isoparse(_created_at)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        _expires_at = _d.pop("expires_at", UNSET)
 | 
			
		||||
        expires_at: Union[Unset, datetime.datetime]
 | 
			
		||||
        if isinstance(_expires_at,  Unset):
 | 
			
		||||
            expires_at = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            expires_at = isoparse(_expires_at)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        id = _d.pop("id", UNSET)
 | 
			
		||||
 | 
			
		||||
        issuer = _d.pop("issuer", UNSET)
 | 
			
		||||
 | 
			
		||||
        _public_key = _d.pop("public_key", UNSET)
 | 
			
		||||
        public_key: Union[Unset, TrustedOAuth2JwtGrantJsonWebKey]
 | 
			
		||||
        if isinstance(_public_key,  Unset):
 | 
			
		||||
            public_key = UNSET
 | 
			
		||||
        else:
 | 
			
		||||
            public_key = TrustedOAuth2JwtGrantJsonWebKey.from_dict(_public_key)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        scope = cast(List[str], _d.pop("scope", UNSET))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        subject = _d.pop("subject", UNSET)
 | 
			
		||||
 | 
			
		||||
        trusted_o_auth_2_jwt_grant_issuer = cls(
 | 
			
		||||
            allow_any_subject=allow_any_subject,
 | 
			
		||||
            created_at=created_at,
 | 
			
		||||
            expires_at=expires_at,
 | 
			
		||||
            id=id,
 | 
			
		||||
            issuer=issuer,
 | 
			
		||||
            public_key=public_key,
 | 
			
		||||
            scope=scope,
 | 
			
		||||
            subject=subject,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        trusted_o_auth_2_jwt_grant_issuer.additional_properties = _d
 | 
			
		||||
        return trusted_o_auth_2_jwt_grant_issuer
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,81 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
from typing import Union
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="TrustedOAuth2JwtGrantJsonWebKey")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class TrustedOAuth2JwtGrantJsonWebKey:
 | 
			
		||||
    """OAuth2 JWT Bearer Grant Type Issuer Trusted JSON Web Key
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        kid (Union[Unset, str]): The "key_id" is key unique identifier (same as kid header in jws/jwt). Example:
 | 
			
		||||
            123e4567-e89b-12d3-a456-426655440000.
 | 
			
		||||
        set_ (Union[Unset, str]): The "set" is basically a name for a group(set) of keys. Will be the same as "issuer"
 | 
			
		||||
            in grant. Example: https://jwt-idp.example.com.
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    kid: Union[Unset, str] = UNSET
 | 
			
		||||
    set_: Union[Unset, str] = UNSET
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        kid = self.kid
 | 
			
		||||
        set_ = self.set_
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
        })
 | 
			
		||||
        if kid is not UNSET:
 | 
			
		||||
            field_dict["kid"] = kid
 | 
			
		||||
        if set_ is not UNSET:
 | 
			
		||||
            field_dict["set"] = set_
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        kid = _d.pop("kid", UNSET)
 | 
			
		||||
 | 
			
		||||
        set_ = _d.pop("set", UNSET)
 | 
			
		||||
 | 
			
		||||
        trusted_o_auth_2_jwt_grant_json_web_key = cls(
 | 
			
		||||
            kid=kid,
 | 
			
		||||
            set_=set_,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        trusted_o_auth_2_jwt_grant_json_web_key.additional_properties = _d
 | 
			
		||||
        return trusted_o_auth_2_jwt_grant_json_web_key
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,4 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -13,6 +13,7 @@ from typing import Union
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="Version")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,79 +0,0 @@
 | 
			
		|||
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import attr
 | 
			
		||||
 | 
			
		||||
from ..types import UNSET, Unset
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
T = TypeVar("T", bound="VolumeUsageData")
 | 
			
		||||
 | 
			
		||||
@attr.s(auto_attribs=True)
 | 
			
		||||
class VolumeUsageData:
 | 
			
		||||
    """VolumeUsageData Usage details about the volume. This information is used by the
 | 
			
		||||
`GET /system/df` endpoint, and omitted in other endpoints.
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        ref_count (int): The number of containers referencing this volume. This field
 | 
			
		||||
            is set to `-1` if the reference-count is not available.
 | 
			
		||||
        size (int): Amount of disk space used by the volume (in bytes). This information
 | 
			
		||||
            is only available for volumes created with the `"local"` volume
 | 
			
		||||
            driver. For volumes created with other volume drivers, this field
 | 
			
		||||
            is set to `-1` ("not available")
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    ref_count: int
 | 
			
		||||
    size: int
 | 
			
		||||
    additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def to_dict(self) -> Dict[str, Any]:
 | 
			
		||||
        ref_count = self.ref_count
 | 
			
		||||
        size = self.size
 | 
			
		||||
 | 
			
		||||
        field_dict: Dict[str, Any] = {}
 | 
			
		||||
        field_dict.update(self.additional_properties)
 | 
			
		||||
        field_dict.update({
 | 
			
		||||
            "RefCount": ref_count,
 | 
			
		||||
            "Size": size,
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        return field_dict
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
 | 
			
		||||
        _d = src_dict.copy()
 | 
			
		||||
        ref_count = _d.pop("RefCount")
 | 
			
		||||
 | 
			
		||||
        size = _d.pop("Size")
 | 
			
		||||
 | 
			
		||||
        volume_usage_data = cls(
 | 
			
		||||
            ref_count=ref_count,
 | 
			
		||||
            size=size,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        volume_usage_data.additional_properties = _d
 | 
			
		||||
        return volume_usage_data
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def additional_keys(self) -> List[str]:
 | 
			
		||||
        return list(self.additional_properties.keys())
 | 
			
		||||
 | 
			
		||||
    def __getitem__(self, key: str) -> Any:
 | 
			
		||||
        return self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __setitem__(self, key: str, value: Any) -> None:
 | 
			
		||||
        self.additional_properties[key] = value
 | 
			
		||||
 | 
			
		||||
    def __delitem__(self, key: str) -> None:
 | 
			
		||||
        del self.additional_properties[key]
 | 
			
		||||
 | 
			
		||||
    def __contains__(self, key: str) -> bool:
 | 
			
		||||
        return key in self.additional_properties
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue