.jsii
   1  {
   2    "author": {
   3      "name": "Amazon Web Services",
   4      "organization": true,
   5      "roles": [
   6        "author"
   7      ],
   8      "url": "https://aws.amazon.com"
   9    },
  10    "description": "A programming model for composable configuration",
  11    "docs": {
  12      "stability": "stable"
  13    },
  14    "homepage": "https://github.com/aws/constructs",
  15    "jsiiVersion": "1.37.0 (build a6fe12f)",
  16    "keywords": [
  17      "aws",
  18      "cdk",
  19      "constructs",
  20      "jsii"
  21    ],
  22    "license": "Apache-2.0",
  23    "metadata": {
  24      "jsii": {
  25        "pacmak": {
  26          "hasDefaultInterfaces": true
  27        }
  28      }
  29    },
  30    "name": "constructs",
  31    "readme": {
  32      "markdown": "# Constructs\n\n> Software-defined persistent state\n\n![Release](https://github.com/aws/constructs/workflows/Release/badge.svg)\n[![npm version](https://badge.fury.io/js/constructs.svg)](https://badge.fury.io/js/constructs)\n[![PyPI version](https://badge.fury.io/py/constructs.svg)](https://badge.fury.io/py/constructs)\n[![NuGet version](https://badge.fury.io/nu/Constructs.svg)](https://badge.fury.io/nu/Constructs)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/software.constructs/constructs/badge.svg?style=plastic)](https://maven-badges.herokuapp.com/maven-central/software.constructs/constructs)\n\n## What are constructs?\n\nConstructs are classes which define a \"piece of system state\". Constructs can be composed together to form higher-level building blocks which represent more complex state.\n\nConstructs are often used to represent the _desired state_ of cloud applications. For example, in the AWS CDK, which is used to define the desired state for AWS infrastructure using CloudFormation, the lowest-level construct represents a _resource definition_ in a CloudFormation template. These resources are composed to represent higher-level logical units of a cloud application, etc.\n\n## Contributing\n\nThis project has adopted the [Amazon Open Source Code of\nConduct](https://aws.github.io/code-of-conduct).\n\nWe welcome community contributions and pull requests. See our [contribution\nguide](./CONTRIBUTING.md) for more information on how to report issues, set up a\ndevelopment environment and submit code.\n\n## License\n\nThis project is distributed under the [Apache License, Version 2.0](./LICENSE).\n"
  33    },
  34    "repository": {
  35      "type": "git",
  36      "url": "https://github.com/aws/constructs.git"
  37    },
  38    "schema": "jsii/0.10.0",
  39    "targets": {
  40      "dotnet": {
  41        "namespace": "Constructs",
  42        "packageId": "Constructs"
  43      },
  44      "go": {
  45        "moduleName": "github.com/aws/constructs-go"
  46      },
  47      "java": {
  48        "maven": {
  49          "artifactId": "constructs",
  50          "groupId": "software.constructs"
  51        },
  52        "package": "software.constructs"
  53      },
  54      "js": {
  55        "npm": "constructs"
  56      },
  57      "python": {
  58        "distName": "constructs",
  59        "module": "constructs"
  60      }
  61    },
  62    "types": {
  63      "constructs.Construct": {
  64        "assembly": "constructs",
  65        "docs": {
  66          "remarks": "All constructs besides the root construct must be created within the scope of\nanother construct.",
  67          "stability": "stable",
  68          "summary": "Represents the building block of the construct graph."
  69        },
  70        "fqn": "constructs.Construct",
  71        "initializer": {
  72          "docs": {
  73            "stability": "stable",
  74            "summary": "Creates a new construct node."
  75          },
  76          "locationInModule": {
  77            "filename": "src/construct.ts",
  78            "line": 571
  79          },
  80          "parameters": [
  81            {
  82              "docs": {
  83                "summary": "The scope in which to define this construct."
  84              },
  85              "name": "scope",
  86              "type": {
  87                "fqn": "constructs.Construct"
  88              }
  89            },
  90            {
  91              "docs": {
  92                "remarks": "Must be unique amongst siblings. If\nthe ID includes a path separator (`/`), then it will be replaced by double\ndash `--`.",
  93                "summary": "The scoped construct ID."
  94              },
  95              "name": "id",
  96              "type": {
  97                "primitive": "string"
  98              }
  99            },
 100            {
 101              "docs": {
 102                "summary": "Options."
 103              },
 104              "name": "options",
 105              "optional": true,
 106              "type": {
 107                "fqn": "constructs.ConstructOptions"
 108              }
 109            }
 110          ]
 111        },
 112        "interfaces": [
 113          "constructs.IConstruct"
 114        ],
 115        "kind": "class",
 116        "locationInModule": {
 117          "filename": "src/construct.ts",
 118          "line": 561
 119        },
 120        "methods": [
 121          {
 122            "docs": {
 123              "remarks": "This method can be implemented by derived constructs in order to perform\nfinal changes before synthesis. prepare() will be called after child\nconstructs have been prepared.\n\nThis is an advanced framework feature. Only use this if you\nunderstand the implications.",
 124              "stability": "stable",
 125              "summary": "Perform final modifications before synthesis."
 126            },
 127            "locationInModule": {
 128              "filename": "src/construct.ts",
 129              "line": 617
 130            },
 131            "name": "onPrepare",
 132            "protected": true
 133          },
 134          {
 135            "docs": {
 136              "remarks": "This method is usually implemented by framework-level constructs such as `Stack` and `Asset`\nas they participate in synthesizing the cloud assembly.",
 137              "stability": "stable",
 138              "summary": "Allows this construct to emit artifacts into the cloud assembly during synthesis."
 139            },
 140            "locationInModule": {
 141              "filename": "src/construct.ts",
 142              "line": 629
 143            },
 144            "name": "onSynthesize",
 145            "parameters": [
 146              {
 147                "docs": {
 148                  "summary": "The synthesis session."
 149                },
 150                "name": "session",
 151                "type": {
 152                  "fqn": "constructs.ISynthesisSession"
 153                }
 154              }
 155            ],
 156            "protected": true
 157          },
 158          {
 159            "docs": {
 160              "deprecated": "use `Node.addValidation()` to subscribe validation functions on this construct\ninstead of overriding this method.",
 161              "remarks": "This method can be implemented by derived constructs in order to perform\nvalidation logic. It is called on all constructs before synthesis.",
 162              "returns": "An array of validation error messages, or an empty array if there the construct is valid.",
 163              "stability": "deprecated",
 164              "summary": "Validate the current construct."
 165            },
 166            "locationInModule": {
 167              "filename": "src/construct.ts",
 168              "line": 603
 169            },
 170            "name": "onValidate",
 171            "protected": true,
 172            "returns": {
 173              "type": {
 174                "collection": {
 175                  "elementtype": {
 176                    "primitive": "string"
 177                  },
 178                  "kind": "array"
 179                }
 180              }
 181            }
 182          },
 183          {
 184            "docs": {
 185              "stability": "stable",
 186              "summary": "Returns a string representation of this construct."
 187            },
 188            "locationInModule": {
 189              "filename": "src/construct.ts",
 190              "line": 589
 191            },
 192            "name": "toString",
 193            "returns": {
 194              "type": {
 195                "primitive": "string"
 196              }
 197            }
 198          }
 199        ],
 200        "name": "Construct"
 201      },
 202      "constructs.ConstructMetadata": {
 203        "assembly": "constructs",
 204        "docs": {
 205          "stability": "stable",
 206          "summary": "Metadata keys used by constructs."
 207        },
 208        "fqn": "constructs.ConstructMetadata",
 209        "kind": "class",
 210        "locationInModule": {
 211          "filename": "src/metadata.ts",
 212          "line": 27
 213        },
 214        "name": "ConstructMetadata",
 215        "properties": [
 216          {
 217            "const": true,
 218            "docs": {
 219              "stability": "stable",
 220              "summary": "If set in the construct's context, omits stack traces from metadata entries."
 221            },
 222            "immutable": true,
 223            "locationInModule": {
 224              "filename": "src/metadata.ts",
 225              "line": 31
 226            },
 227            "name": "DISABLE_STACK_TRACE_IN_METADATA",
 228            "static": true,
 229            "type": {
 230              "primitive": "string"
 231            }
 232          },
 233          {
 234            "const": true,
 235            "docs": {
 236              "stability": "stable",
 237              "summary": "Context type for error level messages."
 238            },
 239            "immutable": true,
 240            "locationInModule": {
 241              "filename": "src/metadata.ts",
 242              "line": 46
 243            },
 244            "name": "ERROR_METADATA_KEY",
 245            "static": true,
 246            "type": {
 247              "primitive": "string"
 248            }
 249          },
 250          {
 251            "const": true,
 252            "docs": {
 253              "stability": "stable",
 254              "summary": "Context type for info level messages."
 255            },
 256            "immutable": true,
 257            "locationInModule": {
 258              "filename": "src/metadata.ts",
 259              "line": 36
 260            },
 261            "name": "INFO_METADATA_KEY",
 262            "static": true,
 263            "type": {
 264              "primitive": "string"
 265            }
 266          },
 267          {
 268            "const": true,
 269            "docs": {
 270              "stability": "stable",
 271              "summary": "Context type for warning level messages."
 272            },
 273            "immutable": true,
 274            "locationInModule": {
 275              "filename": "src/metadata.ts",
 276              "line": 41
 277            },
 278            "name": "WARNING_METADATA_KEY",
 279            "static": true,
 280            "type": {
 281              "primitive": "string"
 282            }
 283          }
 284        ]
 285      },
 286      "constructs.ConstructOptions": {
 287        "assembly": "constructs",
 288        "datatype": true,
 289        "docs": {
 290          "stability": "stable",
 291          "summary": "Options for creating constructs."
 292        },
 293        "fqn": "constructs.ConstructOptions",
 294        "kind": "interface",
 295        "locationInModule": {
 296          "filename": "src/construct.ts",
 297          "line": 750
 298        },
 299        "name": "ConstructOptions",
 300        "properties": [
 301          {
 302            "abstract": true,
 303            "docs": {
 304              "default": "- the default `Node` is associated",
 305              "stability": "stable",
 306              "summary": "A factory for attaching `Node`s to the construct."
 307            },
 308            "immutable": true,
 309            "locationInModule": {
 310              "filename": "src/construct.ts",
 311              "line": 755
 312            },
 313            "name": "nodeFactory",
 314            "optional": true,
 315            "type": {
 316              "fqn": "constructs.INodeFactory"
 317            }
 318          }
 319        ]
 320      },
 321      "constructs.ConstructOrder": {
 322        "assembly": "constructs",
 323        "docs": {
 324          "stability": "stable",
 325          "summary": "In what order to return constructs."
 326        },
 327        "fqn": "constructs.ConstructOrder",
 328        "kind": "enum",
 329        "locationInModule": {
 330          "filename": "src/construct.ts",
 331          "line": 667
 332        },
 333        "members": [
 334          {
 335            "docs": {
 336              "stability": "stable",
 337              "summary": "Depth-first, pre-order."
 338            },
 339            "name": "PREORDER"
 340          },
 341          {
 342            "docs": {
 343              "stability": "stable",
 344              "summary": "Depth-first, post-order (leaf nodes first)."
 345            },
 346            "name": "POSTORDER"
 347          }
 348        ],
 349        "name": "ConstructOrder"
 350      },
 351      "constructs.Dependency": {
 352        "assembly": "constructs",
 353        "datatype": true,
 354        "docs": {
 355          "stability": "stable",
 356          "summary": "A single dependency."
 357        },
 358        "fqn": "constructs.Dependency",
 359        "kind": "interface",
 360        "locationInModule": {
 361          "filename": "src/construct.ts",
 362          "line": 682
 363        },
 364        "name": "Dependency",
 365        "properties": [
 366          {
 367            "abstract": true,
 368            "docs": {
 369              "stability": "stable",
 370              "summary": "Source the dependency."
 371            },
 372            "immutable": true,
 373            "locationInModule": {
 374              "filename": "src/construct.ts",
 375              "line": 686
 376            },
 377            "name": "source",
 378            "type": {
 379              "fqn": "constructs.IConstruct"
 380            }
 381          },
 382          {
 383            "abstract": true,
 384            "docs": {
 385              "stability": "stable",
 386              "summary": "Target of the dependency."
 387            },
 388            "immutable": true,
 389            "locationInModule": {
 390              "filename": "src/construct.ts",
 391              "line": 691
 392            },
 393            "name": "target",
 394            "type": {
 395              "fqn": "constructs.IConstruct"
 396            }
 397          }
 398        ]
 399      },
 400      "constructs.IAspect": {
 401        "assembly": "constructs",
 402        "docs": {
 403          "stability": "stable",
 404          "summary": "Represents an Aspect."
 405        },
 406        "fqn": "constructs.IAspect",
 407        "kind": "interface",
 408        "locationInModule": {
 409          "filename": "src/aspect.ts",
 410          "line": 6
 411        },
 412        "methods": [
 413          {
 414            "abstract": true,
 415            "docs": {
 416              "stability": "stable",
 417              "summary": "All aspects can visit an IConstruct."
 418            },
 419            "locationInModule": {
 420              "filename": "src/aspect.ts",
 421              "line": 10
 422            },
 423            "name": "visit",
 424            "parameters": [
 425              {
 426                "name": "node",
 427                "type": {
 428                  "fqn": "constructs.IConstruct"
 429                }
 430              }
 431            ]
 432          }
 433        ],
 434        "name": "IAspect"
 435      },
 436      "constructs.IConstruct": {
 437        "assembly": "constructs",
 438        "docs": {
 439          "stability": "stable",
 440          "summary": "Represents a construct."
 441        },
 442        "fqn": "constructs.IConstruct",
 443        "kind": "interface",
 444        "locationInModule": {
 445          "filename": "src/construct.ts",
 446          "line": 12
 447        },
 448        "name": "IConstruct"
 449      },
 450      "constructs.INodeFactory": {
 451        "assembly": "constructs",
 452        "docs": {
 453          "stability": "stable",
 454          "summary": "A factory for attaching `Node`s to the construct."
 455        },
 456        "fqn": "constructs.INodeFactory",
 457        "kind": "interface",
 458        "locationInModule": {
 459          "filename": "src/construct.ts",
 460          "line": 761
 461        },
 462        "methods": [
 463          {
 464            "abstract": true,
 465            "docs": {
 466              "stability": "stable",
 467              "summary": "Returns a new `Node` associated with `host`."
 468            },
 469            "locationInModule": {
 470              "filename": "src/construct.ts",
 471              "line": 768
 472            },
 473            "name": "createNode",
 474            "parameters": [
 475              {
 476                "docs": {
 477                  "summary": "the associated construct."
 478                },
 479                "name": "host",
 480                "type": {
 481                  "fqn": "constructs.Construct"
 482                }
 483              },
 484              {
 485                "docs": {
 486                  "summary": "the construct's scope (parent)."
 487                },
 488                "name": "scope",
 489                "type": {
 490                  "fqn": "constructs.IConstruct"
 491                }
 492              },
 493              {
 494                "docs": {
 495                  "summary": "the construct id."
 496                },
 497                "name": "id",
 498                "type": {
 499                  "primitive": "string"
 500                }
 501              }
 502            ],
 503            "returns": {
 504              "type": {
 505                "fqn": "constructs.Node"
 506              }
 507            }
 508          }
 509        ],
 510        "name": "INodeFactory"
 511      },
 512      "constructs.ISynthesisSession": {
 513        "assembly": "constructs",
 514        "docs": {
 515          "remarks": "Passed into `construct.onSynthesize()` methods.",
 516          "stability": "stable",
 517          "summary": "Represents a single session of synthesis."
 518        },
 519        "fqn": "constructs.ISynthesisSession",
 520        "kind": "interface",
 521        "locationInModule": {
 522          "filename": "src/construct.ts",
 523          "line": 697
 524        },
 525        "name": "ISynthesisSession",
 526        "properties": [
 527          {
 528            "abstract": true,
 529            "docs": {
 530              "stability": "stable",
 531              "summary": "The output directory for this synthesis session."
 532            },
 533            "immutable": true,
 534            "locationInModule": {
 535              "filename": "src/construct.ts",
 536              "line": 701
 537            },
 538            "name": "outdir",
 539            "type": {
 540              "primitive": "string"
 541            }
 542          }
 543        ]
 544      },
 545      "constructs.IValidation": {
 546        "assembly": "constructs",
 547        "docs": {
 548          "stability": "stable",
 549          "summary": "Implement this interface in order for the construct to be able to validate itself."
 550        },
 551        "fqn": "constructs.IValidation",
 552        "kind": "interface",
 553        "locationInModule": {
 554          "filename": "src/construct.ts",
 555          "line": 652
 556        },
 557        "methods": [
 558          {
 559            "abstract": true,
 560            "docs": {
 561              "remarks": "This method can be implemented by derived constructs in order to perform\nvalidation logic. It is called on all constructs before synthesis.",
 562              "returns": "An array of validation error messages, or an empty array if there the construct is valid.",
 563              "stability": "stable",
 564              "summary": "Validate the current construct."
 565            },
 566            "locationInModule": {
 567              "filename": "src/construct.ts",
 568              "line": 661
 569            },
 570            "name": "validate",
 571            "returns": {
 572              "type": {
 573                "collection": {
 574                  "elementtype": {
 575                    "primitive": "string"
 576                  },
 577                  "kind": "array"
 578                }
 579              }
 580            }
 581          }
 582        ],
 583        "name": "IValidation"
 584      },
 585      "constructs.MetadataEntry": {
 586        "assembly": "constructs",
 587        "datatype": true,
 588        "docs": {
 589          "stability": "stable",
 590          "summary": "An entry in the construct metadata table."
 591        },
 592        "fqn": "constructs.MetadataEntry",
 593        "kind": "interface",
 594        "locationInModule": {
 595          "filename": "src/metadata.ts",
 596          "line": 4
 597        },
 598        "name": "MetadataEntry",
 599        "properties": [
 600          {
 601            "abstract": true,
 602            "docs": {
 603              "stability": "stable",
 604              "summary": "The data."
 605            },
 606            "immutable": true,
 607            "locationInModule": {
 608              "filename": "src/metadata.ts",
 609              "line": 13
 610            },
 611            "name": "data",
 612            "type": {
 613              "primitive": "any"
 614            }
 615          },
 616          {
 617            "abstract": true,
 618            "docs": {
 619              "stability": "stable",
 620              "summary": "The metadata entry type."
 621            },
 622            "immutable": true,
 623            "locationInModule": {
 624              "filename": "src/metadata.ts",
 625              "line": 8
 626            },
 627            "name": "type",
 628            "type": {
 629              "primitive": "string"
 630            }
 631          },
 632          {
 633            "abstract": true,
 634            "docs": {
 635              "default": "- no trace information",
 636              "remarks": "Can be omitted by setting the context key\n`ConstructMetadata.DISABLE_STACK_TRACE_IN_METADATA` to 1.",
 637              "stability": "stable",
 638              "summary": "Stack trace."
 639            },
 640            "immutable": true,
 641            "locationInModule": {
 642              "filename": "src/metadata.ts",
 643              "line": 21
 644            },
 645            "name": "trace",
 646            "optional": true,
 647            "type": {
 648              "collection": {
 649                "elementtype": {
 650                  "primitive": "string"
 651                },
 652                "kind": "array"
 653              }
 654            }
 655          }
 656        ]
 657      },
 658      "constructs.Node": {
 659        "assembly": "constructs",
 660        "docs": {
 661          "stability": "stable",
 662          "summary": "Represents the construct node in the scope tree."
 663        },
 664        "fqn": "constructs.Node",
 665        "initializer": {
 666          "docs": {
 667            "stability": "stable"
 668          },
 669          "locationInModule": {
 670            "filename": "src/construct.ts",
 671            "line": 61
 672          },
 673          "parameters": [
 674            {
 675              "name": "host",
 676              "type": {
 677                "fqn": "constructs.Construct"
 678              }
 679            },
 680            {
 681              "name": "scope",
 682              "type": {
 683                "fqn": "constructs.IConstruct"
 684              }
 685            },
 686            {
 687              "name": "id",
 688              "type": {
 689                "primitive": "string"
 690              }
 691            }
 692          ]
 693        },
 694        "kind": "class",
 695        "locationInModule": {
 696          "filename": "src/construct.ts",
 697          "line": 17
 698        },
 699        "methods": [
 700          {
 701            "docs": {
 702              "stability": "stable",
 703              "summary": "Returns the node associated with a construct."
 704            },
 705            "locationInModule": {
 706              "filename": "src/construct.ts",
 707              "line": 27
 708            },
 709            "name": "of",
 710            "parameters": [
 711              {
 712                "docs": {
 713                  "summary": "the construct."
 714                },
 715                "name": "construct",
 716                "type": {
 717                  "fqn": "constructs.IConstruct"
 718                }
 719              }
 720            ],
 721            "returns": {
 722              "type": {
 723                "fqn": "constructs.Node"
 724              }
 725            },
 726            "static": true
 727          },
 728          {
 729            "docs": {
 730              "remarks": "All constructs in the dependency's scope will be deployed before any\nconstruct in this construct's scope.",
 731              "stability": "stable",
 732              "summary": "Add an ordering dependency on another Construct."
 733            },
 734            "locationInModule": {
 735              "filename": "src/construct.ts",
 736              "line": 365
 737            },
 738            "name": "addDependency",
 739            "parameters": [
 740              {
 741                "name": "dependencies",
 742                "type": {
 743                  "fqn": "constructs.IConstruct"
 744                },
 745                "variadic": true
 746              }
 747            ],
 748            "variadic": true
 749          },
 750          {
 751            "docs": {
 752              "remarks": "The toolkit will fail synthesis when errors are reported.",
 753              "stability": "stable",
 754              "summary": "Adds an { \"error\": <message> } metadata entry to this construct."
 755            },
 756            "locationInModule": {
 757              "filename": "src/construct.ts",
 758              "line": 304
 759            },
 760            "name": "addError",
 761            "parameters": [
 762              {
 763                "docs": {
 764                  "summary": "The error message."
 765                },
 766                "name": "message",
 767                "type": {
 768                  "primitive": "string"
 769                }
 770              }
 771            ]
 772          },
 773          {
 774            "docs": {
 775              "remarks": "The toolkit will display the info message when apps are synthesized.",
 776              "stability": "stable",
 777              "summary": "Adds a { \"info\": <message> } metadata entry to this construct."
 778            },
 779            "locationInModule": {
 780              "filename": "src/construct.ts",
 781              "line": 285
 782            },
 783            "name": "addInfo",
 784            "parameters": [
 785              {
 786                "docs": {
 787                  "summary": "The info message."
 788                },
 789                "name": "message",
 790                "type": {
 791                  "primitive": "string"
 792                }
 793              }
 794            ]
 795          },
 796          {
 797            "docs": {
 798              "remarks": "Entries are arbitrary values and will also include a stack trace to allow tracing back to\nthe code location for when the entry was added. It can be used, for example, to include source\nmapping in CloudFormation templates to improve diagnostics.",
 799              "stability": "stable",
 800              "summary": "Adds a metadata entry to this construct."
 801            },
 802            "locationInModule": {
 803              "filename": "src/construct.ts",
 804              "line": 268
 805            },
 806            "name": "addMetadata",
 807            "parameters": [
 808              {
 809                "docs": {
 810                  "summary": "a string denoting the type of metadata."
 811                },
 812                "name": "type",
 813                "type": {
 814                  "primitive": "string"
 815                }
 816              },
 817              {
 818                "docs": {
 819                  "remarks": "If null/undefined, metadata will not be added.",
 820                  "summary": "the value of the metadata (can be a Token)."
 821                },
 822                "name": "data",
 823                "type": {
 824                  "primitive": "any"
 825                }
 826              },
 827              {
 828                "docs": {
 829                  "summary": "a function under which to restrict the metadata entry's stack trace (defaults to this.addMetadata)."
 830                },
 831                "name": "fromFunction",
 832                "optional": true,
 833                "type": {
 834                  "primitive": "any"
 835                }
 836              }
 837            ]
 838          },
 839          {
 840            "docs": {
 841              "remarks": "When `node.validate()` is called, the `validate()` method will be called on\nall validations and all errors will be returned.",
 842              "stability": "stable",
 843              "summary": "Adds a validation to this construct."
 844            },
 845            "locationInModule": {
 846              "filename": "src/construct.ts",
 847              "line": 415
 848            },
 849            "name": "addValidation",
 850            "parameters": [
 851              {
 852                "name": "validation",
 853                "type": {
 854                  "fqn": "constructs.IValidation"
 855                }
 856              }
 857            ]
 858          },
 859          {
 860            "docs": {
 861              "remarks": "The toolkit will display the warning when an app is synthesized, or fail\nif run in --strict mode.",
 862              "stability": "stable",
 863              "summary": "Adds a { \"warning\": <message> } metadata entry to this construct."
 864            },
 865            "locationInModule": {
 866              "filename": "src/construct.ts",
 867              "line": 295
 868            },
 869            "name": "addWarning",
 870            "parameters": [
 871              {
 872                "docs": {
 873                  "summary": "The warning message."
 874                },
 875                "name": "message",
 876                "type": {
 877                  "primitive": "string"
 878                }
 879              }
 880            ]
 881          },
 882          {
 883            "docs": {
 884              "stability": "stable",
 885              "summary": "Applies the aspect to this Constructs node."
 886            },
 887            "locationInModule": {
 888              "filename": "src/construct.ts",
 889              "line": 311
 890            },
 891            "name": "applyAspect",
 892            "parameters": [
 893              {
 894                "name": "aspect",
 895                "type": {
 896                  "fqn": "constructs.IAspect"
 897                }
 898              }
 899            ]
 900          },
 901          {
 902            "docs": {
 903              "stability": "stable",
 904              "summary": "Return this construct and all of its children in the given order."
 905            },
 906            "locationInModule": {
 907              "filename": "src/construct.ts",
 908              "line": 200
 909            },
 910            "name": "findAll",
 911            "parameters": [
 912              {
 913                "name": "order",
 914                "optional": true,
 915                "type": {
 916                  "fqn": "constructs.ConstructOrder"
 917                }
 918              }
 919            ],
 920            "returns": {
 921              "type": {
 922                "collection": {
 923                  "elementtype": {
 924                    "fqn": "constructs.IConstruct"
 925                  },
 926                  "kind": "array"
 927                }
 928              }
 929            }
 930          },
 931          {
 932            "docs": {
 933              "remarks": "Throws an error if the child is not found.",
 934              "returns": "Child with the given id.",
 935              "stability": "stable",
 936              "summary": "Return a direct child by id."
 937            },
 938            "locationInModule": {
 939              "filename": "src/construct.ts",
 940              "line": 146
 941            },
 942            "name": "findChild",
 943            "parameters": [
 944              {
 945                "docs": {
 946                  "summary": "Identifier of direct child."
 947                },
 948                "name": "id",
 949                "type": {
 950                  "primitive": "string"
 951                }
 952              }
 953            ],
 954            "returns": {
 955              "type": {
 956                "fqn": "constructs.IConstruct"
 957              }
 958            }
 959          },
 960          {
 961            "docs": {
 962              "stability": "stable",
 963              "summary": "Invokes \"prepare\" on all constructs (depth-first, post-order) in the tree under `node`."
 964            },
 965            "locationInModule": {
 966              "filename": "src/construct.ts",
 967              "line": 458
 968            },
 969            "name": "prepare"
 970          },
 971          {
 972            "docs": {
 973              "remarks": "Context must be set before any children are added, since children may consult context info during construction.\nIf the key already exists, it will be overridden.",
 974              "stability": "stable",
 975              "summary": "This can be used to set contextual values."
 976            },
 977            "locationInModule": {
 978              "filename": "src/construct.ts",
 979              "line": 227
 980            },
 981            "name": "setContext",
 982            "parameters": [
 983              {
 984                "docs": {
 985                  "summary": "The context key."
 986                },
 987                "name": "key",
 988                "type": {
 989                  "primitive": "string"
 990                }
 991              },
 992              {
 993                "docs": {
 994                  "summary": "The context value."
 995                },
 996                "name": "value",
 997                "type": {
 998                  "primitive": "any"
 999                }
1000              }
1001            ]
1002          },
1003          {
1004            "docs": {
1005              "stability": "stable",
1006              "summary": "Synthesizes a CloudAssembly from a construct tree."
1007            },
1008            "locationInModule": {
1009              "filename": "src/construct.ts",
1010              "line": 423
1011            },
1012            "name": "synthesize",
1013            "parameters": [
1014              {
1015                "docs": {
1016                  "summary": "Synthesis options."
1017                },
1018                "name": "options",
1019                "type": {
1020                  "fqn": "constructs.SynthesisOptions"
1021                }
1022              }
1023            ]
1024          },
1025          {
1026            "docs": {
1027              "returns": "the child if found, or undefined",
1028              "stability": "stable",
1029              "summary": "Return a direct child by id, or undefined."
1030            },
1031            "locationInModule": {
1032              "filename": "src/construct.ts",
1033              "line": 134
1034            },
1035            "name": "tryFindChild",
1036            "parameters": [
1037              {
1038                "docs": {
1039                  "summary": "Identifier of direct child."
1040                },
1041                "name": "id",
1042                "type": {
1043                  "primitive": "string"
1044                }
1045              }
1046            ],
1047            "returns": {
1048              "optional": true,
1049              "type": {
1050                "fqn": "constructs.IConstruct"
1051              }
1052            }
1053          },
1054          {
1055            "docs": {
1056              "remarks": "Context is usually initialized at the root, but can be overridden at any point in the tree.",
1057              "returns": "The context value or `undefined` if there is no context value for thie key.",
1058              "stability": "stable",
1059              "summary": "Retrieves a value from tree context."
1060            },
1061            "locationInModule": {
1062              "filename": "src/construct.ts",
1063              "line": 243
1064            },
1065            "name": "tryGetContext",
1066            "parameters": [
1067              {
1068                "docs": {
1069                  "summary": "The context key."
1070                },
1071                "name": "key",
1072                "type": {
1073                  "primitive": "string"
1074                }
1075              }
1076            ],
1077            "returns": {
1078              "type": {
1079                "primitive": "any"
1080              }
1081            }
1082          },
1083          {
1084            "docs": {
1085              "returns": "Whether a child with the given name was deleted.",
1086              "stability": "experimental",
1087              "summary": "Remove the child with the given name, if present."
1088            },
1089            "locationInModule": {
1090              "filename": "src/construct.ts",
1091              "line": 401
1092            },
1093            "name": "tryRemoveChild",
1094            "parameters": [
1095              {
1096                "name": "childName",
1097                "type": {
1098                  "primitive": "string"
1099                }
1100              }
1101            ],
1102            "returns": {
1103              "type": {
1104                "primitive": "boolean"
1105              }
1106            }
1107          },
1108          {
1109            "docs": {
1110              "remarks": "An empty list indicates that there are no errors.",
1111              "stability": "stable",
1112              "summary": "Validates tree (depth-first, pre-order) and returns the list of all errors."
1113            },
1114            "locationInModule": {
1115              "filename": "src/construct.ts",
1116              "line": 479
1117            },
1118            "name": "validate",
1119            "returns": {
1120              "type": {
1121                "collection": {
1122                  "elementtype": {
1123                    "fqn": "constructs.ValidationError"
1124                  },
1125                  "kind": "array"
1126                }
1127              }
1128            }
1129          }
1130        ],
1131        "name": "Node",
1132        "properties": [
1133          {
1134            "const": true,
1135            "docs": {
1136              "stability": "stable",
1137              "summary": "Separator used to delimit construct path components."
1138            },
1139            "immutable": true,
1140            "locationInModule": {
1141              "filename": "src/construct.ts",
1142              "line": 21
1143            },
1144            "name": "PATH_SEP",
1145            "static": true,
1146            "type": {
1147              "primitive": "string"
1148            }
1149          },
1150          {
1151            "docs": {
1152              "example": "c83a2846e506bcc5f10682b564084bca2d275709ee",
1153              "remarks": "Addresses are 42 characters hexadecimal strings. They begin with \"c8\"\nfollowed by 40 lowercase hexadecimal characters (0-9a-f).\n\nAddresses are calculated using a SHA-1 of the components of the construct\npath.\n\nTo enable refactorings of construct trees, constructs with the ID `Default`\nwill be excluded from the calculation. In those cases constructs in the\nsame tree may have the same addreess.",
1154              "stability": "stable",
1155              "summary": "Returns an opaque tree-unique address for this construct."
1156            },
1157            "immutable": true,
1158            "locationInModule": {
1159              "filename": "src/construct.ts",
1160              "line": 107
1161            },
1162            "name": "addr",
1163            "type": {
1164              "primitive": "string"
1165            }
1166          },
1167          {
1168            "docs": {
1169              "stability": "stable",
1170              "summary": "All direct children of this construct."
1171            },
1172            "immutable": true,
1173            "locationInModule": {
1174              "filename": "src/construct.ts",
1175              "line": 193
1176            },
1177            "name": "children",
1178            "type": {
1179              "collection": {
1180                "elementtype": {
1181                  "fqn": "constructs.IConstruct"
1182                },
1183                "kind": "array"
1184              }
1185            }
1186          },
1187          {
1188            "docs": {
1189              "stability": "stable",
1190              "summary": "Return all dependencies registered on this node or any of its children."
1191            },
1192            "immutable": true,
1193            "locationInModule": {
1194              "filename": "src/construct.ts",
1195              "line": 374
1196            },
1197            "name": "dependencies",
1198            "type": {
1199              "collection": {
1200                "elementtype": {
1201                  "fqn": "constructs.Dependency"
1202                },
1203                "kind": "array"
1204              }
1205            }
1206          },
1207          {
1208            "docs": {
1209              "remarks": "This is a a scope-unique id. To obtain an app-unique id for this construct, use `uniqueId`.",
1210              "stability": "stable",
1211              "summary": "The id of this construct within the current scope."
1212            },
1213            "immutable": true,
1214            "locationInModule": {
1215              "filename": "src/construct.ts",
1216              "line": 48
1217            },
1218            "name": "id",
1219            "type": {
1220              "primitive": "string"
1221            }
1222          },
1223          {
1224            "docs": {
1225              "stability": "stable",
1226              "summary": "Returns true if this construct or the scopes in which it is defined are locked."
1227            },
1228            "immutable": true,
1229            "locationInModule": {
1230              "filename": "src/construct.ts",
1231              "line": 347
1232            },
1233            "name": "locked",
1234            "type": {
1235              "primitive": "boolean"
1236            }
1237          },
1238          {
1239            "docs": {
1240              "remarks": "This can be used, for example, to implement support for deprecation notices, source mapping, etc.",
1241              "stability": "stable",
1242              "summary": "An immutable array of metadata objects associated with this construct."
1243            },
1244            "immutable": true,
1245            "locationInModule": {
1246              "filename": "src/construct.ts",
1247              "line": 254
1248            },
1249            "name": "metadata",
1250            "type": {
1251              "collection": {
1252                "elementtype": {
1253                  "fqn": "constructs.MetadataEntry"
1254                },
1255                "kind": "array"
1256              }
1257            }
1258          },
1259          {
1260            "docs": {
1261              "remarks": "Components are separated by '/'.",
1262              "stability": "stable",
1263              "summary": "The full, absolute path of this construct in the tree."
1264            },
1265            "immutable": true,
1266            "locationInModule": {
1267              "filename": "src/construct.ts",
1268              "line": 87
1269            },
1270            "name": "path",
1271            "type": {
1272              "primitive": "string"
1273            }
1274          },
1275          {
1276            "docs": {
1277              "returns": "The root of the construct tree.",
1278              "stability": "stable",
1279              "summary": "Returns the root of the construct tree."
1280            },
1281            "immutable": true,
1282            "locationInModule": {
1283              "filename": "src/construct.ts",
1284              "line": 339
1285            },
1286            "name": "root",
1287            "type": {
1288              "fqn": "constructs.IConstruct"
1289            }
1290          },
1291          {
1292            "docs": {
1293              "returns": "a list of parent scopes. The last element in the list will always\nbe the current construct and the first element will be the root of the\ntree.",
1294              "stability": "stable",
1295              "summary": "All parent scopes of this construct."
1296            },
1297            "immutable": true,
1298            "locationInModule": {
1299              "filename": "src/construct.ts",
1300              "line": 323
1301            },
1302            "name": "scopes",
1303            "type": {
1304              "collection": {
1305                "elementtype": {
1306                  "fqn": "constructs.IConstruct"
1307                },
1308                "kind": "array"
1309              }
1310            }
1311          },
1312          {
1313            "docs": {
1314              "deprecated": "please avoid using this property and use `addr` to form unique names.\nThis algorithm uses MD5, which is not FIPS-complient and also excludes the\nidentity of the root construct from the calculation.",
1315              "remarks": "Includes\nall components of the tree.",
1316              "stability": "deprecated",
1317              "summary": "A tree-global unique alphanumeric identifier for this construct."
1318            },
1319            "immutable": true,
1320            "locationInModule": {
1321              "filename": "src/construct.ts",
1322              "line": 123
1323            },
1324            "name": "uniqueId",
1325            "type": {
1326              "primitive": "string"
1327            }
1328          },
1329          {
1330            "docs": {
1331              "remarks": "The value is `undefined` at the root of the construct scope tree.",
1332              "stability": "stable",
1333              "summary": "Returns the scope in which this construct is defined."
1334            },
1335            "immutable": true,
1336            "locationInModule": {
1337              "filename": "src/construct.ts",
1338              "line": 41
1339            },
1340            "name": "scope",
1341            "optional": true,
1342            "type": {
1343              "fqn": "constructs.IConstruct"
1344            }
1345          },
1346          {
1347            "docs": {
1348              "custom": {
1349                "throws": "if there is more than one child"
1350              },
1351              "remarks": "This is usually the construct that provides the bulk of the underlying functionality.\nUseful for modifications of the underlying construct that are not available at the higher levels.\nOverride the defaultChild property.\n\nThis should only be used in the cases where the correct\ndefault child is not named 'Resource' or 'Default' as it\nshould be.\n\nIf you set this to undefined, the default behavior of finding\nthe child named 'Resource' or 'Default' will be used.",
1352              "returns": "a construct or undefined if there is no default child",
1353              "stability": "stable",
1354              "summary": "Returns the child construct that has the id `Default` or `Resource\"`."
1355            },
1356            "locationInModule": {
1357              "filename": "src/construct.ts",
1358              "line": 162
1359            },
1360            "name": "defaultChild",
1361            "optional": true,
1362            "type": {
1363              "fqn": "constructs.IConstruct"
1364            }
1365          }
1366        ]
1367      },
1368      "constructs.SynthesisOptions": {
1369        "assembly": "constructs",
1370        "datatype": true,
1371        "docs": {
1372          "stability": "stable",
1373          "summary": "Options for synthesis."
1374        },
1375        "fqn": "constructs.SynthesisOptions",
1376        "kind": "interface",
1377        "locationInModule": {
1378          "filename": "src/construct.ts",
1379          "line": 712
1380        },
1381        "name": "SynthesisOptions",
1382        "properties": [
1383          {
1384            "abstract": true,
1385            "docs": {
1386              "default": "- creates a temporary directory",
1387              "stability": "stable",
1388              "summary": "The output directory into which to synthesize the cloud assembly."
1389            },
1390            "immutable": true,
1391            "locationInModule": {
1392              "filename": "src/construct.ts",
1393              "line": 717
1394            },
1395            "name": "outdir",
1396            "type": {
1397              "primitive": "string"
1398            }
1399          },
1400          {
1401            "abstract": true,
1402            "docs": {
1403              "default": "- no additional context is passed to `onSynthesize`",
1404              "stability": "stable",
1405              "summary": "Additional context passed into the synthesis session object when `construct.synth` is called."
1406            },
1407            "immutable": true,
1408            "locationInModule": {
1409              "filename": "src/construct.ts",
1410              "line": 729
1411            },
1412            "name": "sessionContext",
1413            "optional": true,
1414            "type": {
1415              "collection": {
1416                "elementtype": {
1417                  "primitive": "any"
1418                },
1419                "kind": "map"
1420              }
1421            }
1422          },
1423          {
1424            "abstract": true,
1425            "docs": {
1426              "default": "false",
1427              "stability": "stable",
1428              "summary": "Whether synthesis should skip the validation phase."
1429            },
1430            "immutable": true,
1431            "locationInModule": {
1432              "filename": "src/construct.ts",
1433              "line": 723
1434            },
1435            "name": "skipValidation",
1436            "optional": true,
1437            "type": {
1438              "primitive": "boolean"
1439            }
1440          }
1441        ]
1442      },
1443      "constructs.ValidationError": {
1444        "assembly": "constructs",
1445        "datatype": true,
1446        "docs": {
1447          "stability": "stable",
1448          "summary": "An error returned during the validation phase."
1449        },
1450        "fqn": "constructs.ValidationError",
1451        "kind": "interface",
1452        "locationInModule": {
1453          "filename": "src/construct.ts",
1454          "line": 637
1455        },
1456        "name": "ValidationError",
1457        "properties": [
1458          {
1459            "abstract": true,
1460            "docs": {
1461              "stability": "stable",
1462              "summary": "The error message."
1463            },
1464            "immutable": true,
1465            "locationInModule": {
1466              "filename": "src/construct.ts",
1467              "line": 646
1468            },
1469            "name": "message",
1470            "type": {
1471              "primitive": "string"
1472            }
1473          },
1474          {
1475            "abstract": true,
1476            "docs": {
1477              "stability": "stable",
1478              "summary": "The construct which emitted the error."
1479            },
1480            "immutable": true,
1481            "locationInModule": {
1482              "filename": "src/construct.ts",
1483              "line": 641
1484            },
1485            "name": "source",
1486            "type": {
1487              "fqn": "constructs.Construct"
1488            }
1489          }
1490        ]
1491      }
1492    },
1493    "version": "3.3.161",
1494    "fingerprint": "nnrpbbgYRoFnQpaLwgcZ8UhtzWLDABLgEbRENxQ0yT0="
1495  }