Extension chaosgandi

Version 0.1.0
Repository https://github.com/chaostoolkit-incubator/chaostoolkit-gandi

N/A

Exported Activities

domains


domains_should_not_expire_in

Type tolerance
Module chaosgandi.domains.tolerances
Name domains_should_not_expire_in
Return None

Go through the list of Gandi domains and fails if any expires before the given date treshold as a relative time to now.

Signature:

def domains_should_not_expire_in(value: List[Dict[str, Any]] = None,
                                 when: str = '1 month'):
    pass

Arguments:

Name Type Default Required
value list null No
when string “1 month” No

Tolerances declare the value argument which is automatically injected by Chaos Toolkit as the output of the probe they are evaluating.

Usage:

{
  "steady-state-hypothesis": {
    "title": "...",
    "probes": [
      {
        "tolerance": {
          "name": "domains-should-not-expire-in",
          "type": "tolerance",
          "provider": {
            "module": "chaosgandi.domains.tolerances",
            "func": "domains_should_not_expire_in",
            "type": "python"
          }
        },
        "type": "probe",
        "...": "..."
      }
    ]
  }
}
steady-state-hypothesis:
  probes:
  - '...': '...'
    tolerance:
      name: domains-should-not-expire-in
      provider:
        func: domains_should_not_expire_in
        module: chaosgandi.domains.tolerances
        type: python
      type: tolerance
    type: probe
  title: '...'

list_domains

Type probe
Module chaosgandi.domains.probes
Name list_domains
Return list

List all domains or those matching the given TLD or FQDN filters and return the list as-is.

See https://api.gandi.net/docs/domains/#v5-domain-domains

Signature:

def list_domains(
        fqdn_filter: str = None,
        tld_filter: str = None,
        configuration: Dict[str, Dict[str, str]] = None,
        secrets: Dict[str, Dict[str, str]] = None) -> List[Dict[str, Any]]:
    pass

Arguments:

Name Type Default Required
fqdn_filter string null No
tld_filter string null No

Usage:

{
  "name": "list-domains",
  "type": "probe",
  "provider": {
    "module": "chaosgandi.domains.probes",
    "func": "list_domains",
    "type": "python"
  }
}
name: list-domains
provider:
  func: list_domains
  module: chaosgandi.domains.probes
  type: python
type: probe

list_nameservers

Type probe
Module chaosgandi.domains.probes
Name list_nameservers
Return list

List nameservers set for this domain and return them as a list of strings.

See https://api.gandi.net/docs/domains/#v5-domain-domains-domain-nameservers

Signature:

def list_nameservers(domain: str,
                     configuration: Dict[str, Dict[str, str]] = None,
                     secrets: Dict[str, Dict[str, str]] = None) -> List[str]:
    pass

Arguments:

Name Type Default Required
domain string Yes

Usage:

{
  "name": "list-nameservers",
  "type": "probe",
  "provider": {
    "module": "chaosgandi.domains.probes",
    "func": "list_nameservers",
    "arguments": {
      "domain": ""
    },
    "type": "python"
  }
}
name: list-nameservers
provider:
  arguments:
    domain: ''
  func: list_nameservers
  module: chaosgandi.domains.probes
  type: python
type: probe