domains Package

models Module

class lemur.domains.models.Domain(**kwargs)

Bases: Model

id
name
sensitive

service Module

lemur.domains.service.create(name, sensitive)

Create a new domain

Parameters:
  • name

  • sensitive

Returns:

lemur.domains.service.get(domain_id)

Fetches one domain

Parameters:

domain_id

Returns:

lemur.domains.service.get_all()

Fetches all domains

Returns:

lemur.domains.service.get_by_name(name)

Fetches domain by its name

Parameters:

name

Returns:

lemur.domains.service.is_authorized_for_domain(name)

If authorization plugin is available, perform the check to see if current user can issue certificate for a given domain. Raises UnauthorizedError if unauthorized. If authorization plugin is not available, it returns without performing any check

Parameters:

name – domain (string) for which authorization check is being done

lemur.domains.service.is_domain_sensitive(name)

Return True if domain is marked sensitive

Parameters:

name

Returns:

lemur.domains.service.render(args)

Helper to parse REST Api requests

Parameters:

args

Returns:

lemur.domains.service.update(domain_id, name, sensitive)

Update an existing domain

Parameters:
  • domain_id

  • name

  • sensitive

Returns:

views Module

class lemur.domains.views.CertificateDomains

Bases: AuthenticatedResource

Defines the ‘domains’ endpoint

endpoint = 'certificateDomains'
get(certificate_id)
GET /certificates/1/domains

The current domain list

Example request:

GET /domains HTTP/1.1
Host: example.com
Accept: application/json, text/javascript

Example response:

HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript

{
  "items": [
      {
        "id": 1,
        "name": "www.example.com",
        "sensitive": false
      },
      {
        "id": 2,
        "name": "www.example2.com",
        "sensitive": false
      }
    ]
  "total": 2
}
Query Parameters:
  • sortBy – field to sort on

  • sortDir – asc or desc

  • page – int default is 1

  • filter – key value pair format is k;v

  • count – count number default is 10

Request Headers:
Status Codes:
mediatypes()
methods: t.ClassVar[t.Collection[str] | None] = {'GET'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

class lemur.domains.views.Domains

Bases: AuthenticatedResource

endpoint = 'domain'
get(domain_id)
GET /domains/1

Fetch one domain

Example request:

GET /domains HTTP/1.1
Host: example.com
Accept: application/json, text/javascript

Example response:

HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript

{
    "id": 1,
    "name": "www.example.com",
    "sensitive": false
}
Request Headers:
Status Codes:
mediatypes()
methods: t.ClassVar[t.Collection[str] | None] = {'GET', 'PUT'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

put(domain_id, data=None)
GET /domains/1

update one domain

Example request:

GET /domains HTTP/1.1
Host: example.com
Accept: application/json, text/javascript

{
    "name": "www.example.com",
    "sensitive": false
}

Example response:

HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript

{
    "id": 1,
    "name": "www.example.com",
    "sensitive": false
}
Request Headers:
Status Codes:
class lemur.domains.views.DomainsList

Bases: AuthenticatedResource

Defines the ‘domains’ endpoint

endpoint = 'domains'
get()
GET /domains

The current domain list

Example request:

GET /domains HTTP/1.1
Host: example.com
Accept: application/json, text/javascript

Example response:

HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript

{
  "items": [
      {
        "id": 1,
        "name": "www.example.com",
        "sensitive": false
      },
      {
        "id": 2,
        "name": "www.example2.com",
        "sensitive": false
      }
    ]
  "total": 2
}
Query Parameters:
  • sortBy – field to sort on

  • sortDir – asc or desc

  • page – int default is 1

  • filter – key value pair format is k;v

  • count – count number. default is 10

Request Headers:
Status Codes:
mediatypes()
methods: t.ClassVar[t.Collection[str] | None] = {'GET', 'POST'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

post(data=None)
POST /domains

The current domain list

Example request:

POST /domains HTTP/1.1
Host: example.com
Accept: application/json, text/javascript

{
  "name": "www.example.com",
  "sensitive": false
}

Example response:

HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript

{
  "id": 1,
  "name": "www.example.com",
  "sensitive": false
}
Query Parameters:
  • sortBy – field to sort on

  • sortDir – asc or desc

  • page – int default is 1

  • filter – key value pair format is k;v

  • count – count number default is 10

Request Headers:
Status Codes: