def get(self, certificate_id): """ .. http:get:: /certificates/1/sources The current account list for a given certificates **Example request**: .. sourcecode:: http GET /certificates/1/sources HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "sourceOptions": [ { "name": "accountNumber", "required": true, "value": 111111111112, "helpMessage": "Must be a valid AWS account number!", "validation": "/^[0-9]{12,12}$/", "type": "int" } ], "pluginName": "aws-source", "id": 3, "lastRun": "2015-08-01T15:40:58", "description": "test", "label": "test" } ], "total": 1 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int default is 1 :query filter: key value pair format is k;v :query limit: limit number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error """ parser = paginated_parser.copy() args = parser.parse_args() args['certificate_id'] = certificate_id return service.render(args)
def get(self, certificate_id): """ .. http:get:: /certificates/1/sources The current account list for a given certificates **Example request**: .. sourcecode:: http GET /certificates/1/sources HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "options": [ { "name": "accountNumber", "required": true, "value": 111111111112, "helpMessage": "Must be a valid AWS account number!", "validation": "^[0-9]{12,12}$", "type": "int" } ], "pluginName": "aws-source", "id": 3, "lastRun": "2015-08-01T15:40:58", "description": "test", "label": "test" } ], "total": 1 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error """ parser = paginated_parser.copy() args = parser.parse_args() args["certificate_id"] = certificate_id return service.render(args)
def get(self): """ .. http:get:: /users The current user list **Example request**: .. sourcecode:: http GET /users HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 2, "active": True, "email": "*****@*****.**", "username": "******", "profileImage": null }, { "id": 1, "active": False, "email": "*****@*****.**", "username": "******", "profileImage": null } ] "total": 2 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int default is 1 :query filter: key value pair format is k;v :query limit: limit number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error """ parser = paginated_parser.copy() parser.add_argument('owner', type=str, location='args') parser.add_argument('id', type=str, location='args') args = parser.parse_args() return service.render(args)
def get(self): """ .. http:get:: /destinations The current account list **Example request**: .. sourcecode:: http GET /destinations HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http 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 sortBy: field to sort on :query sortDir: acs or desc :query page: int. default is 1 :query filter: key value pair format is k;v :query limit: limit number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error """ parser = paginated_parser.copy() args = parser.parse_args() return service.render(args)
def get(self): """ .. http:get:: /roles The current role list **Example request**: .. sourcecode:: http GET /roles HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 1, "name": "role1", "description": "this is role1" }, { "id": 2, "name": "role2", "description": "this is role2" } ] "total": 2 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() parser.add_argument('owner', type=str, location='args') parser.add_argument('id', type=str, location='args') args = parser.parse_args() if not g.current_user.is_admin: args['user_id'] = g.current_user.id return service.render(args)
def get(self): """ .. http:get:: /authorities The current list of authorities **Example request**: .. sourcecode:: http GET /authorities HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 1, "name": "authority1", "description": "this is authority1", "pluginName": null, "chain": "-----Begin ...", "body": "-----Begin ...", "active": true, "notBefore": "2015-06-05T17:09:39", "notAfter": "2015-06-10T17:09:39" "options": null } ] "total": 1 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int default is 1 :query filter: key value pair. format is k;v :query limit: limit number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated :note: this will only show certificates that the current user is authorized to use """ parser = paginated_parser.copy() args = parser.parse_args() return service.render(args)
def get(self): """ .. http:get:: /authorities The current list of authorities **Example request**: .. sourcecode:: http GET /authorities HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 1, "name": "authority1", "description": "this is authority1", "pluginName": null, "chain": "-----Begin ...", "body": "-----Begin ...", "active": true, "notBefore": "2015-06-05T17:09:39", "notAfter": "2015-06-10T17:09:39" "options": null } ] "total": 1 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int. default is 1 :query filter: key value pair. format is k=v; :query limit: limit number. default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated :note: this will only show certificates that the current user is authorized to use """ parser = paginated_parser.copy() args = parser.parse_args() return service.render(args)
def get(self): """ .. http:get:: /roles The current role list **Example request**: .. sourcecode:: http GET /roles HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 1, "name": "role1", "description": "this is role1" }, { "id": 2, "name": "role2", "description": "this is role2" } ] "total": 2 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() parser.add_argument('owner', type=str, location='args') parser.add_argument('id', type=str, location='args') args = parser.parse_args() args['user'] = g.current_user return service.render(args)
def get(self): """ .. http:get:: /keys The current list of api keys, that you can see. **Example request**: .. sourcecode:: http GET /keys HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 1, "name": "custom name", "user_id": 1, "ttl": -1, "issued_at": 12, "revoked": false } ], "total": 1 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query count: count number. default is 10 :query user_id: a user to filter by. :query id: an access key to filter by. :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() args = parser.parse_args() args['has_permission'] = ApiKeyCreatorPermission().can() args['requesting_user_id'] = g.current_user.id return service.render(args)
def get(self): """ .. http:get:: /keys The current list of api keys, that you can see. **Example request**: .. sourcecode:: http GET /keys HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 1, "name": "custom name", "user_id": 1, "ttl": -1, "issued_at": 12, "revoked": false } ], "total": 1 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query count: count number. default is 10 :query user_id: a user to filter by. :query id: an access key to filter by. :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() args = parser.parse_args() args["has_permission"] = ApiKeyCreatorPermission().can() args["requesting_user_id"] = g.current_user.id return service.render(args)
def get(self): """ .. http:get:: /dns_providers The current list of DNS Providers **Example request**: .. sourcecode:: http GET /dns_providers HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [{ "id": 1, "name": "test", "description": "test", "provider_type": "dyn", "status": "active", }], "total": 1 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int. default is 1 :query filter: key value pair format is k;v :query count: count number. default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() parser.add_argument("dns_provider_id", type=int, location="args") parser.add_argument("name", type=str, location="args") parser.add_argument("type", type=str, location="args") args = parser.parse_args() args["user"] = g.user return service.render(args)
def get(self): """ .. http:get:: /dns_providers The current list of DNS Providers **Example request**: .. sourcecode:: http GET /dns_providers HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [{ "id": 1, "name": "test", "description": "test", "provider_type": "dyn", "status": "active", }], "total": 1 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int. default is 1 :query filter: key value pair format is k;v :query count: count number. default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() parser.add_argument('dns_provider_id', type=int, location='args') parser.add_argument('name', type=str, location='args') parser.add_argument('type', type=str, location='args') args = parser.parse_args() args['user'] = g.user return service.render(args)
def get(self, certificate_id): """ .. http:get:: /certificates/1/domains The current domain list **Example request**: .. sourcecode:: http GET /domains HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http 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 sortBy: field to sort on :query sortDir: acs or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() args = parser.parse_args() args['certificate_id'] = certificate_id return service.render(args)
def get(self, authority_id): """ .. http:get:: /authorities/1/roles List of roles for a given authority **Example request**: .. sourcecode:: http GET /authorities/1/roles HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 1, "name": "role1", "description": "this is role1" }, { "id": 2, "name": "role2", "description": "this is role2" } ] "total": 2 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error """ parser = paginated_parser.copy() args = parser.parse_args() args["authority_id"] = authority_id return service.render(args)
def get(self, authority_id): """ .. http:get:: /authorities/1/roles List of roles for a given authority **Example request**: .. sourcecode:: http GET /authorities/1/roles HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 1, "name": "role1", "description": "this is role1" }, { "id": 2, "name": "role2", "description": "this is role2" } ] "total": 2 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error """ parser = paginated_parser.copy() args = parser.parse_args() args['authority_id'] = authority_id return service.render(args)
def get(self): """ .. http:get:: /logs The current log list **Example request**: .. sourcecode:: http GET /logs HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ ] "total": 2 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error """ parser = paginated_parser.copy() parser.add_argument('owner', type=str, location='args') parser.add_argument('id', type=str, location='args') args = parser.parse_args() return service.render(args)
def get(self): """ .. http:get:: /endpoints The current list of endpoints **Example request**: .. sourcecode:: http GET /endpoints HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript :query sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query filter: key value pair. format is k;v :query limit: limit number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated :note: this will only show certificates that the current user is authorized to use """ parser = paginated_parser.copy() args = parser.parse_args() args['user'] = g.current_user return service.render(args)
def get(self, notification_id): """ .. http:get:: /notifications/1/certificates The current list of certificates for a given notification **Example request**: .. sourcecode:: http GET /notifications/1/certificates HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [{ "status": null, "cn": "*.test.example.net", "chain": "", "authority": { "active": true, "owner": "*****@*****.**", "id": 1, "description": "verisign test authority", "name": "verisign" }, "owner": "*****@*****.**", "serial": "82311058732025924142789179368889309156", "id": 2288, "issuer": "SymantecCorporation", "notBefore": "2016-06-03T00:00:00+00:00", "notAfter": "2018-01-12T23:59:59+00:00", "destinations": [], "bits": 2048, "body": "-----BEGIN CERTIFICATE-----...", "description": null, "deleted": null, "notifications": [{ "id": 1 }] "signingAlgorithm": "sha256", "user": { "username": "******", "active": true, "email": "*****@*****.**", "id": 2 }, "active": true, "domains": [{ "sensitive": false, "id": 1090, "name": "*.test.example.net" }], "replaces": [], "replaced": [], "rotation": True, "rotationPolicy": {"name": "default"}, "name": "WILDCARD.test.example.net-SymantecCorporation-20160603-20180112", "roles": [{ "id": 464, "description": "This is a google group based role created by Lemur", "name": "*****@*****.**" }], "san": null }], "total": 1 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() parser.add_argument('timeRange', type=int, dest='time_range', location='args') parser.add_argument('owner', type=bool, location='args') parser.add_argument('id', type=str, location='args') parser.add_argument('active', type=bool, location='args') parser.add_argument('destinationId', type=int, dest="destination_id", location='args') parser.add_argument('creator', type=str, location='args') parser.add_argument('show', type=str, location='args') args = parser.parse_args() args['notification_id'] = notification_id args['user'] = g.current_user return service.render(args)
def get(self): """ .. http:get:: /authorities The current list of authorities **Example request**: .. sourcecode:: http GET /authorities HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [{ "name": "TestAuthority", "roles": [{ "id": 123, "name": "*****@*****.**" }, { "id": 564, "name": "TestAuthority_admin" }, { "id": 565, "name": "TestAuthority_operator" }], "options": null, "active": true, "authorityCertificate": { "body": "-----BEGIN CERTIFICATE-----IyMzU5MTVaMHk...", "status": true, "cn": "AcommonName", "description": "This is the ROOT certificate for the TestAuthority certificate authority.", "chain": "", "notBefore": "2016-06-02T00:00:15+00:00", "notAfter": "2023-06-02T23:59:15+00:00", "owner": "*****@*****.**", "user": { "username": "******", "active": true, "email": "*****@*****.**", "id": 3 }, "active": true, "bits": 2048, "id": 2235, "name": "TestAuthority" }, "owner": "*****@*****.**", "id": 43, "description": "This is the ROOT certificate for the TestAuthority certificate authority." }], "total": 1 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query filter: key value pair. format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated :note: this will only show certificates that the current user is authorized to use """ parser = paginated_parser.copy() args = parser.parse_args() args['user'] = g.current_user return service.render(args)
def get(self): """ .. http:get:: /pending_certificates List of pending certificates **Example request**: .. sourcecode:: http GET /pending_certificates HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "status": null, "cn": "*.test.example.net", "chain": "", "authority": { "active": true, "owner": "*****@*****.**", "id": 1, "description": "verisign test authority", "name": "verisign" }, "owner": "*****@*****.**", "serial": "82311058732025924142789179368889309156", "id": 2288, "issuer": "SymantecCorporation", "notBefore": "2016-06-03T00:00:00+00:00", "notAfter": "2018-01-12T23:59:59+00:00", "destinations": [], "description": null, "deleted": null, "notifications": [{ "id": 1 }], "signingAlgorithm": "sha256", "user": { "username": "******", "active": true, "email": "*****@*****.**", "id": 2 }, "active": true, "domains": [{ "sensitive": false, "id": 1090, "name": "*.test.example.net" }], "rotation": true, "rotationPolicy": {"name": "default"}, "replaces": [], "replaced": [], "name": "WILDCARD.test.example.net-SymantecCorporation-20160603-20180112", "roles": [{ "id": 464, "description": "This is a google group based role created by Lemur", "name": "*****@*****.**" }], "san": null } :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() parser.add_argument('timeRange', type=int, dest='time_range', location='args') parser.add_argument('owner', type=inputs.boolean, location='args') parser.add_argument('id', type=str, location='args') parser.add_argument('active', type=inputs.boolean, location='args') parser.add_argument('destinationId', type=int, dest="destination_id", location='args') parser.add_argument('creator', type=str, location='args') parser.add_argument('show', type=str, location='args') args = parser.parse_args() args['user'] = g.user return service.render(args)
def get(self, notification_id): """ .. http:get:: /notifications/1/certificates The current list of certificates for a given notification **Example request**: .. sourcecode:: http GET /notifications/1/certificates HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 1, "name": "cert1", "description": "this is cert1", "bits": 2048, "deleted": false, "issuer": "ExampeInc.", "serial": "123450", "chain": "-----Begin ...", "body": "-----Begin ...", "san": true, "owner": '*****@*****.**", "active": true, "notBefore": "2015-06-05T17:09:39", "notAfter": "2015-06-10T17:09:39", "signingAlgorithm": "sha2", "cn": "example.com", "status": "unknown" } ] "total": 1 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int default is 1 :query filter: key value pair format is k;v :query limit: limit number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() parser.add_argument('timeRange', type=int, dest='time_range', location='args') parser.add_argument('owner', type=bool, location='args') parser.add_argument('id', type=str, location='args') parser.add_argument('active', type=bool, location='args') parser.add_argument('destinationId', type=int, dest="destination_id", location='args') parser.add_argument('creator', type=str, location='args') parser.add_argument('show', type=str, location='args') args = parser.parse_args() args['notification_id'] = notification_id return service.render(args)
def get(self): """ .. http:get:: /notifications The current account list **Example request**: .. sourcecode:: http GET /notifications HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "description": "An example", "notificationOptions": [ { "name": "interval", "required": true, "value": 5, "helpMessage": "Number of days to be alert before expiration.", "validation": "^\\d+$", "type": "int" }, { "available": [ "days", "weeks", "months" ], "name": "unit", "required": true, "value": "weeks", "helpMessage": "Interval unit", "validation": "", "type": "select" }, { "name": "recipients", "required": true, "value": "[email protected],[email protected]", "helpMessage": "Comma delimited list of email addresses", "validation": "^([\\w+-.%]+@[\\w-.]+\\.[A-Za-z]{2,4},?)+$", "type": "str" } ], "label": "example", "pluginName": "email-notification", "active": true, "id": 2 } ], "total": 1 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int. default is 1 :query filter: key value pair. format is k=v; :query limit: limit number. default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error """ parser = paginated_parser.copy() parser.add_argument('active', type=bool, location='args') args = parser.parse_args() return service.render(args)
def get(self): """ .. http:get:: /certificates/valid/<query> The current list of not-expired certificates for a given common name, and owner **Example request**: .. sourcecode:: http GET /certificates/valid?filter=cn;*.test.example.net&[email protected] HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [{ "status": null, "cn": "*.test.example.net", "chain": "", "csr": "-----BEGIN CERTIFICATE REQUEST-----" "authority": { "active": true, "owner": "*****@*****.**", "id": 1, "description": "verisign test authority", "name": "verisign" }, "owner": "*****@*****.**", "serial": "82311058732025924142789179368889309156", "id": 2288, "issuer": "SymantecCorporation", "dateCreated": "2016-06-03T06:09:42.133769+00:00", "notBefore": "2016-06-03T00:00:00+00:00", "notAfter": "2018-01-12T23:59:59+00:00", "destinations": [], "bits": 2048, "body": "-----BEGIN CERTIFICATE-----...", "description": null, "deleted": null, "notifications": [{ "id": 1 }], "signingAlgorithm": "sha256", "user": { "username": "******", "active": true, "email": "*****@*****.**", "id": 2 }, "active": true, "domains": [{ "sensitive": false, "id": 1090, "name": "*.test.example.net" }], "replaces": [], "replaced": [], "name": "WILDCARD.test.example.net-SymantecCorporation-20160603-20180112", "roles": [{ "id": 464, "description": "This is a google group based role created by Lemur", "name": "*****@*****.**" }], "san": null }], "total": 1 } :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() args = parser.parse_args() args["user"] = g.user common_name = args["filter"].split(";")[1] return service.query_common_name(common_name, args)
def get(self, notification_id): """ .. http:get:: /notifications/1/certificates The current list of certificates for a given notification **Example request**: .. sourcecode:: http GET /notifications/1/certificates HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "id": 1, "name": "cert1", "description": "this is cert1", "bits": 2048, "deleted": false, "issuer": "ExampeInc.", "serial": "123450", "chain": "-----Begin ...", "body": "-----Begin ...", "san": true, "owner": '*****@*****.**", "active": true, "notBefore": "2015-06-05T17:09:39", "notAfter": "2015-06-10T17:09:39", "signingAlgorithm": "sha2", "cn": "example.com", "status": "unknown" } ] "total": 1 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int. default is 1 :query filter: key value pair. format is k=v; :query limit: limit number. default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() parser.add_argument('timeRange', type=int, dest='time_range', location='args') parser.add_argument('owner', type=bool, location='args') parser.add_argument('id', type=str, location='args') parser.add_argument('active', type=bool, location='args') parser.add_argument('destinationId', type=int, dest="destination_id", location='args') parser.add_argument('creator', type=str, location='args') parser.add_argument('show', type=str, location='args') args = parser.parse_args() args['notification_id'] = notification_id return service.render(args)
def get(self, certificate_id): """ .. http:get:: /certificates/1/destinations The current account list for a given certificates **Example request**: .. sourcecode:: http GET /certificates/1/destinations HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http 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 sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error """ parser = paginated_parser.copy() args = parser.parse_args() args['certificate_id'] = certificate_id return service.render(args)
def get(self, notification_id): """ .. http:get:: /notifications/1/certificates The current list of certificates for a given notification **Example request**: .. sourcecode:: http GET /notifications/1/certificates HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [{ "status": null, "cn": "*.test.example.net", "chain": "", "csr": "-----BEGIN CERTIFICATE REQUEST-----" "authority": { "active": true, "owner": "*****@*****.**", "id": 1, "description": "verisign test authority", "name": "verisign" }, "owner": "*****@*****.**", "serial": "82311058732025924142789179368889309156", "id": 2288, "issuer": "SymantecCorporation", "dateCreated": "2016-06-03T06:09:42.133769+00:00", "notBefore": "2016-06-03T00:00:00+00:00", "notAfter": "2018-01-12T23:59:59+00:00", "destinations": [], "bits": 2048, "body": "-----BEGIN CERTIFICATE-----...", "description": null, "deleted": null, "notifications": [{ "id": 1 }], "signingAlgorithm": "sha256", "user": { "username": "******", "active": true, "email": "*****@*****.**", "id": 2 }, "active": true, "domains": [{ "sensitive": false, "id": 1090, "name": "*.test.example.net" }], "replaces": [], "replaced": [], "rotation": true, "rotationPolicy": {"name": "default"}, "name": "WILDCARD.test.example.net-SymantecCorporation-20160603-20180112", "roles": [{ "id": 464, "description": "This is a google group based role created by Lemur", "name": "*****@*****.**" }], "san": null }], "total": 1 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated """ parser = paginated_parser.copy() parser.add_argument('timeRange', type=int, dest='time_range', location='args') parser.add_argument('owner', type=inputs.boolean, location='args') parser.add_argument('id', type=str, location='args') parser.add_argument('active', type=inputs.boolean, location='args') parser.add_argument('destinationId', type=int, dest="destination_id", location='args') parser.add_argument('creator', type=str, location='args') parser.add_argument('show', type=str, location='args') args = parser.parse_args() args['notification_id'] = notification_id args['user'] = g.current_user return service.render(args)
def get(self): """ .. http:get:: /notifications The current account list **Example request**: .. sourcecode:: http GET /notifications HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [ { "description": "An example", "options": [ { "name": "interval", "required": true, "value": 5, "helpMessage": "Number of days to be alert before expiration.", "validation": "^\\d+$", "type": "int" }, { "available": [ "days", "weeks", "months" ], "name": "unit", "required": true, "value": "weeks", "helpMessage": "Interval unit", "validation": "", "type": "select" }, { "name": "recipients", "required": true, "value": "[email protected],[email protected]", "helpMessage": "Comma delimited list of email addresses", "validation": "^([\\w+-.%]+@[\\w-.]+\\.[A-Za-z]{2,4},?)+$", "type": "str" } ], "label": "example", "pluginName": "email-notification", "active": true, "id": 2 } ], "total": 1 } :query sortBy: field to sort on :query sortDir: acs or desc :query page: int default is 1 :query filter: key value pair format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error """ parser = paginated_parser.copy() parser.add_argument('active', type=bool, location='args') args = parser.parse_args() return service.render(args)
def get(self): """ .. http:get:: /authorities The current list of authorities **Example request**: .. sourcecode:: http GET /authorities HTTP/1.1 Host: example.com Accept: application/json, text/javascript **Example response**: .. sourcecode:: http HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript { "items": [{ "name": "TestAuthority", "roles": [{ "id": 123, "name": "*****@*****.**" }, { "id": 564, "name": "TestAuthority_admin" }, { "id": 565, "name": "TestAuthority_operator" }], "options": null, "active": true, "authorityCertificate": { "body": "-----BEGIN CERTIFICATE-----IyMzU5MTVaMHk...", "status": true, "cn": "AcommonName", "description": "This is the ROOT certificate for the TestAuthority certificate authority.", "chain": "", "notBefore": "2016-06-02T00:00:15+00:00", "notAfter": "2023-06-02T23:59:15+00:00", "owner": "*****@*****.**", "user": { "username": "******", "active": true, "email": "*****@*****.**", "id": 3 }, "active": true, "bits": 2048, "id": 2235, "name": "TestAuthority" }, "owner": "*****@*****.**", "id": 43, "description": "This is the ROOT certificate for the TestAuthority certificate authority." } "total": 1 } :query sortBy: field to sort on :query sortDir: asc or desc :query page: int default is 1 :query filter: key value pair. format is k;v :query count: count number default is 10 :reqheader Authorization: OAuth token to authenticate :statuscode 200: no error :statuscode 403: unauthenticated :note: this will only show certificates that the current user is authorized to use """ parser = paginated_parser.copy() args = parser.parse_args() args['user'] = g.current_user return service.render(args)