-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsprt-apigateway-deployment.json
77 lines (77 loc) · 2.67 KB
/
sprt-apigateway-deployment.json
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
{
"typeName": "SPRT::ApiGateway::Deployment",
"description": "Deploys a REST API to ablue and a green stage with canary settings and deployment hooks for tests against the green stage.",
"sourceUrl": "https://github.com/mdaehnert/aws-cfn-resource-type-api-gateway-canary-deployment",
"properties": {
"DeploymentId": {
"description": "The ID of an API Gateway deployment that should be released to a blue and a green stage.",
"type": "string"
},
"RestApiId": {
"description": "Identifies the API Gateway REST API that should be deployed to a blue and a green stage.",
"type": "string"
},
"TracingEnabled": {
"description": "Enables X-Ray tracing for both API Gateway stages.",
"type": "boolean"
},
"StageName": {
"description": "The name of the blue stage.",
"type": "string"
},
"CanaryPercentage": {
"description": "Percentage of the traffic that is routed to an updated deployment for 15 minutes. Provide this value to enable canary deployments and configure CloudWatch alarms and CloudFormation rollback triggers to roll back when canaries do not work as expected.",
"type": "integer",
"minimum": 1,
"maximum": 99
},
"GreenTestStateMachineArn": {
"description": "ARN of an AWS StepFunction that executes automatich tests against the green stage of the API Gateway after deployment. This STepFunction has to succeed, before the canary deployment on the blue stage starts.",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"RestApiId",
"DeploymentId"
],
"createOnlyProperties": [
"/properties/RestApiId"
],
"readOnlyProperties": [
"/properties/StageName"
],
"primaryIdentifier": [
"/properties/StageName"
],
"handlers": {
"create": {
"permissions": [
"apigateway:PUT",
"apigateway:POST",
"apigateway:GET",
"apigateway:PATCH"
]
},
"read": {
"permissions": [
"apigateway:GET"
]
},
"update": {
"permissions": [
"apigateway:PUT",
"apigateway:POST",
"apigateway:GET",
"apigateway:PATCH",
"states:DescribeExecution",
"states:StartExecution"
]
},
"delete": {
"permissions": [
"apigateway:DELETE"
]
}
}
}