@aws-cdk/aws-cloud9-alpha 2.103.1-alpha.0 → 2.104.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.103.1",
11
+ "aws-cdk-lib": "^2.104.0",
12
12
  "constructs": "^10.0.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -3578,7 +3578,7 @@
3578
3578
  },
3579
3579
  "name": "@aws-cdk/aws-cloud9-alpha",
3580
3580
  "readme": {
3581
- "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\n## Auto-Hibernation\n\nA Cloud9 environemnt can automatically start and stop the associated EC2 instance to reduce costs.\n\nUse `automaticStop` to specify the number of minutes until the running instance is shut down after the environment was last used.\n\n```ts\nconst defaultVpc = ec2.Vpc.fromLookup(this, 'DefaultVPC', { isDefault: true });\nnew cloud9.Ec2Environment(this, 'Cloud9Env2', {\n vpc: defaultVpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n automaticStop: Duration.minutes(30),\n});\n"
3581
+ "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 an IAM entity that owns a Cloud9 environment. `Owner` has their own access permissions, and resources. You can specify an `Owner`in an EC2 environment which could be of the following types:\n\n1. Account Root\n2. IAM User\n3. IAM Federated User\n4. IAM Assumed Role\n\nThe ARN of the owner must satisfy the following regular expression: `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(iam|sts)::\\d+:(root|(user\\/[\\w+=/:,.@-]{1,64}|federated-user\\/[\\w+=/:,.@-]{2,32}|assumed-role\\/[\\w+=:,.@-]{1,64}\\/[\\w+=,.@-]{1,64}))$`\n\nNote: 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 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\nThe user should have the `AWSCloud9User` (preferred) or `AWSCloud9Administrator` managed policy attached.\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\nTo specify a specific IAM Federated User as the environment owner, use `Owner.federatedUser(accountId, userName)`.\n\nThe user should have the `AWSCloud9User` (preferred) or `AWSCloud9Administrator` managed policy attached.\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\n\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n owner: cloud9.Owner.federatedUser(Stack.of(this).account, \"Admin/johndoe\")\n})\n```\n\nTo specify an IAM Assumed Role as the environment owner, use `Owner.assumedRole(accountId: string, roleName: string)`.\n\nThe role should have the `AWSCloud9User` (preferred) or `AWSCloud9Administrator` managed policy attached.\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\n\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n owner: cloud9.Owner.assumedRole(Stack.of(this).account, \"Admin/johndoe-role\")\n})\n```\n\n## Auto-Hibernation\n\nA Cloud9 environment can automatically start and stop the associated EC2 instance to reduce costs.\n\nUse `automaticStop` to specify the number of minutes until the running instance is shut down after the environment was last used.\n\n```ts\nconst defaultVpc = ec2.Vpc.fromLookup(this, 'DefaultVPC', { isDefault: true });\nnew cloud9.Ec2Environment(this, 'Cloud9Env2', {\n vpc: defaultVpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n automaticStop: Duration.minutes(30),\n});\n"
3582
3582
  },
3583
3583
  "repository": {
3584
3584
  "directory": "packages/@aws-cdk/aws-cloud9-alpha",
@@ -4217,7 +4217,7 @@
4217
4217
  "docs": {
4218
4218
  "stability": "experimental",
4219
4219
  "summary": "An environment owner.",
4220
- "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})",
4220
+ "example": "import * as iam from 'aws-cdk-lib/aws-iam';\n\ndeclare const vpc: ec2.Vpc;\nnew cloud9.Ec2Environment(this, 'C9Env', {\n vpc,\n imageId: cloud9.ImageId.AMAZON_LINUX_2,\n owner: cloud9.Owner.federatedUser(Stack.of(this).account, \"Admin/johndoe\")\n})",
4221
4221
  "custom": {
4222
4222
  "exampleMetadata": "infused"
4223
4223
  }
@@ -4236,7 +4236,7 @@
4236
4236
  },
4237
4237
  "locationInModule": {
4238
4238
  "filename": "lib/environment.ts",
4239
- "line": 265
4239
+ "line": 285
4240
4240
  },
4241
4241
  "name": "accountRoot",
4242
4242
  "parameters": [
@@ -4257,6 +4257,80 @@
4257
4257
  },
4258
4258
  "static": true
4259
4259
  },
4260
+ {
4261
+ "docs": {
4262
+ "stability": "experimental",
4263
+ "summary": "Make an IAM assumed role the environment owner."
4264
+ },
4265
+ "locationInModule": {
4266
+ "filename": "lib/environment.ts",
4267
+ "line": 266
4268
+ },
4269
+ "name": "assumedRole",
4270
+ "parameters": [
4271
+ {
4272
+ "docs": {
4273
+ "summary": "The account id of the target account."
4274
+ },
4275
+ "name": "accountId",
4276
+ "type": {
4277
+ "primitive": "string"
4278
+ }
4279
+ },
4280
+ {
4281
+ "docs": {
4282
+ "summary": "The name of the assumed role."
4283
+ },
4284
+ "name": "roleName",
4285
+ "type": {
4286
+ "primitive": "string"
4287
+ }
4288
+ }
4289
+ ],
4290
+ "returns": {
4291
+ "type": {
4292
+ "fqn": "@aws-cdk/aws-cloud9-alpha.Owner"
4293
+ }
4294
+ },
4295
+ "static": true
4296
+ },
4297
+ {
4298
+ "docs": {
4299
+ "stability": "experimental",
4300
+ "summary": "Make an IAM federated user the environment owner."
4301
+ },
4302
+ "locationInModule": {
4303
+ "filename": "lib/environment.ts",
4304
+ "line": 276
4305
+ },
4306
+ "name": "federatedUser",
4307
+ "parameters": [
4308
+ {
4309
+ "docs": {
4310
+ "summary": "The AccountId of the target account."
4311
+ },
4312
+ "name": "accountId",
4313
+ "type": {
4314
+ "primitive": "string"
4315
+ }
4316
+ },
4317
+ {
4318
+ "docs": {
4319
+ "summary": "The name of the federated user."
4320
+ },
4321
+ "name": "userName",
4322
+ "type": {
4323
+ "primitive": "string"
4324
+ }
4325
+ }
4326
+ ],
4327
+ "returns": {
4328
+ "type": {
4329
+ "fqn": "@aws-cdk/aws-cloud9-alpha.Owner"
4330
+ }
4331
+ },
4332
+ "static": true
4333
+ },
4260
4334
  {
4261
4335
  "docs": {
4262
4336
  "remarks": "User need to have AWSCloud9Administrator permissions",
@@ -4298,7 +4372,7 @@
4298
4372
  "immutable": true,
4299
4373
  "locationInModule": {
4300
4374
  "filename": "lib/environment.ts",
4301
- "line": 273
4375
+ "line": 293
4302
4376
  },
4303
4377
  "name": "ownerArn",
4304
4378
  "type": {
@@ -4309,6 +4383,6 @@
4309
4383
  "symbolId": "lib/environment:Owner"
4310
4384
  }
4311
4385
  },
4312
- "version": "2.103.1-alpha.0",
4386
+ "version": "2.104.0-alpha.0",
4313
4387
  "fingerprint": "**********"
4314
4388
  }
Binary file
package/README.md CHANGED
@@ -105,7 +105,16 @@ Every Cloud9 Environment has an **owner**. An owner has full control over the en
105
105
 
106
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
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)).
108
+ `Owner` is an IAM entity that owns a Cloud9 environment. `Owner` has their own access permissions, and resources. You can specify an `Owner`in an EC2 environment which could be of the following types:
109
+
110
+ 1. Account Root
111
+ 2. IAM User
112
+ 3. IAM Federated User
113
+ 4. IAM Assumed Role
114
+
115
+ The ARN of the owner must satisfy the following regular expression: `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(iam|sts)::\d+:(root|(user\/[\w+=/:,.@-]{1,64}|federated-user\/[\w+=/:,.@-]{2,32}|assumed-role\/[\w+=:,.@-]{1,64}\/[\w+=,.@-]{1,64}))$`
116
+
117
+ Note: 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
118
 
110
119
  To specify the AWS Account Root User as the environment owner, use `Owner.accountRoot()`
111
120
 
@@ -114,13 +123,14 @@ declare const vpc: ec2.Vpc;
114
123
  new cloud9.Ec2Environment(this, 'C9Env', {
115
124
  vpc,
116
125
  imageId: cloud9.ImageId.AMAZON_LINUX_2,
117
-
118
126
  owner: cloud9.Owner.accountRoot('111111111')
119
127
  })
120
128
  ```
121
129
 
122
130
  To specify a specific IAM User as the environment owner, use `Owner.user()`. The user should have the `AWSCloud9Administrator` managed policy
123
131
 
132
+ The user should have the `AWSCloud9User` (preferred) or `AWSCloud9Administrator` managed policy attached.
133
+
124
134
  ```ts
125
135
  import * as iam from 'aws-cdk-lib/aws-iam';
126
136
 
@@ -135,9 +145,39 @@ new cloud9.Ec2Environment(this, 'C9Env', {
135
145
  })
136
146
  ```
137
147
 
148
+ To specify a specific IAM Federated User as the environment owner, use `Owner.federatedUser(accountId, userName)`.
149
+
150
+ The user should have the `AWSCloud9User` (preferred) or `AWSCloud9Administrator` managed policy attached.
151
+
152
+ ```ts
153
+ import * as iam from 'aws-cdk-lib/aws-iam';
154
+
155
+ declare const vpc: ec2.Vpc;
156
+ new cloud9.Ec2Environment(this, 'C9Env', {
157
+ vpc,
158
+ imageId: cloud9.ImageId.AMAZON_LINUX_2,
159
+ owner: cloud9.Owner.federatedUser(Stack.of(this).account, "Admin/johndoe")
160
+ })
161
+ ```
162
+
163
+ To specify an IAM Assumed Role as the environment owner, use `Owner.assumedRole(accountId: string, roleName: string)`.
164
+
165
+ The role should have the `AWSCloud9User` (preferred) or `AWSCloud9Administrator` managed policy attached.
166
+
167
+ ```ts
168
+ import * as iam from 'aws-cdk-lib/aws-iam';
169
+
170
+ declare const vpc: ec2.Vpc;
171
+ new cloud9.Ec2Environment(this, 'C9Env', {
172
+ vpc,
173
+ imageId: cloud9.ImageId.AMAZON_LINUX_2,
174
+ owner: cloud9.Owner.assumedRole(Stack.of(this).account, "Admin/johndoe-role")
175
+ })
176
+ ```
177
+
138
178
  ## Auto-Hibernation
139
179
 
140
- A Cloud9 environemnt can automatically start and stop the associated EC2 instance to reduce costs.
180
+ A Cloud9 environment can automatically start and stop the associated EC2 instance to reduce costs.
141
181
 
142
182
  Use `automaticStop` to specify the number of minutes until the running instance is shut down after the environment was last used.
143
183
 
@@ -186,6 +186,20 @@ export declare class Owner {
186
186
  * @param user the User object to use as the environment owner
187
187
  */
188
188
  static user(user: IUser): Owner;
189
+ /**
190
+ * Make an IAM assumed role the environment owner
191
+ *
192
+ * @param accountId The account id of the target account
193
+ * @param roleName The name of the assumed role
194
+ */
195
+ static assumedRole(accountId: string, roleName: string): Owner;
196
+ /**
197
+ * Make an IAM federated user the environment owner
198
+ *
199
+ * @param accountId The AccountId of the target account
200
+ * @param userName The name of the federated user
201
+ */
202
+ static federatedUser(accountId: string, userName: string): Owner;
189
203
  /**
190
204
  * Make the Account Root User the environment owner (not recommended)
191
205
  *
@@ -100,7 +100,7 @@ class Ec2Environment extends cdk.Resource {
100
100
  }
101
101
  exports.Ec2Environment = Ec2Environment;
102
102
  _a = JSII_RTTI_SYMBOL_1;
103
- Ec2Environment[_a] = { fqn: "@aws-cdk/aws-cloud9-alpha.Ec2Environment", version: "2.103.1-alpha.0" };
103
+ Ec2Environment[_a] = { fqn: "@aws-cdk/aws-cloud9-alpha.Ec2Environment", version: "2.104.0-alpha.0" };
104
104
  /**
105
105
  * The class for different repository providers
106
106
  */
@@ -124,7 +124,7 @@ class CloneRepository {
124
124
  }
125
125
  exports.CloneRepository = CloneRepository;
126
126
  _b = JSII_RTTI_SYMBOL_1;
127
- CloneRepository[_b] = { fqn: "@aws-cdk/aws-cloud9-alpha.CloneRepository", version: "2.103.1-alpha.0" };
127
+ CloneRepository[_b] = { fqn: "@aws-cdk/aws-cloud9-alpha.CloneRepository", version: "2.104.0-alpha.0" };
128
128
  /**
129
129
  * An environment owner
130
130
  *
@@ -142,6 +142,24 @@ class Owner {
142
142
  static user(user) {
143
143
  return { ownerArn: user.userArn };
144
144
  }
145
+ /**
146
+ * Make an IAM assumed role the environment owner
147
+ *
148
+ * @param accountId The account id of the target account
149
+ * @param roleName The name of the assumed role
150
+ */
151
+ static assumedRole(accountId, roleName) {
152
+ return { ownerArn: `arn:${cdk.Aws.PARTITION}:sts::${accountId}:assumed-role/${roleName}` };
153
+ }
154
+ /**
155
+ * Make an IAM federated user the environment owner
156
+ *
157
+ * @param accountId The AccountId of the target account
158
+ * @param userName The name of the federated user
159
+ */
160
+ static federatedUser(accountId, userName) {
161
+ return { ownerArn: `arn:${cdk.Aws.PARTITION}:sts::${accountId}:federated-user/${userName}` };
162
+ }
145
163
  /**
146
164
  * Make the Account Root User the environment owner (not recommended)
147
165
  *
@@ -160,5 +178,5 @@ class Owner {
160
178
  }
161
179
  exports.Owner = Owner;
162
180
  _c = JSII_RTTI_SYMBOL_1;
163
- Owner[_c] = { fqn: "@aws-cdk/aws-cloud9-alpha.Owner", version: "2.103.1-alpha.0" };
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSwyQ0FBMkM7QUFFM0Msd0NBQXdDO0FBRXhDLHVEQUEyRDtBQXNCM0Q7O0dBRUc7QUFDSCxJQUFZLGNBV1g7QUFYRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCw2Q0FBMkIsQ0FBQTtJQUMzQjs7OztPQUlHO0lBQ0gsNkNBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVhXLGNBQWMsOEJBQWQsY0FBYyxRQVd6QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxPQVNYO0FBVEQsV0FBWSxPQUFPO0lBQ2pCOztPQUVHO0lBQ0gsa0RBQXVDLENBQUE7SUFDdkM7O09BRUc7SUFDSCwrQ0FBb0MsQ0FBQTtBQUN0QyxDQUFDLEVBVFcsT0FBTyx1QkFBUCxPQUFPLFFBU2xCO0FBbUZEOzs7R0FHRztBQUNILE1BQWEsY0FBZSxTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBQzlDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLHNCQUFzQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLGtCQUEwQjtRQUMzRixNQUFNLE1BQU8sU0FBUSxHQUFHLENBQUMsUUFBUTtZQUFqQzs7Z0JBQ1MsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUM7Z0JBQ3hDLHNCQUFpQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtpQkFDdEMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUFBO1FBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDOUI7SUErQkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxL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LENBQUMsSUFBVztRQUM1QixPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUNuQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQWlCO1FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsU0FBUyxTQUFTLE9BQU8sRUFBRSxDQUFDO0tBQ3hFO0lBRUQ7OztPQUdHO0lBQ0gsWUFBb0MsUUFBZ0I7UUFBaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtLQUFJOztBQTFCMUQsc0JBMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29kZWNvbW1pdCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdCc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBJVXNlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDZm5FbnZpcm9ubWVudEVDMiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZDknO1xuXG4vKipcbiAqIEEgQ2xvdWQ5IEVudmlyb25tZW50XG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElFYzJFbnZpcm9ubWVudCBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEVudmlyb25tZW50RWMyXG4gICAqXG4gICAqIEBhdHRyaWJ1dGUgZW52aXJvbm1lbnRFYzJOYW1lXG4gICAqL1xuICByZWFkb25seSBlYzJFbnZpcm9ubWVudE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFybiBvZiB0aGUgRW52aXJvbm1lbnRFYzJcbiAgICpcbiAgICogQGF0dHJpYnV0ZSBlbnZpcm9ubWVudEUyQXJuXG4gICAqL1xuICByZWFkb25seSBlYzJFbnZpcm9ubWVudEFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBjb25uZWN0aW9uIHR5cGUgdXNlZCBmb3IgY29ubmVjdGluZyB0byBhbiBBbWF6b24gRUMyIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgZW51bSBDb25uZWN0aW9uVHlwZSB7XG4gIC8qKlxuICAgKiBDb25uZWN0IHRocm91Z2ggU1NIXG4gICAqL1xuICBDT05ORUNUX1NTSCA9ICdDT05ORUNUX1NTSCcsXG4gIC8qKlxuICAgKiBDb25uZWN0IHRocm91Z2ggQVdTIFN5c3RlbXMgTWFuYWdlclxuICAgKiBXaGVuIHVzaW5nIFNTTSwgc2VydmljZSByb2xlIGFuZCBpbnN0YW5jZSBwcm9maWxlIGFyZW4ndCBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQuXG4gICAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xvdWQ5L2xhdGVzdC91c2VyLWd1aWRlL2VjMi1zc20uaHRtbCNzZXJ2aWNlLXJvbGUtc3NtXG4gICAqL1xuICBDT05ORUNUX1NTTSA9ICdDT05ORUNUX1NTTSdcbn1cblxuLyoqXG4gKiBUaGUgaW1hZ2UgSUQgdXNlZCBmb3IgY3JlYXRpbmcgYW4gQW1hem9uIEVDMiBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGVudW0gSW1hZ2VJZCB7XG4gIC8qKlxuICAgKiBDcmVhdGUgdXNpbmcgQW1hem9uIExpbnV4IDJcbiAgICovXG4gIEFNQVpPTl9MSU5VWF8yID0gJ2FtYXpvbmxpbnV4LTIteDg2XzY0JyxcbiAgLyoqXG4gICAqIENyZWF0ZSB1c2luZyBVYnVudXQgMTguMDRcbiAgICovXG4gIFVCVU5UVV8xOF8wNCA9ICd1YnVudHUtMTguMDQteDg2XzY0J1xufVxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBFYzJFbnZpcm9ubWVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVjMkVudmlyb25tZW50UHJvcHMge1xuICAvKipcbiAgICogT3duZXIgb2YgdGhlIGVudmlyb25tZW50LlxuICAgKlxuICAgKiBUaGUgb3duZXIgaGFzIGZ1bGwgY29udHJvbCBvZiB0aGUgZW52aXJvbm1lbnQgYW5kIGNhbiBpbnZpdGUgYWRkaXRpb25hbCBtZW1iZXJzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFRoZSBpZGVudGl0eSB0aGF0IENsb3VkRm9ybWF0aW9uIGV4ZWN1dGVzIHVuZGVyIHdpbGwgYmUgdGhlIG93bmVyXG4gICAqL1xuICByZWFkb25seSBvd25lcj86IE93bmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBpbnN0YW5jZSB0byBjb25uZWN0IHRvIHRoZSBlbnZpcm9ubWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0Mi5taWNyb1xuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlPzogZWMyLkluc3RhbmNlVHlwZTtcblxuICAvKipcbiAgICogVGhlIHN1Ym5ldFNlbGVjdGlvbiBvZiB0aGUgVlBDIHRoYXQgQVdTIENsb3VkOSB3aWxsIHVzZSB0byBjb21tdW5pY2F0ZSB3aXRoXG4gICAqIHRoZSBBbWF6b24gRUMyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBwdWJsaWMgc3VibmV0cyBvZiB0aGUgVlBDIGFyZSBzZWxlY3RlZC5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldFNlbGVjdGlvbj86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgdGhhdCBBV1MgQ2xvdWQ5IHdpbGwgdXNlIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIEFtYXpvbiBFbGFzdGljIENvbXB1dGUgQ2xvdWQgKEFtYXpvbiBFQzIpIGluc3RhbmNlLlxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBuYW1lXG4gICAqL1xuICByZWFkb25seSBlYzJFbnZpcm9ubWVudE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIG9mIHRoZSBlbnZpcm9ubWVudFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFXUyBDb2RlQ29tbWl0IHJlcG9zaXRvcnkgdG8gYmUgY2xvbmVkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZG8gbm90IGNsb25lIGFueSByZXBvc2l0b3J5XG4gICAqL1xuICAvLyByZWFkb25seSBjbG9uZWRSZXBvc2l0b3JpZXM/OiBDbG91ZDlSZXBvc2l0b3J5W107XG4gIHJlYWRvbmx5IGNsb25lZFJlcG9zaXRvcmllcz86IENsb25lUmVwb3NpdG9yeVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgY29ubmVjdGlvbiB0eXBlIHVzZWQgZm9yIGNvbm5lY3RpbmcgdG8gYW4gQW1hem9uIEVDMiBlbnZpcm9ubWVudC5cbiAgICpcbiAgICogVmFsaWQgdmFsdWVzIGFyZTogQ09OTkVDVF9TU0ggKGRlZmF1bHQpIGFuZCBDT05ORUNUX1NTTSAoY29ubmVjdGVkIHRocm91Z2ggQVdTIFN5c3RlbXMgTWFuYWdlcilcbiAgICpcbiAgICogQGRlZmF1bHQgLSBDT05ORUNUX1NTSFxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvblR5cGU/OiBDb25uZWN0aW9uVHlwZVxuXG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgSUQgdXNlZCBmb3IgY3JlYXRpbmcgYW4gQW1hem9uIEVDMiBlbnZpcm9ubWVudC5cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlSWQ6IEltYWdlSWRcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBtaW51dGVzIHVudGlsIHRoZSBydW5uaW5nIGluc3RhbmNlIGlzIHNodXQgZG93biBhZnRlciB0aGVcbiAgICogZW52aXJvbm1lbnQgd2FzIGxhc3QgdXNlZC5cbiAgICpcbiAgICogU2V0dGluZyBhIHZhbHVlIG9mIDAgbWVhbnMgdGhlIGluc3RhbmNlIHdpbGwgbmV2ZXIgYmUgYXV0b21hdGljYWxseSBzaHV0IGRvd24uXCJcbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgaW5zdGFuY2Ugd2lsbCBub3QgYmUgc2h1dCBkb3duIGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICByZWFkb25seSBhdXRvbWF0aWNTdG9wPzogY2RrLkR1cmF0aW9uXG59XG5cbi8qKlxuICogQSBDbG91ZDkgRW52aXJvbm1lbnQgd2l0aCBBbWF6b24gRUMyXG4gKiBAcmVzb3VyY2UgQVdTOjpDbG91ZDk6OkVudmlyb25tZW50RUMyXG4gKi9cbmV4cG9ydCBjbGFzcyBFYzJFbnZpcm9ubWVudCBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIElFYzJFbnZpcm9ubWVudCB7XG4gIC8qKlxuICAgKiBpbXBvcnQgZnJvbSBFbnZpcm9ubWVudEVjMk5hbWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUVjMkVudmlyb25tZW50TmFtZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBlYzJFbnZpcm9ubWVudE5hbWU6IHN0cmluZyk6IElFYzJFbnZpcm9ubWVudCB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgY2RrLlJlc291cmNlIHtcbiAgICAgIHB1YmxpYyBlYzJFbnZpcm9ubWVudE5hbWUgPSBlYzJFbnZpcm9ubWVudE5hbWU7XG4gICAgICBwdWJsaWMgZWMyRW52aXJvbm1lbnRBcm4gPSBjZGsuU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgc2VydmljZTogJ2Nsb3VkOScsXG4gICAgICAgIHJlc291cmNlOiAnZW52aXJvbm1lbnQnLFxuICAgICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZWMyRW52aXJvbm1lbnROYW1lLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IG5hbWUgb2YgdGhpcyBDbG91ZDkgZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVjMkVudmlyb25tZW50TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgQVJOIG9mIHRoaXMgQ2xvdWQ5IGVudmlyb25tZW50XG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlYzJFbnZpcm9ubWVudEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgSUQgb2YgdGhpcyBDbG91ZDkgZW52aXJvbm1lbnRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlbnZpcm9ubWVudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21wbGV0ZSBJREUgVVJMIG9mIHRoaXMgQ2xvdWQ5IGVudmlyb25tZW50XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWRlVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyBJRFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjMkVudmlyb25tZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy52cGMgPSBwcm9wcy52cGM7XG4gICAgaWYgKCFwcm9wcy5zdWJuZXRTZWxlY3Rpb24gJiYgdGhpcy52cGMucHVibGljU3VibmV0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbm8gc3VibmV0U2VsZWN0aW9uIHNwZWNpZmllZCBhbmQgbm8gcHVibGljIHN1Ym5ldCBmb3VuZCBpbiB0aGUgdnBjLCBwbGVhc2Ugc3BlY2lmeSBzdWJuZXRTZWxlY3Rpb24nKTtcbiAgICB9XG5cbiAgICBpZiAoIXByb3BzLmltYWdlSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gaW1hZ2VJZCBzcGVjaWZpZWQsIHBsZWFzZSBzcGVjaWZ5IGltYWdlSWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB2cGNTdWJuZXRzID0gcHJvcHMuc3VibmV0U2VsZWN0aW9uID8/IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH07XG4gICAgY29uc3QgYzllbnYgPSBuZXcgQ2ZuRW52aXJvbm1lbnRFQzIodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuZWMyRW52aXJvbm1lbnROYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgb3duZXJBcm46IHByb3BzLm93bmVyPy5vd25lckFybixcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlPy50b1N0cmluZygpID8/IGVjMi5JbnN0YW5jZVR5cGUub2YoZWMyLkluc3RhbmNlQ2xhc3MuQlVSU1RBQkxFMiwgZWMyLkluc3RhbmNlU2l6ZS5NSUNSTykudG9TdHJpbmcoKSxcbiAgICAgIHN1Ym5ldElkOiB0aGlzLnZwYy5zZWxlY3RTdWJuZXRzKHZwY1N1Ym5ldHMpLnN1Ym5ldElkc1swXSxcbiAgICAgIHJlcG9zaXRvcmllczogcHJvcHMuY2xvbmVkUmVwb3NpdG9yaWVzID8gcHJvcHMuY2xvbmVkUmVwb3NpdG9yaWVzLm1hcChyID0+ICh7XG4gICAgICAgIHJlcG9zaXRvcnlVcmw6IHIucmVwb3NpdG9yeVVybCxcbiAgICAgICAgcGF0aENvbXBvbmVudDogci5wYXRoQ29tcG9uZW50LFxuICAgICAgfSkpIDogdW5kZWZpbmVkLFxuICAgICAgY29ubmVjdGlvblR5cGU6IHByb3BzLmNvbm5lY3Rpb25UeXBlID8/IENvbm5lY3Rpb25UeXBlLkNPTk5FQ1RfU1NILFxuICAgICAgaW1hZ2VJZDogcHJvcHMuaW1hZ2VJZCxcbiAgICAgIGF1dG9tYXRpY1N0b3BUaW1lTWludXRlczogcHJvcHMuYXV0b21hdGljU3RvcD8udG9NaW51dGVzKCksXG4gICAgfSk7XG4gICAgdGhpcy5lbnZpcm9ubWVudElkID0gYzllbnYucmVmO1xuICAgIHRoaXMuZWMyRW52aXJvbm1lbnRBcm4gPSBjOWVudi5nZXRBdHQoJ0FybicpLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5lYzJFbnZpcm9ubWVudE5hbWUgPSBjOWVudi5nZXRBdHQoJ05hbWUnKS50b1N0cmluZygpO1xuICAgIHRoaXMuaWRlVXJsID0gYGh0dHBzOi8vJHt0aGlzLmVudi5yZWdpb259LmNvbnNvbGUuYXdzLmFtYXpvbi5jb20vY2xvdWQ5L2lkZS8ke3RoaXMuZW52aXJvbm1lbnRJZH1gO1xuICB9XG59XG5cbi8qKlxuICogVGhlIGNsYXNzIGZvciBkaWZmZXJlbnQgcmVwb3NpdG9yeSBwcm92aWRlcnNcbiAqL1xuZXhwb3J0IGNsYXNzIENsb25lUmVwb3NpdG9yeSB7XG4gIC8qKlxuICAgKiBpbXBvcnQgcmVwb3NpdG9yeSB0byBjbG91ZDkgZW52aXJvbm1lbnQgZnJvbSBBV1MgQ29kZUNvbW1pdFxuICAgKlxuICAgKiBAcGFyYW0gcmVwb3NpdG9yeSB0aGUgY29kZWNvbW1pdCByZXBvc2l0b3J5IHRvIGNsb25lIGZyb21cbiAgICogQHBhcmFtIHBhdGggIHRoZSB0YXJnZXQgcGF0aCBpbiBjbG91ZDkgZW52aXJvbm1lbnRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNvZGVDb21taXQocmVwb3NpdG9yeTogY29kZWNvbW1pdC5JUmVwb3NpdG9yeSwgcGF0aDogc3RyaW5nKTogQ2xvbmVSZXBvc2l0b3J5IHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVwb3NpdG9yeVVybDogcmVwb3NpdG9yeS5yZXBvc2l0b3J5Q2xvbmVVcmxIdHRwLFxuICAgICAgcGF0aENvbXBvbmVudDogcGF0aCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcmVwb3NpdG9yeVVybDogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgcGF0aENvbXBvbmVudDogc3RyaW5nKSB7fVxufVxuXG4vKipcbiAqIEFuIGVudmlyb25tZW50IG93bmVyXG4gKlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIE93bmVyIHtcbiAgLyoqXG4gICAqIE1ha2UgYW4gSUFNIHVzZXIgdGhlIGVudmlyb25tZW50IG93bmVyXG4gICAqXG4gICAqIFVzZXIgbmVlZCB0byBoYXZlIEFXU0Nsb3VkOUFkbWluaXN0cmF0b3IgcGVybWlzc2lvbnNcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xvdWQ5L2xhdGVzdC91c2VyLWd1aWRlL3NoYXJlLWVudmlyb25tZW50Lmh0bWwjc2hhcmUtZW52aXJvbm1lbnQtYWJvdXRcbiAgICpcbiAgICogQHBhcmFtIHVzZXIgdGhlIFVzZXIgb2JqZWN0IHRvIHVzZSBhcyB0aGUgZW52aXJvbm1lbnQgb3duZXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdXNlcih1c2VyOiBJVXNlcik6IE93bmVyIHtcbiAgICByZXR1cm4geyBvd25lckFybjogdXNlci51c2VyQXJuIH07XG4gIH1cblxuICAvKipcbiAgICogTWFrZSB0aGUgQWNjb3VudCBSb290IFVzZXIgdGhlIGVudmlyb25tZW50IG93bmVyIChub3QgcmVjb21tZW5kZWQpXG4gICAqXG4gICAqIEBwYXJhbSBhY2NvdW50SWQgdGhlIEFjY291bnRJZCB0byB1c2UgYXMgdGhlIGVudmlyb25tZW50IG93bmVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhY2NvdW50Um9vdChhY2NvdW50SWQ6IHN0cmluZyk6IE93bmVyIHtcbiAgICByZXR1cm4geyBvd25lckFybjogYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTppYW06OiR7YWNjb3VudElkfTpyb290YCB9O1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBvd25lckFybiBvZiBlbnZpcm9ubWVudCBvd25lci5cbiAgICovXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG93bmVyQXJuOiBzdHJpbmcpIHt9XG59Il19
181
+ Owner[_c] = { fqn: "@aws-cdk/aws-cloud9-alpha.Owner", version: "2.104.0-alpha.0" };
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSwyQ0FBMkM7QUFFM0Msd0NBQXdDO0FBRXhDLHVEQUEyRDtBQXNCM0Q7O0dBRUc7QUFDSCxJQUFZLGNBV1g7QUFYRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCw2Q0FBMkIsQ0FBQTtJQUMzQjs7OztPQUlHO0lBQ0gsNkNBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVhXLGNBQWMsOEJBQWQsY0FBYyxRQVd6QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxPQVNYO0FBVEQsV0FBWSxPQUFPO0lBQ2pCOztPQUVHO0lBQ0gsa0RBQXVDLENBQUE7SUFDdkM7O09BRUc7SUFDSCwrQ0FBb0MsQ0FBQTtBQUN0QyxDQUFDLEVBVFcsT0FBTyx1QkFBUCxPQUFPLFFBU2xCO0FBbUZEOzs7R0FHRztBQUNILE1BQWEsY0FBZSxTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBQzlDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLHNCQUFzQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLGtCQUEwQjtRQUMzRixNQUFNLE1BQU8sU0FBUSxHQUFHLENBQUMsUUFBUTtZQUFqQzs7Z0JBQ1MsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUM7Z0JBQ3hDLHNCQUFpQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLFFBQVE7b0JBQ2pCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtpQkFDdEMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUFBO1FBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDOUI7SUErQkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7K0NBOUNSLGNBQWM7Ozs7UUFnRHZCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0dBQW9HLENBQUMsQ0FBQztTQUN2SDtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUVELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxlQUFlLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsRixNQUFNLEtBQUssR0FBRyxJQUFJLDhCQUFpQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDcEQsSUFBSSxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDOUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVE7WUFDL0IsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDcEksUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDekQsWUFBWSxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzFFLGFBQWEsRUFBRSxDQUFDLENBQUMsYUFBYTtnQkFDOUIsYUFBYSxFQUFFLENBQUMsQ0FBQyxhQUFhO2FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ2YsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLFdBQVc7WUFDbEUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFO1NBQzNELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLHNDQUFzQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7S0FDcEc7O0FBNUVILHdDQTZFQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFDMUI7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQWtDLEVBQUUsSUFBWTtRQUMzRSxPQUFPO1lBQ0wsYUFBYSxFQUFFLFVBQVUsQ0FBQyxzQkFBc0I7WUFDaEQsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQztLQUNIO0lBRUQsWUFBb0MsYUFBcUIsRUFBa0IsYUFBcUI7UUFBNUQsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFBa0Isa0JBQWEsR0FBYixhQUFhLENBQVE7S0FBSTs7QUFkdEcsMENBZUM7OztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLEtBQUs7SUFDaEI7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBVztRQUM1QixPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUNuQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFpQixFQUFFLFFBQWdCO1FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsU0FBUyxTQUFTLGlCQUFpQixRQUFRLEVBQUUsRUFBRSxDQUFDO0tBQzVGO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQWlCLEVBQUUsUUFBZ0I7UUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxTQUFTLFNBQVMsbUJBQW1CLFFBQVEsRUFBRSxFQUFFLENBQUM7S0FDOUY7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFpQjtRQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLFNBQVMsU0FBUyxPQUFPLEVBQUUsQ0FBQztLQUN4RTtJQUVEOzs7T0FHRztJQUNILFlBQW9DLFFBQWdCO1FBQWhCLGFBQVEsR0FBUixRQUFRLENBQVE7S0FBSTs7QUE5QzFELHNCQStDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvZGVjb21taXQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVjb21taXQnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgSVVzZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2ZuRW52aXJvbm1lbnRFQzIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWQ5JztcblxuLyoqXG4gKiBBIENsb3VkOSBFbnZpcm9ubWVudFxuICpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRWMyRW52aXJvbm1lbnQgZXh0ZW5kcyBjZGsuSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBFbnZpcm9ubWVudEVjMlxuICAgKlxuICAgKiBAYXR0cmlidXRlIGVudmlyb25tZW50RWMyTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZWMyRW52aXJvbm1lbnROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhcm4gb2YgdGhlIEVudmlyb25tZW50RWMyXG4gICAqXG4gICAqIEBhdHRyaWJ1dGUgZW52aXJvbm1lbnRFMkFyblxuICAgKi9cbiAgcmVhZG9ubHkgZWMyRW52aXJvbm1lbnRBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgY29ubmVjdGlvbiB0eXBlIHVzZWQgZm9yIGNvbm5lY3RpbmcgdG8gYW4gQW1hem9uIEVDMiBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGVudW0gQ29ubmVjdGlvblR5cGUge1xuICAvKipcbiAgICogQ29ubmVjdCB0aHJvdWdoIFNTSFxuICAgKi9cbiAgQ09OTkVDVF9TU0ggPSAnQ09OTkVDVF9TU0gnLFxuICAvKipcbiAgICogQ29ubmVjdCB0aHJvdWdoIEFXUyBTeXN0ZW1zIE1hbmFnZXJcbiAgICogV2hlbiB1c2luZyBTU00sIHNlcnZpY2Ugcm9sZSBhbmQgaW5zdGFuY2UgcHJvZmlsZSBhcmVuJ3QgYXV0b21hdGljYWxseSBjcmVhdGVkLlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nsb3VkOS9sYXRlc3QvdXNlci1ndWlkZS9lYzItc3NtLmh0bWwjc2VydmljZS1yb2xlLXNzbVxuICAgKi9cbiAgQ09OTkVDVF9TU00gPSAnQ09OTkVDVF9TU00nXG59XG5cbi8qKlxuICogVGhlIGltYWdlIElEIHVzZWQgZm9yIGNyZWF0aW5nIGFuIEFtYXpvbiBFQzIgZW52aXJvbm1lbnQuXG4gKi9cbmV4cG9ydCBlbnVtIEltYWdlSWQge1xuICAvKipcbiAgICogQ3JlYXRlIHVzaW5nIEFtYXpvbiBMaW51eCAyXG4gICAqL1xuICBBTUFaT05fTElOVVhfMiA9ICdhbWF6b25saW51eC0yLXg4Nl82NCcsXG4gIC8qKlxuICAgKiBDcmVhdGUgdXNpbmcgVWJ1bnV0IDE4LjA0XG4gICAqL1xuICBVQlVOVFVfMThfMDQgPSAndWJ1bnR1LTE4LjA0LXg4Nl82NCdcbn1cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRWMyRW52aXJvbm1lbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFYzJFbnZpcm9ubWVudFByb3BzIHtcbiAgLyoqXG4gICAqIE93bmVyIG9mIHRoZSBlbnZpcm9ubWVudC5cbiAgICpcbiAgICogVGhlIG93bmVyIGhhcyBmdWxsIGNvbnRyb2wgb2YgdGhlIGVudmlyb25tZW50IGFuZCBjYW4gaW52aXRlIGFkZGl0aW9uYWwgbWVtYmVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgaWRlbnRpdHkgdGhhdCBDbG91ZEZvcm1hdGlvbiBleGVjdXRlcyB1bmRlciB3aWxsIGJlIHRoZSBvd25lclxuICAgKi9cbiAgcmVhZG9ubHkgb3duZXI/OiBPd25lcjtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgaW5zdGFuY2UgdG8gY29ubmVjdCB0byB0aGUgZW52aXJvbm1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdDIubWljcm9cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlVHlwZT86IGVjMi5JbnN0YW5jZVR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWJuZXRTZWxlY3Rpb24gb2YgdGhlIFZQQyB0aGF0IEFXUyBDbG91ZDkgd2lsbCB1c2UgdG8gY29tbXVuaWNhdGUgd2l0aFxuICAgKiB0aGUgQW1hem9uIEVDMiBpbnN0YW5jZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhbGwgcHVibGljIHN1Ym5ldHMgb2YgdGhlIFZQQyBhcmUgc2VsZWN0ZWQuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRTZWxlY3Rpb24/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIHRoYXQgQVdTIENsb3VkOSB3aWxsIHVzZSB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBBbWF6b24gRWxhc3RpYyBDb21wdXRlIENsb3VkIChBbWF6b24gRUMyKSBpbnN0YW5jZS5cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGVudmlyb25tZW50XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZWMyRW52aXJvbm1lbnROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXNjcmlwdGlvbiBvZiB0aGUgZW52aXJvbm1lbnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgQ29kZUNvbW1pdCByZXBvc2l0b3J5IHRvIGJlIGNsb25lZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvIG5vdCBjbG9uZSBhbnkgcmVwb3NpdG9yeVxuICAgKi9cbiAgLy8gcmVhZG9ubHkgY2xvbmVkUmVwb3NpdG9yaWVzPzogQ2xvdWQ5UmVwb3NpdG9yeVtdO1xuICByZWFkb25seSBjbG9uZWRSZXBvc2l0b3JpZXM/OiBDbG9uZVJlcG9zaXRvcnlbXTtcblxuICAvKipcbiAgICogVGhlIGNvbm5lY3Rpb24gdHlwZSB1c2VkIGZvciBjb25uZWN0aW5nIHRvIGFuIEFtYXpvbiBFQzIgZW52aXJvbm1lbnQuXG4gICAqXG4gICAqIFZhbGlkIHZhbHVlcyBhcmU6IENPTk5FQ1RfU1NIIChkZWZhdWx0KSBhbmQgQ09OTkVDVF9TU00gKGNvbm5lY3RlZCB0aHJvdWdoIEFXUyBTeXN0ZW1zIE1hbmFnZXIpXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ09OTkVDVF9TU0hcbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25UeXBlPzogQ29ubmVjdGlvblR5cGVcblxuICAvKipcbiAgICogVGhlIGltYWdlIElEIHVzZWQgZm9yIGNyZWF0aW5nIGFuIEFtYXpvbiBFQzIgZW52aXJvbm1lbnQuXG4gICAqXG4gICAqL1xuICByZWFkb25seSBpbWFnZUlkOiBJbWFnZUlkXG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgbWludXRlcyB1bnRpbCB0aGUgcnVubmluZyBpbnN0YW5jZSBpcyBzaHV0IGRvd24gYWZ0ZXIgdGhlXG4gICAqIGVudmlyb25tZW50IHdhcyBsYXN0IHVzZWQuXG4gICAqXG4gICAqIFNldHRpbmcgYSB2YWx1ZSBvZiAwIG1lYW5zIHRoZSBpbnN0YW5jZSB3aWxsIG5ldmVyIGJlIGF1dG9tYXRpY2FsbHkgc2h1dCBkb3duLlwiXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIGluc3RhbmNlIHdpbGwgbm90IGJlIHNodXQgZG93biBhdXRvbWF0aWNhbGx5LlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b21hdGljU3RvcD86IGNkay5EdXJhdGlvblxufVxuXG4vKipcbiAqIEEgQ2xvdWQ5IEVudmlyb25tZW50IHdpdGggQW1hem9uIEVDMlxuICogQHJlc291cmNlIEFXUzo6Q2xvdWQ5OjpFbnZpcm9ubWVudEVDMlxuICovXG5leHBvcnQgY2xhc3MgRWMyRW52aXJvbm1lbnQgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJRWMyRW52aXJvbm1lbnQge1xuICAvKipcbiAgICogaW1wb3J0IGZyb20gRW52aXJvbm1lbnRFYzJOYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21FYzJFbnZpcm9ubWVudE5hbWUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZWMyRW52aXJvbm1lbnROYW1lOiBzdHJpbmcpOiBJRWMyRW52aXJvbm1lbnQge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIGNkay5SZXNvdXJjZSB7XG4gICAgICBwdWJsaWMgZWMyRW52aXJvbm1lbnROYW1lID0gZWMyRW52aXJvbm1lbnROYW1lO1xuICAgICAgcHVibGljIGVjMkVudmlyb25tZW50QXJuID0gY2RrLlN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgIHNlcnZpY2U6ICdjbG91ZDknLFxuICAgICAgICByZXNvdXJjZTogJ2Vudmlyb25tZW50JyxcbiAgICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLmVjMkVudmlyb25tZW50TmFtZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCBuYW1lIG9mIHRoaXMgQ2xvdWQ5IGVudmlyb25tZW50XG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlYzJFbnZpcm9ubWVudE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IEFSTiBvZiB0aGlzIENsb3VkOSBlbnZpcm9ubWVudFxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZWMyRW52aXJvbm1lbnRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IElEIG9mIHRoaXMgQ2xvdWQ5IGVudmlyb25tZW50XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW52aXJvbm1lbnRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29tcGxldGUgSURFIFVSTCBvZiB0aGlzIENsb3VkOSBlbnZpcm9ubWVudFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlkZVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWUEMgSURcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB2cGM6IGVjMi5JVnBjO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFYzJFbnZpcm9ubWVudFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudnBjID0gcHJvcHMudnBjO1xuICAgIGlmICghcHJvcHMuc3VibmV0U2VsZWN0aW9uICYmIHRoaXMudnBjLnB1YmxpY1N1Ym5ldHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIHN1Ym5ldFNlbGVjdGlvbiBzcGVjaWZpZWQgYW5kIG5vIHB1YmxpYyBzdWJuZXQgZm91bmQgaW4gdGhlIHZwYywgcGxlYXNlIHNwZWNpZnkgc3VibmV0U2VsZWN0aW9uJyk7XG4gICAgfVxuXG4gICAgaWYgKCFwcm9wcy5pbWFnZUlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGltYWdlSWQgc3BlY2lmaWVkLCBwbGVhc2Ugc3BlY2lmeSBpbWFnZUlkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdnBjU3VibmV0cyA9IHByb3BzLnN1Ym5ldFNlbGVjdGlvbiA/PyB7IHN1Ym5ldFR5cGU6IGVjMi5TdWJuZXRUeXBlLlBVQkxJQyB9O1xuICAgIGNvbnN0IGM5ZW52ID0gbmV3IENmbkVudmlyb25tZW50RUMyKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHByb3BzLmVjMkVudmlyb25tZW50TmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIG93bmVyQXJuOiBwcm9wcy5vd25lcj8ub3duZXJBcm4sXG4gICAgICBpbnN0YW5jZVR5cGU6IHByb3BzLmluc3RhbmNlVHlwZT8udG9TdHJpbmcoKSA/PyBlYzIuSW5zdGFuY2VUeXBlLm9mKGVjMi5JbnN0YW5jZUNsYXNzLkJVUlNUQUJMRTIsIGVjMi5JbnN0YW5jZVNpemUuTUlDUk8pLnRvU3RyaW5nKCksXG4gICAgICBzdWJuZXRJZDogdGhpcy52cGMuc2VsZWN0U3VibmV0cyh2cGNTdWJuZXRzKS5zdWJuZXRJZHNbMF0sXG4gICAgICByZXBvc2l0b3JpZXM6IHByb3BzLmNsb25lZFJlcG9zaXRvcmllcyA/IHByb3BzLmNsb25lZFJlcG9zaXRvcmllcy5tYXAociA9PiAoe1xuICAgICAgICByZXBvc2l0b3J5VXJsOiByLnJlcG9zaXRvcnlVcmwsXG4gICAgICAgIHBhdGhDb21wb25lbnQ6IHIucGF0aENvbXBvbmVudCxcbiAgICAgIH0pKSA6IHVuZGVmaW5lZCxcbiAgICAgIGNvbm5lY3Rpb25UeXBlOiBwcm9wcy5jb25uZWN0aW9uVHlwZSA/PyBDb25uZWN0aW9uVHlwZS5DT05ORUNUX1NTSCxcbiAgICAgIGltYWdlSWQ6IHByb3BzLmltYWdlSWQsXG4gICAgICBhdXRvbWF0aWNTdG9wVGltZU1pbnV0ZXM6IHByb3BzLmF1dG9tYXRpY1N0b3A/LnRvTWludXRlcygpLFxuICAgIH0pO1xuICAgIHRoaXMuZW52aXJvbm1lbnRJZCA9IGM5ZW52LnJlZjtcbiAgICB0aGlzLmVjMkVudmlyb25tZW50QXJuID0gYzllbnYuZ2V0QXR0KCdBcm4nKS50b1N0cmluZygpO1xuICAgIHRoaXMuZWMyRW52aXJvbm1lbnROYW1lID0gYzllbnYuZ2V0QXR0KCdOYW1lJykudG9TdHJpbmcoKTtcbiAgICB0aGlzLmlkZVVybCA9IGBodHRwczovLyR7dGhpcy5lbnYucmVnaW9ufS5jb25zb2xlLmF3cy5hbWF6b24uY29tL2Nsb3VkOS9pZGUvJHt0aGlzLmVudmlyb25tZW50SWR9YDtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBjbGFzcyBmb3IgZGlmZmVyZW50IHJlcG9zaXRvcnkgcHJvdmlkZXJzXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG9uZVJlcG9zaXRvcnkge1xuICAvKipcbiAgICogaW1wb3J0IHJlcG9zaXRvcnkgdG8gY2xvdWQ5IGVudmlyb25tZW50IGZyb20gQVdTIENvZGVDb21taXRcbiAgICpcbiAgICogQHBhcmFtIHJlcG9zaXRvcnkgdGhlIGNvZGVjb21taXQgcmVwb3NpdG9yeSB0byBjbG9uZSBmcm9tXG4gICAqIEBwYXJhbSBwYXRoICB0aGUgdGFyZ2V0IHBhdGggaW4gY2xvdWQ5IGVudmlyb25tZW50XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Db2RlQ29tbWl0KHJlcG9zaXRvcnk6IGNvZGVjb21taXQuSVJlcG9zaXRvcnksIHBhdGg6IHN0cmluZyk6IENsb25lUmVwb3NpdG9yeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcG9zaXRvcnlVcmw6IHJlcG9zaXRvcnkucmVwb3NpdG9yeUNsb25lVXJsSHR0cCxcbiAgICAgIHBhdGhDb21wb25lbnQ6IHBhdGgsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHJlcG9zaXRvcnlVcmw6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IHBhdGhDb21wb25lbnQ6IHN0cmluZykge31cbn1cblxuLyoqXG4gKiBBbiBlbnZpcm9ubWVudCBvd25lclxuICpcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBPd25lciB7XG4gIC8qKlxuICAgKiBNYWtlIGFuIElBTSB1c2VyIHRoZSBlbnZpcm9ubWVudCBvd25lclxuICAgKlxuICAgKiBVc2VyIG5lZWQgdG8gaGF2ZSBBV1NDbG91ZDlBZG1pbmlzdHJhdG9yIHBlcm1pc3Npb25zXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nsb3VkOS9sYXRlc3QvdXNlci1ndWlkZS9zaGFyZS1lbnZpcm9ubWVudC5odG1sI3NoYXJlLWVudmlyb25tZW50LWFib3V0XG4gICAqXG4gICAqIEBwYXJhbSB1c2VyIHRoZSBVc2VyIG9iamVjdCB0byB1c2UgYXMgdGhlIGVudmlyb25tZW50IG93bmVyXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVzZXIodXNlcjogSVVzZXIpOiBPd25lciB7XG4gICAgcmV0dXJuIHsgb3duZXJBcm46IHVzZXIudXNlckFybiB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgYW4gSUFNIGFzc3VtZWQgcm9sZSB0aGUgZW52aXJvbm1lbnQgb3duZXJcbiAgICpcbiAgICogQHBhcmFtIGFjY291bnRJZCBUaGUgYWNjb3VudCBpZCBvZiB0aGUgdGFyZ2V0IGFjY291bnRcbiAgICogQHBhcmFtIHJvbGVOYW1lIFRoZSBuYW1lIG9mIHRoZSBhc3N1bWVkIHJvbGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNzdW1lZFJvbGUoYWNjb3VudElkOiBzdHJpbmcsIHJvbGVOYW1lOiBzdHJpbmcpOiBPd25lciB7XG4gICAgcmV0dXJuIHsgb3duZXJBcm46IGBhcm46JHtjZGsuQXdzLlBBUlRJVElPTn06c3RzOjoke2FjY291bnRJZH06YXNzdW1lZC1yb2xlLyR7cm9sZU5hbWV9YCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgYW4gSUFNIGZlZGVyYXRlZCB1c2VyIHRoZSBlbnZpcm9ubWVudCBvd25lclxuICAgKlxuICAgKiBAcGFyYW0gYWNjb3VudElkIFRoZSBBY2NvdW50SWQgb2YgdGhlIHRhcmdldCBhY2NvdW50XG4gICAqIEBwYXJhbSB1c2VyTmFtZSBUaGUgbmFtZSBvZiB0aGUgZmVkZXJhdGVkIHVzZXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZmVkZXJhdGVkVXNlcihhY2NvdW50SWQ6IHN0cmluZywgdXNlck5hbWU6IHN0cmluZyk6IE93bmVyIHtcbiAgICByZXR1cm4geyBvd25lckFybjogYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpzdHM6OiR7YWNjb3VudElkfTpmZWRlcmF0ZWQtdXNlci8ke3VzZXJOYW1lfWAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYWtlIHRoZSBBY2NvdW50IFJvb3QgVXNlciB0aGUgZW52aXJvbm1lbnQgb3duZXIgKG5vdCByZWNvbW1lbmRlZClcbiAgICpcbiAgICogQHBhcmFtIGFjY291bnRJZCB0aGUgQWNjb3VudElkIHRvIHVzZSBhcyB0aGUgZW52aXJvbm1lbnQgb3duZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFjY291bnRSb290KGFjY291bnRJZDogc3RyaW5nKTogT3duZXIge1xuICAgIHJldHVybiB7IG93bmVyQXJuOiBgYXJuOiR7Y2RrLkF3cy5QQVJUSVRJT059OmlhbTo6JHthY2NvdW50SWR9OnJvb3RgIH07XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIG93bmVyQXJuIG9mIGVudmlyb25tZW50IG93bmVyLlxuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgb3duZXJBcm46IHN0cmluZykge31cbn0iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-cloud9-alpha",
3
- "version": "2.103.1-alpha.0",
3
+ "version": "2.104.0-alpha.0",
4
4
  "private": false,
5
5
  "description": "The CDK Construct Library for AWS::Cloud9",
6
6
  "main": "lib/index.js",
@@ -81,18 +81,18 @@
81
81
  },
82
82
  "license": "Apache-2.0",
83
83
  "devDependencies": {
84
- "@aws-cdk/cdk-build-tools": "2.103.1-alpha.0",
85
- "@aws-cdk/integ-runner": "2.103.1-alpha.0",
86
- "@aws-cdk/pkglint": "2.103.1-alpha.0",
84
+ "@aws-cdk/cdk-build-tools": "2.104.0-alpha.0",
85
+ "@aws-cdk/integ-runner": "2.104.0-alpha.0",
86
+ "@aws-cdk/pkglint": "2.104.0-alpha.0",
87
87
  "@types/jest": "^29.5.5",
88
- "aws-cdk-lib": "2.103.1",
88
+ "aws-cdk-lib": "2.104.0",
89
89
  "constructs": "^10.0.0",
90
- "@aws-cdk/integ-tests-alpha": "2.103.1-alpha.0"
90
+ "@aws-cdk/integ-tests-alpha": "2.104.0-alpha.0"
91
91
  },
92
92
  "dependencies": {},
93
93
  "homepage": "https://github.com/aws/aws-cdk",
94
94
  "peerDependencies": {
95
- "aws-cdk-lib": "^2.103.1",
95
+ "aws-cdk-lib": "^2.104.0",
96
96
  "constructs": "^10.0.0"
97
97
  },
98
98
  "engines": {