### 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. ```