o 6a@sxdZddlZddlmZddlZddlmZddlm Z e e Z Gdddej ZGdd d eZGd d d eZdS) a0Client annotated ACME challenges. Please use names such as ``achall`` to distinguish from variables "of type" :class:`acme.challenges.Challenge` (denoted by ``chall``) and :class:`.ChallengeBody` (denoted by ``challb``):: from acme import challenges from acme import messages from certbot import achallenges chall = challenges.DNS(token='foo') challb = messages.ChallengeBody(chall=chall) achall = achallenges.DNS(chall=challb, domain='example.com') Note, that all annotated challenges act as a proxy objects:: achall.token == challb.token N)Type) challenges) Challengec@s.eZdZUdZdZeZeee d<ddZ dS)AnnotatedChallengezClient annotated challenge. Wraps around server provided challenge and annotates with data useful for the client. :ivar ~.challb: Wrapped `~.ChallengeBody`. )challb _acme_typecCs t|j|S)N)getattrr)selfnamer 5/usr/lib/python3/dist-packages/certbot/achallenges.py __getattr__+s zAnnotatedChallenge.__getattr__N) __name__ __module__ __qualname____doc__ __slots__NotImplementedrrr__annotations__r r r r r rs  rc@seZdZdZdZddZdS)"KeyAuthorizationAnnotatedChallengez7Client annotated `KeyAuthorizationChallenge` challenge.)rdomain account_keycOs|jjj|jg|Ri|S)z!Generate response and validation.)rchallresponse_and_validationr)r argskwargsr r r r3sz:KeyAuthorizationAnnotatedChallenge.response_and_validationN)rrrrrrr r r r r/s rc@seZdZdZdZejZdS)DNSz&Client annotated "dns" ACME challenge.)rrN)rrrrrrr acme_typer r r r r9s r)rloggingtypingrjosepyjoseacmeracme.challengesr getLoggerrlogger ImmutableMaprrrr r r r s