@aws-cdk/aws-servicecatalogappregistry-alpha 2.72.1-alpha.0 → 2.73.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 +4 -4
- package/.jsii.tabl.json.gz +0 -0
- package/README.md +27 -5
- package/lib/application-associator.js +1 -1
- package/lib/application.js +1 -1
- package/lib/attribute-group.js +1 -1
- package/lib/target-application.js +1 -1
- package/package.json +10 -10
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"aws-cdk-lib": "
|
|
11
|
+
"aws-cdk-lib": "2.73.0",
|
|
12
12
|
"constructs": "^10.0.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -3436,10 +3436,10 @@
|
|
|
3436
3436
|
},
|
|
3437
3437
|
"name": "@aws-cdk/aws-servicecatalogappregistry-alpha",
|
|
3438
3438
|
"readme": {
|
|
3439
|
-
"markdown": "# AWS ServiceCatalogAppRegistry Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\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\n[AWS Service Catalog App Registry](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/appregistry.html)\nenables organizations to create and manage repositories of applications and associated resources.\n\n## Table Of Contents\n\n- [Application](#application)\n- [Application-Associator](#application-associator)\n- [Attribute-Group](#attribute-group)\n- [Associations](#associations)\n - [Associating application with an attribute group](#attribute-group-association)\n - [Associating application with a stack](#resource-association)\n- [Sharing](#sharing)\n - [Sharing an application](#sharing-an-application)\n - [Sharing an attribute group](#sharing-an-attribute-group)\n\nThe `@aws-cdk/aws-servicecatalogappregistry` package contains resources that enable users to automate governance and management of their AWS resources at scale.\n\n```ts nofixture\nimport * as appreg from '@aws-cdk/aws-servicecatalogappregistry-alpha';\n```\n\n## Application\n\nAn AppRegistry application enables you to define your applications and associated resources.\nThe application name must be unique at the account level and it's immutable.\n\n```ts\nconst application = new appreg.Application(this, 'MyFirstApplication', {\n applicationName: 'MyFirstApplicationName',\n description: 'description for my application', // the description is optional\n});\n```\n\nAn application that has been created outside of the stack can be imported into your CDK app.\nApplications can be imported by their ARN via the `Application.fromApplicationArn()` API:\n\n```ts\nconst importedApplication = appreg.Application.fromApplicationArn(\n this,\n 'MyImportedApplication',\n 'arn:aws:servicecatalog:us-east-1:012345678910:/applications/0aqmvxvgmry0ecc4mjhwypun6i',\n);\n```\n\n## Application-Associator\n\nIf you want to create an Application named `MyAssociatedApplication` in account `123456789012` and region `us-east-1`\nand want to associate all stacks in the `App` scope to `MyAssociatedApplication`, then use as shown in the example below:\n\n```ts\nconst app = new App();\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.createApplicationStack({\n applicationName: 'MyAssociatedApplication',\n // 'Application containing stacks deployed via CDK.' is the default\n applicationDescription: 'Associated Application description',\n stackName: 'MyAssociatedApplicationStack',\n // AWS Account and Region that are implied by the current CLI configuration is the default\n env: { account: '123456789012', region: 'us-east-1' },\n })],\n});\n```\n\nThis will create a stack `MyAssociatedApplicationStack` containing an application `MyAssociatedApplication`\nwith the `TagKey` as `managedBy` and `TagValue` as `CDK_Application_Associator`.\n\nBy default, the stack will have System Managed Application Manager console URL as its output for the application created.\nIf you want to remove the output, then use as shown in the example below:\n\n```ts\nconst app = new App();\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.createApplicationStack({\n applicationName: 'MyAssociatedApplication',\n // 'Application containing stacks deployed via CDK.' is the default\n applicationDescription: 'Associated Application description',\n stackName: 'MyAssociatedApplicationStack',\n // Disables emitting Application Manager url as output\n emitApplicationManagerUrlAsOutput: false,\n // AWS Account and Region that are implied by the current CLI configuration is the default\n env: { account: '123456789012', region: 'us-east-1' },\n })],\n});\n```\n\nIf you want to re-use an existing Application with ARN: `arn:aws:servicecatalog:us-east-1:123456789012:/applications/applicationId`\nand want to associate all stacks in the `App` scope to your imported application, then use as shown in the example below:\n\n```ts\nconst app = new App();\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.existingApplicationFromArn({\n applicationArnValue: 'arn:aws:servicecatalog:us-east-1:123456789012:/applications/applicationId',\n stackName: 'MyAssociatedApplicationStack',\n })],\n});\n```\n\nIf you want to associate an Attribute Group with application created by `ApplicationAssociator`, then use as shown in the example below:\n\n```ts\nimport * as cdk from \"aws-cdk-lib\";\n\nconst app = new App();\n\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.createApplicationStack({\n applicationName: 'MyAssociatedApplication',\n // 'Application containing stacks deployed via CDK.' is the default\n applicationDescription: 'Associated Application description',\n stackName: 'MyAssociatedApplicationStack',\n // AWS Account and Region that are implied by the current CLI configuration is the default\n env: { account: '123456789012', region: 'us-east-1' },\n })],\n});\n\n// Associate application to the attribute group.\nassociatedApp.appRegistryApplication.addAttributeGroup('MyAttributeGroup' , {\n attributeGroupName: 'MyAttributeGroupName',\n description: 'Test attribute group',\n attributes: {},\n});\n\n```\n\nIf you are using CDK Pipelines to deploy your application, the application stacks will be inside Stages, and\nApplicationAssociator will not be able to find them. Call `associateStage` on each Stage object before adding it to the\nPipeline, as shown in the example below:\n\n```ts\nimport * as cdk from \"aws-cdk-lib\";\nimport * as codepipeline from \"aws-cdk-lib/pipelines\";\nimport * as codecommit from \"aws-cdk-lib/aws-codecommit\";\ndeclare const repo: codecommit.Repository;\ndeclare const pipeline: codepipeline.CodePipeline;\ndeclare const beta: cdk.Stage;\nclass ApplicationPipelineStack extends cdk.Stack {\n constructor(scope: cdk.App, id: string, props: ApplicationPipelineStackProps) {\n super(scope, id, props);\n\n //associate the stage to application associator.\n props.application.associateStage(beta);\n pipeline.addStage(beta);\n }\n};\n\ninterface ApplicationPipelineStackProps extends cdk.StackProps {\n application: appreg.ApplicationAssociator;\n};\n\nconst app = new App();\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.createApplicationStack({\n applicationName: 'MyPipelineAssociatedApplication',\n stackName: 'MyPipelineAssociatedApplicationStack',\n env: { account: '123456789012', region: 'us-east-1' },\n })],\n});\n\nconst cdkPipeline = new ApplicationPipelineStack(app, 'CDKApplicationPipelineStack', {\n application: associatedApp,\n env: {account: '123456789012', region: 'us-east-1'},\n});\n```\n\nBy default, ApplicationAssociator will not perform cross-account stack associations with the target Application,\nto avoid deployment failures for accounts which have not been setup for cross-account associations.\nTo enable cross-account stack associations, make sure all accounts are in the same organization as the\ntarget Application's account and that resource sharing is enabled within the organization.\nIf you wish to turn on cross-account sharing and associations, set the `associateCrossAccountStacks` field to `true`,\nas shown in the example below:\n\n```ts\nconst app = new App();\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.createApplicationStack({\n associateCrossAccountStacks: true,\n applicationName: 'MyAssociatedApplication',\n env: { account: '123456789012', region: 'us-east-1' },\n })],\n});\n```\n\n## Attribute Group\n\nAn AppRegistry attribute group acts as a container for user-defined attributes for an application.\nMetadata is attached in a machine-readable format to integrate with automated workflows and tools.\n\n```ts\nconst attributeGroup = new appreg.AttributeGroup(this, 'MyFirstAttributeGroup', {\n attributeGroupName: 'MyFirstAttributeGroupName',\n description: 'description for my attribute group', // the description is optional,\n attributes: {\n project: 'foo',\n team: ['member1', 'member2', 'member3'],\n public: false,\n stages: {\n alpha: 'complete',\n beta: 'incomplete',\n release: 'not started'\n }\n }\n});\n```\n\nAn attribute group that has been created outside of the stack can be imported into your CDK app.\nAttribute groups can be imported by their ARN via the `AttributeGroup.fromAttributeGroupArn()` API:\n\n```ts\nconst importedAttributeGroup = appreg.AttributeGroup.fromAttributeGroupArn(\n this,\n 'MyImportedAttrGroup',\n 'arn:aws:servicecatalog:us-east-1:012345678910:/attribute-groups/0aqmvxvgmry0ecc4mjhwypun6i',\n);\n```\n\n## Associations\n\nYou can associate your appregistry application with attribute groups and resources.\nResources are CloudFormation stacks that you can associate with an application to group relevant\nstacks together to enable metadata rich insights into your applications and resources.\nA Cloudformation stack can only be associated with one appregistry application.\nIf a stack is associated with multiple applications in your app or is already associated with one,\nCDK will fail at deploy time.\n\n### Associating application with an attribute group\n\nYou can associate an attribute group with an application with the `associateAttributeGroup()` API:\n\n```ts\ndeclare const application: appreg.Application;\ndeclare const attributeGroup: appreg.AttributeGroup;\napplication.associateAttributeGroup(attributeGroup);\n```\n\n### Associating an attribute group with application\n\nYou can associate an application with an attribute group with `associateWith`:\n\n```ts\ndeclare const application: appreg.Application;\ndeclare const attributeGroup: appreg.AttributeGroup;\nattributeGroup.associateWith(application);\n```\n\n### Associating application with a Stack\n\nYou can associate a stack with an application with the `associateStack()` API:\n\n```ts\nconst app = new App();\nconst myStack = new Stack(app, 'MyStack');\n\ndeclare const application: appreg.Application;\napplication.associateStack(myStack);\n```\n\n## Sharing\n\nYou can share your AppRegistry applications and attribute groups with AWS Organizations, Organizational Units (OUs), AWS accounts within an organization, as well as IAM roles and users. AppRegistry requires that AWS Organizations is enabled in an account before deploying a share of an application or attribute group.\n\n### Sharing an application\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const application: appreg.Application;\ndeclare const myRole: iam.IRole;\ndeclare const myUser: iam.IUser;\napplication.shareApplication('MyShareId', {\n name:'MyShare',\n accounts: ['123456789012'],\n organizationArns: ['arn:aws:organizations::123456789012:organization/o-my-org-id'],\n roles: [myRole],\n users: [myUser],\n});\n```\n\nE.g., sharing an application with multiple accounts and allowing the accounts to associate resources to the application.\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const application: appreg.Application;\napplication.shareApplication('MyShareId', {\n name: 'MyShare',\n accounts: ['123456789012', '234567890123'],\n sharePermission: appreg.SharePermission.ALLOW_ACCESS,\n});\n```\n\n### Sharing an attribute group\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const attributeGroup: appreg.AttributeGroup;\ndeclare const myRole: iam.IRole;\ndeclare const myUser: iam.IUser;\nattributeGroup.shareAttributeGroup('MyShareId', {\n name: 'MyShare',\n accounts: ['123456789012'],\n organizationArns: ['arn:aws:organizations::123456789012:organization/o-my-org-id'],\n roles: [myRole],\n users: [myUser],\n});\n```\n\nE.g., sharing an application with multiple accounts and allowing the accounts to associate applications to the attribute group.\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const attributeGroup: appreg.AttributeGroup;\nattributeGroup.shareAttributeGroup('MyShareId', {\n name: 'MyShare',\n accounts: ['123456789012', '234567890123'],\n sharePermission: appreg.SharePermission.ALLOW_ACCESS,\n});\n```\n"
|
|
3439
|
+
"markdown": "# AWS ServiceCatalogAppRegistry Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\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\n[AWS Service Catalog App Registry](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/appregistry.html)\nenables organizations to create and manage repositories of applications and associated resources.\n\n## Table Of Contents\n\n- [Application](#application)\n- [Application-Associator](#application-associator)\n- [Attribute-Group](#attribute-group)\n- [Associations](#associations)\n - [Associating application with an attribute group](#attribute-group-association)\n - [Associating application with a stack](#resource-association)\n- [Sharing](#sharing)\n - [Sharing an application](#sharing-an-application)\n - [Sharing an attribute group](#sharing-an-attribute-group)\n\nThe `@aws-cdk/aws-servicecatalogappregistry` package contains resources that enable users to automate governance and management of their AWS resources at scale.\n\n```ts nofixture\nimport * as appreg from '@aws-cdk/aws-servicecatalogappregistry-alpha';\n```\n\n## Application\n\nAn AppRegistry application enables you to define your applications and associated resources.\nThe application name must be unique at the account level and it's immutable.\n\n```ts\nconst application = new appreg.Application(this, 'MyFirstApplication', {\n applicationName: 'MyFirstApplicationName',\n description: 'description for my application', // the description is optional\n});\n```\n\nAn application that has been created outside of the stack can be imported into your CDK app.\nApplications can be imported by their ARN via the `Application.fromApplicationArn()` API:\n\n```ts\nconst importedApplication = appreg.Application.fromApplicationArn(\n this,\n 'MyImportedApplication',\n 'arn:aws:servicecatalog:us-east-1:012345678910:/applications/0aqmvxvgmry0ecc4mjhwypun6i',\n);\n```\n\n## Application-Associator\n\n`ApplicationAssociator` defines an AppRegistry application to contain all the stacks in deployed through your cdk package. This helps to manage all the\ncdk deployed resources.\n\n### Create a new application to associate all the stacks in the cdk.App scope\n\nIf you want to create an Application named `MyAssociatedApplication` in account `123456789012` and region `us-east-1`\nand want to associate all stacks in the `App` scope to `MyAssociatedApplication`, then use as shown in the example below:\n\n```ts\nconst app = new App();\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.createApplicationStack({\n applicationName: 'MyAssociatedApplication',\n // 'Application containing stacks deployed via CDK.' is the default\n applicationDescription: 'Associated Application description',\n stackName: 'MyAssociatedApplicationStack',\n // AWS Account and Region that are implied by the current CLI configuration is the default\n env: { account: '123456789012', region: 'us-east-1' },\n })],\n});\n```\n\nThis will create a stack `MyAssociatedApplicationStack` containing an application `MyAssociatedApplication`\nwith the `TagKey` as `managedBy` and `TagValue` as `CDK_Application_Associator`.\n\nBy default, the stack will have System Managed Application Manager console URL as its output for the application created.\nIf you want to remove the output, then use as shown in the example below:\n\n```ts\nconst app = new App();\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.createApplicationStack({\n applicationName: 'MyAssociatedApplication',\n // 'Application containing stacks deployed via CDK.' is the default\n applicationDescription: 'Associated Application description',\n stackName: 'MyAssociatedApplicationStack',\n // Disables emitting Application Manager url as output\n emitApplicationManagerUrlAsOutput: false,\n // AWS Account and Region that are implied by the current CLI configuration is the default\n env: { account: '123456789012', region: 'us-east-1' },\n })],\n});\n```\n\n### Import existing application to associate all the stacks in the cdk.App scope\n\nIf you want to re-use an existing Application with ARN: `arn:aws:servicecatalog:us-east-1:123456789012:/applications/applicationId`\nand want to associate all stacks in the `App` scope to your imported application, then use as shown in the example below:\n\n```ts\nconst app = new App();\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.existingApplicationFromArn({\n applicationArnValue: 'arn:aws:servicecatalog:us-east-1:123456789012:/applications/applicationId',\n stackName: 'MyAssociatedApplicationStack',\n })],\n});\n```\n\n### Associate attribute group to the application used by `ApplicationAssociator`\n\nIf you want to associate an Attribute Group with application created by `ApplicationAssociator`, then use as shown in the example below:\n\n```ts\nimport * as cdk from \"aws-cdk-lib\";\n\nconst app = new App();\n\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.createApplicationStack({\n applicationName: 'MyAssociatedApplication',\n // 'Application containing stacks deployed via CDK.' is the default\n applicationDescription: 'Associated Application description',\n stackName: 'MyAssociatedApplicationStack',\n // AWS Account and Region that are implied by the current CLI configuration is the default\n env: { account: '123456789012', region: 'us-east-1' },\n })],\n});\n\n// Associate application to the attribute group.\nassociatedApp.appRegistryApplication.addAttributeGroup('MyAttributeGroup' , {\n attributeGroupName: 'MyAttributeGroupName',\n description: 'Test attribute group',\n attributes: {},\n});\n\n```\n\n### Associate stacks deployed by CDK pipelines\n\nIf you are using CDK Pipelines to deploy your application, the application stacks will be inside Stages, and\nApplicationAssociator will not be able to find them. Call `associateStage` on each Stage object before adding it to the\nPipeline, as shown in the example below:\n\n```ts\nimport * as cdk from \"aws-cdk-lib\";\nimport * as codepipeline from \"aws-cdk-lib/pipelines\";\nimport * as codecommit from \"aws-cdk-lib/aws-codecommit\";\ndeclare const repo: codecommit.Repository;\ndeclare const pipeline: codepipeline.CodePipeline;\ndeclare const beta: cdk.Stage;\nclass ApplicationPipelineStack extends cdk.Stack {\n constructor(scope: cdk.App, id: string, props: ApplicationPipelineStackProps) {\n super(scope, id, props);\n\n //associate the stage to application associator.\n props.application.associateStage(beta);\n pipeline.addStage(beta);\n }\n};\n\ninterface ApplicationPipelineStackProps extends cdk.StackProps {\n application: appreg.ApplicationAssociator;\n};\n\nconst app = new App();\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.createApplicationStack({\n applicationName: 'MyPipelineAssociatedApplication',\n stackName: 'MyPipelineAssociatedApplicationStack',\n env: { account: '123456789012', region: 'us-east-1' },\n })],\n});\n\nconst cdkPipeline = new ApplicationPipelineStack(app, 'CDKApplicationPipelineStack', {\n application: associatedApp,\n env: {account: '123456789012', region: 'us-east-1'},\n});\n```\n\n### Associate cross-account stack\n\nBy default, ApplicationAssociator will not perform cross-account stack associations with the target Application,\nto avoid deployment failures for accounts which have not been setup for cross-account associations.\nTo enable cross-account stack associations, make sure all accounts are in the same organization as the\ntarget Application's account and that resource sharing is enabled within the organization.\nIf you wish to turn on cross-account sharing and associations, set the `associateCrossAccountStacks` field to `true`,\nas shown in the example below:\n\n```ts\nconst app = new App();\nconst associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplication', {\n applications: [appreg.TargetApplication.createApplicationStack({\n associateCrossAccountStacks: true,\n applicationName: 'MyAssociatedApplication',\n env: { account: '123456789012', region: 'us-east-1' },\n })],\n});\n```\n\n### Associate cross-region stack\n\nCurrently, cross-region stack association is not supported.\n\n## Attribute Group\n\nAn AppRegistry attribute group acts as a container for user-defined attributes for an application.\nMetadata is attached in a machine-readable format to integrate with automated workflows and tools.\nThe attribute group name must be unique at the account level and it's immutable.\n\n```ts\nconst attributeGroup = new appreg.AttributeGroup(this, 'MyFirstAttributeGroup', {\n attributeGroupName: 'MyFirstAttributeGroupName',\n description: 'description for my attribute group', // the description is optional,\n attributes: {\n project: 'foo',\n team: ['member1', 'member2', 'member3'],\n public: false,\n stages: {\n alpha: 'complete',\n beta: 'incomplete',\n release: 'not started'\n }\n }\n});\n```\n\nAn attribute group that has been created outside of the stack can be imported into your CDK app.\nAttribute groups can be imported by their ARN via the `AttributeGroup.fromAttributeGroupArn()` API:\n\n```ts\nconst importedAttributeGroup = appreg.AttributeGroup.fromAttributeGroupArn(\n this,\n 'MyImportedAttrGroup',\n 'arn:aws:servicecatalog:us-east-1:012345678910:/attribute-groups/0aqmvxvgmry0ecc4mjhwypun6i',\n);\n```\n\n## Associations\n\nYou can associate your appregistry application with attribute groups and resources.\nResources are CloudFormation stacks that you can associate with an application to group relevant\nstacks together to enable metadata rich insights into your applications and resources.\nA Cloudformation stack can only be associated with one appregistry application.\nIf a stack is associated with multiple applications in your app or is already associated with one,\nCDK will fail at deploy time.\n\n### Associating application with a new attribute group\n\nYou can create and associate an attribute group to an application with the `addAttributeGroup()` API:\n\n```ts\ndeclare const application: appreg.Application;\ndeclare const attributeGroup: appreg.AttributeGroup;\napplication.addAttributeGroup('MyAttributeGroupId' , {\n attributeGroupName: 'MyAttributeGroupName',\n description: 'Test attribute group',\n attributes: {},\n});\n```\n\n### Associating an attribute group with application\n\nYou can associate an application with an attribute group with `associateWith`:\n\n```ts\ndeclare const application: appreg.Application;\ndeclare const attributeGroup: appreg.AttributeGroup;\nattributeGroup.associateWith(application);\n```\n\n### Associating application with a Stack\n\nYou can associate a stack with an application with the `associateApplicationWithStack()` API:\n\n```ts\nconst app = new App();\nconst myStack = new Stack(app, 'MyStack');\n\ndeclare const application: appreg.Application;\napplication.associateApplicationWithStack(myStack);\n```\n\n## Sharing\n\nYou can share your AppRegistry applications and attribute groups with AWS Organizations, Organizational Units (OUs), AWS accounts within an organization, as well as IAM roles and users. AppRegistry requires that AWS Organizations is enabled in an account before deploying a share of an application or attribute group.\n\n### Sharing an application\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const application: appreg.Application;\ndeclare const myRole: iam.IRole;\ndeclare const myUser: iam.IUser;\napplication.shareApplication('MyShareId', {\n name:'MyShare',\n accounts: ['123456789012'],\n organizationArns: ['arn:aws:organizations::123456789012:organization/o-my-org-id'],\n roles: [myRole],\n users: [myUser],\n});\n```\n\nE.g., sharing an application with multiple accounts and allowing the accounts to associate resources to the application.\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const application: appreg.Application;\napplication.shareApplication('MyShareId', {\n name: 'MyShare',\n accounts: ['123456789012', '234567890123'],\n sharePermission: appreg.SharePermission.ALLOW_ACCESS,\n});\n```\n\n### Sharing an attribute group\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const attributeGroup: appreg.AttributeGroup;\ndeclare const myRole: iam.IRole;\ndeclare const myUser: iam.IUser;\nattributeGroup.shareAttributeGroup('MyShareId', {\n name: 'MyShare',\n accounts: ['123456789012'],\n organizationArns: ['arn:aws:organizations::123456789012:organization/o-my-org-id'],\n roles: [myRole],\n users: [myUser],\n});\n```\n\nE.g., sharing an application with multiple accounts and allowing the accounts to associate applications to the attribute group.\n\n```ts\nimport * as iam from 'aws-cdk-lib/aws-iam';\ndeclare const attributeGroup: appreg.AttributeGroup;\nattributeGroup.shareAttributeGroup('MyShareId', {\n name: 'MyShare',\n accounts: ['123456789012', '234567890123'],\n sharePermission: appreg.SharePermission.ALLOW_ACCESS,\n});\n```\n"
|
|
3440
3440
|
},
|
|
3441
3441
|
"repository": {
|
|
3442
|
-
"directory": "packages
|
|
3442
|
+
"directory": "packages/@aws-cdk/aws-servicecatalogappregistry",
|
|
3443
3443
|
"type": "git",
|
|
3444
3444
|
"url": "https://github.com/aws/aws-cdk.git"
|
|
3445
3445
|
},
|
|
@@ -5288,6 +5288,6 @@
|
|
|
5288
5288
|
"symbolId": "lib/target-application:TargetApplicationCommonOptions"
|
|
5289
5289
|
}
|
|
5290
5290
|
},
|
|
5291
|
-
"version": "2.
|
|
5291
|
+
"version": "2.73.0-alpha.0",
|
|
5292
5292
|
"fingerprint": "**********"
|
|
5293
5293
|
}
|
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/README.md
CHANGED
|
@@ -61,6 +61,11 @@ const importedApplication = appreg.Application.fromApplicationArn(
|
|
|
61
61
|
|
|
62
62
|
## Application-Associator
|
|
63
63
|
|
|
64
|
+
`ApplicationAssociator` defines an AppRegistry application to contain all the stacks in deployed through your cdk package. This helps to manage all the
|
|
65
|
+
cdk deployed resources.
|
|
66
|
+
|
|
67
|
+
### Create a new application to associate all the stacks in the cdk.App scope
|
|
68
|
+
|
|
64
69
|
If you want to create an Application named `MyAssociatedApplication` in account `123456789012` and region `us-east-1`
|
|
65
70
|
and want to associate all stacks in the `App` scope to `MyAssociatedApplication`, then use as shown in the example below:
|
|
66
71
|
|
|
@@ -100,6 +105,8 @@ const associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplicati
|
|
|
100
105
|
});
|
|
101
106
|
```
|
|
102
107
|
|
|
108
|
+
### Import existing application to associate all the stacks in the cdk.App scope
|
|
109
|
+
|
|
103
110
|
If you want to re-use an existing Application with ARN: `arn:aws:servicecatalog:us-east-1:123456789012:/applications/applicationId`
|
|
104
111
|
and want to associate all stacks in the `App` scope to your imported application, then use as shown in the example below:
|
|
105
112
|
|
|
@@ -113,6 +120,8 @@ const associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplicati
|
|
|
113
120
|
});
|
|
114
121
|
```
|
|
115
122
|
|
|
123
|
+
### Associate attribute group to the application used by `ApplicationAssociator`
|
|
124
|
+
|
|
116
125
|
If you want to associate an Attribute Group with application created by `ApplicationAssociator`, then use as shown in the example below:
|
|
117
126
|
|
|
118
127
|
```ts
|
|
@@ -140,6 +149,8 @@ associatedApp.appRegistryApplication.addAttributeGroup('MyAttributeGroup' , {
|
|
|
140
149
|
|
|
141
150
|
```
|
|
142
151
|
|
|
152
|
+
### Associate stacks deployed by CDK pipelines
|
|
153
|
+
|
|
143
154
|
If you are using CDK Pipelines to deploy your application, the application stacks will be inside Stages, and
|
|
144
155
|
ApplicationAssociator will not be able to find them. Call `associateStage` on each Stage object before adding it to the
|
|
145
156
|
Pipeline, as shown in the example below:
|
|
@@ -180,6 +191,8 @@ const cdkPipeline = new ApplicationPipelineStack(app, 'CDKApplicationPipelineSta
|
|
|
180
191
|
});
|
|
181
192
|
```
|
|
182
193
|
|
|
194
|
+
### Associate cross-account stack
|
|
195
|
+
|
|
183
196
|
By default, ApplicationAssociator will not perform cross-account stack associations with the target Application,
|
|
184
197
|
to avoid deployment failures for accounts which have not been setup for cross-account associations.
|
|
185
198
|
To enable cross-account stack associations, make sure all accounts are in the same organization as the
|
|
@@ -198,10 +211,15 @@ const associatedApp = new appreg.ApplicationAssociator(app, 'AssociatedApplicati
|
|
|
198
211
|
});
|
|
199
212
|
```
|
|
200
213
|
|
|
214
|
+
### Associate cross-region stack
|
|
215
|
+
|
|
216
|
+
Currently, cross-region stack association is not supported.
|
|
217
|
+
|
|
201
218
|
## Attribute Group
|
|
202
219
|
|
|
203
220
|
An AppRegistry attribute group acts as a container for user-defined attributes for an application.
|
|
204
221
|
Metadata is attached in a machine-readable format to integrate with automated workflows and tools.
|
|
222
|
+
The attribute group name must be unique at the account level and it's immutable.
|
|
205
223
|
|
|
206
224
|
```ts
|
|
207
225
|
const attributeGroup = new appreg.AttributeGroup(this, 'MyFirstAttributeGroup', {
|
|
@@ -240,14 +258,18 @@ A Cloudformation stack can only be associated with one appregistry application.
|
|
|
240
258
|
If a stack is associated with multiple applications in your app or is already associated with one,
|
|
241
259
|
CDK will fail at deploy time.
|
|
242
260
|
|
|
243
|
-
### Associating application with
|
|
261
|
+
### Associating application with a new attribute group
|
|
244
262
|
|
|
245
|
-
You can associate an attribute group
|
|
263
|
+
You can create and associate an attribute group to an application with the `addAttributeGroup()` API:
|
|
246
264
|
|
|
247
265
|
```ts
|
|
248
266
|
declare const application: appreg.Application;
|
|
249
267
|
declare const attributeGroup: appreg.AttributeGroup;
|
|
250
|
-
application.
|
|
268
|
+
application.addAttributeGroup('MyAttributeGroupId' , {
|
|
269
|
+
attributeGroupName: 'MyAttributeGroupName',
|
|
270
|
+
description: 'Test attribute group',
|
|
271
|
+
attributes: {},
|
|
272
|
+
});
|
|
251
273
|
```
|
|
252
274
|
|
|
253
275
|
### Associating an attribute group with application
|
|
@@ -262,14 +284,14 @@ attributeGroup.associateWith(application);
|
|
|
262
284
|
|
|
263
285
|
### Associating application with a Stack
|
|
264
286
|
|
|
265
|
-
You can associate a stack with an application with the `
|
|
287
|
+
You can associate a stack with an application with the `associateApplicationWithStack()` API:
|
|
266
288
|
|
|
267
289
|
```ts
|
|
268
290
|
const app = new App();
|
|
269
291
|
const myStack = new Stack(app, 'MyStack');
|
|
270
292
|
|
|
271
293
|
declare const application: appreg.Application;
|
|
272
|
-
application.
|
|
294
|
+
application.associateApplicationWithStack(myStack);
|
|
273
295
|
```
|
|
274
296
|
|
|
275
297
|
## Sharing
|
|
@@ -71,6 +71,6 @@ class ApplicationAssociator extends constructs_1.Construct {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
_a = JSII_RTTI_SYMBOL_1;
|
|
74
|
-
ApplicationAssociator[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.ApplicationAssociator", version: "2.
|
|
74
|
+
ApplicationAssociator[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.ApplicationAssociator", version: "2.73.0-alpha.0" };
|
|
75
75
|
exports.ApplicationAssociator = ApplicationAssociator;
|
|
76
76
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tYXNzb2NpYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLWFzc29jaWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDJDQUF1QztBQUV2QyxpRUFBeUU7QUFlekU7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxzQkFBUztJQVFsRCxZQUFZLEtBQWMsRUFBRSxFQUFVLEVBQUUsS0FBaUM7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUpGLHFCQUFnQixHQUFtQixJQUFJLEdBQUcsRUFBRSxDQUFDOzs7Ozs7K0NBTG5ELHFCQUFxQjs7OztRQVc5QixJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLGlLQUFpSyxDQUFDLENBQUM7U0FDcEw7UUFFRCxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7UUFDaEQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDO1FBQ2hGLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLDhDQUEyQixDQUFDLElBQUksRUFBRTtZQUM5RCwyQkFBMkIsRUFBRSxJQUFJLENBQUMsMkJBQTJCO1NBQzlELENBQUMsQ0FBQyxDQUFDO0tBQ0w7SUFFRDs7O09BR0c7SUFDSSxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSw4Q0FBMkIsQ0FBQyxJQUFJLEVBQUU7WUFDOUQsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLDJCQUEyQjtTQUM5RCxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRDs7O09BR0c7SUFDSSxpQkFBaUIsQ0FBQyxLQUFnQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDekM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLHNCQUFzQjtRQUMvQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7S0FDekI7Ozs7QUFsRFUsc0RBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUFwcGxpY2F0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBDaGVja2VkU3RhZ2VTdGFja0Fzc29jaWF0b3IgfSBmcm9tICcuL2FzcGVjdHMvc3RhY2stYXNzb2NpYXRvcic7XG5pbXBvcnQgeyBUYXJnZXRBcHBsaWNhdGlvbiB9IGZyb20gJy4vdGFyZ2V0LWFwcGxpY2F0aW9uJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXBwbGljYXRpb24gQXNzb2NpYXRvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uQXNzb2NpYXRvclByb3BzIHtcbiAgLyoqXG4gICAqIEFwcGxpY2F0aW9uIGFzc29jaWF0b3IgcHJvcGVydGllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBFbXB0eSBhcnJheS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uczogVGFyZ2V0QXBwbGljYXRpb25bXTtcbn1cblxuLyoqXG4gKiBBbiBBcHBSZWdpc3RyeSBjb25zdHJ1Y3QgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYW4gYXBwbGljYXRpb24gd2l0aCB0aGUgZ2l2ZW4gbmFtZSBhbmQgZGVzY3JpcHRpb24uXG4gKlxuICogVGhlIGFwcGxpY2F0aW9uIG5hbWUgbXVzdCBiZSB1bmlxdWUgYXQgdGhlIGFjY291bnQgbGV2ZWwgcGVyIHJlZ2lvbiBhbmQgaXQncyBpbW11dGFibGUuXG4gKiBUaGlzIGNvbnN0cnVjdCB3aWxsIGF1dG9tYXRpY2FsbHkgYXNzb2NpYXRlIGFsbCBzdGFja3MgaW4gdGhlIGdpdmVuIHNjb3BlLCBob3dldmVyXG4gKiBpbiBjYXNlIG9mIGEgYFBpcGVsaW5lYCBzdGFjaywgc3RhZ2UgdW5kZXJuZWF0aCB0aGUgcGlwZWxpbmUgd2lsbCBub3QgYXV0b21hdGljYWxseSBiZSBhc3NvY2lhdGVkIGFuZFxuICogbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCBzZXBhcmF0ZWx5LlxuICpcbiAqIElmIGNyb3NzIGFjY291bnQgc3RhY2sgaXMgZGV0ZWN0ZWQgYW5kIGBhc3NvY2lhdGVDcm9zc0FjY291bnRTdGFja3NgIGluIGBUYXJnZXRBcHBsaWNhdGlvbk9wdGlvbnNgIGlzIGB0cnVlYCxcbiAqIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdpbGwgYXV0b21hdGljYWxseSBiZSBzaGFyZWQgd2l0aCB0aGUgY29uc3VtZXIgYWNjb3VudHMgdG8gYWxsb3cgYXNzb2NpYXRpb25zLlxuICogT3RoZXJ3aXNlLCB0aGUgYXBwbGljYXRpb24gd2lsbCBub3QgYmUgc2hhcmVkLlxuICogQ3Jvc3MgYWNjb3VudCBmZWF0dXJlIHdpbGwgb25seSB3b3JrIGZvciBub24gZW52aXJvbm1lbnQgYWdub3N0aWMgc3RhY2tzLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25Bc3NvY2lhdG9yIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIENyZWF0ZWQgb3IgaW1wb3J0ZWQgYXBwbGljYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzb2NpYXRlZFN0YWdlczogU2V0PGNkay5TdGFnZT4gPSBuZXcgU2V0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzb2NpYXRlQ3Jvc3NBY2NvdW50U3RhY2tzPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY2RrLkFwcCwgaWQ6IHN0cmluZywgcHJvcHM6IEFwcGxpY2F0aW9uQXNzb2NpYXRvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmIChwcm9wcy5hcHBsaWNhdGlvbnMubGVuZ3RoICE9IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHBhc3MgZXhhY3RseSAxIGluc3RhbmNlIG9mIFRhcmdldEFwcGxpY2F0aW9uLmNyZWF0ZUFwcGxpY2F0aW9uU3RhY2soKSBvciBUYXJnZXRBcHBsaWNhdGlvbi5leGlzdGluZ0FwcGxpY2F0aW9uRnJvbUFybigpIGludG8gdGhlIFwiYXBwbGljYXRpb25zXCIgcHJvcGVydHknKTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRBcHBsaWNhdGlvbiA9IHByb3BzLmFwcGxpY2F0aW9uc1swXTtcbiAgICBjb25zdCB0YXJnZXRCaW5kUmVzdWx0ID0gdGFyZ2V0QXBwbGljYXRpb24uYmluZChzY29wZSk7XG4gICAgdGhpcy5hcHBsaWNhdGlvbiA9IHRhcmdldEJpbmRSZXN1bHQuYXBwbGljYXRpb247XG4gICAgdGhpcy5hc3NvY2lhdGVDcm9zc0FjY291bnRTdGFja3MgPSB0YXJnZXRCaW5kUmVzdWx0LmFzc29jaWF0ZUNyb3NzQWNjb3VudFN0YWNrcztcbiAgICBjZGsuQXNwZWN0cy5vZihzY29wZSkuYWRkKG5ldyBDaGVja2VkU3RhZ2VTdGFja0Fzc29jaWF0b3IodGhpcywge1xuICAgICAgYXNzb2NpYXRlQ3Jvc3NBY2NvdW50U3RhY2tzOiB0aGlzLmFzc29jaWF0ZUNyb3NzQWNjb3VudFN0YWNrcyxcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogQXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCB0aGUgZ2l2ZW4gc3RhZ2UuXG4gICAqXG4gICAqL1xuICBwdWJsaWMgYXNzb2NpYXRlU3RhZ2Uoc3RhZ2U6IGNkay5TdGFnZSk6IGNkay5TdGFnZSB7XG4gICAgdGhpcy5hc3NvY2lhdGVkU3RhZ2VzLmFkZChzdGFnZSk7XG4gICAgY2RrLkFzcGVjdHMub2Yoc3RhZ2UpLmFkZChuZXcgQ2hlY2tlZFN0YWdlU3RhY2tBc3NvY2lhdG9yKHRoaXMsIHtcbiAgICAgIGFzc29jaWF0ZUNyb3NzQWNjb3VudFN0YWNrczogdGhpcy5hc3NvY2lhdGVDcm9zc0FjY291bnRTdGFja3MsXG4gICAgfSkpO1xuICAgIHJldHVybiBzdGFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgaWYgYSBzdGFnZSBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgdG8gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKi9cbiAgcHVibGljIGlzU3RhZ2VBc3NvY2lhdGVkKHN0YWdlOiBjZGsuU3RhZ2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hc3NvY2lhdGVkU3RhZ2VzLmhhcyhzdGFnZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBBcHBSZWdpc3RyeSBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICovXG4gIHB1YmxpYyBnZXQgYXBwUmVnaXN0cnlBcHBsaWNhdGlvbigpOiBJQXBwbGljYXRpb24ge1xuICAgIHJldHVybiB0aGlzLmFwcGxpY2F0aW9uO1xuICB9XG59XG4iXX0=
|
package/lib/application.js
CHANGED
|
@@ -208,6 +208,6 @@ class Application extends ApplicationBase {
|
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
210
|
_a = JSII_RTTI_SYMBOL_1;
|
|
211
|
-
Application[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.Application", version: "2.
|
|
211
|
+
Application[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.Application", version: "2.73.0-alpha.0" };
|
|
212
212
|
exports.Application = Application;
|
|
213
213
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpREFBdUQ7QUFDdkQsbUNBQW1DO0FBRW5DLGlFQUFrRTtBQUNsRSx1REFBb0U7QUFDcEUscUNBQThGO0FBQzlGLDJDQUFzRDtBQUN0RCxxREFBc0Q7QUFDdEQsNkZBQWlJO0FBRWpJLE1BQU0sd0NBQXdDLEdBQUcsMEZBQTBGLENBQUM7QUFDNUksTUFBTSwyQ0FBMkMsR0FBRyxrR0FBa0csQ0FBQztBQWdIdkosTUFBZSxlQUFnQixTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBQW5EOztRQUltQiw4QkFBeUIsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuRCx3QkFBbUIsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTRJaEUsQ0FBQztJQTFJQzs7Ozs7T0FLRztJQUNJLHVCQUF1QixDQUFDLGNBQStCO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakUsSUFBSSw0REFBNEIsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLE1BQU0sRUFBRSxFQUFFO2dCQUMzRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQy9CLGNBQWMsRUFBRSxjQUFjLENBQUMsZ0JBQWdCO2FBQ2hELENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5RDtLQUNGO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUIsQ0FBQyxFQUFVLEVBQUUsS0FBcUM7UUFDeEUsTUFBTSxjQUFjLEdB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LFdBQVc7U0FDL0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUQsSUFBSSxDQUFDLHFCQUFxQjtZQUN0QixXQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSw4RkFBOEYsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0tBQ3BKO0lBRVMsa0JBQWtCLENBQUMsZUFBdUI7UUFDbEQsT0FBTyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztLQUN0RDtJQUVPLHdCQUF3QixDQUFDLEtBQXVCO1FBQ3RELDJCQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pHLDJCQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1RywyQkFBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUN0Rzs7OztBQXBFVSxrQ0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmblJlc291cmNlU2hhcmUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtcmFtJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFN0YWdlU3RhY2tBc3NvY2lhdG9yIH0gZnJvbSAnLi9hc3BlY3RzL3N0YWNrLWFzc29jaWF0b3InO1xuaW1wb3J0IHsgQXR0cmlidXRlR3JvdXAsIElBdHRyaWJ1dGVHcm91cCB9IGZyb20gJy4vYXR0cmlidXRlLWdyb3VwJztcbmltcG9ydCB7IGdldFByaW5jaXBhbHNmb3JTaGFyaW5nLCBoYXNoVmFsdWVzLCBTaGFyZU9wdGlvbnMsIFNoYXJlUGVybWlzc2lvbiB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IGlzQWNjb3VudFVucmVzb2x2ZWQgfSBmcm9tICcuL3ByaXZhdGUvdXRpbHMnO1xuaW1wb3J0IHsgSW5wdXRWYWxpZGF0b3IgfSBmcm9tICcuL3ByaXZhdGUvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDZm5BcHBsaWNhdGlvbiwgQ2ZuQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiwgQ2ZuUmVzb3VyY2VBc3NvY2lhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZXJ2aWNlY2F0YWxvZ2FwcHJlZ2lzdHJ5JztcblxuY29uc3QgQVBQTElDQVRJT05fUkVBRF9PTkxZX1JBTV9QRVJNSVNTSU9OX0FSTiA9ICdhcm46YXdzOnJhbTo6YXdzOnBlcm1pc3Npb24vQVdTUkFNUGVybWlzc2lvblNlcnZpY2VDYXRhbG9nQXBwUmVnaXN0cnlBcHBsaWNhdGlvblJlYWRPbmx5JztcbmNvbnN0IEFQUExJQ0FUSU9OX0FMTE9XX0FDQ0VTU19SQU1fUEVSTUlTU0lPTl9BUk4gPSAnYXJuOmF3czpyYW06OmF3czpwZXJtaXNzaW9uL0FXU1JBTVBlcm1pc3Npb25TZXJ2aWNlQ2F0YWxvZ0FwcFJlZ2lzdHJ5QXBwbGljYXRpb25BbGxvd0Fzc29jaWF0aW9uJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFNlcnZpY2UgQ2F0YWxvZyBBcHBSZWdpc3RyeSBBdHRyaWJ1dGUgR3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBmb3IgYXR0cmlidXRlIGdyb3VwLlxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIGZvciBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb24gcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEpTT04gb2YgbmVzdGVkIGtleS12YWx1ZSBwYWlycyB0aGF0IHJlcHJlc2VudCB0aGUgYXR0cmlidXRlcyBpbiB0aGUgZ3JvdXAuXG4gICAqIEF0dHJpYnV0ZXMgbWF5YmUgYW4gZW1wdHkgSlNPTiAne30nLCBidXQgbXVzdCBiZSBleHBsaWNpdGx5IHN0YXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8qKlxuICogQSBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcGxpY2F0aW9uIGV4dGVuZHMgY2RrLklSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb25Bcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb25JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCBhbiBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGVHcm91cCBBcHBSZWdpc3RyeSBhdHRyaWJ1dGUgZ3JvdXBcbiAgICovXG4gIGFzc29jaWF0ZUF0dHJpYnV0ZUdyb3VwKGF0dHJpYnV0ZUdyb3VwOiBJQXR0cmlidXRlR3JvdXApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gYXR0cmlidXRlIGdyb3VwIGFuZCBhc3NvY2lhdGUgdGhpcyBhcHBsaWNhdGlvbiB3aXRoIHRoZSBjcmVhdGVkIGF0dHJpYnV0ZSBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIGlkIG5hbWUgb2YgdGhlIEF0dHJpYnV0ZUdyb3VwIGNvbnN0cnVjdCB0byBiZSBjcmVhdGVkLlxuICAgKiBAcGFyYW0gYXR0cmlidXRlR3JvdXBQcm9wcyBBcHBSZWdpc3RyeSBhdHRyaWJ1dGUgZ3JvdXAgcHJvcHNcbiAgICovXG4gIGFkZEF0dHJpYnV0ZUdyb3VwKGlkOiBzdHJpbmcsIGF0dHJpYnV0ZUdyb3VwUHJvcHM6IEF0dHJpYnV0ZUdyb3VwQXNzb2NpYXRpb25Qcm9wcyk6IElBdHRyaWJ1dGVHcm91cDtcblxuICAvKipcbiAgICogQXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCBhIENsb3VkRm9ybWF0aW9uIHN0YWNrLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFzc29jaWF0ZUFwcGxpY2F0aW9uV2l0aFN0YWNrYCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0gc3RhY2sgYSBDRk4gc3RhY2tcbiAgICovXG4gIGFzc29jaWF0ZVN0YWNrKHN0YWNrOiBjZGsuU3RhY2spOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYSBDbG91ZGZvcm1hdGlvbiBzdGF0Y2sgd2l0aCB0aGUgYXBwbGljYXRpb24gaW4gdGhlIGdpdmVuIHN0YWNrLlxuICAgKlxuICAgKiBAcGFyYW0gc3RhY2sgYSBDRk4gc3RhY2tcbiAgICovXG4gIGFzc29jaWF0ZUFwcGxpY2F0aW9uV2l0aFN0YWNrKHN0YWNrOiBjZGsuU3RhY2spOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTaGFyZSB0aGlzIGFwcGxpY2F0aW9uIHdpdGggb3RoZXIgSUFNIGVudGl0aWVzLCBhY2NvdW50cywgb3IgT1VzLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBuYW1lIGZvciB0aGUgc2hhcmUuXG4gICAqIEBwYXJhbSBzaGFyZU9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSBzaGFyZS5cbiAgICovXG4gIHNoYXJlQXBwbGljYXRpb24oaWQ6IHN0cmluZywgc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgdGhpcyBhcHBsaWNhdGlvbiB3aXRoIGFsbCBzdGFja3MgdW5kZXIgdGhlIGNvbnN0cnVjdCBub2RlLlxuICAgKiBOT1RFOiBUaGlzIG1ldGhvZCB3b24ndCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVyIHN0YWNrcyB1bmRlciBwaXBlbGluZSBzdGFnZXMsXG4gICAqIGFuZCByZXF1aXJlcyBhc3NvY2lhdGlvbiBvZiBlYWNoIHBpcGVsaW5lIHN0YWdlIGJ5IGNhbGxpbmcgdGhpcyBtZXRob2Qgd2l0aCBzdGFnZSBDb25zdHJ1Y3QuXG4gICAqXG4gICAqIEBwYXJhbSBjb25zdHJ1Y3QgY2RrIENvbnN0cnVjdFxuICAgKi9cbiAgYXNzb2NpYXRlQWxsU3RhY2tzSW5TY29wZShjb25zdHJ1Y3Q6IENvbnN0cnVjdCk6IHZvaWQ7XG5cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFNlcnZpY2UgQ2F0YWxvZyBBcHBSZWdpc3RyeSBBcHBsaWNhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uUHJvcHMge1xuICAvKipcbiAgICogRW5mb3JjZXMgYSBwYXJ0aWN1bGFyIHBoeXNpY2FsIGFwcGxpY2F0aW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gZm9yIGFwcGxpY2F0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgQXBwbGljYXRpb25CYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSUFwcGxpY2F0aW9uIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFwcGxpY2F0aW9uQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhcHBsaWNhdGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhcHBsaWNhdGlvbk5hbWU/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzb2NpYXRlZEF0dHJpYnV0ZUdyb3VwczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzb2NpYXRlZFJlc291cmNlczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSBhbiBhdHRyaWJ1dGUgZ3JvdXAgd2l0aCBhcHBsaWNhdGlvblxuICAgKiBJZiB0aGUgYXR0cmlidXRlIGdyb3VwIGlzIGFscmVhZHkgYXNzb2NpYXRlZCwgaXQgd2lsbCBpZ25vcmUgZHVwbGljYXRlIHJlcXVlc3QuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgQXR0cmlidXRlR3JvdXAuYXNzb2NpYXRlV2l0aGAgaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBhc3NvY2lhdGVBdHRyaWJ1dGVHcm91cChhdHRyaWJ1dGVHcm91cDogSUF0dHJpYnV0ZUdyb3VwKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzc29jaWF0ZWRBdHRyaWJ1dGVHcm91cHMuaGFzKGF0dHJpYnV0ZUdyb3VwLm5vZGUuYWRkcikpIHtcbiAgICAgIGNvbnN0IGhhc2hJZCA9IHRoaXMuZ2VuZXJhdGVVbmlxdWVIYXNoKGF0dHJpYnV0ZUdyb3VwLm5vZGUuYWRkcik7XG4gICAgICBuZXcgQ2ZuQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbih0aGlzLCBgQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiR7aGFzaElkfWAsIHtcbiAgICAgICAgYXBwbGljYXRpb246IHRoaXMuYXBwbGljYXRpb25JZCxcbiAgICAgICAgYXR0cmlidXRlR3JvdXA6IGF0dHJpYnV0ZUdyb3VwLmF0dHJpYnV0ZUdyb3VwSWQsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXNzb2NpYXRlZEF0dHJpYnV0ZUdyb3Vwcy5hZGQoYXR0cmlidXRlR3JvdXAubm9kZS5hZGRyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGF0dHJpYnV0ZSBncm91cCBhbmQgYXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCB0aGUgY3JlYXRlZCBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqL1xuICBwdWJsaWMgYWRkQXR0cmlidXRlR3JvdXAoaWQ6IHN0cmluZywgcHJvcHM6IEF0dHJpYnV0ZUdyb3VwQXNzb2NpYXRpb25Qcm9wcyk6IElBdHRyaWJ1dGVHcm91cCB7XG4gICAgY29uc3QgYXR0cmlidXRlR3JvdXAgPSBuZXcgQXR0cmlidXRlR3JvdXAodGhpcywgaWQsIHtcbiAgICAgIGF0dHJpYnV0ZUdyb3VwTmFtZTogcHJvcHMuYXR0cmlidXRlR3JvdXBOYW1lLFxuICAgICAgYXR0cmlidXRlczogcHJvcHMuYXR0cmlidXRlcyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICB9KTtcbiAgICBuZXcgQ2ZuQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbih0aGlzLCBgQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiR7dGhpcy5nZW5lcmF0ZVVuaXF1ZUhhc2goYXR0cmlidXRlR3JvdXAubm9kZS5hZGRyKX1gLCB7XG4gICAgICBhcHBsaWNhdGlvbjogdGhpcy5hcHBsaWNhdGlvbklkLFxuICAgICAgYXR0cmlidXRlR3JvdXA6IGF0dHJpYnV0ZUdyb3VwLmF0dHJpYnV0ZUdyb3VwSWQsXG4gICAgfSk7XG4gICAgdGhpcy5hc3NvY2lhdGVkQXR0cmlidXRlR3JvdXBzLmFkZChhdHRyaWJ1dGVHcm91cC5ub2RlLmFkZHIpO1xuICAgIHJldHVybiBhdHRyaWJ1dGVHcm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYSBzdGFjayB3aXRoIHRoZSBhcHBsaWNhdGlvblxuICAgKiBJZiB0aGUgcmVzb3VyY2UgaXMgYWxyZWFkeSBhc3NvY2lhdGVkLCBpdCB3aWxsIGlnbm9yZSBkdXBsaWNhdGUgcmVxdWVzdC5cbiAgICogQSBzdGFjayBjYW4gb25seSBiZSBhc3NvY2lhdGVkIHdpdGggb25lIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFzc29jaWF0ZUFwcGxpY2F0aW9uV2l0aFN0YWNrYCBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIGFzc29jaWF0ZVN0YWNrKHN0YWNrOiBjZGsuU3RhY2spOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXNzb2NpYXRlZFJlc291cmNlcy5oYXMoc3RhY2subm9kZS5hZGRyKSkge1xuICAgICAgY29uc3QgaGFzaElkID0gdGhpcy5nZW5lcmF0ZVVuaXF1ZUhhc2goc3RhY2subm9kZS5hZGRyKTtcbiAgICAgIG5ldyBDZm5SZXNvdXJjZUFzc29jaWF0aW9uKHRoaXMsIGBSZXNvdXJjZUFzc29jaWF0aW9uJHtoYXNoSWR9YCwge1xuICAgICAgICBhcHBsaWNhdGlvbjogdGhpcy5hcHBsaWNhdGlvbklkLFxuICAgICAgICByZXNvdXJjZTogc3RhY2suc3RhY2tJZCxcbiAgICAgICAgcmVzb3VyY2VUeXBlOiAnQ0ZOX1NUQUNLJyxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hc3NvY2lhdGVkUmVzb3VyY2VzLmFkZChzdGFjay5ub2RlLmFkZHIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgc3RhY2sgd2l0aCB0aGUgYXBwbGljYXRpb24gaW4gdGhlIHN0YWNrIHBhc3NlZCBhcyBwYXJhbWV0ZXIuXG4gICAqXG4gICAqIEEgc3RhY2sgY2FuIG9ubHkgYmUgYXNzb2NpYXRlZCB3aXRoIG9uZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBhc3NvY2lhdGVBcHBsaWNhdGlvbldpdGhTdGFjayhzdGFjazogY2RrLlN0YWNrKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzc29jaWF0ZWRSZXNvdXJjZXMuaGFzKHN0YWNrLm5vZGUuYWRkcikpIHtcbiAgICAgIG5ldyBDZm5SZXNvdXJjZUFzc29jaWF0aW9uKHN0YWNrLCAnQXBwUmVnaXN0cnlBc3NvY2lhdGlvbicsIHtcbiAgICAgICAgYXBwbGljYXRpb246IHN0YWNrID09PSBjZGsuU3RhY2sub2YodGhpcykgPyB0aGlzLmFwcGxpY2F0aW9uSWQgOiB0aGlzLmFwcGxpY2F0aW9uTmFtZSA/PyB0aGlzLmFwcGxpY2F0aW9uSWQsXG4gICAgICAgIHJlc291cmNlOiBzdGFjay5zdGFja0lkLFxuICAgICAgICByZXNvdXJjZVR5cGU6ICdDRk5fU1RBQ0snLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJlc291cmNlcy5hZGQoc3RhY2subm9kZS5hZGRyKTtcbiAgICAgIGlmIChzdGFjayAhPT0gY2RrLlN0YWNrLm9mKHRoaXMpICYmIHRoaXMuaXNTYW1lQWNjb3VudChzdGFjaykgJiYgIXRoaXMuaXNTdGFnZVNjb3BlKHN0YWNrKSAmJiAhc3RhY2submVzdGVkKSB7XG4gICAgICAgIHN0YWNrLmFkZERlcGVuZGVuY3koY2RrLlN0YWNrLm9mKHRoaXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2hhcmUgYW4gYXBwbGljYXRpb24gd2l0aCBhY2NvdW50cywgb3JnYW5pemF0aW9ucyBhbmQgT1VzLCBhbmQgSUFNIHJvbGVzIGFuZCB1c2Vycy5cbiAgICogVGhlIGFwcGxpY2F0aW9uIHdpbGwgYmVjb21lIGF2YWlsYWJsZSB0byBlbmQgdXNlcnMgd2l0aGluIHRob3NlIHByaW5jaXBhbHMuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0IG5hbWUgZm9yIHRoZSBzaGFyZS5cbiAgICogQHBhcmFtIHNoYXJlT3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHNoYXJlLlxuICAgKi9cbiAgcHVibGljIHNoYXJlQXBwbGljYXRpb24oaWQ6IHN0cmluZywgc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBwcmluY2lwYWxzID0gZ2V0UHJpbmNpcGFsc2ZvclNoYXJpbmcoc2hhcmVPcHRpb25zKTtcbiAgICBuZXcgQ2ZuUmVzb3VyY2VTaGFyZSh0aGlzLCBpZCwge1xuICAgICAgbmFtZTogc2hhcmVPcHRpb25zLm5hbWUsXG4gICAgICBhbGxvd0V4dGVybmFsUHJpbmNpcGFsczogZmFsc2UsXG4gICAgICBwcmluY2lwYWxzOiBwcmluY2lwYWxzLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5hcHBsaWNhdGlvbkFybl0sXG4gICAgICBwZXJtaXNzaW9uQXJuczogW3RoaXMuZ2V0QXBwbGljYXRpb25TaGFyZVBlcm1pc3Npb25BUk4oc2hhcmVPcHRpb25zKV0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXNzb2NpYXRlIGFsbCBzdGFja3MgcHJlc2VudCBpbiBjb25zdHJ1Y3QncyBhc3BlY3Qgd2l0aCBhcHBsaWNhdGlvbiwgaW5jbHVkaW5nIGNyb3NzLWFjY291bnQgc3RhY2tzLlxuICAgKlxuICAgKiBOT1RFOiBUaGlzIG1ldGhvZCB3b24ndCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVyIHN0YWNrcyB1bmRlciBwaXBlbGluZSBzdGFnZXMsXG4gICAqIGFuZCByZXF1aXJlcyBhc3NvY2lhdGlvbiBvZiBlYWNoIHBpcGVsaW5lIHN0YWdlIGJ5IGNhbGxpbmcgdGhpcyBtZXRob2Qgd2l0aCBzdGFnZSBDb25zdHJ1Y3QuXG4gICAqXG4gICAqL1xuICBwdWJsaWMgYXNzb2NpYXRlQWxsU3RhY2tzSW5TY29wZShzY29wZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgY2RrLkFzcGVjdHMub2Yoc2NvcGUpLmFkZChuZXcgU3RhZ2VTdGFja0Fzc29jaWF0b3IodGhpcywge1xuICAgICAgYXNzb2NpYXRlQ3Jvc3NBY2NvdW50U3RhY2tzOiB0cnVlLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSB1bmlxdWUgaWRcbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY29ycmVjdCBwZXJtaXNzaW9uIEFSTiBiYXNlZCBvbiB0aGUgU2hhcmVQZXJtaXNzaW9uXG4gICAqL1xuICBwcml2YXRlIGdldEFwcGxpY2F0aW9uU2hhcmVQZXJtaXNzaW9uQVJOKHNoYXJlT3B0aW9uczogU2hhcmVPcHRpb25zKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHNoYXJlT3B0aW9ucy5zaGFyZVBlcm1pc3Npb24pIHtcbiAgICAgIGNhc2UgU2hhcmVQZXJtaXNzaW9uLkFMTE9XX0FDQ0VTUzpcbiAgICAgICAgcmV0dXJuIEFQUExJQ0FUSU9OX0FMTE9XX0FDQ0VTU19SQU1fUEVSTUlTU0lPTl9BUk47XG4gICAgICBjYXNlIFNoYXJlUGVybWlzc2lvbi5SRUFEX09OTFk6XG4gICAgICAgIHJldHVybiBBUFBMSUNBVElPTl9SRUFEX09OTFlfUkFNX1BFUk1JU1NJT05fQVJOO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gc2hhcmVPcHRpb25zLnNoYXJlUGVybWlzc2lvbiA/PyBBUFBMSUNBVElPTl9SRUFEX09OTFlfUkFNX1BFUk1JU1NJT05fQVJOO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAqICBDaGVja3Mgd2hldGhlciBhIHN0YWNrIGlzIGRlZmluZWQgaW4gYSBTdGFnZSBvciBub3QuXG4gICovXG4gIHByaXZhdGUgaXNTdGFnZVNjb3BlKHN0YWNrIDogY2RrLlN0YWNrKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEoc3RhY2subm9kZS5zY29wZSBpbnN0YW5jZW9mIGNkay5BcHApICYmIChzdGFjay5ub2RlLnNjb3BlIGluc3RhbmNlb2YgY2RrLlN0YWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllcyBpZiBhcHBsaWNhdGlvbiBhbmQgdGhlIHZpc2l0ZWQgbm9kZSBpcyBkZXBsb3llZCBpbiBkaWZmZXJlbnQgYWNjb3VudC5cbiAgICovXG4gIHByaXZhdGUgaXNTYW1lQWNjb3VudChzdGFjazogY2RrLlN0YWNrKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzQWNjb3VudFVucmVzb2x2ZWQodGhpcy5lbnYuYWNjb3VudCwgc3RhY2suYWNjb3VudCkgfHwgdGhpcy5lbnYuYWNjb3VudCA9PT0gc3RhY2suYWNjb3VudDtcbiAgfVxuXG59XG5cbi8qKlxuICogQSBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbiBleHRlbmRzIEFwcGxpY2F0aW9uQmFzZSB7XG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFwcGxpY2F0aW9uIGNvbnN0cnVjdCB0aGF0IHJlcHJlc2VudHMgYW4gZXh0ZXJuYWwgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApLlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIG5hbWUuXG4gICAqIEBwYXJhbSBhcHBsaWNhdGlvbkFybiB0aGUgQW1hem9uIFJlc291cmNlIE5hbWUgb2YgdGhlIGV4aXN0aW5nIEFwcFJlZ2lzdHJ5IEFwcGxpY2F0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21BcHBsaWNhdGlvbkFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhcHBsaWNhdGlvbkFybjogc3RyaW5nKTogSUFwcGxpY2F0aW9uIHtcbiAgICBjb25zdCBhcm4gPSBjZGsuU3RhY2sub2Yoc2NvcGUpLnNwbGl0QXJuKGFwcGxpY2F0aW9uQXJuLCBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX1NMQVNIX1JFU09VUkNFX05BTUUpO1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uSWQgPSBhcm4ucmVzb3VyY2VOYW1lO1xuXG4gICAgaWYgKCFhcHBsaWNhdGlvbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgQXBwbGljYXRpb24gSUQgZnJvbSBBcHBsaWNhdGlvbiBBUk46ICcgKyBhcHBsaWNhdGlvbkFybik7XG4gICAgfVxuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXBwbGljYXRpb25CYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhcHBsaWNhdGlvbkFybiA9IGFwcGxpY2F0aW9uQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQgPSBhcHBsaWNhdGlvbklkITtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhcHBsaWNhdGlvbk5hbWUgPSB1bmRlZmluZWQ7XG5cbiAgICAgIHByb3RlY3RlZCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaGFzaFZhbHVlcyh0aGlzLmFwcGxpY2F0aW9uQXJuLCByZXNvdXJjZUFkZHJlc3MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCwge1xuICAgICAgZW52aXJvbm1lbnRGcm9tQXJuOiBhcHBsaWNhdGlvbkFybixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWNhdGlvbiBtYW5hZ2VyIFVSTCBmb3IgdGhlIEFwcGxpY2F0aW9uLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb25NYW5hZ2VyVXJsPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb25Bcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uTmFtZT86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBub2RlQWRkcmVzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBcHBsaWNhdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudmFsaWRhdGVBcHBsaWNhdGlvblByb3BzKHByb3BzKTtcblxuICAgIGNvbnN0IGFwcGxpY2F0aW9uID0gbmV3IENmbkFwcGxpY2F0aW9uKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHByb3BzLmFwcGxpY2F0aW9uTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbGljYXRpb25Bcm4gPSBhcHBsaWNhdGlvbi5hdHRyQXJuO1xuICAgIHRoaXMuYXBwbGljYXRpb25JZCA9IGFwcGxpY2F0aW9uLmF0dHJJZDtcbiAgICB0aGlzLmFwcGxpY2F0aW9uTmFtZSA9IHByb3BzLmFwcGxpY2F0aW9uTmFtZTtcbiAgICB0aGlzLm5vZGVBZGRyZXNzID0gY2RrLk5hbWVzLm5vZGVVbmlxdWVJZChhcHBsaWNhdGlvbi5ub2RlKTtcblxuICAgIHRoaXMuYXBwbGljYXRpb25NYW5hZ2VyVXJsID1cbiAgICAgICAgYGh0dHBzOi8vJHt0aGlzLmVudi5yZWdpb259LmNvbnNvbGUuYXdzLmFtYXpvbi5jb20vc3lzdGVtcy1tYW5hZ2VyL2FwcG1hbmFnZXIvYXBwbGljYXRpb24vQVdTX0FwcFJlZ2lzdHJ5X0FwcGxpY2F0aW9uLSR7dGhpcy5hcHBsaWNhdGlvbk5hbWV9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBoYXNoVmFsdWVzKHRoaXMubm9kZUFkZHJlc3MsIHJlc291cmNlQWRkcmVzcyk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQXBwbGljYXRpb25Qcm9wcyhwcm9wczogQXBwbGljYXRpb25Qcm9wcykge1xuICAgIElucHV0VmFsaWRhdG9yLnZhbGlkYXRlTGVuZ3RoKHRoaXMubm9kZS5wYXRoLCAnYXBwbGljYXRpb24gbmFtZScsIDEsIDI1NiwgcHJvcHMuYXBwbGljYXRpb25OYW1lKTtcbiAgICBJbnB1dFZhbGlkYXRvci52YWxpZGF0ZVJlZ2V4KHRoaXMubm9kZS5wYXRoLCAnYXBwbGljYXRpb24gbmFtZScsIC9eW2EtekEtWjAtOS1fXSskLywgcHJvcHMuYXBwbGljYXRpb25OYW1lKTtcbiAgICBJbnB1dFZhbGlkYXRvci52YWxpZGF0ZUxlbmd0aCh0aGlzLm5vZGUucGF0aCwgJ2FwcGxpY2F0aW9uIGRlc2NyaXB0aW9uJywgMCwgMTAyNCwgcHJvcHMuZGVzY3JpcHRpb24pO1xuICB9XG59XG4iXX0=
|
package/lib/attribute-group.js
CHANGED
|
@@ -116,6 +116,6 @@ class AttributeGroup extends AttributeGroupBase {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
_a = JSII_RTTI_SYMBOL_1;
|
|
119
|
-
AttributeGroup[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.AttributeGroup", version: "2.
|
|
119
|
+
AttributeGroup[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.AttributeGroup", version: "2.73.0-alpha.0" };
|
|
120
120
|
exports.AttributeGroup = AttributeGroup;
|
|
121
121
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXR0cmlidXRlLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlEQUF1RDtBQUN2RCxtQ0FBbUM7QUFHbkMscUNBQThGO0FBQzlGLHFEQUFzRDtBQUN0RCw2RkFBNEc7QUFFNUcsTUFBTSw0Q0FBNEMsR0FBRyw2RkFBNkYsQ0FBQztBQUNuSixNQUFNLCtDQUErQyxHQUFHLHFHQUFxRyxDQUFDO0FBaUQ5SixNQUFlLGtCQUFtQixTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBQXREOztRQUdtQiwyQkFBc0IsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQWdEbkUsQ0FBQztJQTlDQzs7O09BR0c7SUFDSSxhQUFhLENBQUMsV0FBeUI7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMzRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5RCxJQUFJLDREQUE0QixDQUFDLElBQUksRUFBRSx1Q0FBdUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3RGLFdBQVcsRUFBRSxXQUFXLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsZUFBZSxJQUFJLFdBQVcsQ0FBQyxhQUFhO2dCQUM1SSxjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN0QyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEQ7S0FDRjtJQUVNLG1CQUFt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SUFFTywyQkFBMkIsQ0FBQyxLQUEwQjtRQUM1RCwyQkFBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hHLDJCQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ25ILDJCQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFHOzs7O0FBMURVLHdDQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuUmVzb3VyY2VTaGFyZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yYW0nO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUFwcGxpY2F0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBnZXRQcmluY2lwYWxzZm9yU2hhcmluZywgaGFzaFZhbHVlcywgU2hhcmVPcHRpb25zLCBTaGFyZVBlcm1pc3Npb24gfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBJbnB1dFZhbGlkYXRvciB9IGZyb20gJy4vcHJpdmF0ZS92YWxpZGF0aW9uJztcbmltcG9ydCB7IENmbkF0dHJpYnV0ZUdyb3VwLCBDZm5BdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlcnZpY2VjYXRhbG9nYXBwcmVnaXN0cnknO1xuXG5jb25zdCBBVFRSSUJVVEVfR1JPVVBfUkVBRF9PTkxZX1JBTV9QRVJNSVNTSU9OX0FSTiA9ICdhcm46YXdzOnJhbTo6YXdzOnBlcm1pc3Npb24vQVdTUkFNUGVybWlzc2lvblNlcnZpY2VDYXRhbG9nQXBwUmVnaXN0cnlBdHRyaWJ1dGVHcm91cFJlYWRPbmx5JztcbmNvbnN0IEFUVFJJQlVURV9HUk9VUF9BTExPV19BQ0NFU1NfUkFNX1BFUk1JU1NJT05fQVJOID0gJ2Fybjphd3M6cmFtOjphd3M6cGVybWlzc2lvbi9BV1NSQU1QZXJtaXNzaW9uU2VydmljZUNhdGFsb2dBcHBSZWdpc3RyeUF0dHJpYnV0ZUdyb3VwQWxsb3dBc3NvY2lhdGlvbic7XG5cbi8qKlxuICogQSBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXR0cmlidXRlIEdyb3VwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBdHRyaWJ1dGVHcm91cCBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYXR0cmlidXRlIGdyb3VwLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhdHRyaWJ1dGVHcm91cEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGF0dHJpYnV0ZSBncm91cC5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaGFyZSB0aGUgYXR0cmlidXRlIGdyb3VwIHJlc291cmNlIHdpdGggb3RoZXIgSUFNIGVudGl0aWVzLCBhY2NvdW50cywgb3IgT1VzLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBuYW1lIGZvciB0aGUgc2hhcmUuXG4gICAqIEBwYXJhbSBzaGFyZU9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSBzaGFyZS5cbiAgICovXG4gIHNoYXJlQXR0cmlidXRlR3JvdXAoaWQ6IHN0cmluZywgc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiB2b2lkO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgU2VydmljZSBDYXRhbG9nIEFwcFJlZ2lzdHJ5IEF0dHJpYnV0ZSBHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZUdyb3VwUHJvcHMge1xuICAvKipcbiAgICogRW5mb3JjZXMgYSBwYXJ0aWN1bGFyIHBoeXNpY2FsIGF0dHJpYnV0ZSBncm91cCBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIGZvciBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb24gcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEpTT04gb2YgbmVzdGVkIGtleS12YWx1ZSBwYWlycyB0aGF0IHJlcHJlc2VudCB0aGUgYXR0cmlidXRlcyBpbiB0aGUgZ3JvdXAuXG4gICAqIEF0dHJpYnV0ZXMgbWF5YmUgYW4gZW1wdHkgSlNPTiAne30nLCBidXQgbXVzdCBiZSBleHBsaWNpdGx5IHN0YXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbmFic3RyYWN0IGNsYXNzIEF0dHJpYnV0ZUdyb3VwQmFzZSBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIElBdHRyaWJ1dGVHcm91cCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhdHRyaWJ1dGVHcm91cEFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBJZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGFzc29jaWF0ZWRBcHBsaWNhdGlvbnM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYW4gYXBwbGljYXRpb24gd2l0aCBhdHRyaWJ1dGUgZ3JvdXBcbiAgICogSWYgdGhlIGF0dHJpYnV0ZSBncm91cCBpcyBhbHJlYWR5IGFzc29jaWF0ZWQsIGl0IHdpbGwgaWdub3JlIGR1cGxpY2F0ZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGFzc29jaWF0ZVdpdGgoYXBwbGljYXRpb246IElBcHBsaWNhdGlvbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5hc3NvY2lhdGVkQXBwbGljYXRpb25zLmhhcyhhcHBsaWNhdGlvbi5ub2RlLmFkZHIpKSB7XG4gICAgICBjb25zdCBoYXNoSWQgPSB0aGlzLmdlbmVyYXRlVW5pcXVlSGFzaChhcHBsaWNhdGlvbi5ub2RlLmFkZHIpO1xuICAgICAgbmV3IENmbkF0dHJpYnV0ZUdyb3VwQXNzb2NpYXRpb24odGhpcywgYEFwcGxpY2F0aW9uQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiR7aGFzaElkfWAsIHtcbiAgICAgICAgYXBwbGljYXRpb246IGFwcGxpY2F0aW9uLnN0YWNrID09PSBjZGsuU3RhY2sub2YodGhpcykgPyBhcHBsaWNhdGlvbi5hcHBsaWNhdGlvbklkIDogYXBwbGljYXRpb24uYXBwbGljYXRpb25OYW1lID8/IGFwcGxpY2F0aW9uLmFwcGxpY2F0aW9uSWQsXG4gICAgICAgIGF0dHJpYnV0ZUdyb3VwOiB0aGlzLmF0dHJpYnV0ZUdyb3VwSWQsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5hc3NvY2lhdGVkQXBwbGljYXRpb25zLmFkZChhcHBsaWNhdGlvbi5ub2RlLmFkZHIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaGFyZUF0dHJpYnV0ZUdyb3VwKGlkOiBzdHJpbmcsIHNoYXJlT3B0aW9uczogU2hhcmVPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3QgcHJpbmNpcGFscyA9IGdldFByaW5jaXBhbHNmb3JTaGFyaW5nKHNoYXJlT3B0aW9ucyk7XG4gICAgbmV3IENmblJlc291cmNlU2hhcmUodGhpcywgaWQsIHtcbiAgICAgIG5hbWU6IHNoYXJlT3B0aW9ucy5uYW1lLFxuICAgICAgYWxsb3dFeHRlcm5hbFByaW5jaXBhbHM6IGZhbHNlLFxuICAgICAgcHJpbmNpcGFsczogcHJpbmNpcGFscyxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMuYXR0cmlidXRlR3JvdXBBcm5dLFxuICAgICAgcGVybWlzc2lvbkFybnM6IFt0aGlzLmdldEF0dHJpYnV0ZUdyb3VwU2hhcmVQZXJtaXNzaW9uQVJOKHNoYXJlT3B0aW9ucyldLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY29ycmVjdCBwZXJtaXNzaW9uIEFSTiBiYXNlZCBvbiB0aGUgU2hhcmVQZXJtaXNzaW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0QXR0cmlidXRlR3JvdXBTaGFyZVBlcm1pc3Npb25BUk4oc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoc2hhcmVPcHRpb25zLnNoYXJlUGVybWlzc2lvbikge1xuICAgICAgY2FzZSBTaGFyZVBlcm1pc3Npb24uQUxMT1dfQUNDRVNTOlxuICAgICAgICByZXR1cm4gQVRUUklCVVRFX0dST1VQX0FMTE9XX0FDQ0VTU19SQU1fUEVSTUlTU0lPTl9BUk47XG4gICAgICBjYXNlIFNoYXJlUGVybWlzc2lvbi5SRUFEX09OTFk6XG4gICAgICAgIHJldHVybiBBVFRSSUJVVEVfR1JPVVBfUkVBRF9PTkxZX1JBTV9QRVJNSVNTSU9OX0FSTjtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHNoYXJlT3B0aW9ucy5zaGFyZVBlcm1pc3Npb24gPz8gQVRUUklCVVRFX0dST1VQX1JFQURfT05MWV9SQU1fUEVSTUlTU0lPTl9BUk47XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHVuaXF1ZSBoYXNoXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2VuZXJhdGVVbmlxdWVIYXNoKHJlc291cmNlQWRkcmVzczogc3RyaW5nKTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgU2VydmljZSBDYXRhbG9nIEFwcFJlZ2lzdHJ5IEF0dHJpYnV0ZSBHcm91cC5cbiAqL1xuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZUdyb3VwIGV4dGVuZHMgQXR0cmlidXRlR3JvdXBCYXNlIGltcGxlbWVudHMgSUF0dHJpYnV0ZUdyb3VwIHtcbiAgLyoqXG4gICAqIEltcG9ydHMgYW4gYXR0cmlidXRlIGdyb3VwIGNvbnN0cnVjdCB0aGF0IHJlcHJlc2VudHMgYW4gZXh0ZXJuYWwgYXR0cmlidXRlIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBjcmVhdGluZyBjb25zdHJ1Y3QgKHVzdWFsbHkgYHRoaXNgKS5cbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QncyBuYW1lLlxuICAgKiBAcGFyYW0gYXR0cmlidXRlR3JvdXBBcm4gdGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIG9mIHRoZSBleGlzdGluZyBBcHBSZWdpc3RyeSBhdHRyaWJ1dGUgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUF0dHJpYnV0ZUdyb3VwQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJpYnV0ZUdyb3VwQXJuOiBzdHJpbmcpOiBJQXR0cmlidXRlR3JvdXAge1xuICAgIGNvbnN0IGFybiA9IGNkay5TdGFjay5vZihzY29wZSkuc3BsaXRBcm4oYXR0cmlidXRlR3JvdXBBcm4sIGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfU0xBU0hfUkVTT1VSQ0VfTkFNRSk7XG4gICAgY29uc3QgYXR0cmlidXRlR3JvdXBJZCA9IGFybi5yZXNvdXJjZU5hbWU7XG5cbiAgICBpZiAoIWF0dHJpYnV0ZUdyb3VwSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBBdHRyaWJ1dGUgR3JvdXAgSUQgZnJvbSBBdHRyaWJ1dGUgR3JvdXAgQVJOOiAnICsgYXR0cmlidXRlR3JvdXBBcm4pO1xuICAgIH1cblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEF0dHJpYnV0ZUdyb3VwQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBBcm4gPSBhdHRyaWJ1dGVHcm91cEFybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhdHRyaWJ1dGVHcm91cElkID0gYXR0cmlidXRlR3JvdXBJZCE7XG5cbiAgICAgIHByb3RlY3RlZCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaGFzaFZhbHVlcyh0aGlzLmF0dHJpYnV0ZUdyb3VwQXJuLCByZXNvdXJjZUFkZHJlc3MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCwge1xuICAgICAgZW52aXJvbm1lbnRGcm9tQXJuOiBhdHRyaWJ1dGVHcm91cEFybixcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBhdHRyaWJ1dGVHcm91cEFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBJZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IG5vZGVBZGRyZXNzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEF0dHJpYnV0ZUdyb3VwUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy52YWxpZGF0ZUF0dHJpYnV0ZUdyb3VwUHJvcHMocHJvcHMpO1xuXG4gICAgY29uc3QgYXR0cmlidXRlR3JvdXAgPSBuZXcgQ2ZuQXR0cmlidXRlR3JvdXAodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuYXR0cmlidXRlR3JvdXBOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgYXR0cmlidXRlczogcHJvcHMuYXR0cmlidXRlcyxcbiAgICB9KTtcblxuICAgIHRoaXMuYXR0cmlidXRlR3JvdXBBcm4gPSBhdHRyaWJ1dGVHcm91cC5hdHRyQXJuO1xuICAgIHRoaXMuYXR0cmlidXRlR3JvdXBJZCA9IGF0dHJpYnV0ZUdyb3VwLmF0dHJJZDtcbiAgICB0aGlzLm5vZGVBZGRyZXNzID0gY2RrLk5hbWVzLm5vZGVVbmlxdWVJZChhdHRyaWJ1dGVHcm91cC5ub2RlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBoYXNoVmFsdWVzKHRoaXMubm9kZUFkZHJlc3MsIHJlc291cmNlQWRkcmVzcyk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQXR0cmlidXRlR3JvdXBQcm9wcyhwcm9wczogQXR0cmlidXRlR3JvdXBQcm9wcykge1xuICAgIElucHV0VmFsaWRhdG9yLnZhbGlkYXRlTGVuZ3RoKHRoaXMubm9kZS5wYXRoLCAnYXR0cmlidXRlIGdyb3VwIG5hbWUnLCAxLCAyNTYsIHByb3BzLmF0dHJpYnV0ZUdyb3VwTmFtZSk7XG4gICAgSW5wdXRWYWxpZGF0b3IudmFsaWRhdGVSZWdleCh0aGlzLm5vZGUucGF0aCwgJ2F0dHJpYnV0ZSBncm91cCBuYW1lJywgL15bYS16QS1aMC05LV9dKyQvLCBwcm9wcy5hdHRyaWJ1dGVHcm91cE5hbWUpO1xuICAgIElucHV0VmFsaWRhdG9yLnZhbGlkYXRlTGVuZ3RoKHRoaXMubm9kZS5wYXRoLCAnYXR0cmlidXRlIGdyb3VwIGRlc2NyaXB0aW9uJywgMCwgMTAyNCwgcHJvcHMuZGVzY3JpcHRpb24pO1xuICB9XG59XG4iXX0=
|
|
@@ -46,7 +46,7 @@ class TargetApplication {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
_a = JSII_RTTI_SYMBOL_1;
|
|
49
|
-
TargetApplication[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.TargetApplication", version: "2.
|
|
49
|
+
TargetApplication[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.TargetApplication", version: "2.73.0-alpha.0" };
|
|
50
50
|
exports.TargetApplication = TargetApplication;
|
|
51
51
|
/**
|
|
52
52
|
* Class which constructs the input from provided application name and stack props.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-cdk/aws-servicecatalogappregistry-alpha",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.73.0-alpha.0",
|
|
4
4
|
"description": "The CDK Construct Library for AWS::ServiceCatalogAppRegistry",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"repository": {
|
|
47
47
|
"type": "git",
|
|
48
48
|
"url": "https://github.com/aws/aws-cdk.git",
|
|
49
|
-
"directory": "packages
|
|
49
|
+
"directory": "packages/@aws-cdk/aws-servicecatalogappregistry"
|
|
50
50
|
},
|
|
51
51
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
52
52
|
"scripts": {
|
|
@@ -84,18 +84,18 @@
|
|
|
84
84
|
},
|
|
85
85
|
"license": "Apache-2.0",
|
|
86
86
|
"devDependencies": {
|
|
87
|
-
"@aws-cdk/cdk-build-tools": "2.
|
|
88
|
-
"@aws-cdk/integ-runner": "2.
|
|
89
|
-
"@aws-cdk/cfn2ts": "2.
|
|
90
|
-
"@aws-cdk/pkglint": "2.
|
|
87
|
+
"@aws-cdk/cdk-build-tools": "2.73.0-alpha.0",
|
|
88
|
+
"@aws-cdk/integ-runner": "2.73.0-alpha.0",
|
|
89
|
+
"@aws-cdk/cfn2ts": "2.73.0-alpha.0",
|
|
90
|
+
"@aws-cdk/pkglint": "2.73.0-alpha.0",
|
|
91
91
|
"@types/jest": "^27.5.2",
|
|
92
|
-
"aws-cdk-lib": "2.
|
|
92
|
+
"aws-cdk-lib": "2.73.0",
|
|
93
93
|
"constructs": "^10.0.0",
|
|
94
|
-
"@aws-cdk/integ-tests-alpha": "2.
|
|
94
|
+
"@aws-cdk/integ-tests-alpha": "2.73.0-alpha.0"
|
|
95
95
|
},
|
|
96
96
|
"dependencies": {},
|
|
97
97
|
"peerDependencies": {
|
|
98
|
-
"aws-cdk-lib": "
|
|
98
|
+
"aws-cdk-lib": "2.73.0",
|
|
99
99
|
"constructs": "^10.0.0"
|
|
100
100
|
},
|
|
101
101
|
"engines": {
|
|
@@ -121,4 +121,4 @@
|
|
|
121
121
|
"assert/assert-dependency"
|
|
122
122
|
]
|
|
123
123
|
}
|
|
124
|
-
}
|
|
124
|
+
}
|