Oven logo

Oven

Published

The CDK Construct Library for AWS::ServiceCatalogAppRegistry

pip install aws-cdk-aws-servicecatalogappregistry

Package Downloads

Weekly DownloadsMonthly Downloads

Authors

Project URLs

Requires Python

~=3.7

AWS ServiceCatalogAppRegistry Construct Library

---

End-of-Support

AWS CDK v1 has reached End-of-Support on 2023-06-01. This package is no longer being updated, and users should migrate to AWS CDK v2.

For more information on how to migrate, see the Migrating to AWS CDK v2 guide.


AWS Service Catalog App Registry enables organizations to create and manage repositores of applications and associated resources.

Table Of Contents

The @aws-cdk/aws-servicecatalogappregistry package contains resources that enable users to automate governance and management of their AWS resources at scale.

import aws_cdk.aws_servicecatalogappregistry as appreg

Application

An AppRegistry application enables you to define your applications and associated resources. The application name must be unique at the account level, but is mutable.

application = appreg.Application(self, "MyFirstApplication",
    application_name="MyFirstApplicationName",
    description="description for my application"
)

An application that has been created outside of the stack can be imported into your CDK app. Applications can be imported by their ARN via the Application.fromApplicationArn() API:

imported_application = appreg.Application.from_application_arn(self, "MyImportedApplication", "arn:aws:servicecatalog:us-east-1:012345678910:/applications/0aqmvxvgmry0ecc4mjhwypun6i")

Attribute Group

An AppRegistry attribute group acts as a container for user-defined attributes for an application. Metadata is attached in a machine-readble format to integrate with automated workflows and tools.

attribute_group = appreg.AttributeGroup(self, "MyFirstAttributeGroup",
    attribute_group_name="MyFirstAttributeGroupName",
    description="description for my attribute group",  # the description is optional,
    attributes={
        "project": "foo",
        "team": ["member1", "member2", "member3"],
        "public": False,
        "stages": {
            "alpha": "complete",
            "beta": "incomplete",
            "release": "not started"
        }
    }
)

An attribute group that has been created outside of the stack can be imported into your CDK app. Attribute groups can be imported by their ARN via the AttributeGroup.fromAttributeGroupArn() API:

imported_attribute_group = appreg.AttributeGroup.from_attribute_group_arn(self, "MyImportedAttrGroup", "arn:aws:servicecatalog:us-east-1:012345678910:/attribute-groups/0aqmvxvgmry0ecc4mjhwypun6i")

Associations

You can associate your appregistry application with attribute groups and resources. Resources are CloudFormation stacks that you can associate with an application to group relevant stacks together to enable metadata rich insights into your applications and resources. A Cloudformation stack can only be associated with one appregistry application. If a stack is associated with multiple applications in your app or is already associated with one, CDK will fail at deploy time.

Associating application with an attribute group

You can associate an attribute group with an application with the associateAttributeGroup() API:

# application: appreg.Application
# attribute_group: appreg.AttributeGroup

application.associate_attribute_group(attribute_group)

Associating application with a Stack

You can associate a stack with an application with the associateStack() API:

# application: appreg.Application
app = App()
my_stack = Stack(app, "MyStack")
application.associate_stack(my_stack)