-
Notifications
You must be signed in to change notification settings - Fork 0
/
manifest_template.yml
98 lines (98 loc) · 2.99 KB
/
manifest_template.yml
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
SERVICE_NAME: gp-connect-user-permissions
PRODUCT_DISPLAY_NAME: gp-connect-user-permissions
DESCRIPTION: example description
APIGEE_ENVIRONMENTS:
- name: internal-dev
display_name: Internal Development
has_mock_auth: true
- name: internal-qa
display_name: Internal QA
has_mock_auth: true
- name: ref
display_name: Reference
has_mock_auth: true
# Enable environments when ready by uncommenting:
# - name: internal-dev-sandbox
# display_name: Internal Development Sandbox
# portal_visibility: false
- name: internal-qa
display_name: Internal QA
has_mock_auth: true
portal_visibility: false
- name: internal-qa-sandbox
display_name: Internal QA Sandbox
portal_visibility: false
- name: sandbox
display_name: Sandbox
portal_visibility: false
- name: int
display_name: Integration Testing
- name: prod
approval_type: manual
display_name: Production
quota: '7800'
ratelimit: '15000pm'
---
meta:
api:
name: gp-connect-user-permissions
guid: 0d2d773f-df48-4466-8eff-65941458e01b
spec_guids:
- 7adc440c-acde-469d-81cb-d56e5fcdb0ef
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: {{ ENV.approval_type | default('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: true
limit: 300
interval: 1
timeunit: minute
spikeArrest:
enabled: true
ratelimit: 600pm # 10 requests per second
app:
quota:
enabled: false
spikeArrest:
enabled: false
description: {{ DESCRIPTION }}
displayName: {{ TITLE }}
environments: [ {{ ENV.name }} ]
proxies:
- {{ NAME }}
{% if ENV.has_mock_auth | default(false) %}
- identity-service-mock-{{ ENV.name }}
{% elif ENV.name == 'prod' %}
- identity-service-{{ ENV.name }}
{% else %}
- identity-service-{{ ENV.name }}
{% endif %}
scopes:
- '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 %}