"certbot.achallenges"
*********************

Client annotated ACME challenges.

Please use names such as "achall" to distinguish from variables “of
type” "acme.challenges.Challenge" (denoted by "chall") and
"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

class certbot.achallenges.AnnotatedChallenge(**kwargs)

   Bases: "josepy.util.ImmutableMap"

   Client annotated challenge.

   Wraps around server provided challenge and annotates with data
   useful for the client.

   Variables:
      **challb** – Wrapped "ChallengeBody".

class certbot.achallenges.KeyAuthorizationAnnotatedChallenge(**kwargs)

   Bases: "certbot.achallenges.AnnotatedChallenge"

   Client annotated "KeyAuthorizationChallenge" challenge.

   response_and_validation(*args, **kwargs)

      Generate response and validation.

class certbot.achallenges.DNS(**kwargs)

   Bases: "certbot.achallenges.AnnotatedChallenge"

   Client annotated “dns” ACME challenge.

   acme_type

      alias of "acme.challenges.DNS"
