@aws-cdk/aws-cloud9-alpha 2.63.2-alpha.0 → 2.64.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "aws-cdk-lib": "^2.63.2",
11
+ "aws-cdk-lib": "^2.64.0",
12
12
  "constructs": "^10.0.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -2251,6 +2251,19 @@
2251
2251
  }
2252
2252
  }
2253
2253
  },
2254
+ "aws-cdk-lib.aws_omics": {
2255
+ "targets": {
2256
+ "dotnet": {
2257
+ "namespace": "Amazon.CDK.AWS.Omics"
2258
+ },
2259
+ "java": {
2260
+ "package": "software.amazon.awscdk.services.omics"
2261
+ },
2262
+ "python": {
2263
+ "module": "aws_cdk.aws_omics"
2264
+ }
2265
+ }
2266
+ },
2254
2267
  "aws-cdk-lib.aws_opensearchserverless": {
2255
2268
  "targets": {
2256
2269
  "dotnet": {
@@ -2875,6 +2888,19 @@
2875
2888
  }
2876
2889
  }
2877
2890
  },
2891
+ "aws-cdk-lib.aws_simspaceweaver": {
2892
+ "targets": {
2893
+ "dotnet": {
2894
+ "namespace": "Amazon.CDK.AWS.SimSpaceWeaver"
2895
+ },
2896
+ "java": {
2897
+ "package": "software.amazon.awscdk.services.simspaceweaver"
2898
+ },
2899
+ "python": {
2900
+ "module": "aws_cdk.aws_simspaceweaver"
2901
+ }
2902
+ }
2903
+ },
2878
2904
  "aws-cdk-lib.aws_sns": {
2879
2905
  "targets": {
2880
2906
  "dotnet": {
@@ -3344,7 +3370,7 @@
3344
3370
  },
3345
3371
  "name": "@aws-cdk/aws-cloud9-alpha",
3346
3372
  "readme": {
3347
- "markdown": "# AWS Cloud9 Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\nThis module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.\n\nAWS Cloud9 is a cloud-based integrated development environment (IDE) that lets you write, run, and debug your code with just a\nbrowser. It includes a code editor, debugger, and terminal. Cloud9 comes prepackaged with essential tools for popular\nprogramming languages, including JavaScript, Python, PHP, and more, so you don’t need to install files or configure your\ndevelopment machine to start new projects. Since your Cloud9 IDE is cloud-based, you can work on your projects from your\noffice, home, or anywhere using an internet-connected machine. Cloud9 also provides a seamless experience for developing\nserverless applications enabling you to easily define resources, debug, and switch between local and remote execution of\nserverless applications. With Cloud9, you can quickly share your development environment with your team, enabling you to pair\nprogram and track each other's inputs in real time.\n\n\n## Creating EC2 Environment\n\nEC2 Environments are defined with `Ec2Environment`. To create an EC2 environment in the private subnet, specify\n`subnetSelection` with private `subnetType`.\n\n\n```ts\n// create a cloud9 ec2 environment in a new VPC\nconst vpc = new ec2.Vpc(this, 'VPC', { maxAzs: 3});\nnew cloud9.Ec2Environment(this, 'Cloud9Env', { vpc, imageId: cloud9.ImageId.AMAZON_LINUX_2, });\n\n// or create the cloud9 environment in the default VPC with specific instanceType\nconst defaultVpc = ec2.Vpc.fromLookup(this, 'DefaultVPC', { isDefault: true });\nnew cloud9.Ec2Environment(this, 'Cloud9Env2', {\n vpc: defaultVpc,\n instanceType: new ec2.InstanceType('t3.large'),\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n});\n\n// or specify in a different subnetSelection\nconst c9env = new cloud9.Ec2Environment(this, 'Cloud9Env3', {\n vpc,\n subnetSelection: {\n subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS,\n },\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n});\n\n// print the Cloud9 IDE URL in the output\nnew CfnOutput(this, 'URL', { value: c9env.ideUrl });\n```\n\n## Specifying EC2 AMI\n\nUse `imageId` to specify the EC2 AMI image to be used:\n\n```ts\nconst defaultVpc = ec2.Vpc.fromLookup(this, 'DefaultVPC', { isDefault: true });\nnew cloud9.Ec2Environment(this, 'Cloud9Env2', {\n vpc: defaultVpc,\n instanceType: new ec2.InstanceType('t3.large'),\n imageId: cloud9.ImageId.UBUNTU_18_04,\n});\n```\n\n## Cloning Repositories\n\nUse `clonedRepositories` to clone one or multiple AWS Codecommit repositories into the environment:\n\n```ts\nimport * as codecommit from 'aws-cdk-lib/aws-codecommit';\n\n// create a codecommit repository to clone into the cloud9 environment\nconst repoNew = new codecommit.Repository(this, 'RepoNew', {\n repositoryName: 'new-repo',\n});\n\n// import an existing codecommit repository to clone into the cloud9 environment\nconst repoExisting = codecommit.Repository.fromRepositoryName(this, 'RepoExisting', 'existing-repo');\n\n// create a new Cloud9 environment and clone the two repositories\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n clonedRepositories: [\n cloud9.CloneRepository.fromCodeCommit(repoNew, '/src/new-repo'),\n cloud9.CloneRepository.fromCodeCommit(repoExisting, '/src/existing-repo'),\n ],\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n});\n```\n"
3373
+ "markdown": "# AWS Cloud9 Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\nThis module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.\n\nAWS Cloud9 is a cloud-based integrated development environment (IDE) that lets you write, run, and debug your code with just a\nbrowser. It includes a code editor, debugger, and terminal. Cloud9 comes prepackaged with essential tools for popular\nprogramming languages, including JavaScript, Python, PHP, and more, so you don’t need to install files or configure your\ndevelopment machine to start new projects. Since your Cloud9 IDE is cloud-based, you can work on your projects from your\noffice, home, or anywhere using an internet-connected machine. Cloud9 also provides a seamless experience for developing\nserverless applications enabling you to easily define resources, debug, and switch between local and remote execution of\nserverless applications. With Cloud9, you can quickly share your development environment with your team, enabling you to pair\nprogram and track each other's inputs in real time.\n\n\n## Creating EC2 Environment\n\nEC2 Environments are defined with `Ec2Environment`. To create an EC2 environment in the private subnet, specify\n`subnetSelection` with private `subnetType`.\n\n\n```ts\n// create a cloud9 ec2 environment in a new VPC\nconst vpc = new ec2.Vpc(this, 'VPC', { maxAzs: 3});\nnew cloud9.Ec2Environment(this, 'Cloud9Env', { vpc, imageId: cloud9.ImageId.AMAZON_LINUX_2, });\n\n// or create the cloud9 environment in the default VPC with specific instanceType\nconst defaultVpc = ec2.Vpc.fromLookup(this, 'DefaultVPC', { isDefault: true });\nnew cloud9.Ec2Environment(this, 'Cloud9Env2', {\n vpc: defaultVpc,\n instanceType: new ec2.InstanceType('t3.large'),\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n});\n\n// or specify in a different subnetSelection\nconst c9env = new cloud9.Ec2Environment(this, 'Cloud9Env3', {\n vpc,\n subnetSelection: {\n subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS,\n },\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n});\n\n// print the Cloud9 IDE URL in the output\nnew CfnOutput(this, 'URL', { value: c9env.ideUrl });\n```\n\n## Specifying EC2 AMI\n\nUse `imageId` to specify the EC2 AMI image to be used:\n\n```ts\nconst defaultVpc = ec2.Vpc.fromLookup(this, 'DefaultVPC', { isDefault: true });\nnew cloud9.Ec2Environment(this, 'Cloud9Env2', {\n vpc: defaultVpc,\n instanceType: new ec2.InstanceType('t3.large'),\n imageId: cloud9.ImageId.UBUNTU_18_04,\n});\n```\n\n## Cloning Repositories\n\nUse `clonedRepositories` to clone one or multiple AWS Codecommit repositories into the environment:\n\n```ts\nimport * as codecommit from 'aws-cdk-lib/aws-codecommit';\n\n// create a codecommit repository to clone into the cloud9 environment\nconst repoNew = new codecommit.Repository(this, 'RepoNew', {\n repositoryName: 'new-repo',\n});\n\n// import an existing codecommit repository to clone into the cloud9 environment\nconst repoExisting = codecommit.Repository.fromRepositoryName(this, 'RepoExisting', 'existing-repo');\n\n// create a new Cloud9 environment and clone the two repositories\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n clonedRepositories: [\n cloud9.CloneRepository.fromCodeCommit(repoNew, '/src/new-repo'),\n cloud9.CloneRepository.fromCodeCommit(repoExisting, '/src/existing-repo'),\n ],\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n});\n```\n\n## Specifying Owners\n\nEvery Cloud9 Environment has an **owner**. An owner has full control over the environment, and can invite additional members to the environment for collaboration purposes. For more information, see [Working with shared environments in AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/share-environment.html)).\n\nBy default, the owner will be the identity that creates the Environment, which is most likely your CloudFormation Execution Role when the Environment is created using CloudFormation. Provider a value for the `owner` property to assign a different owner, either a specific IAM User or the AWS Account Root User.\n\n`Owner` is a user that owns a Cloud9 environment . `Owner` has their own access permissions, resources. And we can specify an `Owner`in an Ec2 environment which could be of two types, 1. AccountRoot and 2. Iam User. It allows AWS to determine who has permissions to manage the environment, either an IAM user or the account root user (but using the account root user is not recommended, see [environment sharing best practices](https://docs.aws.amazon.com/cloud9/latest/user-guide/share-environment.html#share-environment-best-practices)).\n\nTo specify the AWS Account Root User as the environment owner, use `Owner.accountRoot()`\n\n```ts\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n\n owner: cloud9.Owner.accountRoot('111111111')\n})\n```\n\nTo specify a specific IAM User as the environment owner, use `Owner.user()`. The user should have the `AWSCloud9Administrator` managed policy\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\n\nconst user = new iam.User(this, 'user');\nuser.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('AWSCloud9Administrator'));\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n\n owner: cloud9.Owner.user(user)\n})\n```\n"
3348
3374
  },
3349
3375
  "repository": {
3350
3376
  "directory": "packages/individual-packages/aws-cloud9",
@@ -3396,7 +3422,7 @@
3396
3422
  "kind": "class",
3397
3423
  "locationInModule": {
3398
3424
  "filename": "lib/environment.ts",
3399
- "line": 204
3425
+ "line": 214
3400
3426
  },
3401
3427
  "methods": [
3402
3428
  {
@@ -3406,7 +3432,7 @@
3406
3432
  },
3407
3433
  "locationInModule": {
3408
3434
  "filename": "lib/environment.ts",
3409
- "line": 211
3435
+ "line": 221
3410
3436
  },
3411
3437
  "name": "fromCodeCommit",
3412
3438
  "parameters": [
@@ -3446,7 +3472,7 @@
3446
3472
  "immutable": true,
3447
3473
  "locationInModule": {
3448
3474
  "filename": "lib/environment.ts",
3449
- "line": 218
3475
+ "line": 228
3450
3476
  },
3451
3477
  "name": "pathComponent",
3452
3478
  "type": {
@@ -3460,7 +3486,7 @@
3460
3486
  "immutable": true,
3461
3487
  "locationInModule": {
3462
3488
  "filename": "lib/environment.ts",
3463
- "line": 218
3489
+ "line": 228
3464
3490
  },
3465
3491
  "name": "repositoryUrl",
3466
3492
  "type": {
@@ -3480,7 +3506,7 @@
3480
3506
  "kind": "enum",
3481
3507
  "locationInModule": {
3482
3508
  "filename": "lib/environment.ts",
3483
- "line": 30
3509
+ "line": 31
3484
3510
  },
3485
3511
  "members": [
3486
3512
  {
@@ -3512,7 +3538,7 @@
3512
3538
  },
3513
3539
  "stability": "experimental",
3514
3540
  "summary": "A Cloud9 Environment with Amazon EC2.",
3515
- "example": "import * as codecommit from 'aws-cdk-lib/aws-codecommit';\n\n// create a codecommit repository to clone into the cloud9 environment\nconst repoNew = new codecommit.Repository(this, 'RepoNew', {\n repositoryName: 'new-repo',\n});\n\n// import an existing codecommit repository to clone into the cloud9 environment\nconst repoExisting = codecommit.Repository.fromRepositoryName(this, 'RepoExisting', 'existing-repo');\n\n// create a new Cloud9 environment and clone the two repositories\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n clonedRepositories: [\n cloud9.CloneRepository.fromCodeCommit(repoNew, '/src/new-repo'),\n cloud9.CloneRepository.fromCodeCommit(repoExisting, '/src/existing-repo'),\n ],\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n});"
3541
+ "example": "import * as iam from 'aws-cdk-lib/aws-iam';\n\nconst user = new iam.User(this, 'user');\nuser.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('AWSCloud9Administrator'));\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n\n owner: cloud9.Owner.user(user)\n})"
3516
3542
  },
3517
3543
  "fqn": "@aws-cdk/aws-cloud9-alpha.Ec2Environment",
3518
3544
  "initializer": {
@@ -3521,7 +3547,7 @@
3521
3547
  },
3522
3548
  "locationInModule": {
3523
3549
  "filename": "lib/environment.ts",
3524
- "line": 169
3550
+ "line": 178
3525
3551
  },
3526
3552
  "parameters": [
3527
3553
  {
@@ -3550,7 +3576,7 @@
3550
3576
  "kind": "class",
3551
3577
  "locationInModule": {
3552
3578
  "filename": "lib/environment.ts",
3553
- "line": 124
3579
+ "line": 133
3554
3580
  },
3555
3581
  "methods": [
3556
3582
  {
@@ -3560,7 +3586,7 @@
3560
3586
  },
3561
3587
  "locationInModule": {
3562
3588
  "filename": "lib/environment.ts",
3563
- "line": 128
3589
+ "line": 137
3564
3590
  },
3565
3591
  "name": "fromEc2EnvironmentName",
3566
3592
  "parameters": [
@@ -3604,7 +3630,7 @@
3604
3630
  "immutable": true,
3605
3631
  "locationInModule": {
3606
3632
  "filename": "lib/environment.ts",
3607
- "line": 152
3633
+ "line": 161
3608
3634
  },
3609
3635
  "name": "ec2EnvironmentArn",
3610
3636
  "overrides": "@aws-cdk/aws-cloud9-alpha.IEc2Environment",
@@ -3623,7 +3649,7 @@
3623
3649
  "immutable": true,
3624
3650
  "locationInModule": {
3625
3651
  "filename": "lib/environment.ts",
3626
- "line": 145
3652
+ "line": 154
3627
3653
  },
3628
3654
  "name": "ec2EnvironmentName",
3629
3655
  "overrides": "@aws-cdk/aws-cloud9-alpha.IEc2Environment",
@@ -3639,7 +3665,7 @@
3639
3665
  "immutable": true,
3640
3666
  "locationInModule": {
3641
3667
  "filename": "lib/environment.ts",
3642
- "line": 157
3668
+ "line": 166
3643
3669
  },
3644
3670
  "name": "environmentId",
3645
3671
  "type": {
@@ -3654,7 +3680,7 @@
3654
3680
  "immutable": true,
3655
3681
  "locationInModule": {
3656
3682
  "filename": "lib/environment.ts",
3657
- "line": 162
3683
+ "line": 171
3658
3684
  },
3659
3685
  "name": "ideUrl",
3660
3686
  "type": {
@@ -3669,7 +3695,7 @@
3669
3695
  "immutable": true,
3670
3696
  "locationInModule": {
3671
3697
  "filename": "lib/environment.ts",
3672
- "line": 167
3698
+ "line": 176
3673
3699
  },
3674
3700
  "name": "vpc",
3675
3701
  "type": {
@@ -3685,7 +3711,7 @@
3685
3711
  "docs": {
3686
3712
  "stability": "experimental",
3687
3713
  "summary": "Properties for Ec2Environment.",
3688
- "example": "import * as codecommit from 'aws-cdk-lib/aws-codecommit';\n\n// create a codecommit repository to clone into the cloud9 environment\nconst repoNew = new codecommit.Repository(this, 'RepoNew', {\n repositoryName: 'new-repo',\n});\n\n// import an existing codecommit repository to clone into the cloud9 environment\nconst repoExisting = codecommit.Repository.fromRepositoryName(this, 'RepoExisting', 'existing-repo');\n\n// create a new Cloud9 environment and clone the two repositories\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n clonedRepositories: [\n cloud9.CloneRepository.fromCodeCommit(repoNew, '/src/new-repo'),\n cloud9.CloneRepository.fromCodeCommit(repoExisting, '/src/existing-repo'),\n ],\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n});",
3714
+ "example": "import * as iam from 'aws-cdk-lib/aws-iam';\n\nconst user = new iam.User(this, 'user');\nuser.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('AWSCloud9Administrator'));\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n\n owner: cloud9.Owner.user(user)\n})",
3689
3715
  "custom": {
3690
3716
  "exampleMetadata": "infused"
3691
3717
  }
@@ -3707,7 +3733,7 @@
3707
3733
  "immutable": true,
3708
3734
  "locationInModule": {
3709
3735
  "filename": "lib/environment.ts",
3710
- "line": 117
3736
+ "line": 126
3711
3737
  },
3712
3738
  "name": "imageId",
3713
3739
  "type": {
@@ -3723,7 +3749,7 @@
3723
3749
  "immutable": true,
3724
3750
  "locationInModule": {
3725
3751
  "filename": "lib/environment.ts",
3726
- "line": 80
3752
+ "line": 89
3727
3753
  },
3728
3754
  "name": "vpc",
3729
3755
  "type": {
@@ -3740,7 +3766,7 @@
3740
3766
  "immutable": true,
3741
3767
  "locationInModule": {
3742
3768
  "filename": "lib/environment.ts",
3743
- "line": 102
3769
+ "line": 111
3744
3770
  },
3745
3771
  "name": "clonedRepositories",
3746
3772
  "optional": true,
@@ -3764,7 +3790,7 @@
3764
3790
  "immutable": true,
3765
3791
  "locationInModule": {
3766
3792
  "filename": "lib/environment.ts",
3767
- "line": 111
3793
+ "line": 120
3768
3794
  },
3769
3795
  "name": "connectionType",
3770
3796
  "optional": true,
@@ -3782,7 +3808,7 @@
3782
3808
  "immutable": true,
3783
3809
  "locationInModule": {
3784
3810
  "filename": "lib/environment.ts",
3785
- "line": 94
3811
+ "line": 103
3786
3812
  },
3787
3813
  "name": "description",
3788
3814
  "optional": true,
@@ -3800,7 +3826,7 @@
3800
3826
  "immutable": true,
3801
3827
  "locationInModule": {
3802
3828
  "filename": "lib/environment.ts",
3803
- "line": 87
3829
+ "line": 96
3804
3830
  },
3805
3831
  "name": "ec2EnvironmentName",
3806
3832
  "optional": true,
@@ -3818,7 +3844,7 @@
3818
3844
  "immutable": true,
3819
3845
  "locationInModule": {
3820
3846
  "filename": "lib/environment.ts",
3821
- "line": 66
3847
+ "line": 75
3822
3848
  },
3823
3849
  "name": "instanceType",
3824
3850
  "optional": true,
@@ -3826,6 +3852,25 @@
3826
3852
  "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
3827
3853
  }
3828
3854
  },
3855
+ {
3856
+ "abstract": true,
3857
+ "docs": {
3858
+ "default": "- The identity that CloudFormation executes under will be the owner",
3859
+ "remarks": "The owner has full control of the environment and can invite additional members.",
3860
+ "stability": "experimental",
3861
+ "summary": "Owner of the environment."
3862
+ },
3863
+ "immutable": true,
3864
+ "locationInModule": {
3865
+ "filename": "lib/environment.ts",
3866
+ "line": 68
3867
+ },
3868
+ "name": "owner",
3869
+ "optional": true,
3870
+ "type": {
3871
+ "fqn": "@aws-cdk/aws-cloud9-alpha.Owner"
3872
+ }
3873
+ },
3829
3874
  {
3830
3875
  "abstract": true,
3831
3876
  "docs": {
@@ -3836,7 +3881,7 @@
3836
3881
  "immutable": true,
3837
3882
  "locationInModule": {
3838
3883
  "filename": "lib/environment.ts",
3839
- "line": 74
3884
+ "line": 83
3840
3885
  },
3841
3886
  "name": "subnetSelection",
3842
3887
  "optional": true,
@@ -3860,7 +3905,7 @@
3860
3905
  "kind": "interface",
3861
3906
  "locationInModule": {
3862
3907
  "filename": "lib/environment.ts",
3863
- "line": 11
3908
+ "line": 12
3864
3909
  },
3865
3910
  "name": "IEc2Environment",
3866
3911
  "properties": [
@@ -3876,7 +3921,7 @@
3876
3921
  "immutable": true,
3877
3922
  "locationInModule": {
3878
3923
  "filename": "lib/environment.ts",
3879
- "line": 24
3924
+ "line": 25
3880
3925
  },
3881
3926
  "name": "ec2EnvironmentArn",
3882
3927
  "type": {
@@ -3895,7 +3940,7 @@
3895
3940
  "immutable": true,
3896
3941
  "locationInModule": {
3897
3942
  "filename": "lib/environment.ts",
3898
- "line": 17
3943
+ "line": 18
3899
3944
  },
3900
3945
  "name": "ec2EnvironmentName",
3901
3946
  "type": {
@@ -3910,7 +3955,7 @@
3910
3955
  "docs": {
3911
3956
  "stability": "experimental",
3912
3957
  "summary": "The image ID used for creating an Amazon EC2 environment.",
3913
- "example": "import * as codecommit from 'aws-cdk-lib/aws-codecommit';\n\n// create a codecommit repository to clone into the cloud9 environment\nconst repoNew = new codecommit.Repository(this, 'RepoNew', {\n repositoryName: 'new-repo',\n});\n\n// import an existing codecommit repository to clone into the cloud9 environment\nconst repoExisting = codecommit.Repository.fromRepositoryName(this, 'RepoExisting', 'existing-repo');\n\n// create a new Cloud9 environment and clone the two repositories\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n clonedRepositories: [\n cloud9.CloneRepository.fromCodeCommit(repoNew, '/src/new-repo'),\n cloud9.CloneRepository.fromCodeCommit(repoExisting, '/src/existing-repo'),\n ],\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n});",
3958
+ "example": "import * as iam from 'aws-cdk-lib/aws-iam';\n\nconst user = new iam.User(this, 'user');\nuser.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('AWSCloud9Administrator'));\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n\n owner: cloud9.Owner.user(user)\n})",
3914
3959
  "custom": {
3915
3960
  "exampleMetadata": "infused"
3916
3961
  }
@@ -3919,7 +3964,7 @@
3919
3964
  "kind": "enum",
3920
3965
  "locationInModule": {
3921
3966
  "filename": "lib/environment.ts",
3922
- "line": 46
3967
+ "line": 47
3923
3968
  },
3924
3969
  "members": [
3925
3970
  {
@@ -3939,8 +3984,104 @@
3939
3984
  ],
3940
3985
  "name": "ImageId",
3941
3986
  "symbolId": "lib/environment:ImageId"
3987
+ },
3988
+ "@aws-cdk/aws-cloud9-alpha.Owner": {
3989
+ "assembly": "@aws-cdk/aws-cloud9-alpha",
3990
+ "docs": {
3991
+ "stability": "experimental",
3992
+ "summary": "An environment owner.",
3993
+ "example": "declare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n\n owner: cloud9.Owner.accountRoot('111111111')\n})",
3994
+ "custom": {
3995
+ "exampleMetadata": "infused"
3996
+ }
3997
+ },
3998
+ "fqn": "@aws-cdk/aws-cloud9-alpha.Owner",
3999
+ "kind": "class",
4000
+ "locationInModule": {
4001
+ "filename": "lib/environment.ts",
4002
+ "line": 236
4003
+ },
4004
+ "methods": [
4005
+ {
4006
+ "docs": {
4007
+ "stability": "experimental",
4008
+ "summary": "Make the Account Root User the environment owner (not recommended)."
4009
+ },
4010
+ "locationInModule": {
4011
+ "filename": "lib/environment.ts",
4012
+ "line": 255
4013
+ },
4014
+ "name": "accountRoot",
4015
+ "parameters": [
4016
+ {
4017
+ "docs": {
4018
+ "summary": "the AccountId to use as the environment owner."
4019
+ },
4020
+ "name": "accountId",
4021
+ "type": {
4022
+ "primitive": "string"
4023
+ }
4024
+ }
4025
+ ],
4026
+ "returns": {
4027
+ "type": {
4028
+ "fqn": "@aws-cdk/aws-cloud9-alpha.Owner"
4029
+ }
4030
+ },
4031
+ "static": true
4032
+ },
4033
+ {
4034
+ "docs": {
4035
+ "remarks": "User need to have AWSCloud9Administrator permissions",
4036
+ "see": "https://docs.aws.amazon.com/cloud9/latest/user-guide/share-environment.html#share-environment-about",
4037
+ "stability": "experimental",
4038
+ "summary": "Make an IAM user the environment owner."
4039
+ },
4040
+ "locationInModule": {
4041
+ "filename": "lib/environment.ts",
4042
+ "line": 245
4043
+ },
4044
+ "name": "user",
4045
+ "parameters": [
4046
+ {
4047
+ "docs": {
4048
+ "summary": "the User object to use as the environment owner."
4049
+ },
4050
+ "name": "user",
4051
+ "type": {
4052
+ "fqn": "aws-cdk-lib.aws_iam.IUser"
4053
+ }
4054
+ }
4055
+ ],
4056
+ "returns": {
4057
+ "type": {
4058
+ "fqn": "@aws-cdk/aws-cloud9-alpha.Owner"
4059
+ }
4060
+ },
4061
+ "static": true
4062
+ }
4063
+ ],
4064
+ "name": "Owner",
4065
+ "properties": [
4066
+ {
4067
+ "docs": {
4068
+ "stability": "experimental",
4069
+ "summary": "of environment owner."
4070
+ },
4071
+ "immutable": true,
4072
+ "locationInModule": {
4073
+ "filename": "lib/environment.ts",
4074
+ "line": 263
4075
+ },
4076
+ "name": "ownerArn",
4077
+ "type": {
4078
+ "primitive": "string"
4079
+ }
4080
+ }
4081
+ ],
4082
+ "symbolId": "lib/environment:Owner"
3942
4083
  }
3943
4084
  },
3944
- "version": "2.63.2-alpha.0",
4085
+ "version": "2.64.0-alpha.0",
3945
4086
  "fingerprint": "**********"
3946
4087
  }
Binary file
package/.warnings.jsii.js CHANGED
@@ -17,6 +17,8 @@ function _aws_cdk_aws_cloud9_alpha_Ec2EnvironmentProps(p) {
17
17
  _aws_cdk_aws_cloud9_alpha_CloneRepository(o);
18
18
  if (!visitedObjects.has(p.connectionType))
19
19
  _aws_cdk_aws_cloud9_alpha_ConnectionType(p.connectionType);
20
+ if (!visitedObjects.has(p.owner))
21
+ _aws_cdk_aws_cloud9_alpha_Owner(p.owner);
20
22
  }
21
23
  finally {
22
24
  visitedObjects.delete(p);
@@ -26,6 +28,8 @@ function _aws_cdk_aws_cloud9_alpha_Ec2Environment(p) {
26
28
  }
27
29
  function _aws_cdk_aws_cloud9_alpha_CloneRepository(p) {
28
30
  }
31
+ function _aws_cdk_aws_cloud9_alpha_Owner(p) {
32
+ }
29
33
  function print(name, deprecationMessage) {
30
34
  const deprecated = process.env.JSII_DEPRECATED;
31
35
  const deprecationMode = ["warn", "fail", "quiet"].includes(deprecated) ? deprecated : "warn";
@@ -62,4 +66,4 @@ class DeprecationError extends Error {
62
66
  });
63
67
  }
64
68
  }
65
- module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_cloud9_alpha_IEc2Environment, _aws_cdk_aws_cloud9_alpha_ConnectionType, _aws_cdk_aws_cloud9_alpha_ImageId, _aws_cdk_aws_cloud9_alpha_Ec2EnvironmentProps, _aws_cdk_aws_cloud9_alpha_Ec2Environment, _aws_cdk_aws_cloud9_alpha_CloneRepository };
69
+ module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_cloud9_alpha_IEc2Environment, _aws_cdk_aws_cloud9_alpha_ConnectionType, _aws_cdk_aws_cloud9_alpha_ImageId, _aws_cdk_aws_cloud9_alpha_Ec2EnvironmentProps, _aws_cdk_aws_cloud9_alpha_Ec2Environment, _aws_cdk_aws_cloud9_alpha_CloneRepository, _aws_cdk_aws_cloud9_alpha_Owner };
package/README.md CHANGED
@@ -17,19 +17,19 @@
17
17
 
18
18
  This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
19
19
 
20
- AWS Cloud9 is a cloud-based integrated development environment (IDE) that lets you write, run, and debug your code with just a
21
- browser. It includes a code editor, debugger, and terminal. Cloud9 comes prepackaged with essential tools for popular
22
- programming languages, including JavaScript, Python, PHP, and more, so you don’t need to install files or configure your
23
- development machine to start new projects. Since your Cloud9 IDE is cloud-based, you can work on your projects from your
24
- office, home, or anywhere using an internet-connected machine. Cloud9 also provides a seamless experience for developing
25
- serverless applications enabling you to easily define resources, debug, and switch between local and remote execution of
26
- serverless applications. With Cloud9, you can quickly share your development environment with your team, enabling you to pair
20
+ AWS Cloud9 is a cloud-based integrated development environment (IDE) that lets you write, run, and debug your code with just a
21
+ browser. It includes a code editor, debugger, and terminal. Cloud9 comes prepackaged with essential tools for popular
22
+ programming languages, including JavaScript, Python, PHP, and more, so you don’t need to install files or configure your
23
+ development machine to start new projects. Since your Cloud9 IDE is cloud-based, you can work on your projects from your
24
+ office, home, or anywhere using an internet-connected machine. Cloud9 also provides a seamless experience for developing
25
+ serverless applications enabling you to easily define resources, debug, and switch between local and remote execution of
26
+ serverless applications. With Cloud9, you can quickly share your development environment with your team, enabling you to pair
27
27
  program and track each other's inputs in real time.
28
28
 
29
29
 
30
30
  ## Creating EC2 Environment
31
31
 
32
- EC2 Environments are defined with `Ec2Environment`. To create an EC2 environment in the private subnet, specify
32
+ EC2 Environments are defined with `Ec2Environment`. To create an EC2 environment in the private subnet, specify
33
33
  `subnetSelection` with private `subnetType`.
34
34
 
35
35
 
@@ -46,7 +46,7 @@ new cloud9.Ec2Environment(this, 'Cloud9Env2', {
46
46
  imageId: cloud9.ImageId.AMAZON_LINUX_2,
47
47
  });
48
48
 
49
- // or specify in a different subnetSelection
49
+ // or specify in a different subnetSelection
50
50
  const c9env = new cloud9.Ec2Environment(this, 'Cloud9Env3', {
51
51
  vpc,
52
52
  subnetSelection: {
@@ -98,3 +98,39 @@ new cloud9.Ec2Environment(this, 'C9Env', {
98
98
  imageId: cloud9.ImageId.AMAZON_LINUX_2,
99
99
  });
100
100
  ```
101
+
102
+ ## Specifying Owners
103
+
104
+ Every Cloud9 Environment has an **owner**. An owner has full control over the environment, and can invite additional members to the environment for collaboration purposes. For more information, see [Working with shared environments in AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/share-environment.html)).
105
+
106
+ By default, the owner will be the identity that creates the Environment, which is most likely your CloudFormation Execution Role when the Environment is created using CloudFormation. Provider a value for the `owner` property to assign a different owner, either a specific IAM User or the AWS Account Root User.
107
+
108
+ `Owner` is a user that owns a Cloud9 environment . `Owner` has their own access permissions, resources. And we can specify an `Owner`in an Ec2 environment which could be of two types, 1. AccountRoot and 2. Iam User. It allows AWS to determine who has permissions to manage the environment, either an IAM user or the account root user (but using the account root user is not recommended, see [environment sharing best practices](https://docs.aws.amazon.com/cloud9/latest/user-guide/share-environment.html#share-environment-best-practices)).
109
+
110
+ To specify the AWS Account Root User as the environment owner, use `Owner.accountRoot()`
111
+
112
+ ```ts
113
+ declare const vpc: ec2.Vpc;
114
+ new cloud9.Ec2Environment(this, 'C9Env', {
115
+ vpc,
116
+ imageId: cloud9.ImageId.AMAZON_LINUX_2,
117
+
118
+ owner: cloud9.Owner.accountRoot('111111111')
119
+ })
120
+ ```
121
+
122
+ To specify a specific IAM User as the environment owner, use `Owner.user()`. The user should have the `AWSCloud9Administrator` managed policy
123
+
124
+ ```ts
125
+ import * as iam from 'aws-cdk-lib/aws-iam';
126
+
127
+ const user = new iam.User(this, 'user');
128
+ user.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('AWSCloud9Administrator'));
129
+ declare const vpc: ec2.Vpc;
130
+ new cloud9.Ec2Environment(this, 'C9Env', {
131
+ vpc,
132
+ imageId: cloud9.ImageId.AMAZON_LINUX_2,
133
+
134
+ owner: cloud9.Owner.user(user)
135
+ })
136
+ ```
@@ -1,5 +1,6 @@
1
1
  import * as codecommit from 'aws-cdk-lib/aws-codecommit';
2
2
  import * as ec2 from 'aws-cdk-lib/aws-ec2';
3
+ import { IUser } from 'aws-cdk-lib/aws-iam';
3
4
  import * as cdk from 'aws-cdk-lib';
4
5
  import { Construct } from 'constructs';
5
6
  /**
@@ -52,6 +53,14 @@ export declare enum ImageId {
52
53
  * Properties for Ec2Environment
53
54
  */
54
55
  export interface Ec2EnvironmentProps {
56
+ /**
57
+ * Owner of the environment.
58
+ *
59
+ * The owner has full control of the environment and can invite additional members.
60
+ *
61
+ * @default - The identity that CloudFormation executes under will be the owner
62
+ */
63
+ readonly owner?: Owner;
55
64
  /**
56
65
  * The type of instance to connect to the environment.
57
66
  *
@@ -152,3 +161,31 @@ export declare class CloneRepository {
152
161
  static fromCodeCommit(repository: codecommit.IRepository, path: string): CloneRepository;
153
162
  private constructor();
154
163
  }
164
+ /**
165
+ * An environment owner
166
+ *
167
+ *
168
+ */
169
+ export declare class Owner {
170
+ readonly ownerArn: string;
171
+ /**
172
+ * Make an IAM user the environment owner
173
+ *
174
+ * User need to have AWSCloud9Administrator permissions
175
+ * @see https://docs.aws.amazon.com/cloud9/latest/user-guide/share-environment.html#share-environment-about
176
+ *
177
+ * @param user the User object to use as the environment owner
178
+ */
179
+ static user(user: IUser): Owner;
180
+ /**
181
+ * Make the Account Root User the environment owner (not recommended)
182
+ *
183
+ * @param accountId the AccountId to use as the environment owner.
184
+ */
185
+ static accountRoot(accountId: string): Owner;
186
+ /**
187
+ *
188
+ * @param ownerArn of environment owner.
189
+ */
190
+ private constructor();
191
+ }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- var _a, _b;
2
+ var _a, _b, _c;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.CloneRepository = exports.Ec2Environment = exports.ImageId = exports.ConnectionType = void 0;
4
+ exports.Owner = exports.CloneRepository = exports.Ec2Environment = exports.ImageId = exports.ConnectionType = void 0;
5
5
  const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
6
6
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
7
  const ec2 = require("aws-cdk-lib/aws-ec2");
@@ -64,6 +64,7 @@ class Ec2Environment extends cdk.Resource {
64
64
  const c9env = new aws_cloud9_1.CfnEnvironmentEC2(this, 'Resource', {
65
65
  name: props.ec2EnvironmentName,
66
66
  description: props.description,
67
+ ownerArn: props.owner?.ownerArn,
67
68
  instanceType: props.instanceType?.toString() ?? ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.MICRO).toString(),
68
69
  subnetId: this.vpc.selectSubnets(vpcSubnets).subnetIds[0],
69
70
  repositories: props.clonedRepositories ? props.clonedRepositories.map(r => ({
@@ -98,7 +99,7 @@ class Ec2Environment extends cdk.Resource {
98
99
  }
99
100
  exports.Ec2Environment = Ec2Environment;
100
101
  _a = JSII_RTTI_SYMBOL_1;
101
- Ec2Environment[_a] = { fqn: "@aws-cdk/aws-cloud9-alpha.Ec2Environment", version: "2.63.2-alpha.0" };
102
+ Ec2Environment[_a] = { fqn: "@aws-cdk/aws-cloud9-alpha.Ec2Environment", version: "2.64.0-alpha.0" };
102
103
  /**
103
104
  * The class for different repository providers
104
105
  */
@@ -122,5 +123,41 @@ class CloneRepository {
122
123
  }
123
124
  exports.CloneRepository = CloneRepository;
124
125
  _b = JSII_RTTI_SYMBOL_1;
125
- CloneRepository[_b] = { fqn: "@aws-cdk/aws-cloud9-alpha.CloneRepository", version: "2.63.2-alpha.0" };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSwyQ0FBMkM7QUFDM0MsbUNBQW1DO0FBRW5DLHVEQUEyRDtBQXNCM0Q7O0dBRUc7QUFDSCxJQUFZLGNBV1g7QUFYRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCw2Q0FBMkIsQ0FBQTtJQUMzQjs7OztPQUlHO0lBQ0gsNkNBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVhXLGNBQWMsR0FBZCxzQkFBYyxLQUFkLHNCQUFjLFFBV3pCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLE9BU1g7QUFURCxXQUFZLE9BQU87SUFDakI7O09BRUc7SUFDSCxrREFBdUMsQ0FBQTtJQUN2Qzs7T0FFRztJQUNILCtDQUFvQyxDQUFBO0FBQ3RDLENBQUMsRUFUVyxPQUFPLEdBQVAsZUFBTyxLQUFQLGVBQU8sUUFTbEI7QUFpRUQ7OztHQUdHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUE2QzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7OytDQTlDUixjQUFjOzs7O1FBZ0R2QixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLG9HQUFvRyxDQUFDLENBQUM7U0FDdkg7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDakU7UUFFRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEYsTUFBTSxLQUFLLEdBQUcsSUFBSSw4QkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3BELElBQUksRUFBRSxLQUFLLENBQUMsa0JBQWtCO1lBQzlCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUNwSSxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN6RCxZQUFZLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDMUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxhQUFhO2dCQUM5QixhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWE7YUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDZixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsSUFBSSxjQUFjLENBQUMsV0FBVztZQUNsRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sc0NBQXNDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztLQUNwRztJQXpFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxrQkFBMEI7UUFDM0YsTUFBTSxNQUFPLFNBQVEsR0FBRyxDQUFDLFFBQVE7WUFBakM7O2dCQUNTLHVCQUFrQixHQUFHLGtCQUFrQixDQUFDO2dCQUN4QyxzQkFBaUIsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxRQUFRO29CQUNqQixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7aUJBQ3RDLENBQUMsQ0FBQztZQUNMLENBQUM7U0FBQTtRQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQzlCOztBQWRILHdDQTJFQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFjMUIsWUFBb0MsYUFBcUIsRUFBa0IsYUFBcUI7UUFBNUQsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFBa0Isa0JBQWEsR0FBYixhQUFhLENBQVE7S0FBSTtJQWJwRzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBa0MsRUFBRSxJQUFZO1FBQzNFLE9BQU87WUFDTCxhQUFhLEVBQUUsVUFBVSxDQUFDLHNCQUFzQjtZQUNoRCxhQUFhLEVBQUUsSUFBSTtTQUNwQixDQUFDO0tBQ0g7O0FBWkgsMENBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb2RlY29tbWl0IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2RlY29tbWl0JztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IENmbkVudmlyb25tZW50RUMyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkOSc7XG5cbi8qKlxuICogQSBDbG91ZDkgRW52aXJvbm1lbnRcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUVjMkVudmlyb25tZW50IGV4dGVuZHMgY2RrLklSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgRW52aXJvbm1lbnRFYzJcbiAgICpcbiAgICogQGF0dHJpYnV0ZSBlbnZpcm9ubWVudEVjMk5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGVjMkVudmlyb25tZW50TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYXJuIG9mIHRoZSBFbnZpcm9ubWVudEVjMlxuICAgKlxuICAgKiBAYXR0cmlidXRlIGVudmlyb25tZW50RTJBcm5cbiAgICovXG4gIHJlYWRvbmx5IGVjMkVudmlyb25tZW50QXJuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIGNvbm5lY3Rpb24gdHlwZSB1c2VkIGZvciBjb25uZWN0aW5nIHRvIGFuIEFtYXpvbiBFQzIgZW52aXJvbm1lbnQuXG4gKi9cbmV4cG9ydCBlbnVtIENvbm5lY3Rpb25UeXBlIHtcbiAgLyoqXG4gICAqIENvbm5lY3QgdGhyb3VnaCBTU0hcbiAgICovXG4gIENPTk5FQ1RfU1NIID0gJ0NPTk5FQ1RfU1NIJyxcbiAgLyoqXG4gICAqIENvbm5lY3QgdGhyb3VnaCBBV1MgU3lzdGVtcyBNYW5hZ2VyXG4gICAqIFdoZW4gdXNpbmcgU1NNLCBzZXJ2aWNlIHJvbGUgYW5kIGluc3RhbmNlIHByb2ZpbGUgYXJlbid0IGF1dG9tYXRpY2FsbHkgY3JlYXRlZC5cbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbG91ZDkvbGF0ZXN0L3VzZXItZ3VpZGUvZWMyLXNzbS5odG1sI3NlcnZpY2Utcm9sZS1zc21cbiAgICovXG4gIENPTk5FQ1RfU1NNID0gJ0NPTk5FQ1RfU1NNJ1xufVxuXG4vKipcbiAqIFRoZSBpbWFnZSBJRCB1c2VkIGZvciBjcmVhdGluZyBhbiBBbWF6b24gRUMyIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgZW51bSBJbWFnZUlkIHtcbiAgLyoqXG4gICAqIENyZWF0ZSB1c2luZyBBbWF6b24gTGludXggMlxuICAgKi9cbiAgQU1BWk9OX0xJTlVYXzIgPSAnYW1hem9ubGludXgtMi14ODZfNjQnLFxuICAvKipcbiAgICogQ3JlYXRlIHVzaW5nIFVidW51dCAxOC4wNFxuICAgKi9cbiAgVUJVTlRVXzE4XzA0ID0gJ3VidW50dS0xOC4wNC14ODZfNjQnXG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRWMyRW52aXJvbm1lbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFYzJFbnZpcm9ubWVudFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGluc3RhbmNlIHRvIGNvbm5lY3QgdG8gdGhlIGVudmlyb25tZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHQyLm1pY3JvXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZVR5cGU/OiBlYzIuSW5zdGFuY2VUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgc3VibmV0U2VsZWN0aW9uIG9mIHRoZSBWUEMgdGhhdCBBV1MgQ2xvdWQ5IHdpbGwgdXNlIHRvIGNvbW11bmljYXRlIHdpdGhcbiAgICogdGhlIEFtYXpvbiBFQzIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYWxsIHB1YmxpYyBzdWJuZXRzIG9mIHRoZSBWUEMgYXJlIHNlbGVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogVGhlIFZQQyB0aGF0IEFXUyBDbG91ZDkgd2lsbCB1c2UgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgQW1hem9uIEVsYXN0aWMgQ29tcHV0ZSBDbG91ZCAoQW1hem9uIEVDMikgaW5zdGFuY2UuXG4gICAqXG4gICAqL1xuICByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBlbnZpcm9ubWVudFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGVjMkVudmlyb25tZW50TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gb2YgdGhlIGVudmlyb25tZW50XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIENvZGVDb21taXQgcmVwb3NpdG9yeSB0byBiZSBjbG9uZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkbyBub3QgY2xvbmUgYW55IHJlcG9zaXRvcnlcbiAgICovXG4gIC8vIHJlYWRvbmx5IGNsb25lZFJlcG9zaXRvcmllcz86IENsb3VkOVJlcG9zaXRvcnlbXTtcbiAgcmVhZG9ubHkgY2xvbmVkUmVwb3NpdG9yaWVzPzogQ2xvbmVSZXBvc2l0b3J5W107XG5cbiAgLyoqXG4gICAqIFRoZSBjb25uZWN0aW9uIHR5cGUgdXNlZCBmb3IgY29ubmVjdGluZyB0byBhbiBBbWF6b24gRUMyIGVudmlyb25tZW50LlxuICAgKlxuICAgKiBWYWxpZCB2YWx1ZXMgYXJlOiBDT05ORUNUX1NTSCAoZGVmYXVsdCkgYW5kIENPTk5FQ1RfU1NNIChjb25uZWN0ZWQgdGhyb3VnaCBBV1MgU3lzdGVtcyBNYW5hZ2VyKVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIENPTk5FQ1RfU1NIXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uVHlwZT86IENvbm5lY3Rpb25UeXBlXG5cbiAgLyoqXG4gICAqIFRoZSBpbWFnZSBJRCB1c2VkIGZvciBjcmVhdGluZyBhbiBBbWF6b24gRUMyIGVudmlyb25tZW50LlxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VJZDogSW1hZ2VJZFxufVxuXG4vKipcbiAqIEEgQ2xvdWQ5IEVudmlyb25tZW50IHdpdGggQW1hem9uIEVDMlxuICogQHJlc291cmNlIEFXUzo6Q2xvdWQ5OjpFbnZpcm9ubWVudEVDMlxuICovXG5leHBvcnQgY2xhc3MgRWMyRW52aXJvbm1lbnQgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJRWMyRW52aXJvbm1lbnQge1xuICAvKipcbiAgICogaW1wb3J0IGZyb20gRW52aXJvbm1lbnRFYzJOYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21FYzJFbnZpcm9ubWVudE5hbWUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZWMyRW52aXJvbm1lbnROYW1lOiBzdHJpbmcpOiBJRWMyRW52aXJvbm1lbnQge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIGNkay5SZXNvdXJjZSB7XG4gICAgICBwdWJsaWMgZWMyRW52aXJvbm1lbnROYW1lID0gZWMyRW52aXJvbm1lbnROYW1lO1xuICAgICAgcHVibGljIGVjMkVudmlyb25tZW50QXJuID0gY2RrLlN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgIHNlcnZpY2U6ICdjbG91ZDknLFxuICAgICAgICByZXNvdXJjZTogJ2Vudmlyb25tZW50JyxcbiAgICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLmVjMkVudmlyb25tZW50TmFtZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCBuYW1lIG9mIHRoaXMgQ2xvdWQ5IGVudmlyb25tZW50XG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlYzJFbnZpcm9ubWVudE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IEFSTiBvZiB0aGlzIENsb3VkOSBlbnZpcm9ubWVudFxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZWMyRW52aXJvbm1lbnRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IElEIG9mIHRoaXMgQ2xvdWQ5IGVudmlyb25tZW50XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW52aXJvbm1lbnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29tcGxldGUgSURFIFVSTCBvZiB0aGlzIENsb3VkOSBlbnZpcm9ubWVudFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlkZVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWUEMgSURcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFYzJFbnZpcm9ubWVudFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudnBjID0gcHJvcHMudnBjO1xuICAgIGlmICghcHJvcHMuc3VibmV0U2VsZWN0aW9uICYmIHRoaXMudnBjLnB1YmxpY1N1Ym5ldHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIHN1Ym5ldFNlbGVjdGlvbiBzcGVjaWZpZWQgYW5kIG5vIHB1YmxpYyBzdWJuZXQgZm91bmQgaW4gdGhlIHZwYywgcGxlYXNlIHNwZWNpZnkgc3VibmV0U2VsZWN0aW9uJyk7XG4gICAgfVxuXG4gICAgaWYgKCFwcm9wcy5pbWFnZUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGltYWdlSWQgc3BlY2lmaWVkLCBwbGVhc2Ugc3BlY2lmeSBpbWFnZUlkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdnBjU3VibmV0cyA9IHByb3BzLnN1Ym5ldFNlbGVjdGlvbiA/PyB7IHN1Ym5ldFR5cGU6IGVjMi5TdWJuZXRUeXBlLlBVQkxJQyB9O1xuICAgIGNvbnN0IGM5ZW52ID0gbmV3IENmbkVudmlyb25tZW50RUMyKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHByb3BzLmVjMkVudmlyb25tZW50TmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlPy50b1N0cmluZygpID8/IGVjMi5JbnN0YW5jZVR5cGUub2YoZWMyLkluc3RhbmNlQ2xhc3MuQlVSU1RBQkxFMiwgZWMyLkluc3RhbmNlU2l6ZS5NSUNSTykudG9TdHJpbmcoKSxcbiAgICAgIHN1Ym5ldElkOiB0aGlzLnZwYy5zZWxlY3RTdWJuZXRzKHZwY1N1Ym5ldHMpLnN1Ym5ldElkc1swXSxcbiAgICAgIHJlcG9zaXRvcmllczogcHJvcHMuY2xvbmVkUmVwb3NpdG9yaWVzID8gcHJvcHMuY2xvbmVkUmVwb3NpdG9yaWVzLm1hcChyID0+ICh7XG4gICAgICAgIHJlcG9zaXRvcnlVcmw6IHIucmVwb3NpdG9yeVVybCxcbiAgICAgICAgcGF0aENvbXBvbmVudDogci5wYXRoQ29tcG9uZW50LFxuICAgICAgfSkpIDogdW5kZWZpbmVkLFxuICAgICAgY29ubmVjdGlvblR5cGU6IHByb3BzLmNvbm5lY3Rpb25UeXBlID8/IENvbm5lY3Rpb25UeXBlLkNPTk5FQ1RfU1NILFxuICAgICAgaW1hZ2VJZDogcHJvcHMuaW1hZ2VJZCxcbiAgICB9KTtcbiAgICB0aGlzLmVudmlyb25tZW50SWQgPSBjOWVudi5yZWY7XG4gICAgdGhpcy5lYzJFbnZpcm9ubWVudEFybiA9IGM5ZW52LmdldEF0dCgnQXJuJykudG9TdHJpbmcoKTtcbiAgICB0aGlzLmVjMkVudmlyb25tZW50TmFtZSA9IGM5ZW52LmdldEF0dCgnTmFtZScpLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5pZGVVcmwgPSBgaHR0cHM6Ly8ke3RoaXMuZW52LnJlZ2lvbn0uY29uc29sZS5hd3MuYW1hem9uLmNvbS9jbG91ZDkvaWRlLyR7dGhpcy5lbnZpcm9ubWVudElkfWA7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgY2xhc3MgZm9yIGRpZmZlcmVudCByZXBvc2l0b3J5IHByb3ZpZGVyc1xuICovXG5leHBvcnQgY2xhc3MgQ2xvbmVSZXBvc2l0b3J5IHtcbiAgLyoqXG4gICAqIGltcG9ydCByZXBvc2l0b3J5IHRvIGNsb3VkOSBlbnZpcm9ubWVudCBmcm9tIEFXUyBDb2RlQ29tbWl0XG4gICAqXG4gICAqIEBwYXJhbSByZXBvc2l0b3J5IHRoZSBjb2RlY29tbWl0IHJlcG9zaXRvcnkgdG8gY2xvbmUgZnJvbVxuICAgKiBAcGFyYW0gcGF0aCAgdGhlIHRhcmdldCBwYXRoIGluIGNsb3VkOSBlbnZpcm9ubWVudFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQ29kZUNvbW1pdChyZXBvc2l0b3J5OiBjb2RlY29tbWl0LklSZXBvc2l0b3J5LCBwYXRoOiBzdHJpbmcpOiBDbG9uZVJlcG9zaXRvcnkge1xuICAgIHJldHVybiB7XG4gICAgICByZXBvc2l0b3J5VXJsOiByZXBvc2l0b3J5LnJlcG9zaXRvcnlDbG9uZVVybEh0dHAsXG4gICAgICBwYXRoQ29tcG9uZW50OiBwYXRoLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSByZXBvc2l0b3J5VXJsOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBwYXRoQ29tcG9uZW50OiBzdHJpbmcpIHt9XG59XG4iXX0=
126
+ CloneRepository[_b] = { fqn: "@aws-cdk/aws-cloud9-alpha.CloneRepository", version: "2.64.0-alpha.0" };
127
+ /**
128
+ * An environment owner
129
+ *
130
+ *
131
+ */
132
+ class Owner {
133
+ /**
134
+ *
135
+ * @param ownerArn of environment owner.
136
+ */
137
+ constructor(ownerArn) {
138
+ this.ownerArn = ownerArn;
139
+ }
140
+ /**
141
+ * Make an IAM user the environment owner
142
+ *
143
+ * User need to have AWSCloud9Administrator permissions
144
+ * @see https://docs.aws.amazon.com/cloud9/latest/user-guide/share-environment.html#share-environment-about
145
+ *
146
+ * @param user the User object to use as the environment owner
147
+ */
148
+ static user(user) {
149
+ return { ownerArn: user.userArn };
150
+ }
151
+ /**
152
+ * Make the Account Root User the environment owner (not recommended)
153
+ *
154
+ * @param accountId the AccountId to use as the environment owner.
155
+ */
156
+ static accountRoot(accountId) {
157
+ return { ownerArn: `arn:aws:iam::${accountId}:root` };
158
+ }
159
+ }
160
+ exports.Owner = Owner;
161
+ _c = JSII_RTTI_SYMBOL_1;
162
+ Owner[_c] = { fqn: "@aws-cdk/aws-cloud9-alpha.Owner", version: "2.64.0-alpha.0" };
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSwyQ0FBMkM7QUFFM0MsbUNBQW1DO0FBRW5DLHVEQUEyRDtBQXNCM0Q7O0dBRUc7QUFDSCxJQUFZLGNBV1g7QUFYRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCw2Q0FBMkIsQ0FBQTtJQUMzQjs7OztPQUlHO0lBQ0gsNkNBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVhXLGNBQWMsR0FBZCxzQkFBYyxLQUFkLHNCQUFjLFFBV3pCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLE9BU1g7QUFURCxXQUFZLE9BQU87SUFDakI7O09BRUc7SUFDSCxrREFBdUMsQ0FBQTtJQUN2Qzs7T0FFRztJQUNILCtDQUFvQyxDQUFBO0FBQ3RDLENBQUMsRUFUVyxPQUFPLEdBQVAsZUFBTyxLQUFQLGVBQU8sUUFTbEI7QUF5RUQ7OztHQUdHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUE2QzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7OytDQTlDUixjQUFjOzs7O1FBZ0R2QixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLG9HQUFvRyxDQUFDLENBQUM7U0FDdkg7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDakU7UUFFRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEYsTUFBTSxLQUFLLEdBQUcsSUFBSSw4QkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3BELElBQUksRUFBRSxLQUFLLENBQUMsa0JBQWtCO1lBQzlCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixRQUFRLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRO1lBQy9CLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFO1lBQ3BJLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3pELFlBQVksRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLGFBQWE7Z0JBQzlCLGFBQWEsRUFBRSxDQUFDLENBQUMsYUFBYTthQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNmLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYyxJQUFJLGNBQWMsQ0FBQyxXQUFXO1lBQ2xFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxzQ0FBc0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0tBQ3BHO0lBMUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLHNCQUFzQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLGtCQUEwQjtRQUMzRixNQUFNLE1BQU8sU0FBUSxHQUFHLENBQUMsUUFBUTtZQUFqQzs7Z0JBQ1MsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUM7Z0JBQ3hDLHNCQUFpQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtpQkFDdEMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUFBO1FBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDOUI7O0FBZEgsd0NBNEVDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsZUFBZTtJQWMxQixZQUFvQyxhQUFxQixFQUFrQixhQUFxQjtRQUE1RCxrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUFrQixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtLQUFJO0lBYnBHOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFrQyxFQUFFLElBQVk7UUFDM0UsT0FBTztZQUNMLGFBQWEsRUFBRSxVQUFVLENBQUMsc0JBQXNCO1lBQ2hELGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUM7S0FDSDs7QUFaSCwwQ0FlQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsS0FBSztJQXVCaEI7OztPQUdHO0lBQ0gsWUFBb0MsUUFBZ0I7UUFBaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtLQUFJO0lBMUJ4RDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFXO1FBQzVCLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ25DO0lBR0Q7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBaUI7UUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsU0FBUyxPQUFPLEVBQUUsQ0FBQztLQUN2RDs7QUFyQkgsc0JBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29kZWNvbW1pdCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdCc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBJVXNlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2ZuRW52aXJvbm1lbnRFQzIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWQ5JztcblxuLyoqXG4gKiBBIENsb3VkOSBFbnZpcm9ubWVudFxuICpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRWMyRW52aXJvbm1lbnQgZXh0ZW5kcyBjZGsuSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBFbnZpcm9ubWVudEVjMlxuICAgKlxuICAgKiBAYXR0cmlidXRlIGVudmlyb25tZW50RWMyTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZWMyRW52aXJvbm1lbnROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhcm4gb2YgdGhlIEVudmlyb25tZW50RWMyXG4gICAqXG4gICAqIEBhdHRyaWJ1dGUgZW52aXJvbm1lbnRFMkFyblxuICAgKi9cbiAgcmVhZG9ubHkgZWMyRW52aXJvbm1lbnRBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgY29ubmVjdGlvbiB0eXBlIHVzZWQgZm9yIGNvbm5lY3RpbmcgdG8gYW4gQW1hem9uIEVDMiBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGVudW0gQ29ubmVjdGlvblR5cGUge1xuICAvKipcbiAgICogQ29ubmVjdCB0aHJvdWdoIFNTSFxuICAgKi9cbiAgQ09OTkVDVF9TU0ggPSAnQ09OTkVDVF9TU0gnLFxuICAvKipcbiAgICogQ29ubmVjdCB0aHJvdWdoIEFXUyBTeXN0ZW1zIE1hbmFnZXJcbiAgICogV2hlbiB1c2luZyBTU00sIHNlcnZpY2Ugcm9sZSBhbmQgaW5zdGFuY2UgcHJvZmlsZSBhcmVuJ3QgYXV0b21hdGljYWxseSBjcmVhdGVkLlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nsb3VkOS9sYXRlc3QvdXNlci1ndWlkZS9lYzItc3NtLmh0bWwjc2VydmljZS1yb2xlLXNzbVxuICAgKi9cbiAgQ09OTkVDVF9TU00gPSAnQ09OTkVDVF9TU00nXG59XG5cbi8qKlxuICogVGhlIGltYWdlIElEIHVzZWQgZm9yIGNyZWF0aW5nIGFuIEFtYXpvbiBFQzIgZW52aXJvbm1lbnQuXG4gKi9cbmV4cG9ydCBlbnVtIEltYWdlSWQge1xuICAvKipcbiAgICogQ3JlYXRlIHVzaW5nIEFtYXpvbiBMaW51eCAyXG4gICAqL1xuICBBTUFaT05fTElOVVhfMiA9ICdhbWF6b25saW51eC0yLXg4Nl82NCcsXG4gIC8qKlxuICAgKiBDcmVhdGUgdXNpbmcgVWJ1bnV0IDE4LjA0XG4gICAqL1xuICBVQlVOVFVfMThfMDQgPSAndWJ1bnR1LTE4LjA0LXg4Nl82NCdcbn1cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRWMyRW52aXJvbm1lbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFYzJFbnZpcm9ubWVudFByb3BzIHtcbiAgLyoqXG4gICAqIE93bmVyIG9mIHRoZSBlbnZpcm9ubWVudC5cbiAgICpcbiAgICogVGhlIG93bmVyIGhhcyBmdWxsIGNvbnRyb2wgb2YgdGhlIGVudmlyb25tZW50IGFuZCBjYW4gaW52aXRlIGFkZGl0aW9uYWwgbWVtYmVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgaWRlbnRpdHkgdGhhdCBDbG91ZEZvcm1hdGlvbiBleGVjdXRlcyB1bmRlciB3aWxsIGJlIHRoZSBvd25lclxuICAgKi9cbiAgcmVhZG9ubHkgb3duZXI/OiBPd25lcjtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgaW5zdGFuY2UgdG8gY29ubmVjdCB0byB0aGUgZW52aXJvbm1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdDIubWljcm9cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlVHlwZT86IGVjMi5JbnN0YW5jZVR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJuZXRTZWxlY3Rpb24gb2YgdGhlIFZQQyB0aGF0IEFXUyBDbG91ZDkgd2lsbCB1c2UgdG8gY29tbXVuaWNhdGUgd2l0aFxuICAgKiB0aGUgQW1hem9uIEVDMiBpbnN0YW5jZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhbGwgcHVibGljIHN1Ym5ldHMgb2YgdGhlIFZQQyBhcmUgc2VsZWN0ZWQuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRTZWxlY3Rpb24/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIHRoYXQgQVdTIENsb3VkOSB3aWxsIHVzZSB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBBbWF6b24gRWxhc3RpYyBDb21wdXRlIENsb3VkIChBbWF6b24gRUMyKSBpbnN0YW5jZS5cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGVudmlyb25tZW50XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZWMyRW52aXJvbm1lbnROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXNjcmlwdGlvbiBvZiB0aGUgZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgQ29kZUNvbW1pdCByZXBvc2l0b3J5IHRvIGJlIGNsb25lZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvIG5vdCBjbG9uZSBhbnkgcmVwb3NpdG9yeVxuICAgKi9cbiAgLy8gcmVhZG9ubHkgY2xvbmVkUmVwb3NpdG9yaWVzPzogQ2xvdWQ5UmVwb3NpdG9yeVtdO1xuICByZWFkb25seSBjbG9uZWRSZXBvc2l0b3JpZXM/OiBDbG9uZVJlcG9zaXRvcnlbXTtcblxuICAvKipcbiAgICogVGhlIGNvbm5lY3Rpb24gdHlwZSB1c2VkIGZvciBjb25uZWN0aW5nIHRvIGFuIEFtYXpvbiBFQzIgZW52aXJvbm1lbnQuXG4gICAqXG4gICAqIFZhbGlkIHZhbHVlcyBhcmU6IENPTk5FQ1RfU1NIIChkZWZhdWx0KSBhbmQgQ09OTkVDVF9TU00gKGNvbm5lY3RlZCB0aHJvdWdoIEFXUyBTeXN0ZW1zIE1hbmFnZXIpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ09OTkVDVF9TU0hcbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25UeXBlPzogQ29ubmVjdGlvblR5cGVcblxuICAvKipcbiAgICogVGhlIGltYWdlIElEIHVzZWQgZm9yIGNyZWF0aW5nIGFuIEFtYXpvbiBFQzIgZW52aXJvbm1lbnQuXG4gICAqXG4gICAqL1xuICByZWFkb25seSBpbWFnZUlkOiBJbWFnZUlkXG59XG5cbi8qKlxuICogQSBDbG91ZDkgRW52aXJvbm1lbnQgd2l0aCBBbWF6b24gRUMyXG4gKiBAcmVzb3VyY2UgQVdTOjpDbG91ZDk6OkVudmlyb25tZW50RUMyXG4gKi9cbmV4cG9ydCBjbGFzcyBFYzJFbnZpcm9ubWVudCBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIElFYzJFbnZpcm9ubWVudCB7XG4gIC8qKlxuICAgKiBpbXBvcnQgZnJvbSBFbnZpcm9ubWVudEVjMk5hbWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUVjMkVudmlyb25tZW50TmFtZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBlYzJFbnZpcm9ubWVudE5hbWU6IHN0cmluZyk6IElFYzJFbnZpcm9ubWVudCB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgY2RrLlJlc291cmNlIHtcbiAgICAgIHB1YmxpYyBlYzJFbnZpcm9ubWVudE5hbWUgPSBlYzJFbnZpcm9ubWVudE5hbWU7XG4gICAgICBwdWJsaWMgZWMyRW52aXJvbm1lbnRBcm4gPSBjZGsuU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgc2VydmljZTogJ2Nsb3VkOScsXG4gICAgICAgIHJlc291cmNlOiAnZW52aXJvbm1lbnQnLFxuICAgICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZWMyRW52aXJvbm1lbnROYW1lLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IG5hbWUgb2YgdGhpcyBDbG91ZDkgZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVjMkVudmlyb25tZW50TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgQVJOIG9mIHRoaXMgQ2xvdWQ5IGVudmlyb25tZW50XG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlYzJFbnZpcm9ubWVudEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgSUQgb2YgdGhpcyBDbG91ZDkgZW52aXJvbm1lbnRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlbnZpcm9ubWVudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21wbGV0ZSBJREUgVVJMIG9mIHRoaXMgQ2xvdWQ5IGVudmlyb25tZW50XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWRlVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyBJRFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjMkVudmlyb25tZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy52cGMgPSBwcm9wcy52cGM7XG4gICAgaWYgKCFwcm9wcy5zdWJuZXRTZWxlY3Rpb24gJiYgdGhpcy52cGMucHVibGljU3VibmV0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbm8gc3VibmV0U2VsZWN0aW9uIHNwZWNpZmllZCBhbmQgbm8gcHVibGljIHN1Ym5ldCBmb3VuZCBpbiB0aGUgdnBjLCBwbGVhc2Ugc3BlY2lmeSBzdWJuZXRTZWxlY3Rpb24nKTtcbiAgICB9XG5cbiAgICBpZiAoIXByb3BzLmltYWdlSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gaW1hZ2VJZCBzcGVjaWZpZWQsIHBsZWFzZSBzcGVjaWZ5IGltYWdlSWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB2cGNTdWJuZXRzID0gcHJvcHMuc3VibmV0U2VsZWN0aW9uID8/IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH07XG4gICAgY29uc3QgYzllbnYgPSBuZXcgQ2ZuRW52aXJvbm1lbnRFQzIodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuZWMyRW52aXJvbm1lbnROYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgb3duZXJBcm46IHByb3BzLm93bmVyPy5vd25lckFybixcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlPy50b1N0cmluZygpID8/IGVjMi5JbnN0YW5jZVR5cGUub2YoZWMyLkluc3RhbmNlQ2xhc3MuQlVSU1RBQkxFMiwgZWMyLkluc3RhbmNlU2l6ZS5NSUNSTykudG9TdHJpbmcoKSxcbiAgICAgIHN1Ym5ldElkOiB0aGlzLnZwYy5zZWxlY3RTdWJuZXRzKHZwY1N1Ym5ldHMpLnN1Ym5ldElkc1swXSxcbiAgICAgIHJlcG9zaXRvcmllczogcHJvcHMuY2xvbmVkUmVwb3NpdG9yaWVzID8gcHJvcHMuY2xvbmVkUmVwb3NpdG9yaWVzLm1hcChyID0+ICh7XG4gICAgICAgIHJlcG9zaXRvcnlVcmw6IHIucmVwb3NpdG9yeVVybCxcbiAgICAgICAgcGF0aENvbXBvbmVudDogci5wYXRoQ29tcG9uZW50LFxuICAgICAgfSkpIDogdW5kZWZpbmVkLFxuICAgICAgY29ubmVjdGlvblR5cGU6IHByb3BzLmNvbm5lY3Rpb25UeXBlID8/IENvbm5lY3Rpb25UeXBlLkNPTk5FQ1RfU1NILFxuICAgICAgaW1hZ2VJZDogcHJvcHMuaW1hZ2VJZCxcbiAgICB9KTtcbiAgICB0aGlzLmVudmlyb25tZW50SWQgPSBjOWVudi5yZWY7XG4gICAgdGhpcy5lYzJFbnZpcm9ubWVudEFybiA9IGM5ZW52LmdldEF0dCgnQXJuJykudG9TdHJpbmcoKTtcbiAgICB0aGlzLmVjMkVudmlyb25tZW50TmFtZSA9IGM5ZW52LmdldEF0dCgnTmFtZScpLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5pZGVVcmwgPSBgaHR0cHM6Ly8ke3RoaXMuZW52LnJlZ2lvbn0uY29uc29sZS5hd3MuYW1hem9uLmNvbS9jbG91ZDkvaWRlLyR7dGhpcy5lbnZpcm9ubWVudElkfWA7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgY2xhc3MgZm9yIGRpZmZlcmVudCByZXBvc2l0b3J5IHByb3ZpZGVyc1xuICovXG5leHBvcnQgY2xhc3MgQ2xvbmVSZXBvc2l0b3J5IHtcbiAgLyoqXG4gICAqIGltcG9ydCByZXBvc2l0b3J5IHRvIGNsb3VkOSBlbnZpcm9ubWVudCBmcm9tIEFXUyBDb2RlQ29tbWl0XG4gICAqXG4gICAqIEBwYXJhbSByZXBvc2l0b3J5IHRoZSBjb2RlY29tbWl0IHJlcG9zaXRvcnkgdG8gY2xvbmUgZnJvbVxuICAgKiBAcGFyYW0gcGF0aCAgdGhlIHRhcmdldCBwYXRoIGluIGNsb3VkOSBlbnZpcm9ubWVudFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQ29kZUNvbW1pdChyZXBvc2l0b3J5OiBjb2RlY29tbWl0LklSZXBvc2l0b3J5LCBwYXRoOiBzdHJpbmcpOiBDbG9uZVJlcG9zaXRvcnkge1xuICAgIHJldHVybiB7XG4gICAgICByZXBvc2l0b3J5VXJsOiByZXBvc2l0b3J5LnJlcG9zaXRvcnlDbG9uZVVybEh0dHAsXG4gICAgICBwYXRoQ29tcG9uZW50OiBwYXRoLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSByZXBvc2l0b3J5VXJsOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBwYXRoQ29tcG9uZW50OiBzdHJpbmcpIHt9XG59XG5cbi8qKlxuICogQW4gZW52aXJvbm1lbnQgb3duZXJcbiAqXG4gKlxuICovXG5leHBvcnQgY2xhc3MgT3duZXIge1xuICAvKipcbiAgICogTWFrZSBhbiBJQU0gdXNlciB0aGUgZW52aXJvbm1lbnQgb3duZXJcbiAgICpcbiAgICogVXNlciBuZWVkIHRvIGhhdmUgQVdTQ2xvdWQ5QWRtaW5pc3RyYXRvciBwZXJtaXNzaW9uc1xuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbG91ZDkvbGF0ZXN0L3VzZXItZ3VpZGUvc2hhcmUtZW52aXJvbm1lbnQuaHRtbCNzaGFyZS1lbnZpcm9ubWVudC1hYm91dFxuICAgKlxuICAgKiBAcGFyYW0gdXNlciB0aGUgVXNlciBvYmplY3QgdG8gdXNlIGFzIHRoZSBlbnZpcm9ubWVudCBvd25lclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1c2VyKHVzZXI6IElVc2VyKTogT3duZXIge1xuICAgIHJldHVybiB7IG93bmVyQXJuOiB1c2VyLnVzZXJBcm4gfTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIE1ha2UgdGhlIEFjY291bnQgUm9vdCBVc2VyIHRoZSBlbnZpcm9ubWVudCBvd25lciAobm90IHJlY29tbWVuZGVkKVxuICAgKlxuICAgKiBAcGFyYW0gYWNjb3VudElkIHRoZSBBY2NvdW50SWQgdG8gdXNlIGFzIHRoZSBlbnZpcm9ubWVudCBvd25lci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWNjb3VudFJvb3QoYWNjb3VudElkOiBzdHJpbmcpOiBPd25lciB7XG4gICAgcmV0dXJuIHsgb3duZXJBcm46IGBhcm46YXdzOmlhbTo6JHthY2NvdW50SWR9OnJvb3RgIH07XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIG93bmVyQXJuIG9mIGVudmlyb25tZW50IG93bmVyLlxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgb3duZXJBcm46IHN0cmluZykge31cbn0iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-cloud9-alpha",
3
- "version": "2.63.2-alpha.0",
3
+ "version": "2.64.0-alpha.0",
4
4
  "private": false,
5
5
  "description": "The CDK Construct Library for AWS::Cloud9",
6
6
  "main": "lib/index.js",
@@ -81,19 +81,19 @@
81
81
  },
82
82
  "license": "Apache-2.0",
83
83
  "devDependencies": {
84
- "@aws-cdk/cdk-build-tools": "2.63.2",
85
- "@aws-cdk/cfn2ts": "2.63.2",
86
- "@aws-cdk/integ-runner": "2.63.2",
87
- "@aws-cdk/pkglint": "2.63.2",
84
+ "@aws-cdk/cdk-build-tools": "2.64.0",
85
+ "@aws-cdk/cfn2ts": "2.64.0",
86
+ "@aws-cdk/integ-runner": "2.64.0",
87
+ "@aws-cdk/pkglint": "2.64.0",
88
88
  "@types/jest": "^27.5.2",
89
- "aws-cdk-lib": "2.63.2",
89
+ "aws-cdk-lib": "2.64.0",
90
90
  "constructs": "^10.0.0",
91
- "@aws-cdk/integ-tests-alpha": "2.63.2-alpha.0"
91
+ "@aws-cdk/integ-tests-alpha": "2.64.0-alpha.0"
92
92
  },
93
93
  "dependencies": {},
94
94
  "homepage": "https://github.com/aws/aws-cdk",
95
95
  "peerDependencies": {
96
- "aws-cdk-lib": "^2.63.2",
96
+ "aws-cdk-lib": "^2.64.0",
97
97
  "constructs": "^10.0.0"
98
98
  },
99
99
  "engines": {