### AWS_QUICK_SETUP_START_SSM_ASSOCIATIONS_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy is for starting SSM association executions during quick setup.
```APIDOC
## AWS_QUICK_SETUP_START_SSM_ASSOCIATIONS_EXECUTION_POLICY
### Description
This policy is for starting SSM association executions during quick setup.
### Type
string
```
--------------------------------
### Install Dependencies
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/examples/typescript/aos-provision-and-flow/README.md
Execute this command to install the necessary project dependencies before deployment.
```bash
$ npm install
```
--------------------------------
### Install CDK ProServe Library in Go
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/README.md
Use go get to install the library for Go projects.
```bash
go get github.com/cdklabs/cdk-proserve-lib-go/cdklabscdkproservelib
```
--------------------------------
### AWS Quick Setup Start/Stop Instances Execution Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS managed policy for executing start/stop instances in Quick Setup. This is a required policy.
```typescript
public readonly AWS_QUICK_SETUP_START_STOP_INSTANCES_EXECUTION_POLICY: string;
```
--------------------------------
### AWS_QUICK_SETUP_START_SSM_ASSOCIATIONS_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy is for starting SSM associations and their execution.
```typescript
public readonly AWS_QUICK_SETUP_START_SSM_ASSOCIATIONS_EXECUTION_POLICY: string;
```
--------------------------------
### API Gateway Static Hosting Example Version
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
An example version identifier for a deployment.
```plaintext
1.0.2
```
--------------------------------
### Initialize OpenSearchProvisionDomainProps
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Example of initializing the OpenSearchProvisionDomainProps with necessary properties.
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
const openSearchProvisionDomainProps: constructs.OpenSearchProvisionDomainProps = { ... }
```
--------------------------------
### Initialize KeycloakServiceProps
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Example of how to initialize KeycloakServiceProps with necessary imports.
```typescript
import { patterns } from '@cdklabs/cdk-proserve-lib'
const keycloakServiceProps: patterns.KeycloakServiceProps = { ... }
```
--------------------------------
### Ec2LinuxImagePipelineProps Initializer
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Example of how to initialize Ec2LinuxImagePipelineProps.
```APIDOC
## Ec2LinuxImagePipelineProps
### Description
Properties for creating a Linux STIG Image Pipeline.
### Initializer
```typescript
import { patterns } from '@cdklabs/cdk-proserve-lib'
const ec2LinuxImagePipelineProps: patterns.Ec2LinuxImagePipelineProps = { ... }
```
```
--------------------------------
### AWS_QUICK_SETUP_START_STOP_INSTANCES_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS managed policy for quick setup start/stop instances execution.
```APIDOC
## AWS_QUICK_SETUP_START_STOP_INSTANCES_EXECUTION_POLICY
### Description
This policy grants permissions for executing quick setup start and stop instance operations.
### Type
string
```
--------------------------------
### AWS_QUICK_SETUP_SSM_MANAGE_RESOURCES_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy allows execution for managing resources via SSM during quick setup.
```APIDOC
## AWS_QUICK_SETUP_SSM_MANAGE_RESOURCES_EXECUTION_POLICY
### Description
This policy allows execution for managing resources via SSM during quick setup.
### Type
string
```
--------------------------------
### AWS_QUICK_SETUP_SSM_LIFECYCLE_MANAGEMENT_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy grants permissions for SSM lifecycle management execution during quick setup.
```APIDOC
## AWS_QUICK_SETUP_SSM_LIFECYCLE_MANAGEMENT_EXECUTION_POLICY
### Description
This policy grants permissions for SSM lifecycle management execution during quick setup.
### Type
string
```
--------------------------------
### AWS_QUICK_SETUP_SCHEDULER_PERMISSIONS_BOUNDARY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy acts as a permissions boundary for the scheduler service during quick setup.
```APIDOC
## AWS_QUICK_SETUP_SCHEDULER_PERMISSIONS_BOUNDARY
### Description
This policy acts as a permissions boundary for the scheduler service during quick setup.
### Type
string
```
--------------------------------
### Example DnsZoneName
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
An example value for the dnsZoneName property.
```plaintext
example.com
```
--------------------------------
### AWS_QUICK_SETUP_PATCH_POLICY_PERMISSIONS_BOUNDARY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy serves as a permissions boundary for patch-related operations during quick setup.
```APIDOC
## AWS_QUICK_SETUP_PATCH_POLICY_PERMISSIONS_BOUNDARY
### Description
This policy serves as a permissions boundary for patch-related operations during quick setup.
### Type
string
```
--------------------------------
### AWS_QUICK_SETUP_ENABLE_AREX_EXECUTION_POLICY Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_ENABLE_AREX_EXECUTION_POLICY managed policy. Use this to enable AREX execution in AWS Quick Setup.
```typescript
public readonly AWS_QUICK_SETUP_ENABLE_AREX_EXECUTION_POLICY: string;
```
--------------------------------
### Instantiate DynamoDbProvisionTable
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Example of how to instantiate the DynamoDbProvisionTable construct with items, table configuration, and encryption key.
```typescript
import { DynamoDbProvisionTable } from '@cdklabs/cdk-proserve-lib/constructs';
import { Table } from 'aws-cdk-lib/aws-dynamodb';
import { Key } from 'aws-cdk-lib/aws-kms';
interface TableRow {
readonly uid: number;
readonly isActive: boolean;
}
const partitionKey: keyof TableRow = 'uid';
const rows: TableRow[] = [
{
isActive: true,
uid: 1
},
{
isActive: true,
uid: 2
},
{
isActive: false,
uid: 3
}
];
const tableArn = 'arn:aws:dynamodb:us-west-1:111111111111:table/sample';
const table = Table.fromTableArn(this, 'Table', tableArn);
const keyArn = 'arn:aws:kms:us-east-1:111111111111:key/sample-key-id';
const key = Key.fromKeyArn(this, 'Encryption', keyArn);
new DynamoDbProvisionTable(this, 'ProvisionTable', {
items: rows,
table: {
partitionKeyName: partitionKey,
resource: table,
encryption: key
}
});
}
```
--------------------------------
### Configure OpenSearch Domain Provisioning
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Example of how to use the OpenSearchProvisionDomain construct to manage domain resources. It specifies the domain, admin role, configuration path, destructive operations, cluster settings, and dynamic role mappings.
```typescript
import { join } from 'node:path';
import { OpenSearchProvisionDomain } from '@cdklabs/cdk-proserve-lib/constructs';
import { DestructiveOperation } from '@cdklabs/cdk-proserve-lib/types';
import { Role } from 'aws-cdk-lib/aws-iam';
import { Domain } from 'aws-cdk-lib/aws-opensearchservice';
const domain = Domain.fromDomainAttributes(this, 'Domain', {
domainArn: 'XXXX',
domainEndpoint: 'XXXX'
});
const admin = Role.fromRoleArn(this, 'DomainAdmin', 'XXXX');
const user = Role.fromRoleArn(this, 'DomainUser', 'XXXX');
new OpenSearchProvisionDomain(this, 'ProvisionDomain', {
domain: domain,
domainAdmin: admin,
provisioningConfigurationPath: join(
__dirname,
'..',
'dist',
'cluster-configuration'
),
allowDestructiveOperations: DestructiveOperation.UPDATE,
clusterSettings: {
persistent: {
'plugins.ml_commons.model_access_control_enabled': 'true'
}
},
dynamicRoleMappings: {
all_access: [user.roleArn]
}
});
```
--------------------------------
### FriendlyEmbrace Construct Example
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Example of how to use the FriendlyEmbrace construct to remove CloudFormation stack dependencies. This construct should be in its own stack and instantiated last.
```typescript
import { App, Stack } from 'aws-cdk-lib';
import { FriendlyEmbrace } from '@cdklabs/cdk-proserve-lib/constructs';
const app = new App();
// ... other stack definitions
const embrace = new Stack(app, 'FriendlyEmbrace'); // last stack
new FriendlyEmbrace(embrace, 'FriendlyEmbrace'); // only construct in stack
```
--------------------------------
### Install CDK ProServe Library in Python
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/README.md
Use pip to install the library for Python projects.
```bash
pip install cdklabs.cdk-proserve-lib
```
--------------------------------
### AWS_QUICK_SETUP_SSM_DEPLOYMENT_ROLE_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy is required for Systems Manager (SSM) deployments during quick setup.
```APIDOC
## AWS_QUICK_SETUP_SSM_DEPLOYMENT_ROLE_POLICY
### Description
This policy is required for Systems Manager (SSM) deployments during quick setup.
### Type
string
```
--------------------------------
### AWS_QUICK_SETUP_SSM_HOST_MGMT_PERMISSIONS_BOUNDARY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy serves as a permissions boundary for SSM host management during quick setup.
```APIDOC
## AWS_QUICK_SETUP_SSM_HOST_MGMT_PERMISSIONS_BOUNDARY
### Description
This policy serves as a permissions boundary for SSM host management during quick setup.
### Type
string
```
--------------------------------
### AWS_QUICK_SETUP_PATCH_POLICY_BASELINE_ACCESS
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy provides access to patch baselines for quick setup.
```APIDOC
## AWS_QUICK_SETUP_PATCH_POLICY_BASELINE_ACCESS
### Description
This policy provides access to patch baselines for quick setup.
### Type
string
```
--------------------------------
### AWS_QUICK_SETUP_CFGC_PACKS_PERMISSIONS_BOUNDARY Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_CFGC_PACKS_PERMISSIONS_BOUNDARY managed policy. Use this for the permissions boundary for Quick Setup configuration packs.
```typescript
public readonly AWS_QUICK_SETUP_CFGC_PACKS_PERMISSIONS_BOUNDARY: string;
```
--------------------------------
### KeycloakService.TraditionalDatabaseConfiguration Properties
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Configuration options for the traditional database setup in KeycloakService.
```APIDOC
## logRetentionDuration
### Description
How long to retain logs for the database and supporting infrastructure.
### Type
aws-cdk-lib.aws_logs.RetentionDays
### Default
RetentionDays.ONE_WEEK
## serverless
### Description
Whether a ServerlessV2 Aurora database should be deployed or not.
### Type
boolean
### Default
true
## versionOverride
### Description
Alternate database engine version to use.
### Type
aws-cdk-lib.aws_rds.AuroraPostgresEngineVersion
### Default
AuroraPostgresEngineVersion.VER_17_5
```
--------------------------------
### AWS_ELASTIC_DISASTER_RECOVERY_FAILBACK_INSTALLATION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Policy for installing the AWS Elastic Disaster Recovery Failback.
```APIDOC
## AWS_ELASTIC_DISASTER_RECOVERY_FAILBACK_INSTALLATION_POLICY
### Description
Policy for installing the AWS Elastic Disaster Recovery Failback.
### Type
string
```
--------------------------------
### Initialize Ec2LinuxImagePipelineProps
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Example of initializing Ec2LinuxImagePipelineProps for creating a Linux STIG Image Pipeline.
```typescript
import { patterns } from '@cdklabs/cdk-proserve-lib'
const ec2LinuxImagePipelineProps: patterns.Ec2LinuxImagePipelineProps = { ... }
```
--------------------------------
### ALEXA_FOR_BUSINESS_DEVICE_SETUP
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS managed policy for Alexa for Business Device Setup.
```APIDOC
## ALEXA_FOR_BUSINESS_DEVICE_SETUP
### Description
Represents the AWS managed policy for Alexa for Business Device Setup.
### Type
string
```
--------------------------------
### Keycloak Service Dockerfile Example
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
A minimum viable Dockerfile for a Keycloak container image. Ensure the version matches the specified version and includes the Amazon Aurora JDBC driver.
```dockerfile
ARG VERSION=26.3.2
FROM quay.io/keycloak/keycloak:${VERSION} AS builder
# Optimizations (not necessary but speed up the container startup)
ENV KC_DB=postgres
ENV KC_DB_DRIVER=software.amazon.jdbc.Driver
WORKDIR /opt/keycloak
# TLS Configuration
COPY --chmod=0666 certs/server.keystore conf/
```
--------------------------------
### AWS_QUICK_SETUP_SSM_DEPLOYMENT_S3_BUCKET_ROLE_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy is for SSM deployment roles related to S3 buckets during quick setup.
```APIDOC
## AWS_QUICK_SETUP_SSM_DEPLOYMENT_S3_BUCKET_ROLE_POLICY
### Description
This policy is for SSM deployment roles related to S3 buckets during quick setup.
### Type
string
```
--------------------------------
### AWS_QUICK_SETUP_DEV_OPS_GURU_PERMISSIONS_BOUNDARY Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_DEV_OPS_GURU_PERMISSIONS_BOUNDARY managed policy. Use this for the permissions boundary for DevOps Guru in AWS Quick Setup.
```typescript
public readonly AWS_QUICK_SETUP_DEV_OPS_GURU_PERMISSIONS_BOUNDARY: string;
```
--------------------------------
### AWS_QUICK_SETUP_DISTRIBUTOR_PERMISSIONS_BOUNDARY Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_DISTRIBUTOR_PERMISSIONS_BOUNDARY managed policy. Use this for the permissions boundary for distributors in AWS Quick Setup.
```typescript
public readonly AWS_QUICK_SETUP_DISTRIBUTOR_PERMISSIONS_BOUNDARY: string;
```
--------------------------------
### AWS_QUICK_SETUP_PATCH_POLICY_DEPLOYMENT_ROLE_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy is required for patch deployment roles during quick setup.
```APIDOC
## AWS_QUICK_SETUP_PATCH_POLICY_DEPLOYMENT_ROLE_POLICY
### Description
This policy is required for patch deployment roles during quick setup.
### Type
string
```
--------------------------------
### Initialize StageMethodLogging
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Example of initializing the StageMethodLogging aspect. Ensure the necessary import is included.
```typescript
import { aspects } from '@cdklabs/cdk-proserve-lib'
const stageMethodLogging: aspects.SecurityCompliance.StageMethodLogging = { ... }
```
--------------------------------
### Create and associate a Web Application Firewall
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This example demonstrates how to create a Web Application Firewall (WAF) with specified AWS managed rule groups and associate it with an Application Load Balancer (ALB).
```typescript
import { ApplicationLoadBalancer } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
import { WebApplicationFirewall } from '@cdklabs/cdk-proserve-lib/constructs';
const alb = new ApplicationLoadBalancer(this, 'Alb', { vpc });
const waf = new WebApplicationFirewall(this, 'WAF', {
awsManagedRuleGroups: [
WebApplicationFirewall.AwsManagedRuleGroup.COMMON_RULE_SET,
WebApplicationFirewall.AwsManagedRuleGroup.LINUX_RULE_SET
]
});
waf.associate(alb); // Associate the WAF with the ALB
```
--------------------------------
### AWS_QUICK_SETUP_ENABLE_DHMC_EXECUTION_POLICY Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_ENABLE_DHMC_EXECUTION_POLICY managed policy. Use this to enable DHMC execution in AWS Quick Setup.
```typescript
public readonly AWS_QUICK_SETUP_ENABLE_DHMC_EXECUTION_POLICY: string;
```
--------------------------------
### Install CDK ProServe Library in .NET
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/README.md
Use the dotnet CLI to add the package for .NET projects.
```bash
dotnet add package Cdklabs.CdkProserveLib
```
--------------------------------
### Start EC2 Image Builder Pipeline and Wait for Completion
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Starts an EC2 Image Builder Pipeline and optionally waits for the build to complete. Useful for creating an image as part of an IaC deployment. Configure `waitForCompletion` with a topic for notifications and a timeout.
```typescript
import { Duration } from 'aws-cdk-lib';
import { Topic } from 'aws-cdk-lib/aws-sns';
import { Ec2ImageBuilderStart } from '@cdklabs/cdk-proserve-lib/constructs';
const topic = Topic.fromTopicArn(
this,
'MyTopic',
'arn:aws:sns:us-east-1:123456789012:my-notification-topic'
);
new Ec2ImageBuilderStart(this, 'ImageBuilderStart', {
pipelineArn:
'arn:aws:imagebuilder:us-east-1:123456789012:image-pipeline/my-image-pipeline',
waitForCompletion: {
topic: topic,
timeout: Duration.hours(7) // wait up to 7 hours for completion
}
});
```
--------------------------------
### AWS_ELASTIC_DISASTER_RECOVERY_AGENT_INSTALLATION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Policy for installing the AWS Elastic Disaster Recovery Agent.
```APIDOC
## AWS_ELASTIC_DISASTER_RECOVERY_AGENT_INSTALLATION_POLICY
### Description
Policy for installing the AWS Elastic Disaster Recovery Agent.
### Type
string
```
--------------------------------
### Create an EC2 Image Pipeline
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Example of creating an EC2 Image Pipeline with specified version, build configuration, and components. Outputs the latest AMI ID.
```typescript
import { CfnOutput } from 'aws-cdk-lib';
import { Ec2ImagePipeline } from '@cdklabs/cdk-proserve-lib/constructs';
const pipeline = new Ec2ImagePipeline(this, 'ImagePipeline', {
version: '0.1.0',
buildConfiguration: {
start: true,
waitForCompletion: true
},
components: [
Ec2ImagePipeline.Component.AWS_CLI_VERSION_2_LINUX,
Ec2ImagePipeline.Component.DOCKER_CE_LINUX
]
});
new CfnOutput(this, 'ImagePipelineAmi', { value: pipeline.latestAmi! });
```
--------------------------------
### AWS_QUICK_SETUP_DEPLOYMENT_ROLE_POLICY Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_DEPLOYMENT_ROLE_POLICY managed policy. Use this for the deployment role policy in AWS Quick Setup.
```typescript
public readonly AWS_QUICK_SETUP_DEPLOYMENT_ROLE_POLICY: string;
```
--------------------------------
### Example Document Ingestion
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/examples/typescript/aos-provision-and-flow/README.md
Illustrates the structure of a document ingested into the 'my-nlp-index' after the pipeline has generated embeddings.
```json
{
"_index": "my-nlp-index",
"_source": {
"id": "1234.jpg",
"text": "A person holds up a sign with the numbers 1234.",
"passage_embedding": [0.1234, -0.5678, 0.9012, ...]
}
}
```
--------------------------------
### KeycloakService Initialization
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Demonstrates how to instantiate the KeycloakService construct with various configuration options.
```APIDOC
## KeycloakService Initialization
### Description
Instantiates the KeycloakService construct, which deploys and configures a Keycloak service.
### Method
`new patterns.KeycloakService(scope: Construct, id: string, props: KeycloakServiceProps)`
### Parameters
#### Path Parameters
None
#### Query Parameters
None
#### Request Body
None
### Parameters
#### scope
- **scope** (constructs.Construct) - Required - Parent to which this construct belongs.
#### id
- **id** (string) - Required - Unique identifier for the component.
#### props
- **props** (@cdklabs/cdk-proserve-lib.patterns.KeycloakServiceProps) - Required - Properties for configuring the cluster for Keycloak.
### Request Example
```typescript
import { join } from 'node:path';
import { KeycloakService } from '@cdklabs/cdk-proserve-lib/patterns';
import { App, Environment, RemovalPolicy, Stack } from 'aws-cdk-lib';
import { IpAddresses, SubnetType, Vpc } from 'aws-cdk-lib/aws-ec2';
import { AssetImage } from 'aws-cdk-lib/aws-ecs';
import { Platform } from 'aws-cdk-lib/aws-ecr-assets';
const dnsZoneName = 'example.com';
const network = Vpc.fromLookup(this, 'Network', {
vpcId: 'vpc-xxxx'
});
new KeycloakService(this, 'Keycloak', {
keycloak: {
image: AssetImage.fromAsset(join(__dirname, '..', 'src', 'keycloak'), {
platform: Platform.LINUX_AMD64
}),
configuration: {
hostnames: {
default: `auth.${dnsZoneName}`,
admin: `admin.auth.${dnsZoneName}`
},
loggingLevel: 'info'
},
version: KeycloakService.EngineVersion.V26_3_2
},
overrides: {
cluster: {
scaling: {
minimum: 1,
maximum: 2
}
},
fabric: {
dnsZoneName: dnsZoneName,
internetFacing: true
}
},
vpc: network
});
```
### Response
None
```
--------------------------------
### Install CDK ProServe Library in TypeScript/JavaScript
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/README.md
Use npm to install the library for TypeScript or JavaScript projects.
```bash
npm install @cdklabs/cdk-proserve-lib
```
--------------------------------
### Get ApiGatewayStaticHosting Construct String Representation
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Call the toString method on an ApiGatewayStaticHosting instance to get its string representation.
```typescript
public toString(): string
```
--------------------------------
### Install CDK ProServe Library in Java
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/README.md
Add the dependency to your pom.xml for Java projects. Replace [VERSION] with the desired version.
```xml
io.github.cdklabs
cdk-proserve-lib
[VERSION]
```
--------------------------------
### KeycloakService Management Port Example
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Specifies the port for management web traffic. This is a required property.
```typescript
9006
```
--------------------------------
### Ec2ImageBuilderStartProps
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Properties for the EC2 Image Builder Start custom resource. This resource is used to start an EC2 Image Builder pipeline.
```APIDOC
## Ec2ImageBuilderStartProps
### Description
Properties for the EC2 Image Builder Start custom resource.
### Initializer
```typescript
import { constructs } from '@cdklabs/proserve-lib'
const ec2ImageBuilderStartProps: constructs.Ec2ImageBuilderStartProps = { ... }
```
### Properties
#### pipelineArn
- **Type:** `string`
- **Description:** The ARN of the Image Builder pipeline to start.
- **Required:** Yes
#### encryption
- **Type:** `aws-cdk-lib.aws_kms.IKey`
- **Description:** Optional KMS Encryption Key to use for encrypting resources.
- **Optional:** Yes
#### hash
- **Type:** `string`
- **Description:** An optional user-generated hash value that will determine if the construct will start the build pipeline.
- **Optional:** Yes
#### lambdaConfiguration
- **Type:** `@cdklabs/cdk-proserve-lib.types.LambdaConfiguration`
- **Description:** Optional Lambda configuration settings.
- **Optional:** Yes
#### waitForCompletion
- **Type:** `@cdklabs/cdk-proserve-lib.constructs.Ec2ImageBuilderStart.WaitForCompletionProps`
- **Description:** Set these properties to wait for the Image Build to complete.
- **Optional:** Yes
```
--------------------------------
### ApplyRemovalPolicy Aspect Example
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Example of how to apply a consistent Removal Policy to all resources within an AWS CDK application using the ApplyRemovalPolicy aspect.
```typescript
import { App, Aspects, RemovalPolicy } from 'aws-cdk-lib';
import { ApplyRemovalPolicy } from '@cdklabs/cdk-proserve-lib/aspects';
const app = new App();
Aspects.of(app).add(
new ApplyRemovalPolicy({ removalPolicy: RemovalPolicy.DESTROY })
);
```
--------------------------------
### Initialize ServerlessDatabaseConfiguration
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Use this to configure options for a serverless database model. Defaults are used if backup settings are not specified.
```typescript
import { patterns } from '@cdklabs/cdk-proserve-lib'
const serverlessDatabaseConfiguration: patterns.KeycloakService.ServerlessDatabaseConfiguration = { ... }
```
--------------------------------
### WebApplicationFirewall Constructor
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Initializes a new instance of the WebApplicationFirewall construct.
```APIDOC
## WebApplicationFirewall Constructor
### Description
Initializes a new instance of the WebApplicationFirewall construct.
### Parameters
#### Path Parameters
None
#### Query Parameters
None
#### Request Body
None
### Parameters
- **scope** (constructs.Construct) - Required - The scope in which to define this construct.
- **id** (string) - Required - The scoped construct ID.
- **props** (WebApplicationFirewallProps) - Optional - Configuration properties.
```
--------------------------------
### AWS Elastic Disaster Recovery Failback Installation Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS managed policy for installing the Elastic Disaster Recovery failback.
```typescript
public readonly AWS_ELASTIC_DISASTER_RECOVERY_FAILBACK_INSTALLATION_POLICY: string;
```
--------------------------------
### AWS_QUICK_SETUP_MANAGED_INSTANCE_PROFILE_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy is for the execution of managed instances within AWS.
```APIDOC
## AWS_QUICK_SETUP_MANAGED_INSTANCE_PROFILE_EXECUTION_POLICY
### Description
This policy is for the execution of managed instances within AWS.
### Type
string
```
--------------------------------
### AWS Elastic Disaster Recovery Agent Installation Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS managed policy for installing the Elastic Disaster Recovery agent.
```typescript
public readonly AWS_ELASTIC_DISASTER_RECOVERY_AGENT_INSTALLATION_POLICY: string;
```
--------------------------------
### Initialize WebApplicationFirewall Construct
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Instantiate a WebApplicationFirewall construct. Requires a scope, ID, and optional properties.
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
new constructs.WebApplicationFirewall(scope: Construct, id: string, props?: WebApplicationFirewallProps)
```
--------------------------------
### Ec2ImageBuilderStartProps
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Properties for starting an EC2 Image Builder pipeline.
```APIDOC
## Ec2ImageBuilderStartProps
### Description
Properties for starting an EC2 Image Builder pipeline.
### Properties
#### Required
- **pipelineArn** (string) - The ARN of the Image Builder pipeline to start.
#### Optional
- **encryption** (aws-cdk-lib.aws_kms.IKey) - Optional KMS Encryption Key to use for encrypting resources.
- **hash** (string) - An optional user-generated hash value that will determine if the construct will start the build pipeline. If this is not set, the pipeline will only start once on initial deployment. By setting this, you can for example start a new build if your build instructions have changed and then wait for the pipeline to complete again. This hash should be a short string, ideally ~7 characters or less. It will be set as the Physical ID of the Custom Resource and also used to append to Waiter function Physical IDs.
- **lambdaConfiguration** (@cdklabs/cdk-proserve-lib.types.LambdaConfiguration) - Optional Lambda configuration settings.
- **waitForCompletion** (@cdklabs/cdk-proserve-lib.constructs.Ec2ImageBuilderStart.WaitForCompletionProps) - Set these properties to wait for the Image Build to complete. This is useful if you need the AMI before your next infrastructure step.
```
--------------------------------
### RdsOracleMultiTenantProps
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Properties for configuring an RDS Oracle multi-tenant setup.
```APIDOC
## RdsOracleMultiTenantProps
### Description
Properties for configuring an RDS Oracle multi-tenant setup, including encryption and Lambda configuration.
### Properties
#### encryption
- **Type:** aws-cdk-lib.aws_kms.IKey
- **Default:** AWS managed keys are used
Optional KMS key for encrypting Lambda environment variables and CloudWatch log group. If not provided, AWS managed keys will be used for encryption. The Lambda function will be granted encrypt/decrypt permissions on this key.
#### lambdaConfiguration
- **Type:** @cdklabs/cdk-proserve-lib.types.LambdaConfiguration
- **Default:** Lambda function uses default settings with no VPC configuration
Optional Lambda configuration settings for the custom resource handler. Allows customization of VPC settings, security groups, log retention, and other Lambda function properties. Useful when the RDS instance is in a private VPC or when specific networking requirements exist.
```
--------------------------------
### AWS_QUICK_SETUP_MANAGE_JITNA_RESOURCES_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy grants permissions to manage JITNA resources during execution.
```typescript
public readonly AWS_QUICK_SETUP_MANAGE_JITNA_RESOURCES_EXECUTION_POLICY: string;
```
--------------------------------
### AWS_QUICK_SETUP_SSM_MANAGE_RESOURCES_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy allows execution for managing resources via SSM.
```typescript
public readonly AWS_QUICK_SETUP_SSM_MANAGE_RESOURCES_EXECUTION_POLICY: string;
```
--------------------------------
### AWS_QUICK_SETUP_MANAGE_JITNA_RESOURCES_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy grants permissions to manage resources for Just-In-Time (JIT) network access (NA).
```APIDOC
## AWS_QUICK_SETUP_MANAGE_JITNA_RESOURCES_EXECUTION_POLICY
### Description
This policy grants permissions to manage resources for Just-In-Time (JIT) network access (NA).
### Type
string
```
--------------------------------
### AWS_MARKETPLACE_GET_ENTITLEMENTS
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS Marketplace Get Entitlements managed policy.
```APIDOC
##### `AWS_MARKETPLACE_GET_ENTITLEMENTS`
```typescript
public readonly AWS_MARKETPLACE_GET_ENTITLEMENTS: string;
```
- *Type:* string
```
--------------------------------
### Ec2ImagePipeline imagePipelineTopic Property
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
The Image Pipeline Topic that gets created.
```typescript
public readonly imagePipelineTopic: ITopic;
```
--------------------------------
### Ec2ImagePipeline imagePipelineArn Property
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
The Image Pipeline ARN that gets created.
```typescript
public readonly imagePipelineArn: string;
```
--------------------------------
### Dockerfile for Keycloak Service
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This Dockerfile snippet sets up the Keycloak service by downloading the AWS Advanced JDBC wrapper and building the Keycloak instance.
```docker
ADD --chmod=0666 https://github.com/aws/aws-advanced-jdbc-wrapper/releases/download/2.6.2/aws-advanced-jdbc-wrapper-2.6.2.jar providers/aws-advanced-jdbc-wrapper.jar
RUN /opt/keycloak/bin/kc.sh build
FROM quay.io/keycloak/keycloak:${VERSION}
COPY --from=builder /opt/keycloak /opt/keycloak
ENTRYPOINT [ "/opt/keycloak/bin/kc.sh" ]
CMD [ "start" ]
```
--------------------------------
### AWS_QUICK_SETUP_DEV_OPS_GURU_PERMISSIONS_BOUNDARY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_DEV_OPS_GURU_PERMISSIONS_BOUNDARY managed policy. This policy is required.
```APIDOC
## AWS_QUICK_SETUP_DEV_OPS_GURU_PERMISSIONS_BOUNDARY
### Description
Represents the AWS_QUICK_SETUP_DEV_OPS_GURU_PERMISSIONS_BOUNDARY managed policy.
### Type
string
### Required
Yes
```
--------------------------------
### Initialize WebApplicationFirewallProps
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Initializes the WebApplicationFirewallProps object. Use this to configure AWS WAF properties.
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
const webApplicationFirewallProps: constructs.WebApplicationFirewallProps = { ... }
```
--------------------------------
### AWS_QUICK_SETUP_ENABLE_AREX_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_ENABLE_AREX_EXECUTION_POLICY managed policy. This policy is required.
```APIDOC
## AWS_QUICK_SETUP_ENABLE_AREX_EXECUTION_POLICY
### Description
Represents the AWS_QUICK_SETUP_ENABLE_AREX_EXECUTION_POLICY managed policy.
### Type
string
### Required
Yes
```
--------------------------------
### Initialize ServerAccessLogsSettings
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Use this to initialize ServerAccessLogsSettings for security compliance. Ensure the destination bucket has the correct permissions.
```typescript
import { aspects } from '@cdklabs/cdk-proserve-lib'
const serverAccessLogsSettings: aspects.SecurityCompliance.ServerAccessLogsSettings = { ... }
```
--------------------------------
### Asset Initializer
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Define static assets for hosting. The 'patterns' module must be imported. The 'id' and 'path' properties are required.
```typescript
import { patterns } from '@cdklabs/cdk-proserve-lib'
const asset: patterns.ApiGatewayStaticHosting.Asset = { ... }
```
--------------------------------
### AWS_QUICK_SETUP_DISTRIBUTOR_PERMISSIONS_BOUNDARY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_DISTRIBUTOR_PERMISSIONS_BOUNDARY managed policy. This policy is required.
```APIDOC
## AWS_QUICK_SETUP_DISTRIBUTOR_PERMISSIONS_BOUNDARY
### Description
Represents the AWS_QUICK_SETUP_DISTRIBUTOR_PERMISSIONS_BOUNDARY managed policy.
### Type
string
### Required
Yes
```
--------------------------------
### AWS_APPLICATION_MIGRATION_AGENT_INSTALLATION_POLICY Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS managed policy for Application Migration Agent installation.
```typescript
public readonly AWS_APPLICATION_MIGRATION_AGENT_INSTALLATION_POLICY: string;
```
--------------------------------
### AWS_QUICK_SETUP_CFGC_PACKS_PERMISSIONS_BOUNDARY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_CFGC_PACKS_PERMISSIONS_BOUNDARY managed policy. This policy is required.
```APIDOC
## AWS_QUICK_SETUP_CFGC_PACKS_PERMISSIONS_BOUNDARY
### Description
Represents the AWS_QUICK_SETUP_CFGC_PACKS_PERMISSIONS_BOUNDARY managed policy.
### Type
string
### Required
Yes
```
--------------------------------
### AMAZON_ONE_ENTERPRISE_INSTALLER_ACCESS
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS managed policy for installer access to Amazon One Enterprise.
```APIDOC
## AMAZON_ONE_ENTERPRISE_INSTALLER_ACCESS
### Description
Represents the AWS managed policy for installer access to Amazon One Enterprise.
### Type
string
```
--------------------------------
### Initialize WebApplicationFirewallLoggingConfig
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Initializes the WebApplicationFirewallLoggingConfig object. Use this to configure logging for AWS WAF.
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
const webApplicationFirewallLoggingConfig: constructs.WebApplicationFirewall.WebApplicationFirewallLoggingConfig = { ... }
```
--------------------------------
### Initialize KeycloakService ManagementConfiguration
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Use this to initialize the management configuration for KeycloakService. Ensure all required properties are provided.
```typescript
import { patterns } from '@cdklabs/cdk-proserve-lib'
const managementConfiguration: patterns.KeycloakService.ManagementConfiguration = { ... }
```
--------------------------------
### Initialize NetworkFirewallProps
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Use this to initialize properties for configuring a NetworkFirewall. Ensure all required properties are provided.
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
const networkFirewallProps: constructs.NetworkFirewallProps = { ... }
```
--------------------------------
### AWS_QUICK_SETUP_SSM_LIFECYCLE_MANAGEMENT_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy grants permissions for executing SSM lifecycle management tasks.
```typescript
public readonly AWS_QUICK_SETUP_SSM_LIFECYCLE_MANAGEMENT_EXECUTION_POLICY: string;
```
--------------------------------
### AWS_QUICK_SETUP_JITNA_DEPLOYMENT_ROLE_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy is required for Just-In-Time (JIT) network access (NA) deployments.
```APIDOC
## AWS_QUICK_SETUP_JITNA_DEPLOYMENT_ROLE_POLICY
### Description
This policy is required for Just-In-Time (JIT) network access (NA) deployments.
### Type
string
```
--------------------------------
### OpenSearchProvisionDomain Initializer
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Initializes a new instance of the OpenSearchProvisionDomain construct. It requires a scope, an ID, and properties for configuration.
```APIDOC
## OpenSearchProvisionDomain Initializer
### Description
Initializes a new instance of the OpenSearchProvisionDomain construct. It requires a scope, an ID, and properties for configuration.
### Parameters
#### Path Parameters
None
#### Query Parameters
None
#### Request Body
None
### Parameters
#### `scope`
- *Type:* constructs.Construct
- *Description:* Parent to which the Custom Resource belongs.
- *Required:* Yes
#### `id`
- *Type:* string
- *Description:* Unique identifier for this instance.
- *Required:* Yes
#### `props`
- *Type:* @cdklabs/cdk-proserve-lib.constructs.OpenSearchProvisionDomainProps
- *Description:* Metadata for configuring the Custom Resource.
- *Required:* Yes
### Request Example
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
new constructs.OpenSearchProvisionDomain(scope, id, props)
```
### Response
None explicitly documented for initializer.
```
--------------------------------
### Get Underlying Network Firewall Resource
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Access the underlying CloudFormation Network Firewall resource managed by this construct.
```typescript
public readonly firewall: CfnFirewall;
```
--------------------------------
### AWS_QUICK_SETUP_JITNA_DEPLOYMENT_ROLE_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy is required for JITNA (Just-In-Time Network Access) deployments.
```typescript
public readonly AWS_QUICK_SETUP_JITNA_DEPLOYMENT_ROLE_POLICY: string;
```
--------------------------------
### I8G_2XLARGE Instance Type
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the i8g.2xlarge EC2 instance type. A good starting point for various workloads.
```typescript
public readonly I8G_2XLARGE: string;
```
--------------------------------
### Initialize OpenSearchProvisionDomain Construct
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Use this initializer to create a new OpenSearchProvisionDomain construct. It requires a scope, a unique ID, and properties for configuration.
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
new constructs.OpenSearchProvisionDomain(scope: Construct, id: string, props: OpenSearchProvisionDomainProps)
```
--------------------------------
### NetworkFirewallVpcRouteProps lambdaConfiguration
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Configuration for the Lambda function used to retrieve AWS Network Firewall information for routing setup.
```typescript
public readonly lambdaConfiguration: AwsCustomResourceLambdaConfiguration;
```
--------------------------------
### AWS_QUICK_SETUP_DEPLOYMENT_ROLE_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_DEPLOYMENT_ROLE_POLICY managed policy. This policy is required.
```APIDOC
## AWS_QUICK_SETUP_DEPLOYMENT_ROLE_POLICY
### Description
Represents the AWS_QUICK_SETUP_DEPLOYMENT_ROLE_POLICY managed policy.
### Type
string
### Required
Yes
```
--------------------------------
### Initialize Ec2ImageBuilderStartProps in TypeScript
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Demonstrates how to initialize the Ec2ImageBuilderStartProps object. This is used to configure the Ec2ImageBuilderStart construct for starting an Image Builder pipeline.
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
const ec2ImageBuilderStartProps: constructs.Ec2ImageBuilderStartProps = { ... }
```
--------------------------------
### R8GD_XLARGE Instance Type
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the r8gd.xlarge EC2 instance type. A good starting point for applications needing more resources than a large instance.
```typescript
public readonly R8GD_XLARGE: string;
```
--------------------------------
### AWS_QUICK_SETUP_SCHEDULER_PERMISSIONS_BOUNDARY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy acts as a permissions boundary for scheduler-related tasks.
```typescript
public readonly AWS_QUICK_SETUP_SCHEDULER_PERMISSIONS_BOUNDARY: string;
```
--------------------------------
### Initialize SecurityCompliance Settings
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Initializes the configuration settings for the security-compliance aspect.
```typescript
import { aspects } from '@cdklabs/cdk-proserve-lib'
const settings: aspects.SecurityCompliance.Settings = { ... }
```
--------------------------------
### Initialize WaitForCompletionProps for Ec2ImageBuilderStart
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Initializes the WaitForCompletionProps for an EC2 Image Builder start. Requires an SNS topic for completion notifications and an optional timeout duration.
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
const waitForCompletionProps: constructs.Ec2ImageBuilderStart.WaitForCompletionProps = { ... }
```
--------------------------------
### AWS_QUICK_SETUP_SSM_HOST_MGMT_PERMISSIONS_BOUNDARY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy serves as a permissions boundary for SSM host management.
```typescript
public readonly AWS_QUICK_SETUP_SSM_HOST_MGMT_PERMISSIONS_BOUNDARY: string;
```
--------------------------------
### Ec2ImagePipeline BuildConfiguration Properties
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Defines the properties for the build configuration of an EC2 image pipeline. Includes options to start the build, specify a hash, and wait for completion.
```typescript
public readonly start: boolean;
```
```typescript
public readonly hash: string;
```
```typescript
public readonly waitForCompletion: boolean;
```
--------------------------------
### NetworkFirewall Initializer
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Initializes a new instance of the NetworkFirewall construct.
```APIDOC
## NetworkFirewall Initializer
### Description
Initializes a new instance of the NetworkFirewall construct.
### Parameters
#### Path Parameters
None
#### Query Parameters
None
#### Request Body
None
### Parameters
* scope (constructs.Construct) - Required - Parent construct scope.
* id (string) - Required - Construct ID used to generate unique resource names.
* props (@cdklabs/cdk-proserve-lib.constructs.NetworkFirewallProps) - Required - Network Firewall configuration properties.
### Request Example
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
new constructs.NetworkFirewall(scope, id, props)
```
### Response
#### Success Response (200)
None
#### Response Example
None
```
--------------------------------
### Get Network Firewall Endpoint ID
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Retrieve the endpoint ID for a specific availability zone from the NetworkFirewallEndpoints construct. This method requires the availability zone as a string argument.
```typescript
public getEndpointId(availabilityZone: string): string
```
--------------------------------
### KeycloakService.EngineVersion.of
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Create a new KeycloakVersion with an arbitrary version.
```APIDOC
## of @cdklabs/cdk-proserve-lib.patterns.KeycloakService.EngineVersion.of
### Description
Create a new KeycloakVersion with an arbitrary version.
### Method
```typescript
import { patterns } from '@cdklabs/cdk-proserve-lib'
patterns.KeycloakService.EngineVersion.of(version: string)
```
### Parameters
#### Path Parameters
- **version** (string) - Required - Version of Keycloak.
```
--------------------------------
### Define C6A 2XLARGE EC2 Instance Type
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the c6a.2xlarge EC2 instance type. A good starting point for applications needing moderate compute resources.
```typescript
public readonly C6A_2XLARGE: string;
```
--------------------------------
### AWS_QUICK_SETUP_SSM_DEPLOYMENT_S3_BUCKET_ROLE_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy is for the deployment role when SSM interacts with S3 buckets.
```typescript
public readonly AWS_QUICK_SETUP_SSM_DEPLOYMENT_S3_BUCKET_ROLE_POLICY: string;
```
--------------------------------
### API Gateway Static Hosting Custom Domain Configuration
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Defines the configuration for a custom domain name setup with API Gateway static hosting. Requires aws-cdk-lib.aws_apigateway.DomainNameOptions.
```typescript
import { patterns } from '@cdklabs/cdk-proserve-lib'
const customDomainConfiguration: patterns.ApiGatewayStaticHosting.CustomDomainConfiguration = { ... }
```
--------------------------------
### FriendlyEmbrace Initializer
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Initializes a new instance of the FriendlyEmbrace construct.
```APIDOC
## FriendlyEmbrace Constructor
### Description
Initializes a new instance of the FriendlyEmbrace construct.
### Parameters
#### Path Parameters
None
#### Query Parameters
None
#### Request Body
None
### Parameters
- **scope** (constructs.Construct) - Required - The scope in which to define this construct.
- **id** (string) - Required - The construct ID.
- **props** (FriendlyEmbraceProps) - Optional - Configuration properties.
```
--------------------------------
### AWS_QUICK_SETUP_SSM_DEPLOYMENT_ROLE_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
This policy is for the deployment role when using SSM for deployments.
```typescript
public readonly AWS_QUICK_SETUP_SSM_DEPLOYMENT_ROLE_POLICY: string;
```
--------------------------------
### AWS Marketplace Get Entitlements Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS managed policy for retrieving entitlements from AWS Marketplace. Use this policy when querying customer entitlements for Marketplace products.
```typescript
public readonly AWS_MARKETPLACE_GET_ENTITLEMENTS: string;
```
--------------------------------
### Ec2ImageBuilderStart
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Starts an EC2 Image Builder Pipeline and optionally waits for the build to complete. This construct is useful for creating an image as part of an IaC deployment and using it in subsequent steps.
```APIDOC
## Ec2ImageBuilderStart
### Description
Starts an EC2 Image Builder Pipeline and optionally waits for the build to complete.
This construct is useful if you want to create an image as part of your IaC deployment. By waiting for completion of this construct, you can use the image in the same deployment by retrieving the AMI and passing it to an EC2 build step.
*Example*
```typescript
import { Duration } from 'aws-cdk-lib';
import { Topic } from 'aws-cdk-lib/aws-sns';
import { Ec2ImageBuilderStart } from '@cdklabs/cdk-proserve-lib/constructs';
const topic = Topic.fromTopicArn(
this,
'MyTopic',
'arn:aws:sns:us-east-1:123456789012:my-notification-topic'
);
new Ec2ImageBuilderStart(this, 'ImageBuilderStart', {
pipelineArn:
'arn:aws:imagebuilder:us-east-1:123456789012:image-pipeline/my-image-pipeline',
waitForCompletion: {
topic: topic,
timeout: Duration.hours(7) // wait up to 7 hours for completion
}
});
```
### Initializers
#### `new Ec2ImageBuilderStart(scope: Construct, id: string, props: Ec2ImageBuilderStartProps)`
### Parameters
#### scope
- **scope** (constructs.Construct) - Required - The construct scope.
#### id
- **id** (string) - Required - The construct ID.
#### props
- **props** (Ec2ImageBuilderStartProps) - Required - Configuration properties.
```
--------------------------------
### Initialize LoggingConfiguration in TypeScript
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Configure logging for Network Firewall. Specify log types, and optionally provide a KMS key, log group, or log retention period.
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
const loggingConfiguration: constructs.NetworkFirewall.LoggingConfiguration = { ... }
```
--------------------------------
### AWS_QUICK_SETUP_ENABLE_DHMC_EXECUTION_POLICY
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS_QUICK_SETUP_ENABLE_DHMC_EXECUTION_POLICY managed policy. This policy is required.
```APIDOC
## AWS_QUICK_SETUP_ENABLE_DHMC_EXECUTION_POLICY
### Description
Represents the AWS_QUICK_SETUP_ENABLE_DHMC_EXECUTION_POLICY managed policy.
### Type
string
### Required
Yes
```
--------------------------------
### Get Resource ID from OpenSearch Workflow
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Use the getResourceId method to retrieve a specific resource ID created by the OpenSearch Workflow. The workflowStepId must match the 'id' of a node in your workflow template.
```typescript
public getResourceId(workflowStepId: string): string
```
--------------------------------
### Initialize Network Firewall Construct
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Instantiate a Network Firewall construct. Requires a scope, a unique ID, and configuration properties.
```typescript
import { constructs } from '@cdklabs/cdk-proserve-lib'
new constructs.NetworkFirewall(scope: Construct, id: string, props: NetworkFirewallProps)
```
--------------------------------
### ROSA Shared VPC Route53 Policy
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Represents the AWS managed policy for managing Route 53 configurations in a shared VPC setup for ROSA. This policy is crucial for DNS resolution in shared ROSA environments.
```typescript
public readonly ROSA_SHARED_VPC_ROUTE53_POLICY: string;
```
--------------------------------
### Ec2LinuxImagePipeline Constructor
Source: https://github.com/cdklabs/cdk-proserve-lib/blob/main/API.md
Initializes a new instance of the Ec2LinuxImagePipeline construct.
```APIDOC
## Ec2LinuxImagePipeline Constructor
### Description
Initializes a new instance of the Ec2LinuxImagePipeline construct.
### Method Signature
```typescript
new patterns.Ec2LinuxImagePipeline(scope: Construct, id: string, props: Ec2LinuxImagePipelineProps)
```
### Parameters
#### `scope`Required
- *Type:* constructs.Construct
- *Description:* The scope in which to define this construct.
#### `id`Required
- *Type:* string
- *Description:* The scoped construct ID.
#### `props`Required
- *Type:* @cdklabs/cdk-proserve-lib.patterns.Ec2LinuxImagePipelineProps
- *Description:* Configuration properties.
```