File manager - Edit - /usr/lib/python3/dist-packages/uaclient/api/u/pro/attach/magic/initiate/v1.py
Back
from uaclient import secret_manager from uaclient.api import exceptions from uaclient.api.api import APIEndpoint from uaclient.api.data_types import AdditionalInfo from uaclient.config import UAConfig from uaclient.contract import UAContractClient from uaclient.data_types import ( DataObject, Field, IntDataValue, StringDataValue, ) class MagicAttachInitiateResult(DataObject, AdditionalInfo): fields = [ Field( "user_code", StringDataValue, doc=( "Code the user will see in the UI when confirming the Magic" " Attach" ), ), Field( "token", StringDataValue, doc=( "Magic Token that can be used in either" " `u.pro.attach.magic.revoke.v1`_ or" " `u.pro.attach.magic.wait.v1`_" ), ), Field( "expires", StringDataValue, doc="Timestamp of the Magic Attach process expiration", ), Field( "expires_in", IntDataValue, doc="Seconds before the Magic Attach process expires", ), ] def __init__( self, user_code: str, token: str, expires: str, expires_in: int, ): self.user_code = user_code self.token = token self.expires = expires self.expires_in = expires_in def initiate() -> MagicAttachInitiateResult: return _initiate(UAConfig()) def _initiate(cfg: UAConfig) -> MagicAttachInitiateResult: """ This endpoint initiates the Magic Attach flow, retrieving the User Code to confirm the operation and the Token used to proceed. """ contract = UAContractClient(cfg) initiate_resp = contract.new_magic_attach_token() secret_manager.secrets.add_secret(initiate_resp["token"]) secret_manager.secrets.add_secret(initiate_resp["userCode"]) return MagicAttachInitiateResult( user_code=initiate_resp["userCode"], token=initiate_resp["token"], expires=initiate_resp["expires"], expires_in=int(initiate_resp["expiresIn"]), ) endpoint = APIEndpoint( version="v1", name="MagicAttachInitiate", fn=_initiate, options_cls=None, ) _doc = { "introduced_in": "27.11", "requires_network": True, "example_python": """ from uaclient.api.u.pro.attach.magic.initiate.v1 import initiate result = initiate() """, "result_class": MagicAttachInitiateResult, "exceptions": [ ( exceptions.ConnectivityError, ( "Raised if it is not possible to connect to the contracts" " service." ), ), ( exceptions.ContractAPIError, ( "Raised if there is an unexpected error in the contracts" " service interaction." ), ), ( exceptions.MagicAttachUnavailable, ( "Raised if the Magic Attach service is busy or unavailable at" " the moment." ), ), ], "example_cli": "pro api u.pro.attach.magic.initiate.v1", "example_json": """ { "user_code":"<UI_code>", "token":"<magic_token>", "expires": "<yyyy-MM-dd>T<HH:mm:ss>.<TZ>", "expires_in": 600 } """, }
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings