destinations Package¶
models
Module¶
-
class
lemur.destinations.models.
Destination
(**kwargs) Bases:
sqlalchemy.ext.declarative.api.Model
-
certificate
-
description
-
id
-
label
-
options
-
pending_cert
-
property
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 –
- 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:
lemur.auth.service.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
= {'GET'} A list of methods this view can handle.
-
-
class
lemur.destinations.views.
Destinations
Bases:
lemur.auth.service.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
= {'DELETE', 'GET', 'PUT'} A list of methods this view can handle.
-
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:
lemur.auth.service.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
= {'GET', 'POST'} A list of methods this view can handle.
-
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:
lemur.auth.service.AuthenticatedResource
Defines the ‘destinations’ stats endpoint
-
endpoint
= 'destinationStats'
-
get
()
-
mediatypes
()
-
methods
= {'GET'} A list of methods this view can handle.
-