destinations Package¶
models
Module¶
- class lemur.destinations.models.Destination(**kwargs)
Bases:
Model
- certificate
- description
- id
- label
- options
- pending_cert
- property plugin
- plugin_name
- validate_label(key, label)
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 –
- Return type:
Destination
- Returns:
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 its lemur assigned ID.
- Parameters:
destination_id – Lemur assigned ID
- Return type:
Destination
- Returns:
- lemur.destinations.service.get_all()
Retrieves all destination currently known by Lemur.
- Returns:
- lemur.destinations.service.get_by_label(label)
Retrieves a destination by its 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, plugin_name, options, description)
Updates an existing destination.
- Parameters:
destination_id – Lemur assigned ID
label – Destination common name
plugin_name –
options –
description –
- Return type:
Destination
- Returns:
views
Module¶
- class lemur.destinations.views.CertificateDestinations
Bases:
AuthenticatedResource
Defines the ‘certificate/<int:certificate_id/destinations’’ endpoint
- endpoint = 'certificateDestinations'
- get(certificate_id)
- 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": [{ "description": "test", "options": [{ "name": "accountNumber", "required": true, "value": "111111111111111", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "id": 4, "plugin": { "pluginOptions": [{ "name": "accountNumber", "required": true, "value": "111111111111111", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "description": "Allow the uploading of certificates to AWS IAM", "slug": "aws-destination", "title": "AWS" }, "label": "test546" } "total": 1 }
- 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:
Authorization – OAuth token to authenticate
- Status Codes:
200 OK – no error
- mediatypes()
- methods: t.ClassVar[t.Collection[str] | None] = {'GET'}
The methods this view is registered for. Uses the same default (
["GET", "HEAD", "OPTIONS"]
) asroute
andadd_url_rule
by default.
- class lemur.destinations.views.Destinations
Bases:
AuthenticatedResource
- delete(destination_id)
- endpoint = 'destination'
- get(destination_id)
- 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 { "description": "test", "options": [{ "name": "accountNumber", "required": true, "value": "111111111111111", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "id": 4, "plugin": { "pluginOptions": [{ "name": "accountNumber", "required": true, "value": "111111111111111", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "description": "Allow the uploading of certificates to AWS IAM", "slug": "aws-destination", "title": "AWS" }, "label": "test546" }
- Request Headers:
Authorization – OAuth token to authenticate
- Status Codes:
200 OK – no error
- mediatypes()
- methods: t.ClassVar[t.Collection[str] | None] = {'DELETE', 'GET', 'PUT'}
The methods this view is registered for. Uses the same default (
["GET", "HEAD", "OPTIONS"]
) asroute
andadd_url_rule
by default.
- put(destination_id, data=None)
- PUT /destinations/1¶
Updates an account
Example request:
POST /destinations/1 HTTP/1.1 Host: example.com Accept: application/json, text/javascript Content-Type: application/json;charset=UTF-8 { "description": "test33", "options": [{ "name": "accountNumber", "required": true, "value": "34324324", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "id": 4, "plugin": { "pluginOptions": [{ "name": "accountNumber", "required": true, "value": "34324324", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "description": "Allow the uploading of certificates to AWS IAM", "slug": "aws-destination", "title": "AWS" }, "label": "test546" }
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "description": "test", "options": [{ "name": "accountNumber", "required": true, "value": "111111111111111", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "id": 4, "plugin": { "pluginOptions": [{ "name": "accountNumber", "required": true, "value": "111111111111111", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "description": "Allow the uploading of certificates to AWS IAM", "slug": "aws-destination", "title": "AWS" }, "label": "test546" }
- Parameters:
accountNumber – aws account number
label – human readable account label
description – some description about the account
- Request Headers:
Authorization – OAuth token to authenticate
- Status Codes:
200 OK – no error
- class lemur.destinations.views.DestinationsList
Bases:
AuthenticatedResource
Defines the ‘destinations’ endpoint
- endpoint = 'destinations'
- get()
- 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": [{ "description": "test", "options": [{ "name": "accountNumber", "required": true, "value": "111111111111111", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "id": 4, "plugin": { "pluginOptions": [{ "name": "accountNumber", "required": true, "value": "111111111111111", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "description": "Allow the uploading of certificates to AWS IAM", "slug": "aws-destination", "title": "AWS" }, "label": "test546" } "total": 1 }
- 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:
Authorization – OAuth token to authenticate
- Status Codes:
200 OK – no error
- mediatypes()
- methods: t.ClassVar[t.Collection[str] | None] = {'GET', 'POST'}
The methods this view is registered for. Uses the same default (
["GET", "HEAD", "OPTIONS"]
) asroute
andadd_url_rule
by default.
- post(data=None)
- POST /destinations¶
Creates a new account
Example request:
POST /destinations HTTP/1.1 Host: example.com Accept: application/json, text/javascript Content-Type: application/json;charset=UTF-8 { "description": "test33", "options": [{ "name": "accountNumber", "required": true, "value": "34324324", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "id": 4, "plugin": { "pluginOptions": [{ "name": "accountNumber", "required": true, "value": "34324324", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "description": "Allow the uploading of certificates to AWS IAM", "slug": "aws-destination", "title": "AWS" }, "label": "test546" }
Example response:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "description": "test33", "options": [{ "name": "accountNumber", "required": true, "value": "34324324", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "id": 4, "plugin": { "pluginOptions": [{ "name": "accountNumber", "required": true, "value": "111111111111111", "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "str" }], "description": "Allow the uploading of certificates to AWS IAM", "slug": "aws-destination", "title": "AWS" }, "label": "test546" }
- Parameters:
label – human readable account label
description – some description about the account
- Request Headers:
Authorization – OAuth token to authenticate
- Status Codes:
200 OK – no error
- class lemur.destinations.views.DestinationsStats
Bases:
AuthenticatedResource
Defines the ‘destinations’ stats endpoint
- endpoint = 'destinationStats'
- get()
- mediatypes()
- methods: t.ClassVar[t.Collection[str] | None] = {'GET'}
The methods this view is registered for. Uses the same default (
["GET", "HEAD", "OPTIONS"]
) asroute
andadd_url_rule
by default.