{
  "version": "tree-0.1",
  "tree": {
    "id": "App",
    "path": "",
    "children": {
      "Tree": {
        "id": "Tree",
        "path": "Tree"
      },
      "my-app-latest-stack": {
        "id": "my-app-latest-stack",
        "path": "my-app-latest-stack",
        "children": {
          "my-app-latest": {
            "id": "my-app-latest",
            "path": "my-app-latest-stack/my-app-latest",
            "children": {
              "Resource": {
                "id": "Resource",
                "path": "my-app-latest-stack/my-app-latest/Resource",
                "attributes": {
                  "aws:cdk:cloudformation:type": "AWS::ApiGateway::RestApi",
                  "aws:cdk:cloudformation:props": {
                    "name": "my-app-latest-gateway"
                  }
                }
              },
              "Deployment": {
                "id": "Deployment",
                "path": "my-app-latest-stack/my-app-latest/Deployment",
                "children": {
                  "Resource": {
                    "id": "Resource",
                    "path": "my-app-latest-stack/my-app-latest/Deployment/Resource",
                    "attributes": {
                      "aws:cdk:cloudformation:type": "AWS::ApiGateway::Deployment",
                      "aws:cdk:cloudformation:props": {
                        "restApiId": {
                          "Ref": "myapplatestF03E4651"
                        },
                        "description": "Automatically created by the RestApi construct"
                      }
                    }
                  }
                }
              },
              "DeploymentStage.prod": {
                "id": "DeploymentStage.prod",
                "path": "my-app-latest-stack/my-app-latest/DeploymentStage.prod",
                "children": {
                  "Resource": {
                    "id": "Resource",
                    "path": "my-app-latest-stack/my-app-latest/DeploymentStage.prod/Resource",
                    "attributes": {
                      "aws:cdk:cloudformation:type": "AWS::ApiGateway::Stage",
                      "aws:cdk:cloudformation:props": {
                        "restApiId": {
                          "Ref": "myapplatestF03E4651"
                        },
                        "deploymentId": {
                          "Ref": "myapplatestDeployment712A79C0a9b2cb6134a1b5da087ff156630ebf56"
                        },
                        "stageName": "prod"
                      }
                    }
                  }
                }
              },
              "Endpoint": {
                "id": "Endpoint",
                "path": "my-app-latest-stack/my-app-latest/Endpoint"
              },
              "CloudWatchRole": {
                "id": "CloudWatchRole",
                "path": "my-app-latest-stack/my-app-latest/CloudWatchRole",
                "children": {
                  "Resource": {
                    "id": "Resource",
                    "path": "my-app-latest-stack/my-app-latest/CloudWatchRole/Resource",
                    "attributes": {
                      "aws:cdk:cloudformation:type": "AWS::IAM::Role",
                      "aws:cdk:cloudformation:props": {
                        "assumeRolePolicyDocument": {
                          "Statement": [
                            {
                              "Action": "sts:AssumeRole",
                              "Effect": "Allow",
                              "Principal": {
                                "Service": "apigateway.amazonaws.com"
                              }
                            }
                          ],
                          "Version": "2012-10-17"
                        },
                        "managedPolicyArns": [
                          {
                            "Fn::Join": [
                              "",
                              [
                                "arn:",
                                {
                                  "Ref": "AWS::Partition"
                                },
                                ":iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs"
                              ]
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              },
              "Account": {
                "id": "Account",
                "path": "my-app-latest-stack/my-app-latest/Account",
                "attributes": {
                  "aws:cdk:cloudformation:type": "AWS::ApiGateway::Account",
                  "aws:cdk:cloudformation:props": {
                    "cloudWatchRoleArn": {
                      "Fn::GetAtt": [
                        "myapplatestCloudWatchRole63754B84",
                        "Arn"
                      ]
                    }
                  }
                }
              },
              "Default": {
                "id": "Default",
                "path": "my-app-latest-stack/my-app-latest/Default",
                "children": {
                  "messages": {
                    "id": "messages",
                    "path": "my-app-latest-stack/my-app-latest/Default/messages",
                    "children": {
                      "Resource": {
                        "id": "Resource",
                        "path": "my-app-latest-stack/my-app-latest/Default/messages/Resource",
                        "attributes": {
                          "aws:cdk:cloudformation:type": "AWS::ApiGateway::Resource",
                          "aws:cdk:cloudformation:props": {
                            "parentId": {
                              "Fn::GetAtt": [
                                "myapplatestF03E4651",
                                "RootResourceId"
                              ]
                            },
                            "pathPart": "messages",
                            "restApiId": {
                              "Ref": "myapplatestF03E4651"
                            }
                          }
                        }
                      },
                      "{id}": {
                        "id": "{id}",
                        "path": "my-app-latest-stack/my-app-latest/Default/messages/{id}",
                        "children": {
                          "Resource": {
                            "id": "Resource",
                            "path": "my-app-latest-stack/my-app-latest/Default/messages/{id}/Resource",
                            "attributes": {
                              "aws:cdk:cloudformation:type": "AWS::ApiGateway::Resource",
                              "aws:cdk:cloudformation:props": {
                                "parentId": {
                                  "Ref": "myapplatestmessages9B8F2089"
                                },
                                "pathPart": "{id}",
                                "restApiId": {
                                  "Ref": "myapplatestF03E4651"
                                }
                              }
                            }
                          },
                          "GET": {
                            "id": "GET",
                            "path": "my-app-latest-stack/my-app-latest/Default/messages/{id}/GET",
                            "children": {
                              "ApiPermission.myapplateststackmyapplatest0D79FFD9.GET..messages.{id}": {
                                "id": "ApiPermission.myapplateststackmyapplatest0D79FFD9.GET..messages.{id}",
                                "path": "my-app-latest-stack/my-app-latest/Default/messages/{id}/GET/ApiPermission.myapplateststackmyapplatest0D79FFD9.GET..messages.{id}",
                                "attributes": {
                                  "aws:cdk:cloudformation:type": "AWS::Lambda::Permission",
                                  "aws:cdk:cloudformation:props": {
                                    "action": "lambda:InvokeFunction",
                                    "functionName": {
                                      "Fn::GetAtt": [
                                        "getmessagehandlergetBB0C4C67",
                                        "Arn"
                                      ]
                                    },
                                    "principal": "apigateway.amazonaws.com",
                                    "sourceArn": {
                                      "Fn::Join": [
                                        "",
                                        [
                                          "arn:",
                                          {
                                            "Ref": "AWS::Partition"
                                          },
                                          ":execute-api:eu-west-1:849961944173:",
                                          {
                                            "Ref": "myapplatestF03E4651"
                                          },
                                          "/",
                                          {
                                            "Ref": "myapplatestDeploymentStageprod4F9184B5"
                                          },
                                          "/GET/messages/{id}"
                                        ]
                                      ]
                                    }
                                  }
                                }
                              },
                              "ApiPermission.Test.myapplateststackmyapplatest0D79FFD9.GET..messages.{id}": {
                                "id": "ApiPermission.Test.myapplateststackmyapplatest0D79FFD9.GET..messages.{id}",
                                "path": "my-app-latest-stack/my-app-latest/Default/messages/{id}/GET/ApiPermission.Test.myapplateststackmyapplatest0D79FFD9.GET..messages.{id}",
                                "attributes": {
                                  "aws:cdk:cloudformation:type": "AWS::Lambda::Permission",
                                  "aws:cdk:cloudformation:props": {
                                    "action": "lambda:InvokeFunction",
                                    "functionName": {
                                      "Fn::GetAtt": [
                                        "getmessagehandlergetBB0C4C67",
                                        "Arn"
                                      ]
                                    },
                                    "principal": "apigateway.amazonaws.com",
                                    "sourceArn": {
                                      "Fn::Join": [
                                        "",
                                        [
                                          "arn:",
                                          {
                                            "Ref": "AWS::Partition"
                                          },
                                          ":execute-api:eu-west-1:849961944173:",
                                          {
                                            "Ref": "myapplatestF03E4651"
                                          },
                                          "/test-invoke-stage/GET/messages/{id}"
                                        ]
                                      ]
                                    }
                                  }
                                }
                              },
                              "Resource": {
                                "id": "Resource",
                                "path": "my-app-latest-stack/my-app-latest/Default/messages/{id}/GET/Resource",
                                "attributes": {
                                  "aws:cdk:cloudformation:type": "AWS::ApiGateway::Method",
                                  "aws:cdk:cloudformation:props": {
                                    "httpMethod": "GET",
                                    "resourceId": {
                                      "Ref": "myapplatestmessagesid60457E98"
                                    },
                                    "restApiId": {
                                      "Ref": "myapplatestF03E4651"
                                    },
                                    "authorizationType": "NONE",
                                    "integration": {
                                      "type": "AWS_PROXY",
                                      "uri": {
                                        "Fn::Join": [
                                          "",
                                          [
                                            "arn:",
                                            {
                                              "Ref": "AWS::Partition"
                                            },
                                            ":apigateway:eu-west-1:lambda:path/2015-03-31/functions/",
                                            {
                                              "Fn::GetAtt": [
                                                "getmessagehandlergetBB0C4C67",
                                                "Arn"
                                              ]
                                            },
                                            "/invocations"
                                          ]
                                        ]
                                      },
                                      "integrationHttpMethod": "POST"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "get-message-handler-get": {
            "id": "get-message-handler-get",
            "path": "my-app-latest-stack/get-message-handler-get",
            "children": {
              "ServiceRole": {
                "id": "ServiceRole",
                "path": "my-app-latest-stack/get-message-handler-get/ServiceRole",
                "children": {
                  "Resource": {
                    "id": "Resource",
                    "path": "my-app-latest-stack/get-message-handler-get/ServiceRole/Resource",
                    "attributes": {
                      "aws:cdk:cloudformation:type": "AWS::IAM::Role",
                      "aws:cdk:cloudformation:props": {
                        "assumeRolePolicyDocument": {
                          "Statement": [
                            {
                              "Action": "sts:AssumeRole",
                              "Effect": "Allow",
                              "Principal": {
                                "Service": "lambda.amazonaws.com"
                              }
                            }
                          ],
                          "Version": "2012-10-17"
                        },
                        "managedPolicyArns": [
                          {
                            "Fn::Join": [
                              "",
                              [
                                "arn:",
                                {
                                  "Ref": "AWS::Partition"
                                },
                                ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
                              ]
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              },
              "Code": {
                "id": "Code",
                "path": "my-app-latest-stack/get-message-handler-get/Code",
                "children": {
                  "Stage": {
                    "id": "Stage",
                    "path": "my-app-latest-stack/get-message-handler-get/Code/Stage"
                  },
                  "AssetBucket": {
                    "id": "AssetBucket",
                    "path": "my-app-latest-stack/get-message-handler-get/Code/AssetBucket"
                  }
                }
              },
              "Resource": {
                "id": "Resource",
                "path": "my-app-latest-stack/get-message-handler-get/Resource",
                "attributes": {
                  "aws:cdk:cloudformation:type": "AWS::Lambda::Function",
                  "aws:cdk:cloudformation:props": {
                    "code": {
                      "s3Bucket": {
                        "Ref": "AssetParametersf24c61952c2ce88939aaaf322a592455aa3f829be9915efeafd1c0f1603ec979S3BucketF68D880E"
                      },
                      "s3Key": {
                        "Fn::Join": [
                          "",
                          [
                            {
                              "Fn::Select": [
                                0,
                                {
                                  "Fn::Split": [
                                    "||",
                                    {
                                      "Ref": "AssetParametersf24c61952c2ce88939aaaf322a592455aa3f829be9915efeafd1c0f1603ec979S3VersionKeyDC12B461"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "Fn::Select": [
                                1,
                                {
                                  "Fn::Split": [
                                    "||",
                                    {
                                      "Ref": "AssetParametersf24c61952c2ce88939aaaf322a592455aa3f829be9915efeafd1c0f1603ec979S3VersionKeyDC12B461"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        ]
                      }
                    },
                    "handler": "index.handler",
                    "role": {
                      "Fn::GetAtt": [
                        "getmessagehandlergetServiceRoleDC13F171",
                        "Arn"
                      ]
                    },
                    "runtime": "nodejs12.x"
                  }
                }
              }
            }
          },
          "AssetParameters": {
            "id": "AssetParameters",
            "path": "my-app-latest-stack/AssetParameters",
            "children": {
              "f24c61952c2ce88939aaaf322a592455aa3f829be9915efeafd1c0f1603ec979": {
                "id": "f24c61952c2ce88939aaaf322a592455aa3f829be9915efeafd1c0f1603ec979",
                "path": "my-app-latest-stack/AssetParameters/f24c61952c2ce88939aaaf322a592455aa3f829be9915efeafd1c0f1603ec979",
                "children": {
                  "S3Bucket": {
                    "id": "S3Bucket",
                    "path": "my-app-latest-stack/AssetParameters/f24c61952c2ce88939aaaf322a592455aa3f829be9915efeafd1c0f1603ec979/S3Bucket"
                  },
                  "S3VersionKey": {
                    "id": "S3VersionKey",
                    "path": "my-app-latest-stack/AssetParameters/f24c61952c2ce88939aaaf322a592455aa3f829be9915efeafd1c0f1603ec979/S3VersionKey"
                  },
                  "ArtifactHash": {
                    "id": "ArtifactHash",
                    "path": "my-app-latest-stack/AssetParameters/f24c61952c2ce88939aaaf322a592455aa3f829be9915efeafd1c0f1603ec979/ArtifactHash"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}