-
Notifications
You must be signed in to change notification settings - Fork 4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: move context queries to cloud assembly schema
There was another protocol of implicit "props" queries in the cloud assembly, which is the "missing context queries" protocol. Move it into the cloud-assembly-schema package so we can properly version updates to it. There was still some additional stuff in the protocol around constants and return types. Did not move those yet since I'm not sure how they fit into the schema. Taking it one step at a time.
- Loading branch information
Showing
39 changed files
with
533 additions
and
253 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
177 changes: 177 additions & 0 deletions
177
packages/@aws-cdk/cloud-assembly-schema/lib/context-queries.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,177 @@ | ||
|
||
/** | ||
* Identifier for the context provider | ||
*/ | ||
export enum ContextProvider { | ||
/** | ||
* AMI provider | ||
*/ | ||
AMI_PROVIDER = 'ami', | ||
|
||
/** | ||
* AZ provider | ||
*/ | ||
AVAILABILITY_ZONE_PROVIDER = 'availability-zones', | ||
|
||
/** | ||
* Route53 Hosted Zone provider | ||
*/ | ||
HOSTED_ZONE_PROVIDER = 'hosted-zone', | ||
|
||
/** | ||
* SSM Parameter Provider | ||
*/ | ||
SSM_PARAMETER_PROVIDER = 'ssm', | ||
|
||
/** | ||
* VPC Provider | ||
*/ | ||
VPC_PROVIDER = 'vpc-provider', | ||
} | ||
|
||
/** | ||
* Query to AMI context provider | ||
*/ | ||
export interface AmiContextQuery { | ||
/** | ||
* Account to query | ||
*/ | ||
readonly account: string; | ||
|
||
/** | ||
* Region to query | ||
*/ | ||
readonly region: string; | ||
|
||
/** | ||
* Owners to DescribeImages call | ||
* | ||
* @default - All owners | ||
*/ | ||
readonly owners?: string[]; | ||
|
||
/** | ||
* Filters to DescribeImages call | ||
*/ | ||
readonly filters: {[key: string]: string[]}; | ||
} | ||
|
||
/** | ||
* Query to availability zone context provider | ||
*/ | ||
export interface AvailabilityZonesContextQuery { | ||
/** | ||
* Query account | ||
*/ | ||
readonly account: string; | ||
|
||
/** | ||
* Query region | ||
*/ | ||
readonly region: string; | ||
} | ||
|
||
/** | ||
* Query to hosted zone context provider | ||
*/ | ||
export interface HostedZoneContextQuery { | ||
/** | ||
* Query account | ||
*/ | ||
readonly account: string; | ||
|
||
/** | ||
* Query region | ||
*/ | ||
readonly region: string; | ||
|
||
/** | ||
* The domain name e.g. example.com to lookup | ||
*/ | ||
readonly domainName: string; | ||
|
||
/** | ||
* True if the zone you want to find is a private hosted zone | ||
* | ||
* @default false | ||
*/ | ||
readonly privateZone?: boolean; | ||
|
||
/** | ||
* The VPC ID to that the private zone must be associated with | ||
* | ||
* If you provide VPC ID and privateZone is false, this will return no results | ||
* and raise an error. | ||
* | ||
* @default - Required if privateZone=true | ||
*/ | ||
readonly vpcId?: string; | ||
} | ||
|
||
/** | ||
* Query to SSM Parameter Context Provider | ||
*/ | ||
export interface SSMParameterContextQuery { | ||
/** | ||
* Query account | ||
*/ | ||
readonly account: string; | ||
|
||
/** | ||
* Query region | ||
*/ | ||
readonly region: string; | ||
|
||
/** | ||
* Parameter name to query | ||
*/ | ||
readonly parameterName: string; | ||
} | ||
|
||
/** | ||
* Query input for looking up a VPC | ||
*/ | ||
export interface VpcContextQuery { | ||
/** | ||
* Query account | ||
*/ | ||
readonly account: string; | ||
|
||
/** | ||
* Query region | ||
*/ | ||
readonly region: string; | ||
|
||
/** | ||
* Filters to apply to the VPC | ||
* | ||
* Filter parameters are the same as passed to DescribeVpcs. | ||
* | ||
* @see https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html | ||
*/ | ||
readonly filter: {[key: string]: string}; | ||
|
||
/** | ||
* Whether to populate the subnetGroups field of the {@link VpcContextResponse}, | ||
* which contains potentially asymmetric subnet groups. | ||
* | ||
* @default false | ||
*/ | ||
readonly returnAsymmetricSubnets?: boolean; | ||
|
||
/** | ||
* Optional tag for subnet group name. | ||
* If not provided, we'll look at the aws-cdk:subnet-name tag. | ||
* If the subnet does not have the specified tag, | ||
* we'll use its type as the name. | ||
* | ||
* @default 'aws-cdk:subnet-name' | ||
*/ | ||
readonly subnetGroupNameTag?: string; | ||
} | ||
|
||
export type ContextQueryProperties = AmiContextQuery | ||
| AvailabilityZonesContextQuery | ||
| HostedZoneContextQuery | ||
| SSMParameterContextQuery | ||
| VpcContextQuery; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
export * from './manifest'; | ||
export * from './schema'; | ||
export * from './context-queries'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.