destinations Package

models Module

class lemur.destinations.models.Destination(**kwargs)

Bases: flask_sqlalchemy.Model

description
id
label
options
plugin
plugin_name

service Module

lemur.destinations.service.create(label, plugin_name, options, description=None)

Creates a new destination, that can then be used as a destination for certificates.

Parameters:
  • label – Destination common name
  • description

:rtype : Destination :return: New destination

lemur.destinations.service.delete(destination_id)

Deletes an destination.

Parameters:destination_id – Lemur assigned ID
lemur.destinations.service.get(destination_id)

Retrieves an destination by it’s lemur assigned ID.

Parameters:destination_id – Lemur assigned ID

:rtype : Destination :return:

lemur.destinations.service.get_all()

Retrieves all destination currently known by Lemur.

Returns:
lemur.destinations.service.get_by_label(label)

Retrieves a destination by it’s label

Parameters:label
Returns:
lemur.destinations.service.render(args)
lemur.destinations.service.stats(**kwargs)

Helper that defines some useful statistics about destinations.

Parameters:kwargs
Returns:
lemur.destinations.service.update(destination_id, label, options, description)

Updates an existing destination.

Parameters:
  • destination_id – Lemur assigned ID
  • label – Destination common name
  • description

:rtype : Destination :return:

views Module

class lemur.destinations.views.CertificateDestinations

Bases: lemur.auth.service.AuthenticatedResource

Defines the ‘certificate/<int:certificate_id/destinations’’ endpoint

endpoint = 'certificateDestinations'
get(*args, **kwargs)
GET /certificates/1/destinations

The current account list for a given certificates

Example request:

GET /certificates/1/destinations 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": [
      {
          "destinationOptions": [
              {
                  "name": "accountNumber",
                  "required": true,
                  "value": 111111111112,
                  "helpMessage": "Must be a valid AWS account number!",
                  "validation": "/^[0-9]{12,12}$/",
                  "type": "int"
              }
          ],
          "pluginName": "aws-destination",
          "id": 3,
          "description": "test",
          "label": "test"
      }
  ],
  "total": 1
}
Query Parameters:
 
  • sortBy – field to sort on
  • sortDir – acs or desc
  • page – int default is 1
  • filter – key value pair format is k;v
  • limit – limit number default is 10
Request Headers:
 
Status Codes:
mediatypes(resource_cls)
methods = ['GET']
class lemur.destinations.views.Destinations

Bases: lemur.auth.service.AuthenticatedResource

delete(*args, **kw)
endpoint = 'destination'
get(*args, **kwargs)
GET /destinations/1

Get a specific account

Example request:

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

Example response:

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

{
  "destinationOptions": [
      {
          "name": "accountNumber",
          "required": true,
          "value": 111111111112,
          "helpMessage": "Must be a valid AWS account number!",
          "validation": "/^[0-9]{12,12}$/",
          "type": "int"
      }
  ],
  "pluginName": "aws-destination",
  "id": 3,
  "description": "test",
  "label": "test"
}
Request Headers:
 
Status Codes:
mediatypes(resource_cls)
methods = ['DELETE', 'GET', 'PUT']
put(*args, **kw)
PUT /destinations/1

Updates an account

Example request:

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

{
  "destinationOptions": [
      {
          "name": "accountNumber",
          "required": true,
          "value": 111111111112,
          "helpMessage": "Must be a valid AWS account number!",
          "validation": "/^[0-9]{12,12}$/",
          "type": "int"
      }
  ],
  "pluginName": "aws-destination",
  "id": 3,
  "description": "test",
  "label": "test"
}

Example response:

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

{
  "destinationOptions": [
      {
          "name": "accountNumber",
          "required": true,
          "value": 111111111112,
          "helpMessage": "Must be a valid AWS account number!",
          "validation": "/^[0-9]{12,12}$/",
          "type": "int"
      }
  ],
  "pluginName": "aws-destination",
  "id": 3,
  "description": "test",
  "label": "test"
}
Parameters:
  • accountNumber – aws account number
  • label – human readable account label
  • description – some description about the account
Request Headers:
 
Status Codes:
class lemur.destinations.views.DestinationsList

Bases: lemur.auth.service.AuthenticatedResource

Defines the ‘destinations’ endpoint

endpoint = 'destinations'
get(*args, **kwargs)
GET /destinations

The current account list

Example request:

GET /destinations 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": [
      {
          "destinationOptions": [
              {
                  "name": "accountNumber",
                  "required": true,
                  "value": 111111111112,
                  "helpMessage": "Must be a valid AWS account number!",
                  "validation": "/^[0-9]{12,12}$/",
                  "type": "int"
              }
          ],
          "pluginName": "aws-destination",
          "id": 3,
          "description": "test",
          "label": "test"
      }
  ],
  "total": 1
}
Query Parameters:
 
  • sortBy – field to sort on
  • sortDir – acs or desc
  • page – int. default is 1
  • filter – key value pair format is k;v
  • limit – limit number default is 10
Request Headers:
 
Status Codes:
mediatypes(resource_cls)
methods = ['GET', 'POST']
post(*args, **kw)
POST /destinations

Creates a new account

Example request:

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

{
  "destinationOptions": [
      {
          "name": "accountNumber",
          "required": true,
          "value": 111111111112,
          "helpMessage": "Must be a valid AWS account number!",
          "validation": "/^[0-9]{12,12}$/",
          "type": "int"
      }
  ],
  "pluginName": "aws-destination",
  "id": 3,
  "description": "test",
  "label": "test"
}

Example response:

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

{
  "destinationOptions": [
      {
          "name": "accountNumber",
          "required": true,
          "value": 111111111112,
          "helpMessage": "Must be a valid AWS account number!",
          "validation": "/^[0-9]{12,12}$/",
          "type": "int"
      }
  ],
  "pluginName": "aws-destination",
  "id": 3,
  "description": "test",
  "label": "test"
}
Parameters:
  • label – human readable account label
  • description – some description about the account
Request Headers:
 
Status Codes:
class lemur.destinations.views.DestinationsStats

Bases: lemur.auth.service.AuthenticatedResource

Defines the ‘certificates’ stats endpoint

endpoint = 'destinationStats'
get()
mediatypes(resource_cls)
methods = ['GET']