-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmanifest_template.yml
More file actions
79 lines (79 loc) · 2.52 KB
/
manifest_template.yml
File metadata and controls
79 lines (79 loc) · 2.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
SERVICE_NAME: patient-care-aggregator-reporting
PRODUCT_DISPLAY_NAME: patient-care-aggregator-reporting
DESCRIPTION: example description
APIGEE_ENVIRONMENTS:
- name: internal-dev
display_name: Internal Development
- name: ref
display_name: Reference
has_mock_auth: true
- name: int
display_name: Integration Testing
has_mock_auth: true
- name: prod
display_name: Production
has_mock_auth: false
approval_type: manual
---
meta:
api:
name: patient-care-aggregator-reporting
guid: dcc10b43-6ed7-4ca1-978d-87ef2a1548ff
spec_guids:
- e0bc690d-bf4e-4e0d-a118-0f5745700a0a
schema_version: 1.3
apigee:
environments:
{% for ENV in APIGEE_ENVIRONMENTS %}
{% set TITLE = PRODUCT_DISPLAY_NAME + ' (' + ENV.display_name + ' Environment)' %}
{% set NAME = SERVICE_NAME + '-' + ENV.name %}
- name: {{ ENV.name }}
products:
- name: {{ NAME }}
approvalType: auto
attributes:
- name: access
value: public
# For a parameterised example of rate limiting per environment,
# see https://github.com/NHSDigital/personal-demographics-service-api/blob/master/manifest_template.yml
- name: ratelimiting
value:
{{ NAME }}:
quota:
enabled: false
spikeArrest:
enabled: false
app:
quota:
enabled: true
limit: 30000 # 500 requests per second
interval: 1
timeunit: minute
spikeArrest:
enabled: true
ratelimit: 60000pm # 1000 requests per second
description: {{ DESCRIPTION }}
displayName: {{ TITLE }}
environments: [ {{ ENV.name }} ]
proxies:
- {{ NAME }}
- identity-service-{{ ENV.name }}
{% if ENV.has_mock_auth | default(false) %}
- identity-service-mock-{{ ENV.name }}
{% endif %}
scopes:
- 'urn:nhsd:apim:app:level3:{{ SERVICE_NAME }}'
- 'urn:nhsd:apim:user-nhs-cis2:aal3:{{ SERVICE_NAME }}'
- 'urn:nhsd:apim:user-nhs-login:P9:{{ SERVICE_NAME }}'
specs:
- name: {{ NAME }}
path: {{ SERVICE_NAME }}.json
api_catalog:
- edgeAPIProductName: {{ NAME }}
anonAllowed: true
description: {{ DESCRIPTION }}
requireCallbackUrl: false
title: {{ TITLE }}
visibility: {{ ENV.portal_visibility | default(true) }}
specId: {{ NAME }}
{% endfor %}