@aws-cdk/aws-servicecatalogappregistry-alpha 2.72.1-alpha.0 → 2.74.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.72.1",
11
+ "aws-cdk-lib": "2.74.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![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\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![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\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/individual-packages/aws-servicecatalogappregistry",
3442
+ "directory": "packages/@aws-cdk/aws-servicecatalogappregistry-alpha",
3443
3443
  "type": "git",
3444
3444
  "url": "https://github.com/aws/aws-cdk.git"
3445
3445
  },
@@ -4055,7 +4055,7 @@
4055
4055
  },
4056
4056
  "locationInModule": {
4057
4057
  "filename": "lib/attribute-group.ts",
4058
- "line": 149
4058
+ "line": 151
4059
4059
  },
4060
4060
  "parameters": [
4061
4061
  {
@@ -4084,7 +4084,7 @@
4084
4084
  "kind": "class",
4085
4085
  "locationInModule": {
4086
4086
  "filename": "lib/attribute-group.ts",
4087
- "line": 115
4087
+ "line": 117
4088
4088
  },
4089
4089
  "methods": [
4090
4090
  {
@@ -4094,7 +4094,7 @@
4094
4094
  },
4095
4095
  "locationInModule": {
4096
4096
  "filename": "lib/attribute-group.ts",
4097
- "line": 123
4097
+ "line": 125
4098
4098
  },
4099
4099
  "name": "fromAttributeGroupArn",
4100
4100
  "parameters": [
@@ -4140,9 +4140,10 @@
4140
4140
  },
4141
4141
  "locationInModule": {
4142
4142
  "filename": "lib/attribute-group.ts",
4143
- "line": 68
4143
+ "line": 70
4144
4144
  },
4145
4145
  "name": "associateWith",
4146
+ "overrides": "@aws-cdk/aws-servicecatalogappregistry-alpha.IAttributeGroup",
4146
4147
  "parameters": [
4147
4148
  {
4148
4149
  "name": "application",
@@ -4159,7 +4160,7 @@
4159
4160
  },
4160
4161
  "locationInModule": {
4161
4162
  "filename": "lib/attribute-group.ts",
4162
- "line": 165
4163
+ "line": 167
4163
4164
  },
4164
4165
  "name": "generateUniqueHash",
4165
4166
  "parameters": [
@@ -4184,7 +4185,7 @@
4184
4185
  },
4185
4186
  "locationInModule": {
4186
4187
  "filename": "lib/attribute-group.ts",
4187
- "line": 94
4188
+ "line": 96
4188
4189
  },
4189
4190
  "name": "getAttributeGroupSharePermissionARN",
4190
4191
  "parameters": [
@@ -4209,7 +4210,7 @@
4209
4210
  },
4210
4211
  "locationInModule": {
4211
4212
  "filename": "lib/attribute-group.ts",
4212
- "line": 80
4213
+ "line": 82
4213
4214
  },
4214
4215
  "name": "shareAttributeGroup",
4215
4216
  "overrides": "@aws-cdk/aws-servicecatalogappregistry-alpha.IAttributeGroup",
@@ -4239,7 +4240,7 @@
4239
4240
  "immutable": true,
4240
4241
  "locationInModule": {
4241
4242
  "filename": "lib/attribute-group.ts",
4242
- "line": 145
4243
+ "line": 147
4243
4244
  },
4244
4245
  "name": "attributeGroupArn",
4245
4246
  "overrides": "@aws-cdk/aws-servicecatalogappregistry-alpha.IAttributeGroup",
@@ -4255,7 +4256,7 @@
4255
4256
  "immutable": true,
4256
4257
  "locationInModule": {
4257
4258
  "filename": "lib/attribute-group.ts",
4258
- "line": 146
4259
+ "line": 148
4259
4260
  },
4260
4261
  "name": "attributeGroupId",
4261
4262
  "overrides": "@aws-cdk/aws-servicecatalogappregistry-alpha.IAttributeGroup",
@@ -4359,7 +4360,7 @@
4359
4360
  "kind": "interface",
4360
4361
  "locationInModule": {
4361
4362
  "filename": "lib/attribute-group.ts",
4362
- "line": 40
4363
+ "line": 46
4363
4364
  },
4364
4365
  "name": "AttributeGroupProps",
4365
4366
  "properties": [
@@ -4372,7 +4373,7 @@
4372
4373
  "immutable": true,
4373
4374
  "locationInModule": {
4374
4375
  "filename": "lib/attribute-group.ts",
4375
- "line": 44
4376
+ "line": 50
4376
4377
  },
4377
4378
  "name": "attributeGroupName",
4378
4379
  "type": {
@@ -4389,7 +4390,7 @@
4389
4390
  "immutable": true,
4390
4391
  "locationInModule": {
4391
4392
  "filename": "lib/attribute-group.ts",
4392
- "line": 56
4393
+ "line": 62
4393
4394
  },
4394
4395
  "name": "attributes",
4395
4396
  "type": {
@@ -4411,7 +4412,7 @@
4411
4412
  "immutable": true,
4412
4413
  "locationInModule": {
4413
4414
  "filename": "lib/attribute-group.ts",
4414
- "line": 50
4415
+ "line": 56
4415
4416
  },
4416
4417
  "name": "description",
4417
4418
  "optional": true,
@@ -4853,6 +4854,26 @@
4853
4854
  "line": 15
4854
4855
  },
4855
4856
  "methods": [
4857
+ {
4858
+ "abstract": true,
4859
+ "docs": {
4860
+ "stability": "experimental",
4861
+ "summary": "Associate an application with attribute group If the attribute group is already associated, it will ignore duplicate request."
4862
+ },
4863
+ "locationInModule": {
4864
+ "filename": "lib/attribute-group.ts",
4865
+ "line": 40
4866
+ },
4867
+ "name": "associateWith",
4868
+ "parameters": [
4869
+ {
4870
+ "name": "application",
4871
+ "type": {
4872
+ "fqn": "@aws-cdk/aws-servicecatalogappregistry-alpha.IApplication"
4873
+ }
4874
+ }
4875
+ ]
4876
+ },
4856
4877
  {
4857
4878
  "abstract": true,
4858
4879
  "docs": {
@@ -5288,6 +5309,6 @@
5288
5309
  "symbolId": "lib/target-application:TargetApplicationCommonOptions"
5289
5310
  }
5290
5311
  },
5291
- "version": "2.72.1-alpha.0",
5312
+ "version": "2.74.0-alpha.0",
5292
5313
  "fingerprint": "**********"
5293
5314
  }
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 an attribute group
261
+ ### Associating application with a new attribute group
244
262
 
245
- You can associate an attribute group with an application with the `associateAttributeGroup()` API:
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.associateAttributeGroup(attributeGroup);
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 `associateStack()` API:
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.associateStack(myStack);
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.72.1-alpha.0" };
74
+ ApplicationAssociator[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.ApplicationAssociator", version: "2.74.0-alpha.0" };
75
75
  exports.ApplicationAssociator = ApplicationAssociator;
76
76
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tYXNzb2NpYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFwcGxpY2F0aW9uLWFzc29jaWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDJDQUF1QztBQUV2QyxpRUFBeUU7QUFlekU7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxzQkFBUztJQVFsRCxZQUFZLEtBQWMsRUFBRSxFQUFVLEVBQUUsS0FBaUM7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUpGLHFCQUFnQixHQUFtQixJQUFJLEdBQUcsRUFBRSxDQUFDOzs7Ozs7K0NBTG5ELHFCQUFxQjs7OztRQVc5QixJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLGlLQUFpSyxDQUFDLENBQUM7U0FDcEw7UUFFRCxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7UUFDaEQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDO1FBQ2hGLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLDhDQUEyQixDQUFDLElBQUksRUFBRTtZQUM5RCwyQkFBMkIsRUFBRSxJQUFJLENBQUMsMkJBQTJCO1NBQzlELENBQUMsQ0FBQyxDQUFDO0tBQ0w7SUFFRDs7O09BR0c7SUFDSSxjQUFjLENBQUMsS0FBZ0I7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSw4Q0FBMkIsQ0FBQyxJQUFJLEVBQUU7WUFDOUQsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLDJCQUEyQjtTQUM5RCxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRDs7O09BR0c7SUFDSSxpQkFBaUIsQ0FBQyxLQUFnQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDekM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLHNCQUFzQjtRQUMvQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7S0FDekI7Ozs7QUFsRFUsc0RBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUFwcGxpY2F0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBDaGVja2VkU3RhZ2VTdGFja0Fzc29jaWF0b3IgfSBmcm9tICcuL2FzcGVjdHMvc3RhY2stYXNzb2NpYXRvcic7XG5pbXBvcnQgeyBUYXJnZXRBcHBsaWNhdGlvbiB9IGZyb20gJy4vdGFyZ2V0LWFwcGxpY2F0aW9uJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXBwbGljYXRpb24gQXNzb2NpYXRvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uQXNzb2NpYXRvclByb3BzIHtcbiAgLyoqXG4gICAqIEFwcGxpY2F0aW9uIGFzc29jaWF0b3IgcHJvcGVydGllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBFbXB0eSBhcnJheS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uczogVGFyZ2V0QXBwbGljYXRpb25bXTtcbn1cblxuLyoqXG4gKiBBbiBBcHBSZWdpc3RyeSBjb25zdHJ1Y3QgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgYW4gYXBwbGljYXRpb24gd2l0aCB0aGUgZ2l2ZW4gbmFtZSBhbmQgZGVzY3JpcHRpb24uXG4gKlxuICogVGhlIGFwcGxpY2F0aW9uIG5hbWUgbXVzdCBiZSB1bmlxdWUgYXQgdGhlIGFjY291bnQgbGV2ZWwgcGVyIHJlZ2lvbiBhbmQgaXQncyBpbW11dGFibGUuXG4gKiBUaGlzIGNvbnN0cnVjdCB3aWxsIGF1dG9tYXRpY2FsbHkgYXNzb2NpYXRlIGFsbCBzdGFja3MgaW4gdGhlIGdpdmVuIHNjb3BlLCBob3dldmVyXG4gKiBpbiBjYXNlIG9mIGEgYFBpcGVsaW5lYCBzdGFjaywgc3RhZ2UgdW5kZXJuZWF0aCB0aGUgcGlwZWxpbmUgd2lsbCBub3QgYXV0b21hdGljYWxseSBiZSBhc3NvY2lhdGVkIGFuZFxuICogbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCBzZXBhcmF0ZWx5LlxuICpcbiAqIElmIGNyb3NzIGFjY291bnQgc3RhY2sgaXMgZGV0ZWN0ZWQgYW5kIGBhc3NvY2lhdGVDcm9zc0FjY291bnRTdGFja3NgIGluIGBUYXJnZXRBcHBsaWNhdGlvbk9wdGlvbnNgIGlzIGB0cnVlYCxcbiAqIHRoZW4gdGhlIGFwcGxpY2F0aW9uIHdpbGwgYXV0b21hdGljYWxseSBiZSBzaGFyZWQgd2l0aCB0aGUgY29uc3VtZXIgYWNjb3VudHMgdG8gYWxsb3cgYXNzb2NpYXRpb25zLlxuICogT3RoZXJ3aXNlLCB0aGUgYXBwbGljYXRpb24gd2lsbCBub3QgYmUgc2hhcmVkLlxuICogQ3Jvc3MgYWNjb3VudCBmZWF0dXJlIHdpbGwgb25seSB3b3JrIGZvciBub24gZW52aXJvbm1lbnQgYWdub3N0aWMgc3RhY2tzLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25Bc3NvY2lhdG9yIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIENyZWF0ZWQgb3IgaW1wb3J0ZWQgYXBwbGljYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uOiBJQXBwbGljYXRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzb2NpYXRlZFN0YWdlczogU2V0PGNkay5TdGFnZT4gPSBuZXcgU2V0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzb2NpYXRlQ3Jvc3NBY2NvdW50U3RhY2tzPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY2RrLkFwcCwgaWQ6IHN0cmluZywgcHJvcHM6IEFwcGxpY2F0aW9uQXNzb2NpYXRvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmIChwcm9wcy5hcHBsaWNhdGlvbnMubGVuZ3RoICE9IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHBhc3MgZXhhY3RseSAxIGluc3RhbmNlIG9mIFRhcmdldEFwcGxpY2F0aW9uLmNyZWF0ZUFwcGxpY2F0aW9uU3RhY2soKSBvciBUYXJnZXRBcHBsaWNhdGlvbi5leGlzdGluZ0FwcGxpY2F0aW9uRnJvbUFybigpIGludG8gdGhlIFwiYXBwbGljYXRpb25zXCIgcHJvcGVydHknKTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRBcHBsaWNhdGlvbiA9IHByb3BzLmFwcGxpY2F0aW9uc1swXTtcbiAgICBjb25zdCB0YXJnZXRCaW5kUmVzdWx0ID0gdGFyZ2V0QXBwbGljYXRpb24uYmluZChzY29wZSk7XG4gICAgdGhpcy5hcHBsaWNhdGlvbiA9IHRhcmdldEJpbmRSZXN1bHQuYXBwbGljYXRpb247XG4gICAgdGhpcy5hc3NvY2lhdGVDcm9zc0FjY291bnRTdGFja3MgPSB0YXJnZXRCaW5kUmVzdWx0LmFzc29jaWF0ZUNyb3NzQWNjb3VudFN0YWNrcztcbiAgICBjZGsuQXNwZWN0cy5vZihzY29wZSkuYWRkKG5ldyBDaGVja2VkU3RhZ2VTdGFja0Fzc29jaWF0b3IodGhpcywge1xuICAgICAgYXNzb2NpYXRlQ3Jvc3NBY2NvdW50U3RhY2tzOiB0aGlzLmFzc29jaWF0ZUNyb3NzQWNjb3VudFN0YWNrcyxcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogQXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCB0aGUgZ2l2ZW4gc3RhZ2UuXG4gICAqXG4gICAqL1xuICBwdWJsaWMgYXNzb2NpYXRlU3RhZ2Uoc3RhZ2U6IGNkay5TdGFnZSk6IGNkay5TdGFnZSB7XG4gICAgdGhpcy5hc3NvY2lhdGVkU3RhZ2VzLmFkZChzdGFnZSk7XG4gICAgY2RrLkFzcGVjdHMub2Yoc3RhZ2UpLmFkZChuZXcgQ2hlY2tlZFN0YWdlU3RhY2tBc3NvY2lhdG9yKHRoaXMsIHtcbiAgICAgIGFzc29jaWF0ZUNyb3NzQWNjb3VudFN0YWNrczogdGhpcy5hc3NvY2lhdGVDcm9zc0FjY291bnRTdGFja3MsXG4gICAgfSkpO1xuICAgIHJldHVybiBzdGFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgaWYgYSBzdGFnZSBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgdG8gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKi9cbiAgcHVibGljIGlzU3RhZ2VBc3NvY2lhdGVkKHN0YWdlOiBjZGsuU3RhZ2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hc3NvY2lhdGVkU3RhZ2VzLmhhcyhzdGFnZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBBcHBSZWdpc3RyeSBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICovXG4gIHB1YmxpYyBnZXQgYXBwUmVnaXN0cnlBcHBsaWNhdGlvbigpOiBJQXBwbGljYXRpb24ge1xuICAgIHJldHVybiB0aGlzLmFwcGxpY2F0aW9uO1xuICB9XG59XG4iXX0=
@@ -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.72.1-alpha.0" };
211
+ Application[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.Application", version: "2.74.0-alpha.0" };
212
212
  exports.Application = Application;
213
213
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpREFBdUQ7QUFDdkQsbUNBQW1DO0FBRW5DLGlFQUFrRTtBQUNsRSx1REFBb0U7QUFDcEUscUNBQThGO0FBQzlGLDJDQUFzRDtBQUN0RCxxREFBc0Q7QUFDdEQsNkZBQWlJO0FBRWpJLE1BQU0sd0NBQXdDLEdBQUcsMEZBQTBGLENBQUM7QUFDNUksTUFBTSwyQ0FBMkMsR0FBRyxrR0FBa0csQ0FBQztBQWdIdkosTUFBZSxlQUFnQixTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBQW5EOztRQUltQiw4QkFBeUIsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNuRCx3QkFBbUIsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTRJaEUsQ0FBQztJQTFJQzs7Ozs7T0FLRztJQUNJLHVCQUF1QixDQUFDLGNBQStCO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakUsSUFBSSw0REFBNEIsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLE1BQU0sRUFBRSxFQUFFO2dCQUMzRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQy9CLGNBQWMsRUFBRSxjQUFjLENBQUMsZ0JBQWdCO2FBQ2hELENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5RDtLQUNGO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUIsQ0FBQyxFQUFVLEVBQUUsS0FBcUM7UUFDeEUsTUFBTSxjQUFjLEdB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LFdBQVc7U0FDL0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUQsSUFBSSxDQUFDLHFCQUFxQjtZQUN0QixXQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSw4RkFBOEYsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0tBQ3BKO0lBRVMsa0JBQWtCLENBQUMsZUFBdUI7UUFDbEQsT0FBTyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztLQUN0RDtJQUVPLHdCQUF3QixDQUFDLEtBQXVCO1FBQ3RELDJCQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pHLDJCQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1RywyQkFBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUN0Rzs7OztBQXBFVSxrQ0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmblJlc291cmNlU2hhcmUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtcmFtJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFN0YWdlU3RhY2tBc3NvY2lhdG9yIH0gZnJvbSAnLi9hc3BlY3RzL3N0YWNrLWFzc29jaWF0b3InO1xuaW1wb3J0IHsgQXR0cmlidXRlR3JvdXAsIElBdHRyaWJ1dGVHcm91cCB9IGZyb20gJy4vYXR0cmlidXRlLWdyb3VwJztcbmltcG9ydCB7IGdldFByaW5jaXBhbHNmb3JTaGFyaW5nLCBoYXNoVmFsdWVzLCBTaGFyZU9wdGlvbnMsIFNoYXJlUGVybWlzc2lvbiB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IGlzQWNjb3VudFVucmVzb2x2ZWQgfSBmcm9tICcuL3ByaXZhdGUvdXRpbHMnO1xuaW1wb3J0IHsgSW5wdXRWYWxpZGF0b3IgfSBmcm9tICcuL3ByaXZhdGUvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDZm5BcHBsaWNhdGlvbiwgQ2ZuQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiwgQ2ZuUmVzb3VyY2VBc3NvY2lhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZXJ2aWNlY2F0YWxvZ2FwcHJlZ2lzdHJ5JztcblxuY29uc3QgQVBQTElDQVRJT05fUkVBRF9PTkxZX1JBTV9QRVJNSVNTSU9OX0FSTiA9ICdhcm46YXdzOnJhbTo6YXdzOnBlcm1pc3Npb24vQVdTUkFNUGVybWlzc2lvblNlcnZpY2VDYXRhbG9nQXBwUmVnaXN0cnlBcHBsaWNhdGlvblJlYWRPbmx5JztcbmNvbnN0IEFQUExJQ0FUSU9OX0FMTE9XX0FDQ0VTU19SQU1fUEVSTUlTU0lPTl9BUk4gPSAnYXJuOmF3czpyYW06OmF3czpwZXJtaXNzaW9uL0FXU1JBTVBlcm1pc3Npb25TZXJ2aWNlQ2F0YWxvZ0FwcFJlZ2lzdHJ5QXBwbGljYXRpb25BbGxvd0Fzc29jaWF0aW9uJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFNlcnZpY2UgQ2F0YWxvZyBBcHBSZWdpc3RyeSBBdHRyaWJ1dGUgR3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBmb3IgYXR0cmlidXRlIGdyb3VwLlxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIGZvciBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb24gcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEpTT04gb2YgbmVzdGVkIGtleS12YWx1ZSBwYWlycyB0aGF0IHJlcHJlc2VudCB0aGUgYXR0cmlidXRlcyBpbiB0aGUgZ3JvdXAuXG4gICAqIEF0dHJpYnV0ZXMgbWF5YmUgYW4gZW1wdHkgSlNPTiAne30nLCBidXQgbXVzdCBiZSBleHBsaWNpdGx5IHN0YXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8qKlxuICogQSBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcGxpY2F0aW9uIGV4dGVuZHMgY2RrLklSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb25Bcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbi5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXBwbGljYXRpb25JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXBwbGljYXRpb24uXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFwcGxpY2F0aW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCBhbiBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGVHcm91cCBBcHBSZWdpc3RyeSBhdHRyaWJ1dGUgZ3JvdXBcbiAgICovXG4gIGFzc29jaWF0ZUF0dHJpYnV0ZUdyb3VwKGF0dHJpYnV0ZUdyb3VwOiBJQXR0cmlidXRlR3JvdXApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gYXR0cmlidXRlIGdyb3VwIGFuZCBhc3NvY2lhdGUgdGhpcyBhcHBsaWNhdGlvbiB3aXRoIHRoZSBjcmVhdGVkIGF0dHJpYnV0ZSBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIGlkIG5hbWUgb2YgdGhlIEF0dHJpYnV0ZUdyb3VwIGNvbnN0cnVjdCB0byBiZSBjcmVhdGVkLlxuICAgKiBAcGFyYW0gYXR0cmlidXRlR3JvdXBQcm9wcyBBcHBSZWdpc3RyeSBhdHRyaWJ1dGUgZ3JvdXAgcHJvcHNcbiAgICovXG4gIGFkZEF0dHJpYnV0ZUdyb3VwKGlkOiBzdHJpbmcsIGF0dHJpYnV0ZUdyb3VwUHJvcHM6IEF0dHJpYnV0ZUdyb3VwQXNzb2NpYXRpb25Qcm9wcyk6IElBdHRyaWJ1dGVHcm91cDtcblxuICAvKipcbiAgICogQXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCBhIENsb3VkRm9ybWF0aW9uIHN0YWNrLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFzc29jaWF0ZUFwcGxpY2F0aW9uV2l0aFN0YWNrYCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0gc3RhY2sgYSBDRk4gc3RhY2tcbiAgICovXG4gIGFzc29jaWF0ZVN0YWNrKHN0YWNrOiBjZGsuU3RhY2spOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYSBDbG91ZGZvcm1hdGlvbiBzdGF0Y2sgd2l0aCB0aGUgYXBwbGljYXRpb24gaW4gdGhlIGdpdmVuIHN0YWNrLlxuICAgKlxuICAgKiBAcGFyYW0gc3RhY2sgYSBDRk4gc3RhY2tcbiAgICovXG4gIGFzc29jaWF0ZUFwcGxpY2F0aW9uV2l0aFN0YWNrKHN0YWNrOiBjZGsuU3RhY2spOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTaGFyZSB0aGlzIGFwcGxpY2F0aW9uIHdpdGggb3RoZXIgSUFNIGVudGl0aWVzLCBhY2NvdW50cywgb3IgT1VzLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBuYW1lIGZvciB0aGUgc2hhcmUuXG4gICAqIEBwYXJhbSBzaGFyZU9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSBzaGFyZS5cbiAgICovXG4gIHNoYXJlQXBwbGljYXRpb24oaWQ6IHN0cmluZywgc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgdGhpcyBhcHBsaWNhdGlvbiB3aXRoIGFsbCBzdGFja3MgdW5kZXIgdGhlIGNvbnN0cnVjdCBub2RlLlxuICAgKiBOT1RFOiBUaGlzIG1ldGhvZCB3b24ndCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVyIHN0YWNrcyB1bmRlciBwaXBlbGluZSBzdGFnZXMsXG4gICAqIGFuZCByZXF1aXJlcyBhc3NvY2lhdGlvbiBvZiBlYWNoIHBpcGVsaW5lIHN0YWdlIGJ5IGNhbGxpbmcgdGhpcyBtZXRob2Qgd2l0aCBzdGFnZSBDb25zdHJ1Y3QuXG4gICAqXG4gICAqIEBwYXJhbSBjb25zdHJ1Y3QgY2RrIENvbnN0cnVjdFxuICAgKi9cbiAgYXNzb2NpYXRlQWxsU3RhY2tzSW5TY29wZShjb25zdHJ1Y3Q6IENvbnN0cnVjdCk6IHZvaWQ7XG5cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFNlcnZpY2UgQ2F0YWxvZyBBcHBSZWdpc3RyeSBBcHBsaWNhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uUHJvcHMge1xuICAvKipcbiAgICogRW5mb3JjZXMgYSBwYXJ0aWN1bGFyIHBoeXNpY2FsIGFwcGxpY2F0aW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gZm9yIGFwcGxpY2F0aW9uLlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgQXBwbGljYXRpb25CYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSUFwcGxpY2F0aW9uIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFwcGxpY2F0aW9uQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhcHBsaWNhdGlvbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhcHBsaWNhdGlvbk5hbWU/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzb2NpYXRlZEF0dHJpYnV0ZUdyb3VwczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXNzb2NpYXRlZFJlc291cmNlczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG5cbiAgLyoqXG4gICAqIEFzc29jaWF0ZSBhbiBhdHRyaWJ1dGUgZ3JvdXAgd2l0aCBhcHBsaWNhdGlvblxuICAgKiBJZiB0aGUgYXR0cmlidXRlIGdyb3VwIGlzIGFscmVhZHkgYXNzb2NpYXRlZCwgaXQgd2lsbCBpZ25vcmUgZHVwbGljYXRlIHJlcXVlc3QuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgQXR0cmlidXRlR3JvdXAuYXNzb2NpYXRlV2l0aGAgaW5zdGVhZC5cbiAgICovXG4gIHB1YmxpYyBhc3NvY2lhdGVBdHRyaWJ1dGVHcm91cChhdHRyaWJ1dGVHcm91cDogSUF0dHJpYnV0ZUdyb3VwKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzc29jaWF0ZWRBdHRyaWJ1dGVHcm91cHMuaGFzKGF0dHJpYnV0ZUdyb3VwLm5vZGUuYWRkcikpIHtcbiAgICAgIGNvbnN0IGhhc2hJZCA9IHRoaXMuZ2VuZXJhdGVVbmlxdWVIYXNoKGF0dHJpYnV0ZUdyb3VwLm5vZGUuYWRkcik7XG4gICAgICBuZXcgQ2ZuQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbih0aGlzLCBgQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiR7aGFzaElkfWAsIHtcbiAgICAgICAgYXBwbGljYXRpb246IHRoaXMuYXBwbGljYXRpb25JZCxcbiAgICAgICAgYXR0cmlidXRlR3JvdXA6IGF0dHJpYnV0ZUdyb3VwLmF0dHJpYnV0ZUdyb3VwSWQsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXNzb2NpYXRlZEF0dHJpYnV0ZUdyb3Vwcy5hZGQoYXR0cmlidXRlR3JvdXAubm9kZS5hZGRyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGF0dHJpYnV0ZSBncm91cCBhbmQgYXNzb2NpYXRlIHRoaXMgYXBwbGljYXRpb24gd2l0aCB0aGUgY3JlYXRlZCBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqL1xuICBwdWJsaWMgYWRkQXR0cmlidXRlR3JvdXAoaWQ6IHN0cmluZywgcHJvcHM6IEF0dHJpYnV0ZUdyb3VwQXNzb2NpYXRpb25Qcm9wcyk6IElBdHRyaWJ1dGVHcm91cCB7XG4gICAgY29uc3QgYXR0cmlidXRlR3JvdXAgPSBuZXcgQXR0cmlidXRlR3JvdXAodGhpcywgaWQsIHtcbiAgICAgIGF0dHJpYnV0ZUdyb3VwTmFtZTogcHJvcHMuYXR0cmlidXRlR3JvdXBOYW1lLFxuICAgICAgYXR0cmlidXRlczogcHJvcHMuYXR0cmlidXRlcyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICB9KTtcbiAgICBuZXcgQ2ZuQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbih0aGlzLCBgQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiR7dGhpcy5nZW5lcmF0ZVVuaXF1ZUhhc2goYXR0cmlidXRlR3JvdXAubm9kZS5hZGRyKX1gLCB7XG4gICAgICBhcHBsaWNhdGlvbjogdGhpcy5hcHBsaWNhdGlvbklkLFxuICAgICAgYXR0cmlidXRlR3JvdXA6IGF0dHJpYnV0ZUdyb3VwLmF0dHJpYnV0ZUdyb3VwSWQsXG4gICAgfSk7XG4gICAgdGhpcy5hc3NvY2lhdGVkQXR0cmlidXRlR3JvdXBzLmFkZChhdHRyaWJ1dGVHcm91cC5ub2RlLmFkZHIpO1xuICAgIHJldHVybiBhdHRyaWJ1dGVHcm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYSBzdGFjayB3aXRoIHRoZSBhcHBsaWNhdGlvblxuICAgKiBJZiB0aGUgcmVzb3VyY2UgaXMgYWxyZWFkeSBhc3NvY2lhdGVkLCBpdCB3aWxsIGlnbm9yZSBkdXBsaWNhdGUgcmVxdWVzdC5cbiAgICogQSBzdGFjayBjYW4gb25seSBiZSBhc3NvY2lhdGVkIHdpdGggb25lIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGFzc29jaWF0ZUFwcGxpY2F0aW9uV2l0aFN0YWNrYCBpbnN0ZWFkLlxuICAgKi9cbiAgcHVibGljIGFzc29jaWF0ZVN0YWNrKHN0YWNrOiBjZGsuU3RhY2spOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXNzb2NpYXRlZFJlc291cmNlcy5oYXMoc3RhY2subm9kZS5hZGRyKSkge1xuICAgICAgY29uc3QgaGFzaElkID0gdGhpcy5nZW5lcmF0ZVVuaXF1ZUhhc2goc3RhY2subm9kZS5hZGRyKTtcbiAgICAgIG5ldyBDZm5SZXNvdXJjZUFzc29jaWF0aW9uKHRoaXMsIGBSZXNvdXJjZUFzc29jaWF0aW9uJHtoYXNoSWR9YCwge1xuICAgICAgICBhcHBsaWNhdGlvbjogdGhpcy5hcHBsaWNhdGlvbklkLFxuICAgICAgICByZXNvdXJjZTogc3RhY2suc3RhY2tJZCxcbiAgICAgICAgcmVzb3VyY2VUeXBlOiAnQ0ZOX1NUQUNLJyxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hc3NvY2lhdGVkUmVzb3VyY2VzLmFkZChzdGFjay5ub2RlLmFkZHIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgc3RhY2sgd2l0aCB0aGUgYXBwbGljYXRpb24gaW4gdGhlIHN0YWNrIHBhc3NlZCBhcyBwYXJhbWV0ZXIuXG4gICAqXG4gICAqIEEgc3RhY2sgY2FuIG9ubHkgYmUgYXNzb2NpYXRlZCB3aXRoIG9uZSBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBhc3NvY2lhdGVBcHBsaWNhdGlvbldpdGhTdGFjayhzdGFjazogY2RrLlN0YWNrKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzc29jaWF0ZWRSZXNvdXJjZXMuaGFzKHN0YWNrLm5vZGUuYWRkcikpIHtcbiAgICAgIG5ldyBDZm5SZXNvdXJjZUFzc29jaWF0aW9uKHN0YWNrLCAnQXBwUmVnaXN0cnlBc3NvY2lhdGlvbicsIHtcbiAgICAgICAgYXBwbGljYXRpb246IHN0YWNrID09PSBjZGsuU3RhY2sub2YodGhpcykgPyB0aGlzLmFwcGxpY2F0aW9uSWQgOiB0aGlzLmFwcGxpY2F0aW9uTmFtZSA/PyB0aGlzLmFwcGxpY2F0aW9uSWQsXG4gICAgICAgIHJlc291cmNlOiBzdGFjay5zdGFja0lkLFxuICAgICAgICByZXNvdXJjZVR5cGU6ICdDRk5fU1RBQ0snLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYXNzb2NpYXRlZFJlc291cmNlcy5hZGQoc3RhY2subm9kZS5hZGRyKTtcbiAgICAgIGlmIChzdGFjayAhPT0gY2RrLlN0YWNrLm9mKHRoaXMpICYmIHRoaXMuaXNTYW1lQWNjb3VudChzdGFjaykgJiYgIXRoaXMuaXNTdGFnZVNjb3BlKHN0YWNrKSAmJiAhc3RhY2submVzdGVkKSB7XG4gICAgICAgIHN0YWNrLmFkZERlcGVuZGVuY3koY2RrLlN0YWNrLm9mKHRoaXMpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2hhcmUgYW4gYXBwbGljYXRpb24gd2l0aCBhY2NvdW50cywgb3JnYW5pemF0aW9ucyBhbmQgT1VzLCBhbmQgSUFNIHJvbGVzIGFuZCB1c2Vycy5cbiAgICogVGhlIGFwcGxpY2F0aW9uIHdpbGwgYmVjb21lIGF2YWlsYWJsZSB0byBlbmQgdXNlcnMgd2l0aGluIHRob3NlIHByaW5jaXBhbHMuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0IG5hbWUgZm9yIHRoZSBzaGFyZS5cbiAgICogQHBhcmFtIHNoYXJlT3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHNoYXJlLlxuICAgKi9cbiAgcHVibGljIHNoYXJlQXBwbGljYXRpb24oaWQ6IHN0cmluZywgc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBwcmluY2lwYWxzID0gZ2V0UHJpbmNpcGFsc2ZvclNoYXJpbmcoc2hhcmVPcHRpb25zKTtcbiAgICBuZXcgQ2ZuUmVzb3VyY2VTaGFyZSh0aGlzLCBpZCwge1xuICAgICAgbmFtZTogc2hhcmVPcHRpb25zLm5hbWUsXG4gICAgICBhbGxvd0V4dGVybmFsUHJpbmNpcGFsczogZmFsc2UsXG4gICAgICBwcmluY2lwYWxzOiBwcmluY2lwYWxzLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5hcHBsaWNhdGlvbkFybl0sXG4gICAgICBwZXJtaXNzaW9uQXJuczogW3RoaXMuZ2V0QXBwbGljYXRpb25TaGFyZVBlcm1pc3Npb25BUk4oc2hhcmVPcHRpb25zKV0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXNzb2NpYXRlIGFsbCBzdGFja3MgcHJlc2VudCBpbiBjb25zdHJ1Y3QncyBhc3BlY3Qgd2l0aCBhcHBsaWNhdGlvbiwgaW5jbHVkaW5nIGNyb3NzLWFjY291bnQgc3RhY2tzLlxuICAgKlxuICAgKiBOT1RFOiBUaGlzIG1ldGhvZCB3b24ndCBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVyIHN0YWNrcyB1bmRlciBwaXBlbGluZSBzdGFnZXMsXG4gICAqIGFuZCByZXF1aXJlcyBhc3NvY2lhdGlvbiBvZiBlYWNoIHBpcGVsaW5lIHN0YWdlIGJ5IGNhbGxpbmcgdGhpcyBtZXRob2Qgd2l0aCBzdGFnZSBDb25zdHJ1Y3QuXG4gICAqXG4gICAqL1xuICBwdWJsaWMgYXNzb2NpYXRlQWxsU3RhY2tzSW5TY29wZShzY29wZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgY2RrLkFzcGVjdHMub2Yoc2NvcGUpLmFkZChuZXcgU3RhZ2VTdGFja0Fzc29jaWF0b3IodGhpcywge1xuICAgICAgYXNzb2NpYXRlQ3Jvc3NBY2NvdW50U3RhY2tzOiB0cnVlLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSB1bmlxdWUgaWRcbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY29ycmVjdCBwZXJtaXNzaW9uIEFSTiBiYXNlZCBvbiB0aGUgU2hhcmVQZXJtaXNzaW9uXG4gICAqL1xuICBwcml2YXRlIGdldEFwcGxpY2F0aW9uU2hhcmVQZXJtaXNzaW9uQVJOKHNoYXJlT3B0aW9uczogU2hhcmVPcHRpb25zKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHNoYXJlT3B0aW9ucy5zaGFyZVBlcm1pc3Npb24pIHtcbiAgICAgIGNhc2UgU2hhcmVQZXJtaXNzaW9uLkFMTE9XX0FDQ0VTUzpcbiAgICAgICAgcmV0dXJuIEFQUExJQ0FUSU9OX0FMTE9XX0FDQ0VTU19SQU1fUEVSTUlTU0lPTl9BUk47XG4gICAgICBjYXNlIFNoYXJlUGVybWlzc2lvbi5SRUFEX09OTFk6XG4gICAgICAgIHJldHVybiBBUFBMSUNBVElPTl9SRUFEX09OTFlfUkFNX1BFUk1JU1NJT05fQVJOO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gc2hhcmVPcHRpb25zLnNoYXJlUGVybWlzc2lvbiA/PyBBUFBMSUNBVElPTl9SRUFEX09OTFlfUkFNX1BFUk1JU1NJT05fQVJOO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAqICBDaGVja3Mgd2hldGhlciBhIHN0YWNrIGlzIGRlZmluZWQgaW4gYSBTdGFnZSBvciBub3QuXG4gICovXG4gIHByaXZhdGUgaXNTdGFnZVNjb3BlKHN0YWNrIDogY2RrLlN0YWNrKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEoc3RhY2subm9kZS5zY29wZSBpbnN0YW5jZW9mIGNkay5BcHApICYmIChzdGFjay5ub2RlLnNjb3BlIGluc3RhbmNlb2YgY2RrLlN0YWdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllcyBpZiBhcHBsaWNhdGlvbiBhbmQgdGhlIHZpc2l0ZWQgbm9kZSBpcyBkZXBsb3llZCBpbiBkaWZmZXJlbnQgYWNjb3VudC5cbiAgICovXG4gIHByaXZhdGUgaXNTYW1lQWNjb3VudChzdGFjazogY2RrLlN0YWNrKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzQWNjb3VudFVucmVzb2x2ZWQodGhpcy5lbnYuYWNjb3VudCwgc3RhY2suYWNjb3VudCkgfHwgdGhpcy5lbnYuYWNjb3VudCA9PT0gc3RhY2suYWNjb3VudDtcbiAgfVxuXG59XG5cbi8qKlxuICogQSBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbiBleHRlbmRzIEFwcGxpY2F0aW9uQmFzZSB7XG4gIC8qKlxuICAgKiBJbXBvcnRzIGFuIEFwcGxpY2F0aW9uIGNvbnN0cnVjdCB0aGF0IHJlcHJlc2VudHMgYW4gZXh0ZXJuYWwgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApLlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIG5hbWUuXG4gICAqIEBwYXJhbSBhcHBsaWNhdGlvbkFybiB0aGUgQW1hem9uIFJlc291cmNlIE5hbWUgb2YgdGhlIGV4aXN0aW5nIEFwcFJlZ2lzdHJ5IEFwcGxpY2F0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21BcHBsaWNhdGlvbkFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhcHBsaWNhdGlvbkFybjogc3RyaW5nKTogSUFwcGxpY2F0aW9uIHtcbiAgICBjb25zdCBhcm4gPSBjZGsuU3RhY2sub2Yoc2NvcGUpLnNwbGl0QXJuKGFwcGxpY2F0aW9uQXJuLCBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX1NMQVNIX1JFU09VUkNFX05BTUUpO1xuICAgIGNvbnN0IGFwcGxpY2F0aW9uSWQgPSBhcm4ucmVzb3VyY2VOYW1lO1xuXG4gICAgaWYgKCFhcHBsaWNhdGlvbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgQXBwbGljYXRpb24gSUQgZnJvbSBBcHBsaWNhdGlvbiBBUk46ICcgKyBhcHBsaWNhdGlvbkFybik7XG4gICAgfVxuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXBwbGljYXRpb25CYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhcHBsaWNhdGlvbkFybiA9IGFwcGxpY2F0aW9uQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQgPSBhcHBsaWNhdGlvbklkITtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhcHBsaWNhdGlvbk5hbWUgPSB1bmRlZmluZWQ7XG5cbiAgICAgIHByb3RlY3RlZCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaGFzaFZhbHVlcyh0aGlzLmFwcGxpY2F0aW9uQXJuLCByZXNvdXJjZUFkZHJlc3MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCwge1xuICAgICAgZW52aXJvbm1lbnRGcm9tQXJuOiBhcHBsaWNhdGlvbkFybixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBsaWNhdGlvbiBtYW5hZ2VyIFVSTCBmb3IgdGhlIEFwcGxpY2F0aW9uLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb25NYW5hZ2VyVXJsPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb25Bcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGFwcGxpY2F0aW9uTmFtZT86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBub2RlQWRkcmVzczogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBcHBsaWNhdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudmFsaWRhdGVBcHBsaWNhdGlvblByb3BzKHByb3BzKTtcblxuICAgIGNvbnN0IGFwcGxpY2F0aW9uID0gbmV3IENmbkFwcGxpY2F0aW9uKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHByb3BzLmFwcGxpY2F0aW9uTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwbGljYXRpb25Bcm4gPSBhcHBsaWNhdGlvbi5hdHRyQXJuO1xuICAgIHRoaXMuYXBwbGljYXRpb25JZCA9IGFwcGxpY2F0aW9uLmF0dHJJZDtcbiAgICB0aGlzLmFwcGxpY2F0aW9uTmFtZSA9IHByb3BzLmFwcGxpY2F0aW9uTmFtZTtcbiAgICB0aGlzLm5vZGVBZGRyZXNzID0gY2RrLk5hbWVzLm5vZGVVbmlxdWVJZChhcHBsaWNhdGlvbi5ub2RlKTtcblxuICAgIHRoaXMuYXBwbGljYXRpb25NYW5hZ2VyVXJsID1cbiAgICAgICAgYGh0dHBzOi8vJHt0aGlzLmVudi5yZWdpb259LmNvbnNvbGUuYXdzLmFtYXpvbi5jb20vc3lzdGVtcy1tYW5hZ2VyL2FwcG1hbmFnZXIvYXBwbGljYXRpb24vQVdTX0FwcFJlZ2lzdHJ5X0FwcGxpY2F0aW9uLSR7dGhpcy5hcHBsaWNhdGlvbk5hbWV9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBoYXNoVmFsdWVzKHRoaXMubm9kZUFkZHJlc3MsIHJlc291cmNlQWRkcmVzcyk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQXBwbGljYXRpb25Qcm9wcyhwcm9wczogQXBwbGljYXRpb25Qcm9wcykge1xuICAgIElucHV0VmFsaWRhdG9yLnZhbGlkYXRlTGVuZ3RoKHRoaXMubm9kZS5wYXRoLCAnYXBwbGljYXRpb24gbmFtZScsIDEsIDI1NiwgcHJvcHMuYXBwbGljYXRpb25OYW1lKTtcbiAgICBJbnB1dFZhbGlkYXRvci52YWxpZGF0ZVJlZ2V4KHRoaXMubm9kZS5wYXRoLCAnYXBwbGljYXRpb24gbmFtZScsIC9eW2EtekEtWjAtOS1fXSskLywgcHJvcHMuYXBwbGljYXRpb25OYW1lKTtcbiAgICBJbnB1dFZhbGlkYXRvci52YWxpZGF0ZUxlbmd0aCh0aGlzLm5vZGUucGF0aCwgJ2FwcGxpY2F0aW9uIGRlc2NyaXB0aW9uJywgMCwgMTAyNCwgcHJvcHMuZGVzY3JpcHRpb24pO1xuICB9XG59XG4iXX0=
@@ -23,6 +23,11 @@ export interface IAttributeGroup extends cdk.IResource {
23
23
  * @param shareOptions The options for the share.
24
24
  */
25
25
  shareAttributeGroup(id: string, shareOptions: ShareOptions): void;
26
+ /**
27
+ * Associate an application with attribute group
28
+ * If the attribute group is already associated, it will ignore duplicate request.
29
+ */
30
+ associateWith(application: IApplication): void;
26
31
  }
27
32
  /**
28
33
  * Properties for a Service Catalog AppRegistry Attribute Group
@@ -49,10 +54,6 @@ declare abstract class AttributeGroupBase extends cdk.Resource implements IAttri
49
54
  abstract readonly attributeGroupArn: string;
50
55
  abstract readonly attributeGroupId: string;
51
56
  private readonly associatedApplications;
52
- /**
53
- * Associate an application with attribute group
54
- * If the attribute group is already associated, it will ignore duplicate request.
55
- */
56
57
  associateWith(application: IApplication): void;
57
58
  shareAttributeGroup(id: string, shareOptions: ShareOptions): void;
58
59
  /**
@@ -16,10 +16,6 @@ class AttributeGroupBase extends cdk.Resource {
16
16
  super(...arguments);
17
17
  this.associatedApplications = new Set();
18
18
  }
19
- /**
20
- * Associate an application with attribute group
21
- * If the attribute group is already associated, it will ignore duplicate request.
22
- */
23
19
  associateWith(application) {
24
20
  if (!this.associatedApplications.has(application.node.addr)) {
25
21
  const hashId = this.generateUniqueHash(application.node.addr);
@@ -116,6 +112,6 @@ class AttributeGroup extends AttributeGroupBase {
116
112
  }
117
113
  }
118
114
  _a = JSII_RTTI_SYMBOL_1;
119
- AttributeGroup[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.AttributeGroup", version: "2.72.1-alpha.0" };
115
+ AttributeGroup[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.AttributeGroup", version: "2.74.0-alpha.0" };
120
116
  exports.AttributeGroup = AttributeGroup;
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXR0cmlidXRlLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlEQUF1RDtBQUN2RCxtQ0FBbUM7QUFHbkMscUNBQThGO0FBQzlGLHFEQUFzRDtBQUN0RCw2RkFBNEc7QUFFNUcsTUFBTSw0Q0FBNEMsR0FBRyw2RkFBNkYsQ0FBQztBQUNuSixNQUFNLCtDQUErQyxHQUFHLHFHQUFxRyxDQUFDO0FBaUQ5SixNQUFlLGtCQUFtQixTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBQXREOztRQUdtQiwyQkFBc0IsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQWdEbkUsQ0FBQztJQTlDQzs7O09BR0c7SUFDSSxhQUFhLENBQUMsV0FBeUI7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMzRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5RCxJQUFJLDREQUE0QixDQUFDLElBQUksRUFBRSx1Q0FBdUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3RGLFdBQVcsRUFBRSxXQUFXLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsZUFBZSxJQUFJLFdBQVcsQ0FBQyxhQUFhO2dCQUM1SSxjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN0QyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEQ7S0FDRjtJQUVNLG1CQUFt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SUFFTywyQkFBMkIsQ0FBQyxLQUEwQjtRQUM1RCwyQkFBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hHLDJCQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ25ILDJCQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFHOzs7O0FBMURVLHdDQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuUmVzb3VyY2VTaGFyZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yYW0nO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUFwcGxpY2F0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBnZXRQcmluY2lwYWxzZm9yU2hhcmluZywgaGFzaFZhbHVlcywgU2hhcmVPcHRpb25zLCBTaGFyZVBlcm1pc3Npb24gfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBJbnB1dFZhbGlkYXRvciB9IGZyb20gJy4vcHJpdmF0ZS92YWxpZGF0aW9uJztcbmltcG9ydCB7IENmbkF0dHJpYnV0ZUdyb3VwLCBDZm5BdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlcnZpY2VjYXRhbG9nYXBwcmVnaXN0cnknO1xuXG5jb25zdCBBVFRSSUJVVEVfR1JPVVBfUkVBRF9PTkxZX1JBTV9QRVJNSVNTSU9OX0FSTiA9ICdhcm46YXdzOnJhbTo6YXdzOnBlcm1pc3Npb24vQVdTUkFNUGVybWlzc2lvblNlcnZpY2VDYXRhbG9nQXBwUmVnaXN0cnlBdHRyaWJ1dGVHcm91cFJlYWRPbmx5JztcbmNvbnN0IEFUVFJJQlVURV9HUk9VUF9BTExPV19BQ0NFU1NfUkFNX1BFUk1JU1NJT05fQVJOID0gJ2Fybjphd3M6cmFtOjphd3M6cGVybWlzc2lvbi9BV1NSQU1QZXJtaXNzaW9uU2VydmljZUNhdGFsb2dBcHBSZWdpc3RyeUF0dHJpYnV0ZUdyb3VwQWxsb3dBc3NvY2lhdGlvbic7XG5cbi8qKlxuICogQSBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXR0cmlidXRlIEdyb3VwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBdHRyaWJ1dGVHcm91cCBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYXR0cmlidXRlIGdyb3VwLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhdHRyaWJ1dGVHcm91cEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGF0dHJpYnV0ZSBncm91cC5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaGFyZSB0aGUgYXR0cmlidXRlIGdyb3VwIHJlc291cmNlIHdpdGggb3RoZXIgSUFNIGVudGl0aWVzLCBhY2NvdW50cywgb3IgT1VzLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBuYW1lIGZvciB0aGUgc2hhcmUuXG4gICAqIEBwYXJhbSBzaGFyZU9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSBzaGFyZS5cbiAgICovXG4gIHNoYXJlQXR0cmlidXRlR3JvdXAoaWQ6IHN0cmluZywgc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiB2b2lkO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgU2VydmljZSBDYXRhbG9nIEFwcFJlZ2lzdHJ5IEF0dHJpYnV0ZSBHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZUdyb3VwUHJvcHMge1xuICAvKipcbiAgICogRW5mb3JjZXMgYSBwYXJ0aWN1bGFyIHBoeXNpY2FsIGF0dHJpYnV0ZSBncm91cCBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIGZvciBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb24gcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEpTT04gb2YgbmVzdGVkIGtleS12YWx1ZSBwYWlycyB0aGF0IHJlcHJlc2VudCB0aGUgYXR0cmlidXRlcyBpbiB0aGUgZ3JvdXAuXG4gICAqIEF0dHJpYnV0ZXMgbWF5YmUgYW4gZW1wdHkgSlNPTiAne30nLCBidXQgbXVzdCBiZSBleHBsaWNpdGx5IHN0YXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbmFic3RyYWN0IGNsYXNzIEF0dHJpYnV0ZUdyb3VwQmFzZSBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIElBdHRyaWJ1dGVHcm91cCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhdHRyaWJ1dGVHcm91cEFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBJZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGFzc29jaWF0ZWRBcHBsaWNhdGlvbnM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYW4gYXBwbGljYXRpb24gd2l0aCBhdHRyaWJ1dGUgZ3JvdXBcbiAgICogSWYgdGhlIGF0dHJpYnV0ZSBncm91cCBpcyBhbHJlYWR5IGFzc29jaWF0ZWQsIGl0IHdpbGwgaWdub3JlIGR1cGxpY2F0ZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGFzc29jaWF0ZVdpdGgoYXBwbGljYXRpb246IElBcHBsaWNhdGlvbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5hc3NvY2lhdGVkQXBwbGljYXRpb25zLmhhcyhhcHBsaWNhdGlvbi5ub2RlLmFkZHIpKSB7XG4gICAgICBjb25zdCBoYXNoSWQgPSB0aGlzLmdlbmVyYXRlVW5pcXVlSGFzaChhcHBsaWNhdGlvbi5ub2RlLmFkZHIpO1xuICAgICAgbmV3IENmbkF0dHJpYnV0ZUdyb3VwQXNzb2NpYXRpb24odGhpcywgYEFwcGxpY2F0aW9uQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbiR7aGFzaElkfWAsIHtcbiAgICAgICAgYXBwbGljYXRpb246IGFwcGxpY2F0aW9uLnN0YWNrID09PSBjZGsuU3RhY2sub2YodGhpcykgPyBhcHBsaWNhdGlvbi5hcHBsaWNhdGlvbklkIDogYXBwbGljYXRpb24uYXBwbGljYXRpb25OYW1lID8/IGFwcGxpY2F0aW9uLmFwcGxpY2F0aW9uSWQsXG4gICAgICAgIGF0dHJpYnV0ZUdyb3VwOiB0aGlzLmF0dHJpYnV0ZUdyb3VwSWQsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5hc3NvY2lhdGVkQXBwbGljYXRpb25zLmFkZChhcHBsaWNhdGlvbi5ub2RlLmFkZHIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaGFyZUF0dHJpYnV0ZUdyb3VwKGlkOiBzdHJpbmcsIHNoYXJlT3B0aW9uczogU2hhcmVPcHRpb25zKTogdm9pZCB7XG4gICAgY29uc3QgcHJpbmNpcGFscyA9IGdldFByaW5jaXBhbHNmb3JTaGFyaW5nKHNoYXJlT3B0aW9ucyk7XG4gICAgbmV3IENmblJlc291cmNlU2hhcmUodGhpcywgaWQsIHtcbiAgICAgIG5hbWU6IHNoYXJlT3B0aW9ucy5uYW1lLFxuICAgICAgYWxsb3dFeHRlcm5hbFByaW5jaXBhbHM6IGZhbHNlLFxuICAgICAgcHJpbmNpcGFsczogcHJpbmNpcGFscyxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMuYXR0cmlidXRlR3JvdXBBcm5dLFxuICAgICAgcGVybWlzc2lvbkFybnM6IFt0aGlzLmdldEF0dHJpYnV0ZUdyb3VwU2hhcmVQZXJtaXNzaW9uQVJOKHNoYXJlT3B0aW9ucyldLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY29ycmVjdCBwZXJtaXNzaW9uIEFSTiBiYXNlZCBvbiB0aGUgU2hhcmVQZXJtaXNzaW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0QXR0cmlidXRlR3JvdXBTaGFyZVBlcm1pc3Npb25BUk4oc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoc2hhcmVPcHRpb25zLnNoYXJlUGVybWlzc2lvbikge1xuICAgICAgY2FzZSBTaGFyZVBlcm1pc3Npb24uQUxMT1dfQUNDRVNTOlxuICAgICAgICByZXR1cm4gQVRUUklCVVRFX0dST1VQX0FMTE9XX0FDQ0VTU19SQU1fUEVSTUlTU0lPTl9BUk47XG4gICAgICBjYXNlIFNoYXJlUGVybWlzc2lvbi5SRUFEX09OTFk6XG4gICAgICAgIHJldHVybiBBVFRSSUJVVEVfR1JPVVBfUkVBRF9PTkxZX1JBTV9QRVJNSVNTSU9OX0FSTjtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHNoYXJlT3B0aW9ucy5zaGFyZVBlcm1pc3Npb24gPz8gQVRUUklCVVRFX0dST1VQX1JFQURfT05MWV9SQU1fUEVSTUlTU0lPTl9BUk47XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHVuaXF1ZSBoYXNoXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2VuZXJhdGVVbmlxdWVIYXNoKHJlc291cmNlQWRkcmVzczogc3RyaW5nKTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgU2VydmljZSBDYXRhbG9nIEFwcFJlZ2lzdHJ5IEF0dHJpYnV0ZSBHcm91cC5cbiAqL1xuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZUdyb3VwIGV4dGVuZHMgQXR0cmlidXRlR3JvdXBCYXNlIGltcGxlbWVudHMgSUF0dHJpYnV0ZUdyb3VwIHtcbiAgLyoqXG4gICAqIEltcG9ydHMgYW4gYXR0cmlidXRlIGdyb3VwIGNvbnN0cnVjdCB0aGF0IHJlcHJlc2VudHMgYW4gZXh0ZXJuYWwgYXR0cmlidXRlIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBjcmVhdGluZyBjb25zdHJ1Y3QgKHVzdWFsbHkgYHRoaXNgKS5cbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QncyBuYW1lLlxuICAgKiBAcGFyYW0gYXR0cmlidXRlR3JvdXBBcm4gdGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIG9mIHRoZSBleGlzdGluZyBBcHBSZWdpc3RyeSBhdHRyaWJ1dGUgZ3JvdXBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUF0dHJpYnV0ZUdyb3VwQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJpYnV0ZUdyb3VwQXJuOiBzdHJpbmcpOiBJQXR0cmlidXRlR3JvdXAge1xuICAgIGNvbnN0IGFybiA9IGNkay5TdGFjay5vZihzY29wZSkuc3BsaXRBcm4oYXR0cmlidXRlR3JvdXBBcm4sIGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfU0xBU0hfUkVTT1VSQ0VfTkFNRSk7XG4gICAgY29uc3QgYXR0cmlidXRlR3JvdXBJZCA9IGFybi5yZXNvdXJjZU5hbWU7XG5cbiAgICBpZiAoIWF0dHJpYnV0ZUdyb3VwSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBBdHRyaWJ1dGUgR3JvdXAgSUQgZnJvbSBBdHRyaWJ1dGUgR3JvdXAgQVJOOiAnICsgYXR0cmlidXRlR3JvdXBBcm4pO1xuICAgIH1cblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEF0dHJpYnV0ZUdyb3VwQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBBcm4gPSBhdHRyaWJ1dGVHcm91cEFybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhdHRyaWJ1dGVHcm91cElkID0gYXR0cmlidXRlR3JvdXBJZCE7XG5cbiAgICAgIHByb3RlY3RlZCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaGFzaFZhbHVlcyh0aGlzLmF0dHJpYnV0ZUdyb3VwQXJuLCByZXNvdXJjZUFkZHJlc3MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCwge1xuICAgICAgZW52aXJvbm1lbnRGcm9tQXJuOiBhdHRyaWJ1dGVHcm91cEFybixcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBhdHRyaWJ1dGVHcm91cEFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBJZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IG5vZGVBZGRyZXNzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEF0dHJpYnV0ZUdyb3VwUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy52YWxpZGF0ZUF0dHJpYnV0ZUdyb3VwUHJvcHMocHJvcHMpO1xuXG4gICAgY29uc3QgYXR0cmlidXRlR3JvdXAgPSBuZXcgQ2ZuQXR0cmlidXRlR3JvdXAodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuYXR0cmlidXRlR3JvdXBOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgYXR0cmlidXRlczogcHJvcHMuYXR0cmlidXRlcyxcbiAgICB9KTtcblxuICAgIHRoaXMuYXR0cmlidXRlR3JvdXBBcm4gPSBhdHRyaWJ1dGVHcm91cC5hdHRyQXJuO1xuICAgIHRoaXMuYXR0cmlidXRlR3JvdXBJZCA9IGF0dHJpYnV0ZUdyb3VwLmF0dHJJZDtcbiAgICB0aGlzLm5vZGVBZGRyZXNzID0gY2RrLk5hbWVzLm5vZGVVbmlxdWVJZChhdHRyaWJ1dGVHcm91cC5ub2RlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBoYXNoVmFsdWVzKHRoaXMubm9kZUFkZHJlc3MsIHJlc291cmNlQWRkcmVzcyk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQXR0cmlidXRlR3JvdXBQcm9wcyhwcm9wczogQXR0cmlidXRlR3JvdXBQcm9wcykge1xuICAgIElucHV0VmFsaWRhdG9yLnZhbGlkYXRlTGVuZ3RoKHRoaXMubm9kZS5wYXRoLCAnYXR0cmlidXRlIGdyb3VwIG5hbWUnLCAxLCAyNTYsIHByb3BzLmF0dHJpYnV0ZUdyb3VwTmFtZSk7XG4gICAgSW5wdXRWYWxpZGF0b3IudmFsaWRhdGVSZWdleCh0aGlzLm5vZGUucGF0aCwgJ2F0dHJpYnV0ZSBncm91cCBuYW1lJywgL15bYS16QS1aMC05LV9dKyQvLCBwcm9wcy5hdHRyaWJ1dGVHcm91cE5hbWUpO1xuICAgIElucHV0VmFsaWRhdG9yLnZhbGlkYXRlTGVuZ3RoKHRoaXMubm9kZS5wYXRoLCAnYXR0cmlidXRlIGdyb3VwIGRlc2NyaXB0aW9uJywgMCwgMTAyNCwgcHJvcHMuZGVzY3JpcHRpb24pO1xuICB9XG59XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXR0cmlidXRlLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlEQUF1RDtBQUN2RCxtQ0FBbUM7QUFHbkMscUNBQThGO0FBQzlGLHFEQUFzRDtBQUN0RCw2RkFBNEc7QUFFNUcsTUFBTSw0Q0FBNEMsR0FBRyw2RkFBNkYsQ0FBQztBQUNuSixNQUFNLCtDQUErQyxHQUFHLHFHQUFxRyxDQUFDO0FBdUQ5SixNQUFlLGtCQUFtQixTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBQXREOztRQUdtQiwyQkFBc0IsR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQTRDbkUsQ0FBQztJQTFDUSxhQUFhLENBQUMsV0FBeUI7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMzRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5RCxJQUFJLDREQUE0QixDQUFDLElBQUksRUFBRSx1Q0FBdUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3RGLFdBQVcsRUFBRSxXQUFXLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsZUFBZSxJQUFJLFdBQVcsQ0FBQyxhQUFhO2dCQUM1SSxjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN0QyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEQ7S0FDRjtJQUVNLG1CQUFtQixDQUFDLEVBQVUs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Q0FBQyxLQUEwQjtRQUM1RCwyQkFBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hHLDJCQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ25ILDJCQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFHOzs7O0FBMURVLHdDQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuUmVzb3VyY2VTaGFyZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yYW0nO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUFwcGxpY2F0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBnZXRQcmluY2lwYWxzZm9yU2hhcmluZywgaGFzaFZhbHVlcywgU2hhcmVPcHRpb25zLCBTaGFyZVBlcm1pc3Npb24gfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBJbnB1dFZhbGlkYXRvciB9IGZyb20gJy4vcHJpdmF0ZS92YWxpZGF0aW9uJztcbmltcG9ydCB7IENmbkF0dHJpYnV0ZUdyb3VwLCBDZm5BdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlcnZpY2VjYXRhbG9nYXBwcmVnaXN0cnknO1xuXG5jb25zdCBBVFRSSUJVVEVfR1JPVVBfUkVBRF9PTkxZX1JBTV9QRVJNSVNTSU9OX0FSTiA9ICdhcm46YXdzOnJhbTo6YXdzOnBlcm1pc3Npb24vQVdTUkFNUGVybWlzc2lvblNlcnZpY2VDYXRhbG9nQXBwUmVnaXN0cnlBdHRyaWJ1dGVHcm91cFJlYWRPbmx5JztcbmNvbnN0IEFUVFJJQlVURV9HUk9VUF9BTExPV19BQ0NFU1NfUkFNX1BFUk1JU1NJT05fQVJOID0gJ2Fybjphd3M6cmFtOjphd3M6cGVybWlzc2lvbi9BV1NSQU1QZXJtaXNzaW9uU2VydmljZUNhdGFsb2dBcHBSZWdpc3RyeUF0dHJpYnV0ZUdyb3VwQWxsb3dBc3NvY2lhdGlvbic7XG5cbi8qKlxuICogQSBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXR0cmlidXRlIEdyb3VwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBdHRyaWJ1dGVHcm91cCBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYXR0cmlidXRlIGdyb3VwLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhdHRyaWJ1dGVHcm91cEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGF0dHJpYnV0ZSBncm91cC5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaGFyZSB0aGUgYXR0cmlidXRlIGdyb3VwIHJlc291cmNlIHdpdGggb3RoZXIgSUFNIGVudGl0aWVzLCBhY2NvdW50cywgb3IgT1VzLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBuYW1lIGZvciB0aGUgc2hhcmUuXG4gICAqIEBwYXJhbSBzaGFyZU9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSBzaGFyZS5cbiAgICovXG4gIHNoYXJlQXR0cmlidXRlR3JvdXAoaWQ6IHN0cmluZywgc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgYW4gYXBwbGljYXRpb24gd2l0aCBhdHRyaWJ1dGUgZ3JvdXBcbiAgICogSWYgdGhlIGF0dHJpYnV0ZSBncm91cCBpcyBhbHJlYWR5IGFzc29jaWF0ZWQsIGl0IHdpbGwgaWdub3JlIGR1cGxpY2F0ZSByZXF1ZXN0LlxuICAgKi9cbiAgYXNzb2NpYXRlV2l0aChhcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uKTogdm9pZDtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIFNlcnZpY2UgQ2F0YWxvZyBBcHBSZWdpc3RyeSBBdHRyaWJ1dGUgR3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVHcm91cFByb3BzIHtcbiAgLyoqXG4gICAqIEVuZm9yY2VzIGEgcGFydGljdWxhciBwaHlzaWNhbCBhdHRyaWJ1dGUgZ3JvdXAgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGF0dHJpYnV0ZUdyb3VwTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXNjcmlwdGlvbiBmb3IgYXR0cmlidXRlIGdyb3VwLlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlc2NyaXB0aW9uIHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQSBKU09OIG9mIG5lc3RlZCBrZXktdmFsdWUgcGFpcnMgdGhhdCByZXByZXNlbnQgdGhlIGF0dHJpYnV0ZXMgaW4gdGhlIGdyb3VwLlxuICAgKiBBdHRyaWJ1dGVzIG1heWJlIGFuIGVtcHR5IEpTT04gJ3t9JywgYnV0IG11c3QgYmUgZXhwbGljaXRseSBzdGF0ZWQuXG4gICAqL1xuICByZWFkb25seSBhdHRyaWJ1dGVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG5hYnN0cmFjdCBjbGFzcyBBdHRyaWJ1dGVHcm91cEJhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJQXR0cmlidXRlR3JvdXAge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYXR0cmlidXRlR3JvdXBBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGF0dHJpYnV0ZUdyb3VwSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBhc3NvY2lhdGVkQXBwbGljYXRpb25zOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcblxuICBwdWJsaWMgYXNzb2NpYXRlV2l0aChhcHBsaWNhdGlvbjogSUFwcGxpY2F0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzc29jaWF0ZWRBcHBsaWNhdGlvbnMuaGFzKGFwcGxpY2F0aW9uLm5vZGUuYWRkcikpIHtcbiAgICAgIGNvbnN0IGhhc2hJZCA9IHRoaXMuZ2VuZXJhdGVVbmlxdWVIYXNoKGFwcGxpY2F0aW9uLm5vZGUuYWRkcik7XG4gICAgICBuZXcgQ2ZuQXR0cmlidXRlR3JvdXBBc3NvY2lhdGlvbih0aGlzLCBgQXBwbGljYXRpb25BdHRyaWJ1dGVHcm91cEFzc29jaWF0aW9uJHtoYXNoSWR9YCwge1xuICAgICAgICBhcHBsaWNhdGlvbjogYXBwbGljYXRpb24uc3RhY2sgPT09IGNkay5TdGFjay5vZih0aGlzKSA/IGFwcGxpY2F0aW9uLmFwcGxpY2F0aW9uSWQgOiBhcHBsaWNhdGlvbi5hcHBsaWNhdGlvbk5hbWUgPz8gYXBwbGljYXRpb24uYXBwbGljYXRpb25JZCxcbiAgICAgICAgYXR0cmlidXRlR3JvdXA6IHRoaXMuYXR0cmlidXRlR3JvdXBJZCxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmFzc29jaWF0ZWRBcHBsaWNhdGlvbnMuYWRkKGFwcGxpY2F0aW9uLm5vZGUuYWRkcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNoYXJlQXR0cmlidXRlR3JvdXAoaWQ6IHN0cmluZywgc2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBwcmluY2lwYWxzID0gZ2V0UHJpbmNpcGFsc2ZvclNoYXJpbmcoc2hhcmVPcHRpb25zKTtcbiAgICBuZXcgQ2ZuUmVzb3VyY2VTaGFyZSh0aGlzLCBpZCwge1xuICAgICAgbmFtZTogc2hhcmVPcHRpb25zLm5hbWUsXG4gICAgICBhbGxvd0V4dGVybmFsUHJpbmNpcGFsczogZmFsc2UsXG4gICAgICBwcmluY2lwYWxzOiBwcmluY2lwYWxzLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5hdHRyaWJ1dGVHcm91cEFybl0sXG4gICAgICBwZXJtaXNzaW9uQXJuczogW3RoaXMuZ2V0QXR0cmlidXRlR3JvdXBTaGFyZVBlcm1pc3Npb25BUk4oc2hhcmVPcHRpb25zKV0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjb3JyZWN0IHBlcm1pc3Npb24gQVJOIGJhc2VkIG9uIHRoZSBTaGFyZVBlcm1pc3Npb25cbiAgICovXG4gIHByb3RlY3RlZCBnZXRBdHRyaWJ1dGVHcm91cFNoYXJlUGVybWlzc2lvbkFSTihzaGFyZU9wdGlvbnM6IFNoYXJlT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChzaGFyZU9wdGlvbnMuc2hhcmVQZXJtaXNzaW9uKSB7XG4gICAgICBjYXNlIFNoYXJlUGVybWlzc2lvbi5BTExPV19BQ0NFU1M6XG4gICAgICAgIHJldHVybiBBVFRSSUJVVEVfR1JPVVBfQUxMT1dfQUNDRVNTX1JBTV9QRVJNSVNTSU9OX0FSTjtcbiAgICAgIGNhc2UgU2hhcmVQZXJtaXNzaW9uLlJFQURfT05MWTpcbiAgICAgICAgcmV0dXJuIEFUVFJJQlVURV9HUk9VUF9SRUFEX09OTFlfUkFNX1BFUk1JU1NJT05fQVJOO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gc2hhcmVPcHRpb25zLnNoYXJlUGVybWlzc2lvbiA/PyBBVFRSSUJVVEVfR1JPVVBfUkVBRF9PTkxZX1JBTV9QRVJNSVNTSU9OX0FSTjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgdW5pcXVlIGhhc2hcbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZW5lcmF0ZVVuaXF1ZUhhc2gocmVzb3VyY2VBZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBTZXJ2aWNlIENhdGFsb2cgQXBwUmVnaXN0cnkgQXR0cmlidXRlIEdyb3VwLlxuICovXG5leHBvcnQgY2xhc3MgQXR0cmlidXRlR3JvdXAgZXh0ZW5kcyBBdHRyaWJ1dGVHcm91cEJhc2UgaW1wbGVtZW50cyBJQXR0cmlidXRlR3JvdXAge1xuICAvKipcbiAgICogSW1wb3J0cyBhbiBhdHRyaWJ1dGUgZ3JvdXAgY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCBhdHRyaWJ1dGUgZ3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApLlxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIG5hbWUuXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGVHcm91cEFybiB0aGUgQW1hem9uIFJlc291cmNlIE5hbWUgb2YgdGhlIGV4aXN0aW5nIEFwcFJlZ2lzdHJ5IGF0dHJpYnV0ZSBncm91cFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQXR0cmlidXRlR3JvdXBBcm4oc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cmlidXRlR3JvdXBBcm46IHN0cmluZyk6IElBdHRyaWJ1dGVHcm91cCB7XG4gICAgY29uc3QgYXJuID0gY2RrLlN0YWNrLm9mKHNjb3BlKS5zcGxpdEFybihhdHRyaWJ1dGVHcm91cEFybiwgY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9TTEFTSF9SRVNPVVJDRV9OQU1FKTtcbiAgICBjb25zdCBhdHRyaWJ1dGVHcm91cElkID0gYXJuLnJlc291cmNlTmFtZTtcblxuICAgIGlmICghYXR0cmlidXRlR3JvdXBJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHJlcXVpcmVkIEF0dHJpYnV0ZSBHcm91cCBJRCBmcm9tIEF0dHJpYnV0ZSBHcm91cCBBUk46ICcgKyBhdHRyaWJ1dGVHcm91cEFybik7XG4gICAgfVxuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXR0cmlidXRlR3JvdXBCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhdHRyaWJ1dGVHcm91cEFybiA9IGF0dHJpYnV0ZUdyb3VwQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGF0dHJpYnV0ZUdyb3VwSWQgPSBhdHRyaWJ1dGVHcm91cElkITtcblxuICAgICAgcHJvdGVjdGVkIGdlbmVyYXRlVW5pcXVlSGFzaChyZXNvdXJjZUFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBoYXNoVmFsdWVzKHRoaXMuYXR0cmlidXRlR3JvdXBBcm4sIHJlc291cmNlQWRkcmVzcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkLCB7XG4gICAgICBlbnZpcm9ubWVudEZyb21Bcm46IGF0dHJpYnV0ZUdyb3VwQXJuLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGF0dHJpYnV0ZUdyb3VwQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBhdHRyaWJ1dGVHcm91cElkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgbm9kZUFkZHJlc3M6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXR0cmlidXRlR3JvdXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnZhbGlkYXRlQXR0cmlidXRlR3JvdXBQcm9wcyhwcm9wcyk7XG5cbiAgICBjb25zdCBhdHRyaWJ1dGVHcm91cCA9IG5ldyBDZm5BdHRyaWJ1dGVHcm91cCh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiBwcm9wcy5hdHRyaWJ1dGVHcm91cE5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBhdHRyaWJ1dGVzOiBwcm9wcy5hdHRyaWJ1dGVzLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hdHRyaWJ1dGVHcm91cEFybiA9IGF0dHJpYnV0ZUdyb3VwLmF0dHJBcm47XG4gICAgdGhpcy5hdHRyaWJ1dGVHcm91cElkID0gYXR0cmlidXRlR3JvdXAuYXR0cklkO1xuICAgIHRoaXMubm9kZUFkZHJlc3MgPSBjZGsuTmFtZXMubm9kZVVuaXF1ZUlkKGF0dHJpYnV0ZUdyb3VwLm5vZGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdlbmVyYXRlVW5pcXVlSGFzaChyZXNvdXJjZUFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGhhc2hWYWx1ZXModGhpcy5ub2RlQWRkcmVzcywgcmVzb3VyY2VBZGRyZXNzKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVBdHRyaWJ1dGVHcm91cFByb3BzKHByb3BzOiBBdHRyaWJ1dGVHcm91cFByb3BzKSB7XG4gICAgSW5wdXRWYWxpZGF0b3IudmFsaWRhdGVMZW5ndGgodGhpcy5ub2RlLnBhdGgsICdhdHRyaWJ1dGUgZ3JvdXAgbmFtZScsIDEsIDI1NiwgcHJvcHMuYXR0cmlidXRlR3JvdXBOYW1lKTtcbiAgICBJbnB1dFZhbGlkYXRvci52YWxpZGF0ZVJlZ2V4KHRoaXMubm9kZS5wYXRoLCAnYXR0cmlidXRlIGdyb3VwIG5hbWUnLCAvXlthLXpBLVowLTktX10rJC8sIHByb3BzLmF0dHJpYnV0ZUdyb3VwTmFtZSk7XG4gICAgSW5wdXRWYWxpZGF0b3IudmFsaWRhdGVMZW5ndGgodGhpcy5ub2RlLnBhdGgsICdhdHRyaWJ1dGUgZ3JvdXAgZGVzY3JpcHRpb24nLCAwLCAxMDI0LCBwcm9wcy5kZXNjcmlwdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -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.72.1-alpha.0" };
49
+ TargetApplication[_a] = { fqn: "@aws-cdk/aws-servicecatalogappregistry-alpha.TargetApplication", version: "2.74.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.72.1-alpha.0",
3
+ "version": "2.74.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/individual-packages/aws-servicecatalogappregistry"
49
+ "directory": "packages/@aws-cdk/aws-servicecatalogappregistry-alpha"
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.72.1",
88
- "@aws-cdk/integ-runner": "2.72.1",
89
- "@aws-cdk/cfn2ts": "2.72.1",
90
- "@aws-cdk/pkglint": "2.72.1",
87
+ "@aws-cdk/cdk-build-tools": "2.74.0-alpha.0",
88
+ "@aws-cdk/integ-runner": "2.74.0-alpha.0",
89
+ "@aws-cdk/cfn2ts": "2.74.0-alpha.0",
90
+ "@aws-cdk/pkglint": "2.74.0-alpha.0",
91
91
  "@types/jest": "^27.5.2",
92
- "aws-cdk-lib": "2.72.1",
92
+ "aws-cdk-lib": "2.74.0",
93
93
  "constructs": "^10.0.0",
94
- "@aws-cdk/integ-tests-alpha": "2.72.1-alpha.0"
94
+ "@aws-cdk/integ-tests-alpha": "2.74.0-alpha.0"
95
95
  },
96
96
  "dependencies": {},
97
97
  "peerDependencies": {
98
- "aws-cdk-lib": "^2.72.1",
98
+ "aws-cdk-lib": "2.74.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
+ }