Skip to content

Commit

Permalink
Merge branch 'cdklabs:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
RyanFrench authored Jan 20, 2025
2 parents 026dffd + 50cc543 commit 96d2e65
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 42 deletions.
1 change: 1 addition & 0 deletions lib/cloud-assembly/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ export * from './schema';
export * from './metadata-schema';
export * from './artifact-schema';
export * from './context-queries';
export * from './interfaces';
31 changes: 31 additions & 0 deletions lib/cloud-assembly/interfaces.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// The interfaces in this file, mainly exist __here__ because this is a convenient place to put them.
// The Assembly Schema package is already a jsii package and a dependency of `aws-cdk-lib`.
// It is effectively the only place we can put shared interfaces to be used across the jsii ecosystem.
//
// Putting a shared interface in here should be a huge exception.
// It needs to be justified by great benefits it provides to the ecosystems.
// All interfaces should be as minimal as possible.

/**
* Interoperable representation of a deployable cloud application.
*
* The external and interoperable contract for a Cloud Assembly is
* a directory containing a valid Cloud Assembly.
*
* Implementations should use the directory to load the Cloud Assembly from disk.
* It is recommended that implementations validate loaded manifest files using
* the provided functionality from this package.
* Within an implementation, it may be prudent to keep (parts of) the Cloud Assembly
* in memory during execution and use an implementation-specific contract.
* However when an implementation is providing an external contract,
* this interface should be used.
*/
export interface ICloudAssembly {
/**
* The directory of the cloud assembly.
*
* This directory will be used to read the Cloud Assembly from.
* Its contents (in particular `manifest.json`) must comply with the schema defined in this package.
*/
readonly directory: string;
}
2 changes: 1 addition & 1 deletion package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

82 changes: 41 additions & 41 deletions yarn.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 96d2e65

Please sign in to comment.