Skip to content

Commit

Permalink
Merge branch 'main' into corymhall/certificatemanager/certificate-cus…
Browse files Browse the repository at this point in the history
…tom-resource
  • Loading branch information
mergify[bot] authored Jan 25, 2023
2 parents 52c9d38 + ba14612 commit 2e4e47c
Show file tree
Hide file tree
Showing 8 changed files with 156 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@ import * as fs from 'fs';
import * as path from 'path';
import { integTest, randomString, withDefaultFixture } from '../../lib';

const timeout = process.env.CODEBUILD_BUILD_ID ? // if the process is running in CodeBuild
3_600_000 : // 1 hour
600_000; // 10 minutes
jest.setTimeout(timeout); // Includes the time to acquire locks
process.stdout.write(`bootstrapping.integtest.ts: Setting jest time out to ${timeout} ms`);
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime

integTest('can bootstrap without execution', withDefaultFixture(async (fixture) => {
const bootstrapStackName = fixture.bootstrapStackName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as os from 'os';
import * as path from 'path';
import { integTest, cloneDirectory, shell, withDefaultFixture, retry, sleep, randomInteger, withSamIntegrationFixture, RESOURCES_DIR } from '../../lib';

jest.setTimeout(60 * 60_000); // Includes the time to acquire locks
jest.setTimeout(2 * 60 * 60_000); // Includes the time to acquire locks, worst-case single-threaded runtime

describe('ci', () => {
integTest('output to stderr', withDefaultFixture(async (fixture) => {
Expand Down
20 changes: 20 additions & 0 deletions packages/@aws-cdk/cfnspec/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@

# Serverless Application Model (SAM) Resource Specification v2016-10-31

## New Resource Types


## Attribute Changes


## Property Changes


## Property Type Changes

* AWS::Serverless::Function.HttpApiEvent (__added__)
* AWS::Serverless::Function.HttpApiFunctionAuth (__added__)
* AWS::Serverless::Function.RouteSettings (__added__)
* AWS::Serverless::Function.EventSource Properties.Types (__changed__)
* Added HttpApiEvent

# CloudFormation Resource Specification v108.0.0

## New Resource Types
Expand Down
6 changes: 5 additions & 1 deletion packages/@aws-cdk/cfnspec/build-tools/spec-diff.ts
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,10 @@ async function main() {
if (Array.isArray(update)) {
changes.push(`* ${namespace} ${prefix} (__changed__)`);
for (const entry of update) {
if (entry.length === 1 && entry[0] === ' ') {
// This means that this element of the array is unchanged
continue;
}
if (entry.length !== 2) {
throw new Error(`Unexpected array diff entry: ${JSON.stringify(entry)}`);
}
Expand All @@ -247,7 +251,7 @@ async function main() {
case '-':
throw new Error(`Something awkward happened: ${entry[1]} was deleted from ${namespace} ${prefix}!`);
case ' ':
// This entry is "context"
// This entry is "context"
break;
default:
throw new Error(`Unexpected array diff entry: ${JSON.stringify(entry)}`);
Expand Down
50 changes: 25 additions & 25 deletions packages/@aws-cdk/cfnspec/spec-source/cfn-docs/cfn-docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -2055,7 +2055,7 @@
"ConnectorLabel": "The label used for registering the connector.",
"ConnectorProvisioningConfig": "The configuration required for registering the connector.",
"ConnectorProvisioningType": "The provisioning type used to register the connector.",
"Description": "A description about the connector runtime setting."
"Description": "A description of the connector entity field."
}
},
"AWS::AppFlow::Connector.ConnectorProvisioningConfig": {
Expand Down Expand Up @@ -36811,7 +36811,7 @@
"ClusterConfig": "Container for the cluster configuration of a domain.",
"CognitoOptions": "Configures OpenSearch Service to use Amazon Cognito authentication for OpenSearch Dashboards.",
"DomainEndpointOptions": "Specifies additional options for the domain endpoint, such as whether to require HTTPS for all traffic or whether to use a custom endpoint rather than the default endpoint.",
"DomainName": "A name for the OpenSearch Service domain. For valid values, see the [DomainName](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/configuration-api.html#configuration-api-datatypes-domainname) data type in the *Amazon OpenSearch Service Developer Guide* . If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the domain name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nRequired when creating a new domain.\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.",
"DomainName": "A name for the OpenSearch Service domain. The name must have a minimum length of 3 and a maximum length of 28. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the domain name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) .\n\nRequired when creating a new domain.\n\n> If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.",
"EBSOptions": "The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the OpenSearch Service domain. For more information, see [EBS volume size limits](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/limits.html#ebsresource) in the *Amazon OpenSearch Service Developer Guide* .",
"EncryptionAtRestOptions": "Whether the domain should encrypt data at rest, and if so, the AWS KMS key to use. See [Encryption of data at rest for Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html) .",
"EngineVersion": "The version of OpenSearch to use. The value must be in the format `OpenSearch_X.Y` or `Elasticsearch_X.Y` . If not specified, the latest version of OpenSearch is used. For information about the versions that OpenSearch Service supports, see [Supported versions of OpenSearch and Elasticsearch](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html#choosing-version) in the *Amazon OpenSearch Service Developer Guide* .\n\nIf you set the [EnableVersionUpgrade](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-upgradeopensearchdomain) update policy to `true` , you can update `EngineVersion` without interruption. When `EnableVersionUpgrade` is set to `false` , or is not specified, updating `EngineVersion` results in [replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement) .",
Expand Down Expand Up @@ -41609,42 +41609,42 @@
"AWS::RolesAnywhere::CRL": {
"attributes": {
"CrlId": "The unique primary identifier of the Crl",
"Ref": "The name of the CRL."
"Ref": "`Ref` returns `CrlId` ."
},
"description": "Creates a Crl.",
"description": "The state of the certificate revocation list (CRL) after a read or write operation.",
"properties": {
"CrlData": "x509 v3 Certificate Revocation List to revoke auth for corresponding certificates presented in CreateSession operations",
"Enabled": "The enabled status of the resource.",
"Name": "The customer specified name of the resource.",
"Tags": "A list of Tags.",
"CrlData": "The revocation record for a certificate, following the x509 v3 standard.",
"Enabled": "Indicates whether the certificate revocation list (CRL) is enabled.",
"Name": "The name of the certificate revocation list (CRL).",
"Tags": "A list of tags to attach to the CRL.",
"TrustAnchorArn": "The ARN of the TrustAnchor the certificate revocation list (CRL) will provide revocation for."
}
},
"AWS::RolesAnywhere::Profile": {
"attributes": {
"ProfileArn": "",
"ProfileArn": "The ARN of the profile.",
"ProfileId": "The unique primary identifier of the Profile",
"Ref": "The name of the Profile"
"Ref": "`Ref` returns `ProfileId` ."
},
"description": "Creates a Profile.",
"description": "Creates a *profile* , a list of the roles that Roles Anywhere service is trusted to assume. You use profiles to intersect permissions with IAM managed policies.\n\n*Required permissions:* `rolesanywhere:CreateProfile` .",
"properties": {
"DurationSeconds": "The number of seconds vended session credentials will be valid for",
"Enabled": "The enabled status of the resource.",
"ManagedPolicyArns": "A list of managed policy ARNs. Managed policies identified by this list will be applied to the vended session credentials.",
"Name": "The customer specified name of the resource.",
"RequireInstanceProperties": "Specifies whether instance properties are required in CreateSession requests with this profile.",
"RoleArns": "A list of IAM role ARNs that can be assumed when this profile is specified in a CreateSession request.",
"SessionPolicy": "A session policy that will applied to the trust boundary of the vended session credentials.",
"Tags": "A list of Tags."
"DurationSeconds": "Sets the maximum number of seconds that vended temporary credentials through [CreateSession](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/authentication-create-session.html) will be valid for, between 900 and 3600.",
"Enabled": "Indicates whether the profile is enabled.",
"ManagedPolicyArns": "A list of managed policy ARNs that apply to the vended session credentials.",
"Name": "The name of the profile.",
"RequireInstanceProperties": "Specifies whether instance properties are required in temporary credential requests with this profile.",
"RoleArns": "A list of IAM role ARNs. During `CreateSession` , if a matching role ARN is provided, the properties in this profile will be applied to the intersection session policy.",
"SessionPolicy": "A session policy that applies to the trust boundary of the vended session credentials.",
"Tags": "A list of tags to attach to the profile."
}
},
"AWS::RolesAnywhere::TrustAnchor": {
"attributes": {
"Ref": "`Ref` returns `TrustAnchorId` .",
"TrustAnchorArn": "The ARN of the trust anchor.",
"TrustAnchorId": ""
"TrustAnchorId": "The unique primary identifier of the TrustAnchor"
},
"description": "Creates a TrustAnchor.",
"description": "The state of the trust anchor after a read or write operation.",
"properties": {
"Enabled": "Indicates whether the trust anchor is enabled.",
"Name": "The name of the trust anchor.",
Expand All @@ -41654,15 +41654,15 @@
},
"AWS::RolesAnywhere::TrustAnchor.Source": {
"attributes": {},
"description": "Object representing the TrustAnchor type and its related certificate data.",
"description": "The trust anchor type and its related certificate data.",
"properties": {
"SourceData": "A union object representing the data field of the TrustAnchor depending on its type",
"SourceType": "The type of the TrustAnchor."
"SourceData": "The data field of the trust anchor depending on its type.",
"SourceType": "The type of the trust anchor."
}
},
"AWS::RolesAnywhere::TrustAnchor.SourceData": {
"attributes": {},
"description": "A union object representing the data field of the TrustAnchor depending on its type",
"description": "The data field of the trust anchor depending on its type.",
"properties": {
"AcmPcaArn": "The root certificate of the AWS Private Certificate Authority specified by this ARN is used in trust validation for temporary credential requests. Included for trust anchors of type `AWS_ACM_PCA` .",
"X509CertificateData": "The PEM-encoded data for the certificate anchor. Included for trust anchors of type `CERTIFICATE_BUNDLE` ."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"AWS::Neptune::DBCluster" : {},
"AWS::Neptune::DBInstance" : {},
"AWS::OpenSearchService::Domain" : {},
"AWS::Organizations::Account" : {},
"AWS::QLDB::Ledger" : {},
"AWS::RDS::DBCluster" : {},
"AWS::RDS::DBInstance" : {},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -792,7 +792,8 @@
"CloudWatchLogsEvent",
"IoTRuleEvent",
"AlexaSkillEvent",
"EventBridgeRuleEvent"
"EventBridgeRuleEvent",
"HttpApiEvent"
],
"UpdateType": "Immutable"
},
Expand Down Expand Up @@ -844,6 +845,71 @@
}
}
},
"AWS::Serverless::Function.HttpApiEvent": {
"Documentation": "https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#httpapi",
"Properties": {
"ApiId": {
"Documentation": "https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#httpapi",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Immutable"
},
"Auth": {
"Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapi.html",
"Required": false,
"Type": "HttpApiFunctionAuth",
"UpdateType": "Immutable"
},
"Method": {
"Documentation": "https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#httpapi",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Immutable"
},
"Path": {
"Documentation": "https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#httpapi",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Immutable"
},
"PayloadFormatVersion": {
"Documentation": "https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#httpapi",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Immutable"
},
"RouteSettings": {
"Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings",
"Required": false,
"Type": "RouteSettings",
"UpdateType": "Immutable"
},
"TimeoutInMillis": {
"Documentation": "https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#httpapi",
"PrimitiveType": "Integer",
"Required": false,
"UpdateType": "Immutable"
}
}
},
"AWS::Serverless::Function.HttpApiFunctionAuth": {
"Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapifunctionauth.html",
"Properties": {
"AuthorizationScopes": {
"Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapifunctionauth.html",
"PrimitiveItemType": "String",
"Required": false,
"Type": "List",
"UpdateType": "Immutable"
},
"Authorizer": {
"Documentation": "https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-httpapifunctionauth.html",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Immutable"
}
}
},
"AWS::Serverless::Function.IAMPolicyDocument": {
"Documentation": "http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html",
"Properties": {
Expand Down Expand Up @@ -1052,6 +1118,41 @@
}
}
},
"AWS::Serverless::Function.RouteSettings": {
"Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html",
"Properties": {
"DataTraceEnabled": {
"Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-datatraceenabled",
"PrimitiveType": "Boolean",
"Required": false,
"UpdateType": "Immutable"
},
"DetailedMetricsEnabled": {
"Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-detailedmetricsenabled",
"PrimitiveType": "Boolean",
"Required": false,
"UpdateType": "Immutable"
},
"LoggingLevel": {
"Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-logginglevel",
"PrimitiveType": "String",
"Required": false,
"UpdateType": "Immutable"
},
"ThrottlingBurstLimit": {
"Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-throttlingburstlimit",
"PrimitiveType": "Integer",
"Required": false,
"UpdateType": "Immutable"
},
"ThrottlingRateLimit": {
"Documentation": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-throttlingratelimit",
"PrimitiveType": "Double",
"Required": false,
"UpdateType": "Immutable"
}
}
},
"AWS::Serverless::Function.S3Event": {
"Documentation": "https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#s3",
"Properties": {
Expand Down
2 changes: 1 addition & 1 deletion tools/@aws-cdk/node-bundle/src/api/bundle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ export class Bundle {
}
const inputs = Object.keys(this.bundle.metafile!.inputs);
const packages = new Set(Array.from(inputs).map(i => this.closestPackagePath(path.join(this.packageDir, i))));
this._dependencies = Array.from(packages).map(p => this.createPackage(p)).filter(d => d.name !== this.manifest.name);
this._dependencies = Array.from(packages).map(p => this.createPackage(p)).filter(d => d.name !== undefined && d.name !== this.manifest.name);
return this._dependencies;
}

Expand Down

0 comments on commit 2e4e47c

Please sign in to comment.