UNPKG

construct-hub

Version:

A construct library that models Construct Hub instances.

1,321 lines (812 loc) • 551 kB
# API Reference <a name="API Reference" id="api-reference"></a> ## Constructs <a name="Constructs" id="Constructs"></a> ### ConstructHub <a name="ConstructHub" id="construct-hub.ConstructHub"></a> - *Implements:* aws-cdk-lib.aws_iam.IGrantable Construct Hub. #### Initializers <a name="Initializers" id="construct-hub.ConstructHub.Initializer"></a> ```typescript import { ConstructHub } from 'construct-hub' new ConstructHub(scope: Construct, id: string, props?: ConstructHubProps) ``` | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.ConstructHub.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* | | <code><a href="#construct-hub.ConstructHub.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* | | <code><a href="#construct-hub.ConstructHub.Initializer.parameter.props">props</a></code> | <code><a href="#construct-hub.ConstructHubProps">ConstructHubProps</a></code> | *No description.* | --- ##### `scope`<sup>Required</sup> <a name="scope" id="construct-hub.ConstructHub.Initializer.parameter.scope"></a> - *Type:* constructs.Construct --- ##### `id`<sup>Required</sup> <a name="id" id="construct-hub.ConstructHub.Initializer.parameter.id"></a> - *Type:* string --- ##### `props`<sup>Optional</sup> <a name="props" id="construct-hub.ConstructHub.Initializer.parameter.props"></a> - *Type:* <a href="#construct-hub.ConstructHubProps">ConstructHubProps</a> --- #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#construct-hub.ConstructHub.toString">toString</a></code> | Returns a string representation of this construct. | --- ##### `toString` <a name="toString" id="construct-hub.ConstructHub.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#construct-hub.ConstructHub.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | --- ##### `isConstruct` <a name="isConstruct" id="construct-hub.ConstructHub.isConstruct"></a> ```typescript import { ConstructHub } from 'construct-hub' ConstructHub.isConstruct(x: any) ``` Checks if `x` is a construct. Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked. Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead. ###### `x`<sup>Required</sup> <a name="x" id="construct-hub.ConstructHub.isConstruct.parameter.x"></a> - *Type:* any Any object. --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.ConstructHub.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | | <code><a href="#construct-hub.ConstructHub.property.allAlarms">allAlarms</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm[]</code> | Returns a list of all alarms configured by this ConstructHub instance. | | <code><a href="#construct-hub.ConstructHub.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | The principal to grant permissions to. | | <code><a href="#construct-hub.ConstructHub.property.highSeverityAlarms">highSeverityAlarms</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm[]</code> | Returns a list of all high-severity alarms from this ConstructHub instance. | | <code><a href="#construct-hub.ConstructHub.property.ingestionQueue">ingestionQueue</a></code> | <code>aws-cdk-lib.aws_sqs.IQueue</code> | *No description.* | | <code><a href="#construct-hub.ConstructHub.property.lowSeverityAlarms">lowSeverityAlarms</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm[]</code> | Returns a list of all low-severity alarms from this ConstructHub instance. | | <code><a href="#construct-hub.ConstructHub.property.mediumSeverityAlarms">mediumSeverityAlarms</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarm[]</code> | Returns a list of all low-severity alarms from this ConstructHub instance. | | <code><a href="#construct-hub.ConstructHub.property.regenerateAllDocumentationPerPackage">regenerateAllDocumentationPerPackage</a></code> | <code>aws-cdk-lib.aws_stepfunctions.IStateMachine</code> | The function operators can use to reprocess a specific package version through the backend data pipeline. | --- ##### `node`<sup>Required</sup> <a name="node" id="construct-hub.ConstructHub.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ##### `allAlarms`<sup>Required</sup> <a name="allAlarms" id="construct-hub.ConstructHub.property.allAlarms"></a> ```typescript public readonly allAlarms: IAlarm[]; ``` - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm[] Returns a list of all alarms configured by this ConstructHub instance. --- ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="construct-hub.ConstructHub.property.grantPrincipal"></a> ```typescript public readonly grantPrincipal: IPrincipal; ``` - *Type:* aws-cdk-lib.aws_iam.IPrincipal The principal to grant permissions to. --- ##### `highSeverityAlarms`<sup>Required</sup> <a name="highSeverityAlarms" id="construct-hub.ConstructHub.property.highSeverityAlarms"></a> ```typescript public readonly highSeverityAlarms: IAlarm[]; ``` - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm[] Returns a list of all high-severity alarms from this ConstructHub instance. These warrant immediate attention as they are indicative of a system health issue. --- ##### `ingestionQueue`<sup>Required</sup> <a name="ingestionQueue" id="construct-hub.ConstructHub.property.ingestionQueue"></a> ```typescript public readonly ingestionQueue: IQueue; ``` - *Type:* aws-cdk-lib.aws_sqs.IQueue --- ##### `lowSeverityAlarms`<sup>Required</sup> <a name="lowSeverityAlarms" id="construct-hub.ConstructHub.property.lowSeverityAlarms"></a> ```typescript public readonly lowSeverityAlarms: IAlarm[]; ``` - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm[] Returns a list of all low-severity alarms from this ConstructHub instance. These do not necessitate immediate attention, as they do not have direct customer-visible impact, or handling is not time-sensitive. They indicate that something unusual (not necessarily bad) is happening. --- ##### `mediumSeverityAlarms`<sup>Required</sup> <a name="mediumSeverityAlarms" id="construct-hub.ConstructHub.property.mediumSeverityAlarms"></a> ```typescript public readonly mediumSeverityAlarms: IAlarm[]; ``` - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarm[] Returns a list of all low-severity alarms from this ConstructHub instance. These do not necessitate immediate attention, as they do not have direct customer-visible impact, or handling is not time-sensitive. They indicate that something unusual (not necessarily bad) is happening. --- ##### `regenerateAllDocumentationPerPackage`<sup>Required</sup> <a name="regenerateAllDocumentationPerPackage" id="construct-hub.ConstructHub.property.regenerateAllDocumentationPerPackage"></a> ```typescript public readonly regenerateAllDocumentationPerPackage: IStateMachine; ``` - *Type:* aws-cdk-lib.aws_stepfunctions.IStateMachine The function operators can use to reprocess a specific package version through the backend data pipeline. --- ### S3StorageFactory <a name="S3StorageFactory" id="construct-hub.S3StorageFactory"></a> Create s3 storage resources. #### Methods <a name="Methods" id="Methods"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#construct-hub.S3StorageFactory.toString">toString</a></code> | Returns a string representation of this construct. | | <code><a href="#construct-hub.S3StorageFactory.newBucket">newBucket</a></code> | Create a new bucket in a storage config aware manner. | --- ##### `toString` <a name="toString" id="construct-hub.S3StorageFactory.toString"></a> ```typescript public toString(): string ``` Returns a string representation of this construct. ##### `newBucket` <a name="newBucket" id="construct-hub.S3StorageFactory.newBucket"></a> ```typescript public newBucket(scope: Construct, id: string, props?: BucketProps): Bucket ``` Create a new bucket in a storage config aware manner. ###### `scope`<sup>Required</sup> <a name="scope" id="construct-hub.S3StorageFactory.newBucket.parameter.scope"></a> - *Type:* constructs.Construct --- ###### `id`<sup>Required</sup> <a name="id" id="construct-hub.S3StorageFactory.newBucket.parameter.id"></a> - *Type:* string --- ###### `props`<sup>Optional</sup> <a name="props" id="construct-hub.S3StorageFactory.newBucket.parameter.props"></a> - *Type:* aws-cdk-lib.aws_s3.BucketProps --- #### Static Functions <a name="Static Functions" id="Static Functions"></a> | **Name** | **Description** | | --- | --- | | <code><a href="#construct-hub.S3StorageFactory.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. | | <code><a href="#construct-hub.S3StorageFactory.getOrCreate">getOrCreate</a></code> | Retrieve or create the storage factory for the current scope. | --- ##### `isConstruct` <a name="isConstruct" id="construct-hub.S3StorageFactory.isConstruct"></a> ```typescript import { S3StorageFactory } from 'construct-hub' S3StorageFactory.isConstruct(x: any) ``` Checks if `x` is a construct. Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked. Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead. ###### `x`<sup>Required</sup> <a name="x" id="construct-hub.S3StorageFactory.isConstruct.parameter.x"></a> - *Type:* any Any object. --- ##### `getOrCreate` <a name="getOrCreate" id="construct-hub.S3StorageFactory.getOrCreate"></a> ```typescript import { S3StorageFactory } from 'construct-hub' S3StorageFactory.getOrCreate(scope: Construct, props?: S3StorageFactoryProps) ``` Retrieve or create the storage factory for the current scope. This is stack singleton. ###### `scope`<sup>Required</sup> <a name="scope" id="construct-hub.S3StorageFactory.getOrCreate.parameter.scope"></a> - *Type:* constructs.Construct --- ###### `props`<sup>Optional</sup> <a name="props" id="construct-hub.S3StorageFactory.getOrCreate.parameter.props"></a> - *Type:* <a href="#construct-hub.S3StorageFactoryProps">S3StorageFactoryProps</a> --- #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.S3StorageFactory.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. | --- ##### `node`<sup>Required</sup> <a name="node" id="construct-hub.S3StorageFactory.property.node"></a> ```typescript public readonly node: Node; ``` - *Type:* constructs.Node The tree node. --- ## Structs <a name="Structs" id="Structs"></a> ### AlarmActions <a name="AlarmActions" id="construct-hub.AlarmActions"></a> CloudWatch alarm actions to perform. #### Initializer <a name="Initializer" id="construct-hub.AlarmActions.Initializer"></a> ```typescript import { AlarmActions } from 'construct-hub' const alarmActions: AlarmActions = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.AlarmActions.property.highSeverity">highSeverity</a></code> | <code>string</code> | The ARN of the CloudWatch alarm action to take for alarms of high-severity alarms. | | <code><a href="#construct-hub.AlarmActions.property.highSeverityAction">highSeverityAction</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarmAction</code> | The CloudWatch alarm action to take for alarms of high-severity alarms. | | <code><a href="#construct-hub.AlarmActions.property.mediumSeverity">mediumSeverity</a></code> | <code>string</code> | The ARN of the CloudWatch alarm action to take for alarms of medium-severity alarms. | | <code><a href="#construct-hub.AlarmActions.property.mediumSeverityAction">mediumSeverityAction</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarmAction</code> | The CloudWatch alarm action to take for alarms of medium-severity alarms. | | <code><a href="#construct-hub.AlarmActions.property.normalSeverity">normalSeverity</a></code> | <code>string</code> | The ARN of the CloudWatch alarm action to take for alarms of normal severity. | | <code><a href="#construct-hub.AlarmActions.property.normalSeverityAction">normalSeverityAction</a></code> | <code>aws-cdk-lib.aws_cloudwatch.IAlarmAction</code> | The CloudWatch alarm action to take for alarms of normal severity. | --- ##### `highSeverity`<sup>Optional</sup> <a name="highSeverity" id="construct-hub.AlarmActions.property.highSeverity"></a> ```typescript public readonly highSeverity: string; ``` - *Type:* string The ARN of the CloudWatch alarm action to take for alarms of high-severity alarms. This must be an ARN that can be used with CloudWatch alarms. > [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions) --- ##### `highSeverityAction`<sup>Optional</sup> <a name="highSeverityAction" id="construct-hub.AlarmActions.property.highSeverityAction"></a> ```typescript public readonly highSeverityAction: IAlarmAction; ``` - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarmAction The CloudWatch alarm action to take for alarms of high-severity alarms. This must be an ARN that can be used with CloudWatch alarms. > [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions) --- ##### `mediumSeverity`<sup>Optional</sup> <a name="mediumSeverity" id="construct-hub.AlarmActions.property.mediumSeverity"></a> ```typescript public readonly mediumSeverity: string; ``` - *Type:* string The ARN of the CloudWatch alarm action to take for alarms of medium-severity alarms. This must be an ARN that can be used with CloudWatch alarms. > [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions) --- ##### `mediumSeverityAction`<sup>Optional</sup> <a name="mediumSeverityAction" id="construct-hub.AlarmActions.property.mediumSeverityAction"></a> ```typescript public readonly mediumSeverityAction: IAlarmAction; ``` - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarmAction The CloudWatch alarm action to take for alarms of medium-severity alarms. This must be an ARN that can be used with CloudWatch alarms. > [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions) --- ##### `normalSeverity`<sup>Optional</sup> <a name="normalSeverity" id="construct-hub.AlarmActions.property.normalSeverity"></a> ```typescript public readonly normalSeverity: string; ``` - *Type:* string - *Default:* no actions are taken in response to alarms of normal severity The ARN of the CloudWatch alarm action to take for alarms of normal severity. This must be an ARN that can be used with CloudWatch alarms. > [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions) --- ##### `normalSeverityAction`<sup>Optional</sup> <a name="normalSeverityAction" id="construct-hub.AlarmActions.property.normalSeverityAction"></a> ```typescript public readonly normalSeverityAction: IAlarmAction; ``` - *Type:* aws-cdk-lib.aws_cloudwatch.IAlarmAction - *Default:* no actions are taken in response to alarms of normal severity The CloudWatch alarm action to take for alarms of normal severity. This must be an ARN that can be used with CloudWatch alarms. > [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions) --- ### AlarmSeverities <a name="AlarmSeverities" id="construct-hub.AlarmSeverities"></a> Configure severities for various alarms. Alarms not included here are currently not configurable. #### Initializer <a name="Initializer" id="construct-hub.AlarmSeverities.Initializer"></a> ```typescript import { AlarmSeverities } from 'construct-hub' const alarmSeverities: AlarmSeverities = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.AlarmSeverities.property.backendOrchestrationFailed">backendOrchestrationFailed</a></code> | <code><a href="#construct-hub.AlarmSeverity">AlarmSeverity</a></code> | *No description.* | | <code><a href="#construct-hub.AlarmSeverities.property.packageCanarySLABreached">packageCanarySLABreached</a></code> | <code><a href="#construct-hub.AlarmSeverity">AlarmSeverity</a></code> | *No description.* | --- ##### `backendOrchestrationFailed`<sup>Optional</sup> <a name="backendOrchestrationFailed" id="construct-hub.AlarmSeverities.property.backendOrchestrationFailed"></a> ```typescript public readonly backendOrchestrationFailed: AlarmSeverity; ``` - *Type:* <a href="#construct-hub.AlarmSeverity">AlarmSeverity</a> - *Default:* AlarmSeverity.HIGH --- ##### `packageCanarySLABreached`<sup>Optional</sup> <a name="packageCanarySLABreached" id="construct-hub.AlarmSeverities.property.packageCanarySLABreached"></a> ```typescript public readonly packageCanarySLABreached: AlarmSeverity; ``` - *Type:* <a href="#construct-hub.AlarmSeverity">AlarmSeverity</a> - *Default:* AlarmSeverity.LOW --- ### Category <a name="Category" id="construct-hub.Category"></a> A category of packages. #### Initializer <a name="Initializer" id="construct-hub.Category.Initializer"></a> ```typescript import { Category } from 'construct-hub' const category: Category = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.Category.property.title">title</a></code> | <code>string</code> | The title on the category button as it appears in the Construct Hub home page. | | <code><a href="#construct-hub.Category.property.url">url</a></code> | <code>string</code> | The URL that this category links to. | --- ##### `title`<sup>Required</sup> <a name="title" id="construct-hub.Category.property.title"></a> ```typescript public readonly title: string; ``` - *Type:* string The title on the category button as it appears in the Construct Hub home page. --- ##### `url`<sup>Required</sup> <a name="url" id="construct-hub.Category.property.url"></a> ```typescript public readonly url: string; ``` - *Type:* string The URL that this category links to. This is the full path to the link that this category button will have. You can use any query options such as `?keywords=`, `?q=`, or a combination thereof. --- *Example* ```typescript "/search?keywords=monitoring" ``` ### CodeArtifactDomainProps <a name="CodeArtifactDomainProps" id="construct-hub.CodeArtifactDomainProps"></a> Information pertaining to an existing CodeArtifact Domain. #### Initializer <a name="Initializer" id="construct-hub.CodeArtifactDomainProps.Initializer"></a> ```typescript import { CodeArtifactDomainProps } from 'construct-hub' const codeArtifactDomainProps: CodeArtifactDomainProps = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.CodeArtifactDomainProps.property.name">name</a></code> | <code>string</code> | The name of the CodeArtifact domain. | | <code><a href="#construct-hub.CodeArtifactDomainProps.property.upstreams">upstreams</a></code> | <code>string[]</code> | Any upstream repositories in this CodeArtifact domain that should be configured on the internal CodeArtifact repository. | --- ##### `name`<sup>Required</sup> <a name="name" id="construct-hub.CodeArtifactDomainProps.property.name"></a> ```typescript public readonly name: string; ``` - *Type:* string The name of the CodeArtifact domain. --- ##### `upstreams`<sup>Optional</sup> <a name="upstreams" id="construct-hub.CodeArtifactDomainProps.property.upstreams"></a> ```typescript public readonly upstreams: string[]; ``` - *Type:* string[] Any upstream repositories in this CodeArtifact domain that should be configured on the internal CodeArtifact repository. --- ### CodeArtifactProps <a name="CodeArtifactProps" id="construct-hub.sources.CodeArtifactProps"></a> #### Initializer <a name="Initializer" id="construct-hub.sources.CodeArtifactProps.Initializer"></a> ```typescript import { sources } from 'construct-hub' const codeArtifactProps: sources.CodeArtifactProps = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.sources.CodeArtifactProps.property.repository">repository</a></code> | <code>aws-cdk-lib.aws_codeartifact.CfnRepository</code> | The CodeArtifact repository where packages are obtained from. | | <code><a href="#construct-hub.sources.CodeArtifactProps.property.bucket">bucket</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | The S3 bucket where packages will be staged. | --- ##### `repository`<sup>Required</sup> <a name="repository" id="construct-hub.sources.CodeArtifactProps.property.repository"></a> ```typescript public readonly repository: CfnRepository; ``` - *Type:* aws-cdk-lib.aws_codeartifact.CfnRepository The CodeArtifact repository where packages are obtained from. --- ##### `bucket`<sup>Optional</sup> <a name="bucket" id="construct-hub.sources.CodeArtifactProps.property.bucket"></a> ```typescript public readonly bucket: IBucket; ``` - *Type:* aws-cdk-lib.aws_s3.IBucket The S3 bucket where packages will be staged. --- ### ConstructHubProps <a name="ConstructHubProps" id="construct-hub.ConstructHubProps"></a> Props for `ConstructHub`. #### Initializer <a name="Initializer" id="construct-hub.ConstructHubProps.Initializer"></a> ```typescript import { ConstructHubProps } from 'construct-hub' const constructHubProps: ConstructHubProps = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.ConstructHubProps.property.additionalDomains">additionalDomains</a></code> | <code><a href="#construct-hub.DomainRedirectSource">DomainRedirectSource</a>[]</code> | Additional domains which will be set up to redirect to the primary construct hub domain. | | <code><a href="#construct-hub.ConstructHubProps.property.alarmActions">alarmActions</a></code> | <code><a href="#construct-hub.AlarmActions">AlarmActions</a></code> | Actions to perform when alarms are set. | | <code><a href="#construct-hub.ConstructHubProps.property.alarmSeverities">alarmSeverities</a></code> | <code><a href="#construct-hub.AlarmSeverities">AlarmSeverities</a></code> | Configure the severities of various alarms. | | <code><a href="#construct-hub.ConstructHubProps.property.allowedLicenses">allowedLicenses</a></code> | <code><a href="#construct-hub.SpdxLicense">SpdxLicense</a>[]</code> | The allowed licenses for packages indexed by this instance of ConstructHub. | | <code><a href="#construct-hub.ConstructHubProps.property.appRegistryApplication">appRegistryApplication</a></code> | <code>boolean</code> | Create an AppRegistry application associated with the stack containing this construct. | | <code><a href="#construct-hub.ConstructHubProps.property.backendDashboardName">backendDashboardName</a></code> | <code>string</code> | The name of the CloudWatch dashboard that represents the health of backend systems. | | <code><a href="#construct-hub.ConstructHubProps.property.categories">categories</a></code> | <code><a href="#construct-hub.Category">Category</a>[]</code> | Browse categories. | | <code><a href="#construct-hub.ConstructHubProps.property.codeArtifactDomain">codeArtifactDomain</a></code> | <code><a href="#construct-hub.CodeArtifactDomainProps">CodeArtifactDomainProps</a></code> | When using a CodeArtifact package source, it is often desirable to have ConstructHub provision it's internal CodeArtifact repository in the same CodeArtifact domain, and to configure the package source repository as an upstream of the internal repository. | | <code><a href="#construct-hub.ConstructHubProps.property.denyList">denyList</a></code> | <code><a href="#construct-hub.DenyListRule">DenyListRule</a>[]</code> | A list of packages to block from the construct hub. | | <code><a href="#construct-hub.ConstructHubProps.property.domain">domain</a></code> | <code><a href="#construct-hub.Domain">Domain</a></code> | Connect the hub to a domain (requires a hosted zone and a certificate). | | <code><a href="#construct-hub.ConstructHubProps.property.failoverStorage">failoverStorage</a></code> | <code>boolean</code> | Wire construct hub to use the failover storage buckets. | | <code><a href="#construct-hub.ConstructHubProps.property.featuredPackages">featuredPackages</a></code> | <code><a href="#construct-hub.FeaturedPackages">FeaturedPackages</a></code> | Configuration for packages to feature on the home page. | | <code><a href="#construct-hub.ConstructHubProps.property.featureFlags">featureFlags</a></code> | <code><a href="#construct-hub.FeatureFlags">FeatureFlags</a></code> | Configure feature flags for the web app. | | <code><a href="#construct-hub.ConstructHubProps.property.feedConfiguration">feedConfiguration</a></code> | <code><a href="#construct-hub.FeedConfiguration">FeedConfiguration</a></code> | Configuration for generating RSS/Atom feeds with the latest packages. | | <code><a href="#construct-hub.ConstructHubProps.property.fetchPackageStats">fetchPackageStats</a></code> | <code>boolean</code> | Configure whether or not the backend should periodically query NPM for the number of downloads a package has in the past week, and display download counts on the web app. | | <code><a href="#construct-hub.ConstructHubProps.property.isolateSensitiveTasks">isolateSensitiveTasks</a></code> | <code>boolean</code> | Whether compute environments for sensitive tasks (which operate on un-trusted complex data, such as the transliterator, which operates with externally-sourced npm package tarballs) should run in network-isolated environments. | | <code><a href="#construct-hub.ConstructHubProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | How long to retain CloudWatch logs for. | | <code><a href="#construct-hub.ConstructHubProps.property.packageLinks">packageLinks</a></code> | <code><a href="#construct-hub.PackageLinkConfig">PackageLinkConfig</a>[]</code> | Configuration for custom package page links. | | <code><a href="#construct-hub.ConstructHubProps.property.packageSources">packageSources</a></code> | <code><a href="#construct-hub.IPackageSource">IPackageSource</a>[]</code> | The package sources to register with this ConstructHub instance. | | <code><a href="#construct-hub.ConstructHubProps.property.packageTagGroups">packageTagGroups</a></code> | <code><a href="#construct-hub.PackageTagGroup">PackageTagGroup</a>[]</code> | Optional configuration for grouping custom package tags. | | <code><a href="#construct-hub.ConstructHubProps.property.packageTags">packageTags</a></code> | <code><a href="#construct-hub.PackageTag">PackageTag</a>[]</code> | Configuration for custom package tags. | | <code><a href="#construct-hub.ConstructHubProps.property.preloadScript">preloadScript</a></code> | <code><a href="#construct-hub.PreloadFile">PreloadFile</a></code> | Javascript to run on webapp before app loads. | | <code><a href="#construct-hub.ConstructHubProps.property.reprocessAge">reprocessAge</a></code> | <code>aws-cdk-lib.Duration</code> | Package versions that have been published before this time window will not be reprocessed. | | <code><a href="#construct-hub.ConstructHubProps.property.reprocessFrequency">reprocessFrequency</a></code> | <code>aws-cdk-lib.Duration</code> | How frequently all packages should get fully reprocessed. | | <code><a href="#construct-hub.ConstructHubProps.property.sensitiveTaskIsolation">sensitiveTaskIsolation</a></code> | <code><a href="#construct-hub.Isolation">Isolation</a></code> | Whether compute environments for sensitive tasks (which operate on un-trusted complex data, such as the transliterator, which operates with externally-sourced npm package tarballs) should run in network-isolated environments. | --- ##### `additionalDomains`<sup>Optional</sup> <a name="additionalDomains" id="construct-hub.ConstructHubProps.property.additionalDomains"></a> ```typescript public readonly additionalDomains: DomainRedirectSource[]; ``` - *Type:* <a href="#construct-hub.DomainRedirectSource">DomainRedirectSource</a>[] - *Default:* [] Additional domains which will be set up to redirect to the primary construct hub domain. --- ##### `alarmActions`<sup>Optional</sup> <a name="alarmActions" id="construct-hub.ConstructHubProps.property.alarmActions"></a> ```typescript public readonly alarmActions: AlarmActions; ``` - *Type:* <a href="#construct-hub.AlarmActions">AlarmActions</a> Actions to perform when alarms are set. --- ##### `alarmSeverities`<sup>Optional</sup> <a name="alarmSeverities" id="construct-hub.ConstructHubProps.property.alarmSeverities"></a> ```typescript public readonly alarmSeverities: AlarmSeverities; ``` - *Type:* <a href="#construct-hub.AlarmSeverities">AlarmSeverities</a> Configure the severities of various alarms. --- ##### `allowedLicenses`<sup>Optional</sup> <a name="allowedLicenses" id="construct-hub.ConstructHubProps.property.allowedLicenses"></a> ```typescript public readonly allowedLicenses: SpdxLicense[]; ``` - *Type:* <a href="#construct-hub.SpdxLicense">SpdxLicense</a>[] - *Default:* [...SpdxLicense.apache(),...SpdxLicense.bsd(),...SpdxLicense.cddl(),...SpdxLicense.epl(),SpdxLicense.ISC,...SpdxLicense.mit(),SpdxLicense.MPL_2_0] The allowed licenses for packages indexed by this instance of ConstructHub. --- ##### `appRegistryApplication`<sup>Optional</sup> <a name="appRegistryApplication" id="construct-hub.ConstructHubProps.property.appRegistryApplication"></a> ```typescript public readonly appRegistryApplication: boolean; ``` - *Type:* boolean - *Default:* true Create an AppRegistry application associated with the stack containing this construct. --- ##### `backendDashboardName`<sup>Optional</sup> <a name="backendDashboardName" id="construct-hub.ConstructHubProps.property.backendDashboardName"></a> ```typescript public readonly backendDashboardName: string; ``` - *Type:* string The name of the CloudWatch dashboard that represents the health of backend systems. --- ##### `categories`<sup>Optional</sup> <a name="categories" id="construct-hub.ConstructHubProps.property.categories"></a> ```typescript public readonly categories: Category[]; ``` - *Type:* <a href="#construct-hub.Category">Category</a>[] Browse categories. Each category will appear in the home page as a button with a link to the relevant search query. --- ##### `codeArtifactDomain`<sup>Optional</sup> <a name="codeArtifactDomain" id="construct-hub.ConstructHubProps.property.codeArtifactDomain"></a> ```typescript public readonly codeArtifactDomain: CodeArtifactDomainProps; ``` - *Type:* <a href="#construct-hub.CodeArtifactDomainProps">CodeArtifactDomainProps</a> - *Default:* none. When using a CodeArtifact package source, it is often desirable to have ConstructHub provision it's internal CodeArtifact repository in the same CodeArtifact domain, and to configure the package source repository as an upstream of the internal repository. This way, all packages in the source are available to ConstructHub's backend processing. --- ##### `denyList`<sup>Optional</sup> <a name="denyList" id="construct-hub.ConstructHubProps.property.denyList"></a> ```typescript public readonly denyList: DenyListRule[]; ``` - *Type:* <a href="#construct-hub.DenyListRule">DenyListRule</a>[] - *Default:* [] A list of packages to block from the construct hub. --- ##### `domain`<sup>Optional</sup> <a name="domain" id="construct-hub.ConstructHubProps.property.domain"></a> ```typescript public readonly domain: Domain; ``` - *Type:* <a href="#construct-hub.Domain">Domain</a> Connect the hub to a domain (requires a hosted zone and a certificate). --- ##### `failoverStorage`<sup>Optional</sup> <a name="failoverStorage" id="construct-hub.ConstructHubProps.property.failoverStorage"></a> ```typescript public readonly failoverStorage: boolean; ``` - *Type:* boolean - *Default:* false Wire construct hub to use the failover storage buckets. Do not activate this property until you've populated your failover buckets with the necessary data. > [https://github.com/cdklabs/construct-hub/blob/dev/docs/operator-runbook.md#storage-disaster](https://github.com/cdklabs/construct-hub/blob/dev/docs/operator-runbook.md#storage-disaster) --- ##### `featuredPackages`<sup>Optional</sup> <a name="featuredPackages" id="construct-hub.ConstructHubProps.property.featuredPackages"></a> ```typescript public readonly featuredPackages: FeaturedPackages; ``` - *Type:* <a href="#construct-hub.FeaturedPackages">FeaturedPackages</a> - *Default:* Display the 10 most recently updated packages Configuration for packages to feature on the home page. --- ##### `featureFlags`<sup>Optional</sup> <a name="featureFlags" id="construct-hub.ConstructHubProps.property.featureFlags"></a> ```typescript public readonly featureFlags: FeatureFlags; ``` - *Type:* <a href="#construct-hub.FeatureFlags">FeatureFlags</a> Configure feature flags for the web app. --- ##### `feedConfiguration`<sup>Optional</sup> <a name="feedConfiguration" id="construct-hub.ConstructHubProps.property.feedConfiguration"></a> ```typescript public readonly feedConfiguration: FeedConfiguration; ``` - *Type:* <a href="#construct-hub.FeedConfiguration">FeedConfiguration</a> Configuration for generating RSS/Atom feeds with the latest packages. If the value is missing the generated RSS/ATOM feed would not contain release notes --- ##### `fetchPackageStats`<sup>Optional</sup> <a name="fetchPackageStats" id="construct-hub.ConstructHubProps.property.fetchPackageStats"></a> ```typescript public readonly fetchPackageStats: boolean; ``` - *Type:* boolean - *Default:* true if packageSources is not specified (the defaults are used), false otherwise Configure whether or not the backend should periodically query NPM for the number of downloads a package has in the past week, and display download counts on the web app. --- ##### ~~`isolateSensitiveTasks`~~<sup>Optional</sup> <a name="isolateSensitiveTasks" id="construct-hub.ConstructHubProps.property.isolateSensitiveTasks"></a> - *Deprecated:* use sensitiveTaskIsolation instead. ```typescript public readonly isolateSensitiveTasks: boolean; ``` - *Type:* boolean Whether compute environments for sensitive tasks (which operate on un-trusted complex data, such as the transliterator, which operates with externally-sourced npm package tarballs) should run in network-isolated environments. This implies the creation of additonal resources, including: - A VPC with only isolated subnets. - VPC Endpoints (CloudWatch Logs, CodeArtifact, CodeArtifact API, S3, ...) - A CodeArtifact Repository with an external connection to npmjs.com --- ##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="construct-hub.ConstructHubProps.property.logRetention"></a> ```typescript public readonly logRetention: RetentionDays; ``` - *Type:* aws-cdk-lib.aws_logs.RetentionDays How long to retain CloudWatch logs for. --- ##### `packageLinks`<sup>Optional</sup> <a name="packageLinks" id="construct-hub.ConstructHubProps.property.packageLinks"></a> ```typescript public readonly packageLinks: PackageLinkConfig[]; ``` - *Type:* <a href="#construct-hub.PackageLinkConfig">PackageLinkConfig</a>[] Configuration for custom package page links. --- ##### `packageSources`<sup>Optional</sup> <a name="packageSources" id="construct-hub.ConstructHubProps.property.packageSources"></a> ```typescript public readonly packageSources: IPackageSource[]; ``` - *Type:* <a href="#construct-hub.IPackageSource">IPackageSource</a>[] - *Default:* a standard npmjs.com package source will be configured. The package sources to register with this ConstructHub instance. --- ##### `packageTagGroups`<sup>Optional</sup> <a name="packageTagGroups" id="construct-hub.ConstructHubProps.property.packageTagGroups"></a> ```typescript public readonly packageTagGroups: PackageTagGroup[]; ``` - *Type:* <a href="#construct-hub.PackageTagGroup">PackageTagGroup</a>[] Optional configuration for grouping custom package tags. --- ##### `packageTags`<sup>Optional</sup> <a name="packageTags" id="construct-hub.ConstructHubProps.property.packageTags"></a> ```typescript public readonly packageTags: PackageTag[]; ``` - *Type:* <a href="#construct-hub.PackageTag">PackageTag</a>[] Configuration for custom package tags. --- ##### `preloadScript`<sup>Optional</sup> <a name="preloadScript" id="construct-hub.ConstructHubProps.property.preloadScript"></a> ```typescript public readonly preloadScript: PreloadFile; ``` - *Type:* <a href="#construct-hub.PreloadFile">PreloadFile</a> - *Default:* create an empty file Javascript to run on webapp before app loads. --- ##### `reprocessAge`<sup>Optional</sup> <a name="reprocessAge" id="construct-hub.ConstructHubProps.property.reprocessAge"></a> ```typescript public readonly reprocessAge: Duration; ``` - *Type:* aws-cdk-lib.Duration - *Default:* Duration.days(90) Package versions that have been published before this time window will not be reprocessed. --- ##### `reprocessFrequency`<sup>Optional</sup> <a name="reprocessFrequency" id="construct-hub.ConstructHubProps.property.reprocessFrequency"></a> ```typescript public readonly reprocessFrequency: Duration; ``` - *Type:* aws-cdk-lib.Duration - *Default:* never How frequently all packages should get fully reprocessed. See the operator runbook for more information about reprocessing. > [https://github.com/cdklabs/construct-hub/blob/main/docs/operator-runbook.md](https://github.com/cdklabs/construct-hub/blob/main/docs/operator-runbook.md) --- ##### `sensitiveTaskIsolation`<sup>Optional</sup> <a name="sensitiveTaskIsolation" id="construct-hub.ConstructHubProps.property.sensitiveTaskIsolation"></a> ```typescript public readonly sensitiveTaskIsolation: Isolation; ``` - *Type:* <a href="#construct-hub.Isolation">Isolation</a> - *Default:* Isolation.NO_INTERNET_ACCESS Whether compute environments for sensitive tasks (which operate on un-trusted complex data, such as the transliterator, which operates with externally-sourced npm package tarballs) should run in network-isolated environments. This implies the creation of additonal resources, including: - A VPC with only isolated subnets. - VPC Endpoints (CloudWatch Logs, CodeArtifact, CodeArtifact API, S3, ...) - A CodeArtifact Repository with an external connection to npmjs.com --- ### DenyListRule <a name="DenyListRule" id="construct-hub.DenyListRule"></a> An entry in the list of packages blocked from display in the construct hub. #### Initializer <a name="Initializer" id="construct-hub.DenyListRule.Initializer"></a> ```typescript import { DenyListRule } from 'construct-hub' const denyListRule: DenyListRule = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.DenyListRule.property.packageName">packageName</a></code> | <code>string</code> | The name of the package to block (npm). | | <code><a href="#construct-hub.DenyListRule.property.reason">reason</a></code> | <code>string</code> | The reason why this package/version is denied. | | <code><a href="#construct-hub.DenyListRule.property.version">version</a></code> | <code>string</code> | The package version to block (must be a valid version such as "1.0.3"). | --- ##### `packageName`<sup>Required</sup> <a name="packageName" id="construct-hub.DenyListRule.property.packageName"></a> ```typescript public readonly packageName: string; ``` - *Type:* string The name of the package to block (npm). --- ##### `reason`<sup>Required</sup> <a name="reason" id="construct-hub.DenyListRule.property.reason"></a> ```typescript public readonly reason: string; ``` - *Type:* string The reason why this package/version is denied. This information will be emitted to the construct hub logs. --- ##### `version`<sup>Optional</sup> <a name="version" id="construct-hub.DenyListRule.property.version"></a> ```typescript public readonly version: string; ``` - *Type:* string - *Default:* all versions of this package are blocked. The package version to block (must be a valid version such as "1.0.3"). --- ### Domain <a name="Domain" id="construct-hub.Domain"></a> Domain configuration for the website. #### Initializer <a name="Initializer" id="construct-hub.Domain.Initializer"></a> ```typescript import { Domain } from 'construct-hub' const domain: Domain = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.Domain.property.cert">cert</a></code> | <code>aws-cdk-lib.aws_certificatemanager.ICertificate</code> | The certificate to use for serving the Construct Hub over a custom domain. | | <code><a href="#construct-hub.Domain.property.zone">zone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | The root domain name where this instance of Construct Hub will be served. | | <code><a href="#construct-hub.Domain.property.monitorCertificateExpiration">monitorCertificateExpiration</a></code> | <code>boolean</code> | Whether the certificate should be monitored for expiration, meaning high severity alarms will be raised if it is due to expire in less than 45 days. | --- ##### `cert`<sup>Required</sup> <a name="cert" id="construct-hub.Domain.property.cert"></a> ```typescript public readonly cert: ICertificate; ``` - *Type:* aws-cdk-lib.aws_certificatemanager.ICertificate - *Default:* a DNS-Validated certificate will be provisioned using the provided `hostedZone`. The certificate to use for serving the Construct Hub over a custom domain. --- ##### `zone`<sup>Required</sup> <a name="zone" id="construct-hub.Domain.property.zone"></a> ```typescript public readonly zone: IHostedZone; ``` - *Type:* aws-cdk-lib.aws_route53.IHostedZone The root domain name where this instance of Construct Hub will be served. --- ##### `monitorCertificateExpiration`<sup>Optional</sup> <a name="monitorCertificateExpiration" id="construct-hub.Domain.property.monitorCertificateExpiration"></a> ```typescript public readonly monitorCertificateExpiration: boolean; ``` - *Type:* boolean - *Default:* true Whether the certificate should be monitored for expiration, meaning high severity alarms will be raised if it is due to expire in less than 45 days. --- ### DomainRedirectSource <a name="DomainRedirectSource" id="construct-hub.DomainRedirectSource"></a> Source domain of the redirect. #### Initializer <a name="Initializer" id="construct-hub.DomainRedirectSource.Initializer"></a> ```typescript import { DomainRedirectSource } from 'construct-hub' const domainRedirectSource: DomainRedirectSource = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.DomainRedirectSource.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | The route53 zone which hosts the source domain. | | <code><a href="#construct-hub.DomainRedirectSource.property.certificate">certificate</a></code> | <code>aws-cdk-lib.aws_certificatemanager.ICertificate</code> | The ACM certificate to use for the CloudFront distribution. | --- ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="construct-hub.DomainRedirectSource.property.hostedZone"></a> ```typescript public readonly hostedZone: IHostedZone; ``` - *Type:* aws-cdk-lib.aws_route53.IHostedZone The route53 zone which hosts the source domain. --- ##### `certificate`<sup>Optional</sup> <a name="certificate" id="construct-hub.DomainRedirectSource.property.certificate"></a> ```typescript public readonly certificate: ICertificate; ``` - *Type:* aws-cdk-lib.aws_certificatemanager.ICertificate - *Default:* a certificate is created for this domain. The ACM certificate to use for the CloudFront distribution. --- ### FeaturedPackages <a name="FeaturedPackages" id="construct-hub.FeaturedPackages"></a> Configuration for packages to feature on the home page. #### Initializer <a name="Initializer" id="construct-hub.FeaturedPackages.Initializer"></a> ```typescript import { FeaturedPackages } from 'construct-hub' const featuredPackages: FeaturedPackages = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.FeaturedPackages.property.sections">sections</a></code> | <code><a href="#construct-hub.FeaturedPackagesSection">FeaturedPackagesSection</a>[]</code> | Grouped sections of packages on the homepage. | --- ##### `sections`<sup>Required</sup> <a name="sections" id="construct-hub.FeaturedPackages.property.sections"></a> ```typescript public readonly sections: FeaturedPackagesSection[]; ``` - *Type:* <a href="#construct-hub.FeaturedPackagesSection">FeaturedPackagesSection</a>[] Grouped sections of packages on the homepage. --- ### FeaturedPackagesDetail <a name="FeaturedPackagesDetail" id="construct-hub.FeaturedPackagesDetail"></a> Customization options for a specific package on the home page. #### Initializer <a name="Initializer" id="construct-hub.FeaturedPackagesDetail.Initializer"></a> ```typescript import { FeaturedPackagesDetail } from 'construct-hub' const featuredPackagesDetail: FeaturedPackagesDetail = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.FeaturedPackagesDetail.property.name">name</a></code> | <code>string</code> | The name of the package. | | <code><a href="#construct-hub.FeaturedPackagesDetail.property.comment">comment</a></code> | <code>string</code> | An additional comment to include with the package. | --- ##### `name`<sup>Required</sup> <a name="name" id="construct-hub.FeaturedPackagesDetail.property.name"></a> ```typescript public readonly name: string; ``` - *Type:* string The name of the package. --- ##### `comment`<sup>Optional</sup> <a name="comment" id="construct-hub.FeaturedPackagesDetail.property.comment"></a> ```typescript public readonly comment: string; ``` - *Type:* string An additional comment to include with the package. --- ### FeaturedPackagesSection <a name="FeaturedPackagesSection" id="construct-hub.FeaturedPackagesSection"></a> Customization options for one section of the home page. #### Initializer <a name="Initializer" id="construct-hub.FeaturedPackagesSection.Initializer"></a> ```typescript import { FeaturedPackagesSection } from 'construct-hub' const featuredPackagesSection: FeaturedPackagesSection = { ... } ``` #### Properties <a name="Properties" id="Properties"></a> | **Name** | **Type** | **Description** | | --- | --- | --- | | <code><a href="#construct-hub.FeaturedPackagesSection.property.name">name</a></code> | <code>string</code> | The name of the section (displayed as a header). | | <code><a href="#construct-hub.FeaturedPackagesSection.property.showLastUpdated">showLastUpdated</a></code> | <code>number</code> | Show the N most recently updated packages in this section. | | <code><a href="#construct-hub.FeaturedPackagesSection.property.showPackages">showPackages</a></code> | <code><a hr