cfn-api-gateway-restapi
Version:
AWS CloudFormation Custom Lambda Resource | API Gateway RestApi
111 lines (110 loc) • 2.64 kB
JSON
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "Custom::ApiGatewayRestApi sample template ",
"Parameters": {
"RestApiCustomResourceLambdaName": {
"Type": "String",
"Default": "cfn-api-gateway-restapi-0-6-1",
"Description": "The name of the Lambda you deployed to test this stack."
},
"RestApiName": {
"Type": "String",
"Description": "Name for the API (required). Must be unique across your account for this Region."
},
"RestApiDescription": {
"Type": "String",
"Description": "Description for the API (optional)."
},
"RestApiBaseApiId": {
"Type": "String",
"Description": "API ID (not name, not ARN) from which to clone the base for the new API (optional). WARNING: Changing this value requires full replacement."
}
},
"Conditions": {
"NoApiDescription": {
"Fn::Equals": [
"",
{
"Ref": "RestApiDescription"
}
]
},
"NoApiBaseApiId": {
"Fn::Equals": [
"",
{
"Ref": "RestApiBaseApiId"
}
]
}
},
"Resources": {
"MyRestApi": {
"Type": "Custom::ApiGatewayRestApi",
"Properties": {
"ServiceToken": {
"Fn::Join": [
":",
[
"arn",
"aws",
"lambda",
{
"Ref": "AWS::Region"
},
{
"Ref": "AWS::AccountId"
},
"function",
{
"Ref": "RestApiCustomResourceLambdaName"
}
]
]
},
"Name": {
"Ref": "RestApiName"
},
"Description": {
"Fn::If": [
"NoApiDescription",
{
"Ref": "AWS::NoValue"
},
{
"Ref": "RestApiDescription"
}
]
},
"BaseApiId": {
"Fn::If": [
"NoApiBaseApiId",
{
"Ref": "AWS::NoValue"
},
{
"Ref": "RestApiBaseApiId"
}
]
}
}
}
},
"Outputs": {
"MyRestApiId": {
"Description": "The unique ID value across your entire account for the created API.",
"Value": {
"Ref": "MyRestApi"
}
},
"MyRestApiRootResourceId": {
"Description": "The 10 char alphanum ID value of the root resource for the created API.",
"Value": {
"Fn::GetAtt": [
"MyRestApi",
"RootResourceId"
]
}
}
}
}