@microsoft/terraform-cdk-constructs 0.0.3-pre.6 → 0.0.3-pre.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +909 -306
- package/API.md +2488 -255
- package/README.md +112 -18
- package/docs/images/ide-documentation.png +0 -0
- package/lib/azure-actiongroup/lib/actiongroup.d.ts +39 -0
- package/lib/azure-actiongroup/lib/actiongroup.js +40 -1
- package/lib/azure-applicationgateway/lib/gateway.d.ts +76 -0
- package/lib/azure-applicationgateway/lib/gateway.js +78 -2
- package/lib/azure-applicationinsights/lib/appinsights.d.ts +50 -0
- package/lib/azure-applicationinsights/lib/appinsights.js +52 -3
- package/lib/azure-containerregistry/lib/registry.d.ts +29 -0
- package/lib/azure-containerregistry/lib/registry.js +31 -2
- package/lib/azure-datalake/lib/datalake.d.ts +50 -0
- package/lib/azure-datalake/lib/datalake.js +51 -1
- package/lib/azure-datalake/lib/filesystem.d.ts +51 -0
- package/lib/azure-datalake/lib/filesystem.js +52 -1
- package/lib/azure-datalake/lib/path.d.ts +37 -0
- package/lib/azure-datalake/lib/path.js +38 -1
- package/lib/azure-eventhub/lib/authorization.d.ts +30 -0
- package/lib/azure-eventhub/lib/authorization.js +32 -2
- package/lib/azure-eventhub/lib/cluster.d.ts +29 -0
- package/lib/azure-eventhub/lib/cluster.js +31 -2
- package/lib/azure-eventhub/lib/consumer.d.ts +28 -0
- package/lib/azure-eventhub/lib/consumer.js +30 -2
- package/lib/azure-eventhub/lib/instance.d.ts +118 -0
- package/lib/azure-eventhub/lib/instance.js +120 -2
- package/lib/azure-eventhub/lib/kusto-connection.d.ts +41 -0
- package/lib/azure-eventhub/lib/kusto-connection.js +43 -2
- package/lib/azure-eventhub/lib/namespace.d.ts +74 -0
- package/lib/azure-eventhub/lib/namespace.js +76 -3
- package/lib/azure-functionapp/lib/functionapplinux.js +1 -1
- package/lib/azure-keyvault/lib/certificate.d.ts +96 -2
- package/lib/azure-keyvault/lib/certificate.js +55 -3
- package/lib/azure-keyvault/lib/key.d.ts +36 -0
- package/lib/azure-keyvault/lib/key.js +38 -2
- package/lib/azure-keyvault/lib/policy.d.ts +30 -0
- package/lib/azure-keyvault/lib/policy.js +32 -2
- package/lib/azure-keyvault/lib/secret.d.ts +31 -0
- package/lib/azure-keyvault/lib/secret.js +33 -2
- package/lib/azure-keyvault/lib/vault.d.ts +188 -0
- package/lib/azure-keyvault/lib/vault.js +191 -7
- package/lib/azure-kubernetes/lib/cluster.d.ts +25 -4
- package/lib/azure-kubernetes/lib/cluster.js +27 -6
- package/lib/azure-kusto/lib/cluster.d.ts +53 -0
- package/lib/azure-kusto/lib/cluster.js +55 -2
- package/lib/azure-kusto/lib/compute-specification.js +1 -1
- package/lib/azure-kusto/lib/database.d.ts +103 -0
- package/lib/azure-kusto/lib/database.js +105 -2
- package/lib/azure-loganalytics/lib/workspace.d.ts +47 -0
- package/lib/azure-loganalytics/lib/workspace.js +49 -2
- package/lib/azure-metricalert/lib/metric-alert.d.ts +43 -4
- package/lib/azure-metricalert/lib/metric-alert.js +45 -6
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +1 -1
- package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +92 -0
- package/lib/azure-networksecuritygroup/lib/securitygroup.js +95 -5
- package/lib/azure-queryrulealert/lib/query-rule-alert.d.ts +35 -4
- package/lib/azure-queryrulealert/lib/query-rule-alert.js +37 -6
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +28 -0
- package/lib/azure-resourcegroup/lib/resource-group.js +30 -2
- package/lib/azure-storageaccount/lib/account.d.ts +75 -48
- package/lib/azure-storageaccount/lib/account.js +77 -50
- package/lib/azure-storageaccount/lib/container.d.ts +94 -12
- package/lib/azure-storageaccount/lib/container.js +97 -15
- package/lib/azure-storageaccount/lib/fileshare.d.ts +36 -0
- package/lib/azure-storageaccount/lib/fileshare.js +39 -3
- package/lib/azure-storageaccount/lib/queue.d.ts +29 -0
- package/lib/azure-storageaccount/lib/queue.js +31 -2
- package/lib/azure-storageaccount/lib/table.d.ts +32 -0
- package/lib/azure-storageaccount/lib/table.js +34 -2
- package/lib/azure-virtualmachine/lib/image-references.js +2 -2
- package/lib/azure-virtualmachine/lib/vm.d.ts +84 -8
- package/lib/azure-virtualmachine/lib/vm.js +87 -11
- package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +98 -8
- package/lib/azure-virtualmachinescaleset/lib/cluster.js +101 -11
- package/lib/azure-virtualnetwork/lib/network.d.ts +61 -0
- package/lib/azure-virtualnetwork/lib/network.js +63 -3
- package/lib/azure-virtualnetwork/lib/peering.d.ts +39 -0
- package/lib/azure-virtualnetwork/lib/peering.js +41 -2
- package/lib/core-azure/lib/diagsettings.d.ts +37 -0
- package/lib/core-azure/lib/diagsettings.js +39 -2
- package/lib/core-azure/lib/rbac.d.ts +22 -4
- package/lib/core-azure/lib/rbac.js +24 -6
- package/lib/core-azure/lib/resource.d.ts +45 -0
- package/lib/core-azure/lib/resource.js +48 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,32 +1,126 @@
|
|
|
1
|
-
# Terraform
|
|
1
|
+
# Azure Terraform CDK Constructs
|
|
2
|
+
Welcome to the Azure Terraform CDK Constructs project! This library offers a comprehensive suite of L2 Constructs designed to simplify and enhance the experience of building and managing Azure infrastructure with the Cloud Development Kit for Terraform (CDKTF).
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
## Benefits of Using L2 Constructs
|
|
4
5
|
|
|
6
|
+
With L2 Constructs, you get the following benefits:
|
|
5
7
|
|
|
8
|
+
- **Abstraction**: Higher-level abstractions over Azure resources make your infrastructure code more declarative and easier to understand.
|
|
9
|
+
- **Reusability**: Encapsulate common patterns and best practices in your infrastructure code, promoting reusability across different projects and teams.
|
|
10
|
+
- **Rapid Development**: Accelerate your cloud development process with pre-built constructs that have been tested for common use cases, allowing you to focus on your unique application logic.
|
|
11
|
+
- **Direct IDE Integration**: Access detailed documentation directly within your Integrated Development Environment (IDE), streamlining your development workflow: 
|
|
6
12
|
|
|
7
|
-
## Using the Libraries
|
|
8
13
|
|
|
9
|
-
|
|
14
|
+
## Quick Example
|
|
10
15
|
|
|
11
|
-
|
|
16
|
+
This is a quick example that showcases the simplicity and power of L2 Constructs. We'll create a storage account, add a container to it, and then upload a blob—all with a few lines of intuitive, object-oriented code:
|
|
12
17
|
|
|
13
18
|
```typescript
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
name:
|
|
18
|
-
location:
|
|
19
|
-
resourceGroup: 'my-resource-group',
|
|
20
|
-
size: 'Standard_D2s_v3',
|
|
21
|
-
osDisk: {
|
|
22
|
-
storageAccountType: 'Standard_LRS',
|
|
23
|
-
diskSizeGB: 128,
|
|
24
|
-
},
|
|
25
|
-
adminUsername: 'admin',
|
|
26
|
-
adminPassword: 'password',
|
|
19
|
+
|
|
20
|
+
// Create a new instance of a storage account as an object
|
|
21
|
+
const sa = new azcdk.azure_storageaccount.Account(stack, "storageaccount", {
|
|
22
|
+
name: "testStorageAccount",
|
|
23
|
+
location: "eastus",
|
|
27
24
|
});
|
|
25
|
+
|
|
26
|
+
// Add a container to the storage account by calling a method on the storage account object
|
|
27
|
+
const container = sa.addContainer("testcontainer");
|
|
28
|
+
|
|
29
|
+
// Add a blob to the container by calling a method on the container object
|
|
30
|
+
// The path "../../../test.txt" points to the source file to be uploaded as a blob
|
|
31
|
+
container.addBlob("testblob.txt", "../../../test.txt");
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Getting Started
|
|
37
|
+
|
|
38
|
+
This guide will walk you through the process of using the Azure L2 Constructs to define and provision infrastructure on Azure.
|
|
39
|
+
|
|
40
|
+
### Prerequisites
|
|
41
|
+
Make sure you have Node.js and npm installed on your machine. These will be used to install the CDK for Terraform and Azure provider packages.
|
|
42
|
+
|
|
43
|
+
### Installation
|
|
44
|
+
|
|
45
|
+
First, install the CDK for Terraform CLI globally using npm:
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
npm install -g cdktf-cli
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Next, initialize a new CDK for Terraform project with TypeScript template:
|
|
52
|
+
```sh
|
|
53
|
+
cdktf init --template="TypeScript" --local
|
|
54
|
+
```
|
|
55
|
+
Install the AzureRM provider for CDKTF:
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
npm install @cdktf/provider-azurerm
|
|
28
59
|
```
|
|
29
60
|
|
|
61
|
+
Then, add the Microsoft Terraform CDK constructs for Azure:
|
|
62
|
+
|
|
63
|
+
```sh
|
|
64
|
+
npm install @micrsoft/terraform-cdk-constructs
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
### Example 1: Creating a Storage Account
|
|
70
|
+
Now let's create a simple Azure storage account. The following TypeScript snippet defines a storage account resource using the CDKTF:
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
// Import necessary modules and classes
|
|
74
|
+
import * as azcdk from "@microsoft/terraform-cdk-constructs";
|
|
75
|
+
import { Construct } from 'constructs';
|
|
76
|
+
import { App, TerraformStack } from 'cdktf';
|
|
77
|
+
import { AzurermProvider } from "@cdktf/provider-azurerm/lib/provider";
|
|
78
|
+
|
|
79
|
+
// Define a new Terraform stack
|
|
80
|
+
class AzureAppInfra extends TerraformStack {
|
|
81
|
+
constructor(scope: Construct, name: string) {
|
|
82
|
+
super(scope, name);
|
|
83
|
+
|
|
84
|
+
// Initialize Azure provider
|
|
85
|
+
new AzurermProvider(this, "azureFeature", { features: {} });
|
|
86
|
+
|
|
87
|
+
// Create a new Azure storage account with the specified name and location
|
|
88
|
+
new azcdk.azure_storageaccount.Account(this, "storageaccount", {
|
|
89
|
+
name: "test42348808",
|
|
90
|
+
location: "eastus",
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Initialize the CDK app and synthesize Terraform configurations
|
|
96
|
+
const app = new App();
|
|
97
|
+
new AzureAppInfra(app, 'cdk');
|
|
98
|
+
app.synth();
|
|
99
|
+
```
|
|
100
|
+
After defining your infrastructure, generate the Terraform configuration files:
|
|
101
|
+
```sh
|
|
102
|
+
cdktf synth
|
|
103
|
+
```
|
|
104
|
+
Finally, deploy your infrastructure to Azure:
|
|
105
|
+
|
|
106
|
+
```sh
|
|
107
|
+
cdktf deploy
|
|
108
|
+
```
|
|
109
|
+
## Supported Languages
|
|
110
|
+
|
|
111
|
+
Currently, our CDK L2 constructs are available in the following languages:
|
|
112
|
+
|
|
113
|
+
| Language | Status |
|
|
114
|
+
|------------|--------------|
|
|
115
|
+
| TypeScript | Available |
|
|
116
|
+
| Python | Coming soon |
|
|
117
|
+
| Java | Coming soon |
|
|
118
|
+
| Go | Coming soon |
|
|
119
|
+
| C# | Coming soon |
|
|
120
|
+
|
|
121
|
+
Stay tuned for updates as we work to expand support to other popular programming languages!
|
|
122
|
+
|
|
123
|
+
|
|
30
124
|
## Contributing
|
|
31
125
|
|
|
32
126
|
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
|
Binary file
|
|
@@ -6,5 +6,44 @@ export declare class ActionGroup extends AzureResource {
|
|
|
6
6
|
readonly props: model.ActionGroupProps;
|
|
7
7
|
resourceGroup: ResourceGroup;
|
|
8
8
|
id: string;
|
|
9
|
+
/**
|
|
10
|
+
* Manages an Azure Monitor Action Group, which is used to trigger actions or notifications based on alerts or conditions met within Azure Monitor.
|
|
11
|
+
*
|
|
12
|
+
* An Action Group in Azure Monitor defines a collection of individual actions that are triggered when the conditions of an associated alert rule are met. Actions can include sending emails, triggering Azure Functions, calling webhooks, and more. This class allows for configuring and managing these actions, making it essential for setting up comprehensive monitoring and response systems in Azure applications.
|
|
13
|
+
*
|
|
14
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
15
|
+
* @param id - The unique identifier for this instance of the Action Group.
|
|
16
|
+
* @param props - Configuration properties for the Action Group. These properties may include:
|
|
17
|
+
* - `name`: The name of the Action Group.
|
|
18
|
+
* - `resourceGroup`: The resource group under which the Action Group is created.
|
|
19
|
+
* - `shortName`: A shorter name for the Action Group used in notifications.
|
|
20
|
+
* - `enabled`: Specifies if the Action Group is active. Defaults to true.
|
|
21
|
+
* - `location`: The Azure region where the Action Group is hosted. Defaults to global.
|
|
22
|
+
* - `tags`: A dictionary of tags to apply to the Action Group for resource management.
|
|
23
|
+
* - Receivers: Configurations for various types of notifications (e.g., email, SMS, webhook).
|
|
24
|
+
*
|
|
25
|
+
* Example usage:
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const actionGroup = new ActionGroup(this, 'myActionGroup', {
|
|
28
|
+
* name: 'criticalAlertsGroup',
|
|
29
|
+
* resourceGroup: myResourceGroup,
|
|
30
|
+
* shortName: 'Alerts',
|
|
31
|
+
* location: 'East US',
|
|
32
|
+
* emailReceivers: [{
|
|
33
|
+
* name: 'admin',
|
|
34
|
+
* emailAddress: 'admin@example.com'
|
|
35
|
+
* }],
|
|
36
|
+
* smsReceivers: [{
|
|
37
|
+
* name: 'adminSms',
|
|
38
|
+
* countryCode: '1',
|
|
39
|
+
* phoneNumber: '5551234567'
|
|
40
|
+
* }],
|
|
41
|
+
* tags: {
|
|
42
|
+
* environment: 'production'
|
|
43
|
+
* }
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
* This setup creates an Action Group that sends email and SMS notifications when triggered by an alert.
|
|
47
|
+
*/
|
|
9
48
|
constructor(scope: Construct, id: string, props: model.ActionGroupProps);
|
|
10
49
|
}
|
|
@@ -6,6 +6,45 @@ const cdktf = require("cdktf");
|
|
|
6
6
|
const lib_1 = require("../../core-azure/lib");
|
|
7
7
|
const model = require("../model");
|
|
8
8
|
class ActionGroup extends lib_1.AzureResource {
|
|
9
|
+
/**
|
|
10
|
+
* Manages an Azure Monitor Action Group, which is used to trigger actions or notifications based on alerts or conditions met within Azure Monitor.
|
|
11
|
+
*
|
|
12
|
+
* An Action Group in Azure Monitor defines a collection of individual actions that are triggered when the conditions of an associated alert rule are met. Actions can include sending emails, triggering Azure Functions, calling webhooks, and more. This class allows for configuring and managing these actions, making it essential for setting up comprehensive monitoring and response systems in Azure applications.
|
|
13
|
+
*
|
|
14
|
+
* @param scope - The scope in which to define this construct, typically representing the Cloud Development Kit (CDK) stack.
|
|
15
|
+
* @param id - The unique identifier for this instance of the Action Group.
|
|
16
|
+
* @param props - Configuration properties for the Action Group. These properties may include:
|
|
17
|
+
* - `name`: The name of the Action Group.
|
|
18
|
+
* - `resourceGroup`: The resource group under which the Action Group is created.
|
|
19
|
+
* - `shortName`: A shorter name for the Action Group used in notifications.
|
|
20
|
+
* - `enabled`: Specifies if the Action Group is active. Defaults to true.
|
|
21
|
+
* - `location`: The Azure region where the Action Group is hosted. Defaults to global.
|
|
22
|
+
* - `tags`: A dictionary of tags to apply to the Action Group for resource management.
|
|
23
|
+
* - Receivers: Configurations for various types of notifications (e.g., email, SMS, webhook).
|
|
24
|
+
*
|
|
25
|
+
* Example usage:
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const actionGroup = new ActionGroup(this, 'myActionGroup', {
|
|
28
|
+
* name: 'criticalAlertsGroup',
|
|
29
|
+
* resourceGroup: myResourceGroup,
|
|
30
|
+
* shortName: 'Alerts',
|
|
31
|
+
* location: 'East US',
|
|
32
|
+
* emailReceivers: [{
|
|
33
|
+
* name: 'admin',
|
|
34
|
+
* emailAddress: 'admin@example.com'
|
|
35
|
+
* }],
|
|
36
|
+
* smsReceivers: [{
|
|
37
|
+
* name: 'adminSms',
|
|
38
|
+
* countryCode: '1',
|
|
39
|
+
* phoneNumber: '5551234567'
|
|
40
|
+
* }],
|
|
41
|
+
* tags: {
|
|
42
|
+
* environment: 'production'
|
|
43
|
+
* }
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
* This setup creates an Action Group that sends email and SMS notifications when triggered by an alert.
|
|
47
|
+
*/
|
|
9
48
|
constructor(scope, id, props) {
|
|
10
49
|
super(scope, id);
|
|
11
50
|
this.props = props;
|
|
@@ -43,4 +82,4 @@ class ActionGroup extends lib_1.AzureResource {
|
|
|
43
82
|
}
|
|
44
83
|
}
|
|
45
84
|
exports.ActionGroup = ActionGroup;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtYWN0aW9uZ3JvdXAvbGliL2FjdGlvbmdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJGQUFzRjtBQUV0RiwrQkFBK0I7QUFFL0IsOENBQXFEO0FBQ3JELGtDQUFrQztBQUVsQyxNQUFhLFdBQVksU0FBUSxtQkFBYTtJQUk1Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FzQ0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBRXpDOztXQUVHO1FBQ0gsTUFBTSxRQUFRLEdBQUc7WUFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJO1lBQzlCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVE7WUFDcEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTtTQUN2QixDQUFDO1FBRUYsdURBQXVEO1FBQ3ZELE1BQU0seUJBQXlCLEdBQUcsSUFBSSx5Q0FBa0IsQ0FDdEQsSUFBSSxFQUNKLGFBQWEsRUFDYjtZQUNFLEdBQUcsUUFBUTtZQUNYLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUk7WUFDM0MsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQzFCLGVBQWUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUMvQixLQUFLLENBQUMsNENBQTRDLEVBQ2xELElBQUksQ0FDTCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7WUFFOUIsYUFBYSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQzdCLEtBQUssQ0FBQywwQ0FBMEMsRUFDaEQsSUFBSSxDQUNMLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFFNUIsYUFBYSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQzdCLEtBQUssQ0FBQywwQ0FBMEMsRUFDaEQsSUFBSSxDQUNMLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFFNUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQzNCLEtBQUssQ0FBQyx3Q0FBd0MsRUFDOUMsSUFBSSxDQUNMLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7WUFFMUIsZUFBZSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQy9CLEtBQUssQ0FBQyw0Q0FBNEMsRUFDbEQsSUFBSSxDQUNMLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztZQUU5QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUNoQyxLQUFLLENBQUMsNkNBQTZDLEVBQ25ELElBQUksQ0FDTCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7WUFFL0Isb0JBQW9CLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FDcEMsS0FBSyxDQUFDLGlEQUFpRCxFQUN2RCxJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO1lBRW5DLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQ2hDLEtBQUssQ0FBQyw2Q0FBNkMsRUFDbkQsSUFBSSxDQUNMLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztTQUNoQyxDQUNGLENBQUM7UUFFRixvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLEVBQUUsR0FBRyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7UUFFdkMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQ2pFLElBQUksRUFDSixJQUFJLEVBQ0o7WUFDRSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRTtTQUNwQyxDQUNGLENBQUM7UUFFRixnSUFBZ0k7UUFDaEksaUNBQWlDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNGO0FBM0hELGtDQTJIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vbml0b3JBY3Rpb25Hcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvbW9uaXRvci1hY3Rpb24tZ3JvdXBcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBenVyZVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliXCI7XG5pbXBvcnQgKiBhcyBtb2RlbCBmcm9tIFwiLi4vbW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIEFjdGlvbkdyb3VwIGV4dGVuZHMgQXp1cmVSZXNvdXJjZSB7XG4gIHJlYWRvbmx5IHByb3BzOiBtb2RlbC5BY3Rpb25Hcm91cFByb3BzO1xuICBwdWJsaWMgcmVzb3VyY2VHcm91cDogUmVzb3VyY2VHcm91cDtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNYW5hZ2VzIGFuIEF6dXJlIE1vbml0b3IgQWN0aW9uIEdyb3VwLCB3aGljaCBpcyB1c2VkIHRvIHRyaWdnZXIgYWN0aW9ucyBvciBub3RpZmljYXRpb25zIGJhc2VkIG9uIGFsZXJ0cyBvciBjb25kaXRpb25zIG1ldCB3aXRoaW4gQXp1cmUgTW9uaXRvci5cbiAgICpcbiAgICogQW4gQWN0aW9uIEdyb3VwIGluIEF6dXJlIE1vbml0b3IgZGVmaW5lcyBhIGNvbGxlY3Rpb24gb2YgaW5kaXZpZHVhbCBhY3Rpb25zIHRoYXQgYXJlIHRyaWdnZXJlZCB3aGVuIHRoZSBjb25kaXRpb25zIG9mIGFuIGFzc29jaWF0ZWQgYWxlcnQgcnVsZSBhcmUgbWV0LiBBY3Rpb25zIGNhbiBpbmNsdWRlIHNlbmRpbmcgZW1haWxzLCB0cmlnZ2VyaW5nIEF6dXJlIEZ1bmN0aW9ucywgY2FsbGluZyB3ZWJob29rcywgYW5kIG1vcmUuIFRoaXMgY2xhc3MgYWxsb3dzIGZvciBjb25maWd1cmluZyBhbmQgbWFuYWdpbmcgdGhlc2UgYWN0aW9ucywgbWFraW5nIGl0IGVzc2VudGlhbCBmb3Igc2V0dGluZyB1cCBjb21wcmVoZW5zaXZlIG1vbml0b3JpbmcgYW5kIHJlc3BvbnNlIHN5c3RlbXMgaW4gQXp1cmUgYXBwbGljYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LCB0eXBpY2FsbHkgcmVwcmVzZW50aW5nIHRoZSBDbG91ZCBEZXZlbG9wbWVudCBLaXQgKENESykgc3RhY2suXG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZSBvZiB0aGUgQWN0aW9uIEdyb3VwLlxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBBY3Rpb24gR3JvdXAuIFRoZXNlIHByb3BlcnRpZXMgbWF5IGluY2x1ZGU6XG4gICAqICAgICAgICAgICAgICAgIC0gYG5hbWVgOiBUaGUgbmFtZSBvZiB0aGUgQWN0aW9uIEdyb3VwLlxuICAgKiAgICAgICAgICAgICAgICAtIGByZXNvdXJjZUdyb3VwYDogVGhlIHJlc291cmNlIGdyb3VwIHVuZGVyIHdoaWNoIHRoZSBBY3Rpb24gR3JvdXAgaXMgY3JlYXRlZC5cbiAgICogICAgICAgICAgICAgICAgLSBgc2hvcnROYW1lYDogQSBzaG9ydGVyIG5hbWUgZm9yIHRoZSBBY3Rpb24gR3JvdXAgdXNlZCBpbiBub3RpZmljYXRpb25zLlxuICAgKiAgICAgICAgICAgICAgICAtIGBlbmFibGVkYDogU3BlY2lmaWVzIGlmIHRoZSBBY3Rpb24gR3JvdXAgaXMgYWN0aXZlLiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2NhdGlvbmA6IFRoZSBBenVyZSByZWdpb24gd2hlcmUgdGhlIEFjdGlvbiBHcm91cCBpcyBob3N0ZWQuIERlZmF1bHRzIHRvIGdsb2JhbC5cbiAgICogICAgICAgICAgICAgICAgLSBgdGFnc2A6IEEgZGljdGlvbmFyeSBvZiB0YWdzIHRvIGFwcGx5IHRvIHRoZSBBY3Rpb24gR3JvdXAgZm9yIHJlc291cmNlIG1hbmFnZW1lbnQuXG4gICAqICAgICAgICAgICAgICAgIC0gUmVjZWl2ZXJzOiBDb25maWd1cmF0aW9ucyBmb3IgdmFyaW91cyB0eXBlcyBvZiBub3RpZmljYXRpb25zIChlLmcuLCBlbWFpbCwgU01TLCB3ZWJob29rKS5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBhY3Rpb25Hcm91cCA9IG5ldyBBY3Rpb25Hcm91cCh0aGlzLCAnbXlBY3Rpb25Hcm91cCcsIHtcbiAgICogICBuYW1lOiAnY3JpdGljYWxBbGVydHNHcm91cCcsXG4gICAqICAgcmVzb3VyY2VHcm91cDogbXlSZXNvdXJjZUdyb3VwLFxuICAgKiAgIHNob3J0TmFtZTogJ0FsZXJ0cycsXG4gICAqICAgbG9jYXRpb246ICdFYXN0IFVTJyxcbiAgICogICBlbWFpbFJlY2VpdmVyczogW3tcbiAgICogICAgIG5hbWU6ICdhZG1pbicsXG4gICAqICAgICBlbWFpbEFkZHJlc3M6ICdhZG1pbkBleGFtcGxlLmNvbSdcbiAgICogICB9XSxcbiAgICogICBzbXNSZWNlaXZlcnM6IFt7XG4gICAqICAgICBuYW1lOiAnYWRtaW5TbXMnLFxuICAgKiAgICAgY291bnRyeUNvZGU6ICcxJyxcbiAgICogICAgIHBob25lTnVtYmVyOiAnNTU1MTIzNDU2NydcbiAgICogICB9XSxcbiAgICogICB0YWdzOiB7XG4gICAqICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nXG4gICAqICAgfVxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqIFRoaXMgc2V0dXAgY3JlYXRlcyBhbiBBY3Rpb24gR3JvdXAgdGhhdCBzZW5kcyBlbWFpbCBhbmQgU01TIG5vdGlmaWNhdGlvbnMgd2hlbiB0cmlnZ2VyZWQgYnkgYW4gYWxlcnQuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogbW9kZWwuQWN0aW9uR3JvdXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5yZXNvdXJjZUdyb3VwID0gcHJvcHMucmVzb3VyY2VHcm91cDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZSBkZWZhdWx0IHZhbHVlcy5cbiAgICAgKi9cbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGVuYWJsZWQ6IHByb3BzLmVuYWJsZWQgPz8gdHJ1ZSxcbiAgICAgIGxvY2F0aW9uOiBwcm9wcy5sb2NhdGlvbiA/PyBcImdsb2JhbFwiLFxuICAgICAgdGFnczogcHJvcHMudGFncyA/PyB7fSxcbiAgICB9O1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBBY3Rpb24gR3JvdXAgd2l0aCB0aGUgcHJvdmlkZWQgcHJvcGVydGllc1xuICAgIGNvbnN0IGF6dXJlcm1Nb25pdG9yQWN0aW9uR3JvdXAgPSBuZXcgTW9uaXRvckFjdGlvbkdyb3VwKFxuICAgICAgdGhpcyxcbiAgICAgIFwiYWN0aW9uZ3JvdXBcIixcbiAgICAgIHtcbiAgICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICAgIG5hbWU6IHByb3BzLm5hbWUsXG4gICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICAgIHNob3J0TmFtZTogcHJvcHMuc2hvcnROYW1lLFxuICAgICAgICBhcm1Sb2xlUmVjZWl2ZXI6IGNka3RmLmxpc3RNYXBwZXIoXG4gICAgICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwQXJtUm9sZVJlY2VpdmVyVG9UZXJyYWZvcm0sXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKSh0aGlzLnByb3BzLmFybVJvbGVSZWNlaXZlcnMpLFxuXG4gICAgICAgIGVtYWlsUmVjZWl2ZXI6IGNka3RmLmxpc3RNYXBwZXIoXG4gICAgICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwRW1haWxSZWNlaXZlclRvVGVycmFmb3JtLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICkodGhpcy5wcm9wcy5lbWFpbFJlY2VpdmVycyksXG5cbiAgICAgICAgdm9pY2VSZWNlaXZlcjogY2RrdGYubGlzdE1hcHBlcihcbiAgICAgICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBWb2ljZVJlY2VpdmVyVG9UZXJyYWZvcm0sXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKSh0aGlzLnByb3BzLnZvaWNlUmVjZWl2ZXJzKSxcblxuICAgICAgICBzbXNSZWNlaXZlcjogY2RrdGYubGlzdE1hcHBlcihcbiAgICAgICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBTbXNSZWNlaXZlclRvVGVycmFmb3JtLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICkodGhpcy5wcm9wcy5zbXNSZWNlaXZlcnMpLFxuXG4gICAgICAgIHdlYmhvb2tSZWNlaXZlcjogY2RrdGYubGlzdE1hcHBlcihcbiAgICAgICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBXZWJob29rUmVjZWl2ZXJUb1RlcnJhZm9ybSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApKHRoaXMucHJvcHMud2ViaG9va1JlY2VpdmVycyksXG5cbiAgICAgICAgZXZlbnRIdWJSZWNlaXZlcjogY2RrdGYubGlzdE1hcHBlcihcbiAgICAgICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBFdmVudEh1YlJlY2VpdmVyVG9UZXJyYWZvcm0sXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKSh0aGlzLnByb3BzLmV2ZW50SHViUmVjZWl2ZXJzKSxcblxuICAgICAgICBhenVyZUFwcFB1c2hSZWNlaXZlcjogY2RrdGYubGlzdE1hcHBlcihcbiAgICAgICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBBenVyZUFwcFB1c2hSZWNlaXZlclRvVGVycmFmb3JtLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICkodGhpcy5wcm9wcy5henVyZUFwcFB1c2hSZWNlaXZlcnMpLFxuXG4gICAgICAgIGxvZ2ljQXBwUmVjZWl2ZXI6IGNka3RmLmxpc3RNYXBwZXIoXG4gICAgICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwTG9naWNBcHBSZWNlaXZlclRvVGVycmFmb3JtLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICkodGhpcy5wcm9wcy5sb2dpY0FwcFJlY2VpdmVycyksXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBUZXJyYWZvcm0gT3V0cHV0c1xuICAgIHRoaXMuaWQgPSBhenVyZXJtTW9uaXRvckFjdGlvbkdyb3VwLmlkO1xuXG4gICAgY29uc3QgY2RrdGZUZXJyYWZvcm1PdXRwdXRBY3Rpb25Hcm91cElkID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcImlkXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBhenVyZXJtTW9uaXRvckFjdGlvbkdyb3VwLmlkLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgLypUaGlzIGFsbG93cyB0aGUgVGVycmFmb3JtIHJlc291cmNlIG5hbWUgdG8gbWF0Y2ggdGhlIG9yaWdpbmFsIG5hbWUuIFlvdSBjYW4gcmVtb3ZlIHRoZSBjYWxsIGlmIHlvdSBkb24ndCBuZWVkIHRoZW0gdG8gbWF0Y2guKi9cbiAgICBjZGt0ZlRlcnJhZm9ybU91dHB1dEFjdGlvbkdyb3VwSWQub3ZlcnJpZGVMb2dpY2FsSWQoXCJpZFwiKTtcbiAgfVxufVxuIl19
|
|
@@ -168,5 +168,81 @@ export interface IGatewayProps {
|
|
|
168
168
|
export declare class Gateway extends AzureResource {
|
|
169
169
|
resourceGroup: ResourceGroup;
|
|
170
170
|
id: string;
|
|
171
|
+
/**
|
|
172
|
+
* Constructs a new Azure Application Gateway.
|
|
173
|
+
*
|
|
174
|
+
* @param scope - The scope in which to define this construct.
|
|
175
|
+
* @param id - The ID of this construct.
|
|
176
|
+
* @param props - The properties for configuring the Azure Application Gateway. The properties include:
|
|
177
|
+
* - `name`: Required. Unique name for the Application Gateway within Azure.
|
|
178
|
+
* - `location`: Required. Azure Region for deployment.
|
|
179
|
+
* - `resourceGroup`: Required. Reference to the resource group for deployment.
|
|
180
|
+
* - `skuTier`: Required. SKU tier of the Application Gateway (e.g., Standard, WAF).
|
|
181
|
+
* - `skuSize`: Required. Size of the SKU for the Application Gateway.
|
|
182
|
+
* - `capacity`: Required. Capacity (instance count) of the Application Gateway.
|
|
183
|
+
* - `backendAddressPools`: Required. Backend address pools for the Application Gateway.
|
|
184
|
+
* - `backendHttpSettings`: Required. Backend HTTP settings for the Application Gateway.
|
|
185
|
+
* - `httpListeners`: Required. HTTP listeners for the Application Gateway.
|
|
186
|
+
* - `requestRoutingRules`: Required. Request routing rules for the Application Gateway.
|
|
187
|
+
* - `publicIpAddress`: Optional. Public IP address for the frontend.
|
|
188
|
+
* - `privateIpAddress`: Optional. Private IP address for the frontend.
|
|
189
|
+
* - `privateIpAddressAllocation`: Optional. Allocation method for the private IP (Static, Dynamic).
|
|
190
|
+
* - `frontendPorts`: Optional. Frontend ports for the Application Gateway.
|
|
191
|
+
* - `subnet`: Optional. Subnet for the Application Gateway.
|
|
192
|
+
* - `enableHttp2`: Optional. Flag to enable HTTP2.
|
|
193
|
+
* - `fipsEnabled`: Optional. Flag to enable FIPS-compliant algorithms.
|
|
194
|
+
* - `firewallPolicyId`: Optional. ID of the firewall policy.
|
|
195
|
+
* - `forceFirewallPolicyAssociation`: Optional. Flag to enforce association of the firewall policy.
|
|
196
|
+
* - `tags`: Optional. Tags for resource management.
|
|
197
|
+
* - Additional optional properties as described in `IGatewayProps` interface.
|
|
198
|
+
*
|
|
199
|
+
* Example usage:
|
|
200
|
+
* ```typescript
|
|
201
|
+
* new Gateway(this, 'appGateway1', {
|
|
202
|
+
* name: 'gatewayEast',
|
|
203
|
+
* resourceGroup: resourceGroup,
|
|
204
|
+
location: "eastus",
|
|
205
|
+
skuTier: "Standard_v2",
|
|
206
|
+
skuSize: "Standard_v2",
|
|
207
|
+
capacity: 2,
|
|
208
|
+
publicIpAddress: publicIp,
|
|
209
|
+
subnet: subnet,
|
|
210
|
+
backendAddressPools: [
|
|
211
|
+
{ name: "backend-address-pool-1" },
|
|
212
|
+
{
|
|
213
|
+
name: "backend-address-pool-2",
|
|
214
|
+
ipAddresses: ["10.1.0.4", "10.1.0.5", "10.1.0.6"],
|
|
215
|
+
},
|
|
216
|
+
],
|
|
217
|
+
httpListeners: [
|
|
218
|
+
{
|
|
219
|
+
name: "http-listener",
|
|
220
|
+
frontendPortName: "80",
|
|
221
|
+
frontendIpConfigurationName: "Public-frontend-ip-configuration",
|
|
222
|
+
protocol: "Http",
|
|
223
|
+
},
|
|
224
|
+
],
|
|
225
|
+
backendHttpSettings: [
|
|
226
|
+
{
|
|
227
|
+
name: "backend-http-setting",
|
|
228
|
+
port: 80,
|
|
229
|
+
protocol: "Http",
|
|
230
|
+
requestTimeout: 20,
|
|
231
|
+
cookieBasedAffinity: "Disabled",
|
|
232
|
+
},
|
|
233
|
+
],
|
|
234
|
+
requestRoutingRules: [
|
|
235
|
+
{
|
|
236
|
+
name: "request-routing-rule-1",
|
|
237
|
+
httpListenerName: "http-listener",
|
|
238
|
+
priority: 1,
|
|
239
|
+
backendAddressPoolName: "backend-address-pool-1",
|
|
240
|
+
backendHttpSettingsName: "backend-http-setting",
|
|
241
|
+
ruleType: "Basic",
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
* });
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
171
247
|
constructor(scope: Construct, id: string, props: IGatewayProps);
|
|
172
248
|
}
|
|
@@ -10,6 +10,82 @@ const vnet = require("../../azure-virtualnetwork");
|
|
|
10
10
|
const core_azure_1 = require("../../core-azure");
|
|
11
11
|
// Define the class for Azure Application Gateway
|
|
12
12
|
class Gateway extends core_azure_1.AzureResource {
|
|
13
|
+
/**
|
|
14
|
+
* Constructs a new Azure Application Gateway.
|
|
15
|
+
*
|
|
16
|
+
* @param scope - The scope in which to define this construct.
|
|
17
|
+
* @param id - The ID of this construct.
|
|
18
|
+
* @param props - The properties for configuring the Azure Application Gateway. The properties include:
|
|
19
|
+
* - `name`: Required. Unique name for the Application Gateway within Azure.
|
|
20
|
+
* - `location`: Required. Azure Region for deployment.
|
|
21
|
+
* - `resourceGroup`: Required. Reference to the resource group for deployment.
|
|
22
|
+
* - `skuTier`: Required. SKU tier of the Application Gateway (e.g., Standard, WAF).
|
|
23
|
+
* - `skuSize`: Required. Size of the SKU for the Application Gateway.
|
|
24
|
+
* - `capacity`: Required. Capacity (instance count) of the Application Gateway.
|
|
25
|
+
* - `backendAddressPools`: Required. Backend address pools for the Application Gateway.
|
|
26
|
+
* - `backendHttpSettings`: Required. Backend HTTP settings for the Application Gateway.
|
|
27
|
+
* - `httpListeners`: Required. HTTP listeners for the Application Gateway.
|
|
28
|
+
* - `requestRoutingRules`: Required. Request routing rules for the Application Gateway.
|
|
29
|
+
* - `publicIpAddress`: Optional. Public IP address for the frontend.
|
|
30
|
+
* - `privateIpAddress`: Optional. Private IP address for the frontend.
|
|
31
|
+
* - `privateIpAddressAllocation`: Optional. Allocation method for the private IP (Static, Dynamic).
|
|
32
|
+
* - `frontendPorts`: Optional. Frontend ports for the Application Gateway.
|
|
33
|
+
* - `subnet`: Optional. Subnet for the Application Gateway.
|
|
34
|
+
* - `enableHttp2`: Optional. Flag to enable HTTP2.
|
|
35
|
+
* - `fipsEnabled`: Optional. Flag to enable FIPS-compliant algorithms.
|
|
36
|
+
* - `firewallPolicyId`: Optional. ID of the firewall policy.
|
|
37
|
+
* - `forceFirewallPolicyAssociation`: Optional. Flag to enforce association of the firewall policy.
|
|
38
|
+
* - `tags`: Optional. Tags for resource management.
|
|
39
|
+
* - Additional optional properties as described in `IGatewayProps` interface.
|
|
40
|
+
*
|
|
41
|
+
* Example usage:
|
|
42
|
+
* ```typescript
|
|
43
|
+
* new Gateway(this, 'appGateway1', {
|
|
44
|
+
* name: 'gatewayEast',
|
|
45
|
+
* resourceGroup: resourceGroup,
|
|
46
|
+
location: "eastus",
|
|
47
|
+
skuTier: "Standard_v2",
|
|
48
|
+
skuSize: "Standard_v2",
|
|
49
|
+
capacity: 2,
|
|
50
|
+
publicIpAddress: publicIp,
|
|
51
|
+
subnet: subnet,
|
|
52
|
+
backendAddressPools: [
|
|
53
|
+
{ name: "backend-address-pool-1" },
|
|
54
|
+
{
|
|
55
|
+
name: "backend-address-pool-2",
|
|
56
|
+
ipAddresses: ["10.1.0.4", "10.1.0.5", "10.1.0.6"],
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
httpListeners: [
|
|
60
|
+
{
|
|
61
|
+
name: "http-listener",
|
|
62
|
+
frontendPortName: "80",
|
|
63
|
+
frontendIpConfigurationName: "Public-frontend-ip-configuration",
|
|
64
|
+
protocol: "Http",
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
backendHttpSettings: [
|
|
68
|
+
{
|
|
69
|
+
name: "backend-http-setting",
|
|
70
|
+
port: 80,
|
|
71
|
+
protocol: "Http",
|
|
72
|
+
requestTimeout: 20,
|
|
73
|
+
cookieBasedAffinity: "Disabled",
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
requestRoutingRules: [
|
|
77
|
+
{
|
|
78
|
+
name: "request-routing-rule-1",
|
|
79
|
+
httpListenerName: "http-listener",
|
|
80
|
+
priority: 1,
|
|
81
|
+
backendAddressPoolName: "backend-address-pool-1",
|
|
82
|
+
backendHttpSettingsName: "backend-http-setting",
|
|
83
|
+
ruleType: "Basic",
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
* });
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
13
89
|
constructor(scope, id, props) {
|
|
14
90
|
super(scope, id);
|
|
15
91
|
// Define the identity
|
|
@@ -119,5 +195,5 @@ class Gateway extends core_azure_1.AzureResource {
|
|
|
119
195
|
}
|
|
120
196
|
exports.Gateway = Gateway;
|
|
121
197
|
_a = JSII_RTTI_SYMBOL_1;
|
|
122
|
-
Gateway[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_applicationgateway.Gateway", version: "0.0.3-pre.
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2F0ZXdheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1hcHBsaWNhdGlvbmdhdGV3YXkvbGliL2dhdGV3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5RkFBcUY7QUFHckYsaUdBQTRGO0FBSTVGLCtGQUEwRjtBQUUxRixtREFBbUQ7QUFDbkQsaURBQWlEO0FBd01qRCxpREFBaUQ7QUFDakQsTUFBYSxPQUFRLFNBQVEsMEJBQWE7SUFJeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLHNCQUFzQjtRQUN0QixJQUFJLFFBQVEsQ0FBQztRQUViLCtEQUErRDtRQUMvRCxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3JDLHNEQUFzRDtZQUN0RCxNQUFNLGVBQWUsR0FBRyxJQUFJLDZDQUFvQixDQUM5QyxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCO2dCQUNFLElBQUksRUFBRSxNQUFNLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ3hCLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDM0MsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2FBQ3pCLENBQ0YsQ0FBQztZQUVGLFFBQVEsR0FBRztnQkFDVCxXQUFXLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLEVBQUUsY0FBYzthQUNyQixDQUFDO1lBRUYsSUFBSSwrQ0FBcUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO2dCQUN4QyxVQUFVLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUM3QixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFO2dCQUM5QixRQUFRLEVBQUUsZUFBZSxDQUFDLFdBQVc7Z0JBQ3JDLGlCQUFpQixF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RUFBRSxLQUFLLENBQUMsT0FBTztnQkFDbkIsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUNuQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7YUFDekI7WUFDRCxzQkFBc0IsRUFBRTtnQkFDdEI7b0JBQ0UsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO29CQUMzQixJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxnQkFBZ0I7aUJBQ3BDO2FBQ0Y7WUFDRCxZQUFZLEVBQUUsYUFBYTtZQUMzQix1QkFBdUIsRUFBRSxpQkFBaUI7WUFDMUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM3QyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzlDLFlBQVksRUFBRSxLQUFLLENBQUMsYUFBYTtZQUNqQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQjtZQUNwRCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzdDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7O0FBaElILDBCQWlJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uR2F0ZXdheSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvYXBwbGljYXRpb24tZ2F0ZXdheVwiO1xuaW1wb3J0ICogYXMgYXphcGd3IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvYXBwbGljYXRpb24tZ2F0ZXdheVwiO1xuaW1wb3J0IHsgS2V5VmF1bHQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2tleS12YXVsdFwiO1xuaW1wb3J0IHsgS2V5VmF1bHRBY2Nlc3NQb2xpY3lBIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9rZXktdmF1bHQtYWNjZXNzLXBvbGljeVwiO1xuaW1wb3J0IHsgUHVibGljSXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3B1YmxpYy1pcFwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCB7IFN1Ym5ldCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvc3VibmV0XCI7XG5pbXBvcnQgeyBVc2VyQXNzaWduZWRJZGVudGl0eSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvdXNlci1hc3NpZ25lZC1pZGVudGl0eVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHZuZXQgZnJvbSBcIi4uLy4uL2F6dXJlLXZpcnR1YWxuZXR3b3JrXCI7XG5pbXBvcnQgeyBBenVyZVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmVcIjtcblxuLy8gRGVmaW5lIHRoZSBpbnRlcmZhY2UgZm9yIEFwcGxpY2F0aW9uIEdhdGV3YXkgcHJvcGVydGllc1xuZXhwb3J0IGludGVyZmFjZSBJR2F0ZXdheVByb3BzIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHB1YmxpYyBJUCBhZGRyZXNzIGZvciB0aGUgZnJvbnRlbmQgb2YgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICBwdWJsaWNJcEFkZHJlc3M/OiBQdWJsaWNJcDtcblxuICAvKipcbiAgICogT3B0aW9uYWwgcHJpdmF0ZSBJUCBhZGRyZXNzIGZvciB0aGUgZnJvbnRlbmQgb2YgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICBwcml2YXRlSXBBZGRyZXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbGxvY2F0aW9uIG1ldGhvZCBmb3IgdGhlIHByaXZhdGUgSVAgYWRkcmVzcyAoZS5nLiwgU3RhdGljLCBEeW5hbWljKS5cbiAgICovXG4gIHByaXZhdGVJcEFkZHJlc3NBbGxvY2F0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5IHdpbGwgYmUgZGVwbG95ZWQgKGUuZy4sIHJlZ2lvbikuXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgZ3JvdXAgdW5kZXIgd2hpY2ggdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkgd2lsbCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG5cbiAgLyoqXG4gICAqIFRoZSBTS1UgdGllciBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheSAoZS5nLiwgU3RhbmRhcmQsIFdBRikuXG4gICAqL1xuICByZWFkb25seSBza3VUaWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBTS1UgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgc2t1U2l6ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY2FwYWNpdHkgKGluc3RhbmNlIGNvdW50KSBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IGNhcGFjaXR5OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBiYWNrZW5kIGFkZHJlc3MgcG9vbHMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgYmFja2VuZEFkZHJlc3NQb29sczogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUJhY2tlbmRBZGRyZXNzUG9vbFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgYmFja2VuZCBIVFRQIHNldHRpbmdzIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IGJhY2tlbmRIdHRwU2V0dGluZ3M6IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlCYWNrZW5kSHR0cFNldHRpbmdzW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZyb250ZW5kIHBvcnRzIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IGZyb250ZW5kUG9ydHM/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5RnJvbnRlbmRQb3J0W107XG5cbiAgLyoqXG4gICAqIFRoZSBIVFRQIGxpc3RlbmVycyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBodHRwTGlzdGVuZXJzOiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5SHR0cExpc3RlbmVyW107XG5cbiAgLyoqXG4gICAqIFRoZSByZXF1ZXN0IHJvdXRpbmcgcnVsZXMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdFJvdXRpbmdSdWxlczogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVJlcXVlc3RSb3V0aW5nUnVsZVtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBzdWJuZXQgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0PzogU3VibmV0O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB0ZW5hbnQgSUQgZm9yIHVzZSB3aXRoIEtleSBWYXVsdCwgaWYgYXBwbGljYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IHRlbmFudElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGVuYWJsZSBIVFRQMi5cbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUh0dHAyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmxhZyB0byBlbmFibGUgRklQUy1jb21wbGlhbnQgYWxnb3JpdGhtcy5cbiAgICovXG4gIHJlYWRvbmx5IGZpcHNFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgSUQgb2YgdGhlIGZpcmV3YWxsIHBvbGljeS5cbiAgICovXG4gIHJlYWRvbmx5IGZpcmV3YWxsUG9saWN5SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gZW5mb3JjZSBhc3NvY2lhdGlvbiBvZiB0aGUgZmlyZXdhbGwgcG9saWN5LlxuICAgKi9cbiAgcmVhZG9ubHkgZm9yY2VGaXJld2FsbFBvbGljeUFzc29jaWF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdGFncyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgYXZhaWxhYmlsaXR5IHpvbmVzIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHpvbmVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIEtleSBWYXVsdCByZXNvdXJjZSBmb3Igc3RvcmluZyBTU0wgY2VydGlmaWNhdGVzLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5VmF1bHQ/OiBLZXlWYXVsdDtcblxuICAvKipcbiAgICogT3B0aW9uYWwgYXV0aGVudGljYXRpb24gY2VydGlmaWNhdGVzIGZvciBtdXR1YWwgYXV0aGVudGljYXRpb24uXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGlvbkNlcnRpZmljYXRlPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUF1dGhlbnRpY2F0aW9uQ2VydGlmaWNhdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgYXV0b3NjYWxlIGNvbmZpZ3VyYXRpb24gZm9yIGR5bmFtaWNhbGx5IGFkanVzdGluZyB0aGUgY2FwYWNpdHkgb2YgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBhdXRvc2NhbGVDb25maWd1cmF0aW9uPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUF1dG9zY2FsZUNvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBlcnJvciBjb25maWd1cmF0aW9ucyB0byBzcGVjaWZ5IGN1c3RvbSBlcnJvciBwYWdlcy5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUVycm9yQ29uZmlndXJhdGlvbj86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlDdXN0b21FcnJvckNvbmZpZ3VyYXRpb25bXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgaWRlbnRpdHkgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LCB1c2VkIGZvciBhY2Nlc3Npbmcgb3RoZXIgQXp1cmUgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHk/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5SWRlbnRpdHk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciBlbmFibGluZyBQcml2YXRlIExpbmsgb24gdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlTGlua0NvbmZpZ3VyYXRpb24/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5UHJpdmF0ZUxpbmtDb25maWd1cmF0aW9uW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHByb2JlcyBmb3IgaGVhbHRoIGNoZWNrcyBvZiB0aGUgYmFja2VuZCBIVFRQIHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvYmU/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5UHJvYmVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgY29uZmlndXJhdGlvbnMgZm9yIHJlZGlyZWN0IHJ1bGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkaXJlY3RDb25maWd1cmF0aW9uPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVJlZGlyZWN0Q29uZmlndXJhdGlvbltdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCByZXdyaXRlIHJ1bGUgc2V0cyBmb3IgbW9kaWZ5aW5nIEhUVFAgcmVxdWVzdCBhbmQgcmVzcG9uc2UgaGVhZGVycyBhbmQgYm9kaWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmV3cml0ZVJ1bGVTZXQ/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5UmV3cml0ZVJ1bGVTZXRbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgU1NMIGNlcnRpZmljYXRlcyBmb3IgZW5hYmxpbmcgSFRUUFMgb24gdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBzc2xDZXJ0aWZpY2F0ZT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlTc2xDZXJ0aWZpY2F0ZVtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBTU0wgcG9saWN5IGNvbmZpZ3VyYXRpb25zLCBkZWZpbmluZyB0aGUgcHJvdG9jb2wgYW5kIGNpcGhlciBzdWl0ZXMgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNzbFBvbGljeT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlTc2xQb2xpY3k7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIFNTTCBwcm9maWxlcyBmb3IgbWFuYWdpbmcgU1NMIHRlcm1pbmF0aW9uIGFuZCBwb2xpY3kgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBzc2xQcm9maWxlPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVNzbFByb2ZpbGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdGltZW91dCBzZXR0aW5ncyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dHM/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5VGltZW91dHM7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHRydXN0ZWQgY2xpZW50IGNlcnRpZmljYXRlcyBmb3IgbXV0dWFsIGF1dGhlbnRpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJ1c3RlZENsaWVudENlcnRpZmljYXRlPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVRydXN0ZWRDbGllbnRDZXJ0aWZpY2F0ZVtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB0cnVzdGVkIHJvb3QgY2VydGlmaWNhdGVzIGZvciBiYWNrZW5kIGF1dGhlbnRpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJ1c3RlZFJvb3RDZXJ0aWZpY2F0ZT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlUcnVzdGVkUm9vdENlcnRpZmljYXRlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIFVSTCBwYXRoIG1hcCBmb3Igcm91dGluZyBiYXNlZCBvbiBVUkwgcGF0aHMuXG4gICAqL1xuICByZWFkb25seSB1cmxQYXRoTWFwPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVVybFBhdGhNYXBbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgV2ViIEFwcGxpY2F0aW9uIEZpcmV3YWxsIChXQUYpIGNvbmZpZ3VyYXRpb24gdG8gcHJvdmlkZSBlbmhhbmNlZCBzZWN1cml0eS5cbiAgICovXG4gIHJlYWRvbmx5IHdhZkNvbmZpZ3VyYXRpb24/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5V2FmQ29uZmlndXJhdGlvbjtcbn1cblxuLy8gRGVmaW5lIHRoZSBjbGFzcyBmb3IgQXp1cmUgQXBwbGljYXRpb24gR2F0ZXdheVxuZXhwb3J0IGNsYXNzIEdhdGV3YXkgZXh0ZW5kcyBBenVyZVJlc291cmNlIHtcbiAgcHVibGljIHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJR2F0ZXdheVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIERlZmluZSB0aGUgaWRlbnRpdHlcbiAgICBsZXQgaWRlbnRpdHk7XG5cbiAgICAvLyBDaGVjayBpZiBBenVyZSBLZXkgVmF1bHQgaXMgdXNlZCBhbmQgbm8gaWRlbnRpdHkgaXMgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMua2V5VmF1bHQgJiYgIXByb3BzLmlkZW50aXR5KSB7XG4gICAgICAvLyBDcmVhdGUgYSBtYW5hZ2VkIGlkZW50aXR5IGFuZCBhZGQgaXQgdG8gaWRlbnRpdHlJZHNcbiAgICAgIGNvbnN0IG1hbmFnZWRJZGVudGl0eSA9IG5ldyBVc2VyQXNzaWduZWRJZGVudGl0eShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJNYW5hZ2VkSWRlbnRpdHlcIixcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IGBtaS0ke3Byb3BzLm5hbWV9YCxcbiAgICAgICAgICByZXNvdXJjZUdyb3VwTmFtZTogcHJvcHMucmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgICAgIGxvY2F0aW9uOiBwcm9wcy5sb2NhdGlvbixcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGlkZW50aXR5ID0ge1xuICAgICAgICBpZGVudGl0eUlkczogW21hbmFnZWRJZGVudGl0eS5pZF0sXG4gICAgICAgIHR5cGU6IFwiVXNlckFzc2lnbmVkXCIsXG4gICAgICB9O1xuXG4gICAgICBuZXcgS2V5VmF1bHRBY2Nlc3NQb2xpY3lBKHRoaXMsIFwicG9saWN5XCIsIHtcbiAgICAgICAga2V5VmF1bHRJZDogcHJvcHMua2V5VmF1bHQuaWQsXG4gICAgICAgIHRlbmFudElkOiBwcm9wcy50ZW5hbnRJZCB8fCBcIlwiLFxuICAgICAgICBvYmplY3RJZDogbWFuYWdlZElkZW50aXR5LnByaW5jaXBhbElkLFxuICAgICAgICBzZWNyZXRQZXJtaXNzaW9uczogW1wiR2V0XCIsIFwiTGlzdFwiXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgc3VibmV0SWQ6XG4gICAgICAgIHByb3BzLnN1Ym5ldD8uaWQgfHxcbiAgICAgICAgbmV3IHZuZXQuTmV0d29yayh0aGlzLCBcInZuZXRcIiwge1xuICAgICAgICAgIHJlc291cmNlR3JvdXA6IHByb3BzLnJlc291cmNlR3JvdXAsXG4gICAgICAgIH0pLnN1Ym5ldHMuZGVmYXVsdC5pZCxcbiAgICAgIGlkZW50aXR5OiBwcm9wcy5pZGVudGl0eSB8fCBpZGVudGl0eSxcbiAgICB9O1xuXG4gICAgLy8gV0FGIGNvbmZpZ3VyYXRpb25cbiAgICBsZXQgd2FmQ29uZmlndXJhdGlvbiA9IHByb3BzLndhZkNvbmZpZ3VyYXRpb25cbiAgICAgID8ge1xuICAgICAgICAgIGVuYWJsZWQ6IHByb3BzLndhZkNvbmZpZ3VyYXRpb24uZW5hYmxlZCxcbiAgICAgICAgICBmaXJld2FsbE1vZGU6IHByb3BzLndhZkNvbmZpZ3VyYXRpb24uZmlyZXdhbGxNb2RlIHx8IFwiRGV0ZWN0aW9uXCIsXG4gICAgICAgICAgcnVsZVNldFZlcnNpb246IHByb3BzLndhZkNvbmZpZ3VyYXRpb24ucnVsZVNldFZlcnNpb24gfHwgXCIzLjBcIixcbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyBEeW5hbWljYWxseSBjcmVhdGUgZnJvbnRlbmQgSVAgY29uZmlndXJhdGlvbnNcbiAgICBsZXQgZnJvbnRlbmRJcENvbmZpZ3MgPSBbXTtcblxuICAgIC8vIFB1YmxpYyBJUCBjb25maWd1cmF0aW9uXG4gICAgaWYgKHByb3BzLnB1YmxpY0lwQWRkcmVzcykge1xuICAgICAgZnJvbnRlbmRJcENvbmZpZ3MucHVzaCh7XG4gICAgICAgIG5hbWU6IFwiUHVibGljLWZyb250ZW5kLWlwLWNvbmZpZ3VyYXRpb25cIixcbiAgICAgICAgcHVibGljSXBBZGRyZXNzSWQ6IHByb3BzLnB1YmxpY0lwQWRkcmVzcy5pZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFByaXZhdGUgSVAgY29uZmlndXJhdGlvblxuICAgIGlmIChwcm9wcy5wcml2YXRlSXBBZGRyZXNzIHx8IHByb3BzLnByaXZhdGVJcEFkZHJlc3NBbGxvY2F0aW9uKSB7XG4gICAgICBmcm9udGVuZElwQ29uZmlncy5wdXNoKHtcbiAgICAgICAgbmFtZTogXCJQcml2YXRlLWZyb250ZW5kLWlwLWNvbmZpZ3VyYXRpb25cIixcbiAgICAgICAgc3VibmV0SWQ6IGRlZmF1bHRzLnN1Ym5ldElkLFxuICAgICAgICBwcml2YXRlSXBBZGRyZXNzOiBwcm9wcy5wcml2YXRlSXBBZGRyZXNzLFxuICAgICAgICBwcml2YXRlSXBBZGRyZXNzQWxsb2NhdGlvbjogcHJvcHMucHJpdmF0ZUlwQWRkcmVzc0FsbG9jYXRpb24sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBTZXQgZGVmYXVsdCBmcm9udGVuZCBwb3J0cyBpZiBub3QgcHJvdmlkZWRcbiAgICBjb25zdCBkZWZhdWx0RnJvbnRlbmRQb3J0cyA9IFtcbiAgICAgIHsgbmFtZTogXCI4MFwiLCBwb3J0OiA4MCB9LFxuICAgICAgeyBuYW1lOiBcIjQ0M1wiLCBwb3J0OiA0NDMgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgZnJvbnRlbmRQb3J0cyA9XG4gICAgICBwcm9wcy5mcm9udGVuZFBvcnRzICYmIHByb3BzLmZyb250ZW5kUG9ydHMubGVuZ3RoID4gMFxuICAgICAgICA/IHByb3BzLmZyb250ZW5kUG9ydHNcbiAgICAgICAgOiBkZWZhdWx0RnJvbnRlbmRQb3J0cztcblxuICAgIC8vIENyZWF0ZSB0aGUgQXBwbGljYXRpb24gR2F0ZXdheVxuICAgIGNvbnN0IGFwZ3cgPSBuZXcgQXBwbGljYXRpb25HYXRld2F5KHRoaXMsIFwiQXBwbGljYXRpb25HYXRld2F5XCIsIHtcbiAgICAgIG5hbWU6IHByb3BzLm5hbWUsXG4gICAgICByZXNvdXJjZUdyb3VwTmFtZTogcHJvcHMucmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgbG9jYXRpb246IHByb3BzLmxvY2F0aW9uLFxuICAgICAgc3NsQ2VydGlmaWNhdGU6IHByb3BzLnNzbENlcnRpZmljYXRlLFxuICAgICAgc3NsUG9saWN5OiBwcm9wcy5zc2xQb2xpY3ksXG4gICAgICBzc2xQcm9maWxlOiBwcm9wcy5zc2xQcm9maWxlLFxuICAgICAgYXV0aGVudGljYXRpb25DZXJ0aWZpY2F0ZTogcHJvcHMuYXV0aGVudGljYXRpb25DZXJ0aWZpY2F0ZSxcbiAgICAgIGF1dG9zY2FsZUNvbmZpZ3VyYXRpb246IHByb3BzLmF1dG9zY2FsZUNvbmZpZ3VyYXRpb24sXG4gICAgICBjdXN0b21FcnJvckNvbmZpZ3VyYXRpb246IHByb3BzLmN1c3RvbUVycm9yQ29uZmlndXJhdGlvbixcbiAgICAgIHJlZGlyZWN0Q29uZmlndXJhdGlvbjogcHJvcHMucmVkaXJlY3RDb25maWd1cmF0aW9uLFxuICAgICAgcmV3cml0ZVJ1bGVTZXQ6IHByb3BzLnJld3JpdGVSdWxlU2V0LFxuICAgICAgcHJpdmF0ZUxpbmtDb25maWd1cmF0aW9uOiBwcm9wcy5wcml2YXRlTGlua0NvbmZpZ3VyYXRpb24sXG4gICAgICB3YWZDb25maWd1cmF0aW9uOiB3YWZDb25maWd1cmF0aW9uLFxuICAgICAgc2t1OiB7XG4gICAgICAgIG5hbWU6IHByb3BzLnNrdVNpemUsXG4gICAgICAgIHRpZXI6IHByb3BzLnNrdVRpZXIsXG4gICAgICAgIGNhcGFjaXR5OiBwcm9wcy5jYXBhY2l0eSxcbiAgICAgIH0sXG4gICAgICBnYXRld2F5SXBDb25maWd1cmF0aW9uOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBzdWJuZXRJZDogZGVmYXVsdHMuc3VibmV0SWQsXG4gICAgICAgICAgbmFtZTogYCR7cHJvcHMubmFtZX0tY29uZmlndXJhdGlvbmAsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgZnJvbnRlbmRQb3J0OiBmcm9udGVuZFBvcnRzLFxuICAgICAgZnJvbnRlbmRJcENvbmZpZ3VyYXRpb246IGZyb250ZW5kSXBDb25maWdzLFxuICAgICAgYmFja2VuZEFkZHJlc3NQb29sOiBwcm9wcy5iYWNrZW5kQWRkcmVzc1Bvb2xzLFxuICAgICAgYmFja2VuZEh0dHBTZXR0aW5nczogcHJvcHMuYmFja2VuZEh0dHBTZXR0aW5ncyxcbiAgICAgIGh0dHBMaXN0ZW5lcjogcHJvcHMuaHR0cExpc3RlbmVycyxcbiAgICAgIHVybFBhdGhNYXA6IHByb3BzLnVybFBhdGhNYXAsXG4gICAgICB0cnVzdGVkUm9vdENlcnRpZmljYXRlOiBwcm9wcy50cnVzdGVkUm9vdENlcnRpZmljYXRlLFxuICAgICAgcmVxdWVzdFJvdXRpbmdSdWxlOiBwcm9wcy5yZXF1ZXN0Um91dGluZ1J1bGVzLFxuICAgICAgcHJvYmU6IHByb3BzLnByb2JlLFxuICAgICAgaWRlbnRpdHk6IGRlZmF1bHRzLmlkZW50aXR5LFxuICAgICAgem9uZXM6IHByb3BzLnpvbmVzLFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICB9KTtcblxuICAgIHRoaXMuaWQgPSBhcGd3LmlkO1xuICAgIHRoaXMucmVzb3VyY2VHcm91cCA9IHByb3BzLnJlc291cmNlR3JvdXA7XG4gIH1cbn1cbiJdfQ==
|
|
198
|
+
Gateway[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_applicationgateway.Gateway", version: "0.0.3-pre.7" };
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2F0ZXdheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1hcHBsaWNhdGlvbmdhdGV3YXkvbGliL2dhdGV3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5RkFBcUY7QUFHckYsaUdBQTRGO0FBSTVGLCtGQUEwRjtBQUUxRixtREFBbUQ7QUFDbkQsaURBQWlEO0FBd01qRCxpREFBaUQ7QUFDakQsTUFBYSxPQUFRLFNBQVEsMEJBQWE7SUFJeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTJFRztJQUVILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixzQkFBc0I7UUFDdEIsSUFBSSxRQUFRLENBQUM7UUFFYiwrREFBK0Q7UUFDL0QsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNyQyxzREFBc0Q7WUFDdEQsTUFBTSxlQUFlLEdBQUcsSUFBSSw2Q0FBb0IsQ0FDOUMsSUFBSSxFQUNKLGlCQUFpQixFQUNqQjtnQkFDRSxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFO2dCQUN4QixpQkFBaUIsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUk7Z0JBQzNDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QixDQUNGLENBQUM7WUFFRixRQUFRLEdBQUc7Z0JBQ1QsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxFQUFFLGNBQWM7YUFDckIsQ0FBQztZQUVGLElBQUksK0NBQXFCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQkFDeEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFD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Q3BDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyx3QkFBd0I7WUFDeEQsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLEdBQUcsRUFBRTtnQkFDSCxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ25CLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDbkIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2FBQ3pCO1lBQ0Qsc0JBQXNCLEVBQUU7Z0JBQ3RCO29CQUNFLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtvQkFDM0IsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksZ0JBQWdCO2lCQUNwQzthQUNGO1lBQ0QsWUFBWSxFQUFFLGFBQWE7WUFDM0IsdUJBQXVCLEVBQUUsaUJBQWlCO1lBQzFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDN0MsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxZQUFZLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDakMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxzQkFBc0I7WUFDcEQsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM3QyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO1lBQzNCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUMzQyxDQUFDOztBQTdNSCwwQkE4TUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkdhdGV3YXkgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2FwcGxpY2F0aW9uLWdhdGV3YXlcIjtcbmltcG9ydCAqIGFzIGF6YXBndyBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2FwcGxpY2F0aW9uLWdhdGV3YXlcIjtcbmltcG9ydCB7IEtleVZhdWx0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9rZXktdmF1bHRcIjtcbmltcG9ydCB7IEtleVZhdWx0QWNjZXNzUG9saWN5QSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIva2V5LXZhdWx0LWFjY2Vzcy1wb2xpY3lcIjtcbmltcG9ydCB7IFB1YmxpY0lwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9wdWJsaWMtaXBcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBTdWJuZXQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N1Ym5ldFwiO1xuaW1wb3J0IHsgVXNlckFzc2lnbmVkSWRlbnRpdHkgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3VzZXItYXNzaWduZWQtaWRlbnRpdHlcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyB2bmV0IGZyb20gXCIuLi8uLi9henVyZS12aXJ0dWFsbmV0d29ya1wiO1xuaW1wb3J0IHsgQXp1cmVSZXNvdXJjZSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlXCI7XG5cbi8vIERlZmluZSB0aGUgaW50ZXJmYWNlIGZvciBBcHBsaWNhdGlvbiBHYXRld2F5IHByb3BlcnRpZXNcbmV4cG9ydCBpbnRlcmZhY2UgSUdhdGV3YXlQcm9wcyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBwdWJsaWMgSVAgYWRkcmVzcyBmb3IgdGhlIGZyb250ZW5kIG9mIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcHVibGljSXBBZGRyZXNzPzogUHVibGljSXA7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHByaXZhdGUgSVAgYWRkcmVzcyBmb3IgdGhlIGZyb250ZW5kIG9mIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcHJpdmF0ZUlwQWRkcmVzcz86IHN0cmluZztcblxuICAvKipcbiAgICogQWxsb2NhdGlvbiBtZXRob2QgZm9yIHRoZSBwcml2YXRlIElQIGFkZHJlc3MgKGUuZy4sIFN0YXRpYywgRHluYW1pYykuXG4gICAqL1xuICBwcml2YXRlSXBBZGRyZXNzQWxsb2NhdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgQXBwbGljYXRpb24gR2F0ZXdheSB3aWxsIGJlIGRlcGxveWVkIChlLmcuLCByZWdpb24pLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlIGdyb3VwIHVuZGVyIHdoaWNoIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5IHdpbGwgYmUgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuXG4gIC8qKlxuICAgKiBUaGUgU0tVIHRpZXIgb2YgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkgKGUuZy4sIFN0YW5kYXJkLCBXQUYpLlxuICAgKi9cbiAgcmVhZG9ubHkgc2t1VGllcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgU0tVIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHNrdVNpemU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhcGFjaXR5IChpbnN0YW5jZSBjb3VudCkgb2YgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBjYXBhY2l0eTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYmFja2VuZCBhZGRyZXNzIHBvb2xzIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IGJhY2tlbmRBZGRyZXNzUG9vbHM6IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlCYWNrZW5kQWRkcmVzc1Bvb2xbXTtcblxuICAvKipcbiAgICogVGhlIGJhY2tlbmQgSFRUUCBzZXR0aW5ncyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBiYWNrZW5kSHR0cFNldHRpbmdzOiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5QmFja2VuZEh0dHBTZXR0aW5nc1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBmcm9udGVuZCBwb3J0cyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBmcm9udGVuZFBvcnRzPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUZyb250ZW5kUG9ydFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUCBsaXN0ZW5lcnMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cExpc3RlbmVyczogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUh0dHBMaXN0ZW5lcltdO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVxdWVzdCByb3V0aW5nIHJ1bGVzIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RSb3V0aW5nUnVsZXM6IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlSZXF1ZXN0Um91dGluZ1J1bGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgc3VibmV0IGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldD86IFN1Ym5ldDtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdGVuYW50IElEIGZvciB1c2Ugd2l0aCBLZXkgVmF1bHQsIGlmIGFwcGxpY2FibGUuXG4gICAqL1xuICByZWFkb25seSB0ZW5hbnRJZD86IHN0cmluZztcblxuICAvKipcbiAgICogRmxhZyB0byBlbmFibGUgSFRUUDIuXG4gICAqL1xuICByZWFkb25seSBlbmFibGVIdHRwMj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gZW5hYmxlIEZJUFMtY29tcGxpYW50IGFsZ29yaXRobXMuXG4gICAqL1xuICByZWFkb25seSBmaXBzRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIElEIG9mIHRoZSBmaXJld2FsbCBwb2xpY3kuXG4gICAqL1xuICByZWFkb25seSBmaXJld2FsbFBvbGljeUlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGVuZm9yY2UgYXNzb2NpYXRpb24gb2YgdGhlIGZpcmV3YWxsIHBvbGljeS5cbiAgICovXG4gIHJlYWRvbmx5IGZvcmNlRmlyZXdhbGxQb2xpY3lBc3NvY2lhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHRhZ3MgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5IHJlc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGF2YWlsYWJpbGl0eSB6b25lcyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSB6b25lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBLZXkgVmF1bHQgcmVzb3VyY2UgZm9yIHN0b3JpbmcgU1NMIGNlcnRpZmljYXRlcy5cbiAgICovXG4gIHJlYWRvbmx5IGtleVZhdWx0PzogS2V5VmF1bHQ7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGF1dGhlbnRpY2F0aW9uIGNlcnRpZmljYXRlcyBmb3IgbXV0dWFsIGF1dGhlbnRpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aGVudGljYXRpb25DZXJ0aWZpY2F0ZT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlBdXRoZW50aWNhdGlvbkNlcnRpZmljYXRlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGF1dG9zY2FsZSBjb25maWd1cmF0aW9uIGZvciBkeW5hbWljYWxseSBhZGp1c3RpbmcgdGhlIGNhcGFjaXR5IG9mIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b3NjYWxlQ29uZmlndXJhdGlvbj86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlBdXRvc2NhbGVDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjdXN0b20gZXJyb3IgY29uZmlndXJhdGlvbnMgdG8gc3BlY2lmeSBjdXN0b20gZXJyb3IgcGFnZXMuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21FcnJvckNvbmZpZ3VyYXRpb24/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5Q3VzdG9tRXJyb3JDb25maWd1cmF0aW9uW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGlkZW50aXR5IGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheSwgdXNlZCBmb3IgYWNjZXNzaW5nIG90aGVyIEF6dXJlIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5PzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUlkZW50aXR5O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjb25maWd1cmF0aW9ucyBmb3IgZW5hYmxpbmcgUHJpdmF0ZSBMaW5rIG9uIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUxpbmtDb25maWd1cmF0aW9uPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVByaXZhdGVMaW5rQ29uZmlndXJhdGlvbltdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcm9iZXMgZm9yIGhlYWx0aCBjaGVja3Mgb2YgdGhlIGJhY2tlbmQgSFRUUCBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2JlPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVByb2JlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciByZWRpcmVjdCBydWxlcy5cbiAgICovXG4gIHJlYWRvbmx5IHJlZGlyZWN0Q29uZmlndXJhdGlvbj86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlSZWRpcmVjdENvbmZpZ3VyYXRpb25bXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgcmV3cml0ZSBydWxlIHNldHMgZm9yIG1vZGlmeWluZyBIVFRQIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGhlYWRlcnMgYW5kIGJvZGllcy5cbiAgICovXG4gIHJlYWRvbmx5IHJld3JpdGVSdWxlU2V0PzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVJld3JpdGVSdWxlU2V0W107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIFNTTCBjZXJ0aWZpY2F0ZXMgZm9yIGVuYWJsaW5nIEhUVFBTIG9uIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3NsQ2VydGlmaWNhdGU/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5U3NsQ2VydGlmaWNhdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgU1NMIHBvbGljeSBjb25maWd1cmF0aW9ucywgZGVmaW5pbmcgdGhlIHByb3RvY29sIGFuZCBjaXBoZXIgc3VpdGVzIHVzZWQuXG4gICAqL1xuICByZWFkb25seSBzc2xQb2xpY3k/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5U3NsUG9saWN5O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBTU0wgcHJvZmlsZXMgZm9yIG1hbmFnaW5nIFNTTCB0ZXJtaW5hdGlvbiBhbmQgcG9saWN5IHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3NsUHJvZmlsZT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlTc2xQcm9maWxlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHRpbWVvdXQgc2V0dGluZ3MgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5IHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXRzPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVRpbWVvdXRzO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB0cnVzdGVkIGNsaWVudCBjZXJ0aWZpY2F0ZXMgZm9yIG11dHVhbCBhdXRoZW50aWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRydXN0ZWRDbGllbnRDZXJ0aWZpY2F0ZT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlUcnVzdGVkQ2xpZW50Q2VydGlmaWNhdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdHJ1c3RlZCByb290IGNlcnRpZmljYXRlcyBmb3IgYmFja2VuZCBhdXRoZW50aWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRydXN0ZWRSb290Q2VydGlmaWNhdGU/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5VHJ1c3RlZFJvb3RDZXJ0aWZpY2F0ZVtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBVUkwgcGF0aCBtYXAgZm9yIHJvdXRpbmcgYmFzZWQgb24gVVJMIHBhdGhzLlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsUGF0aE1hcD86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlVcmxQYXRoTWFwW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIFdlYiBBcHBsaWNhdGlvbiBGaXJld2FsbCAoV0FGKSBjb25maWd1cmF0aW9uIHRvIHByb3ZpZGUgZW5oYW5jZWQgc2VjdXJpdHkuXG4gICAqL1xuICByZWFkb25seSB3YWZDb25maWd1cmF0aW9uPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVdhZkNvbmZpZ3VyYXRpb247XG59XG5cbi8vIERlZmluZSB0aGUgY2xhc3MgZm9yIEF6dXJlIEFwcGxpY2F0aW9uIEdhdGV3YXlcbmV4cG9ydCBjbGFzcyBHYXRld2F5IGV4dGVuZHMgQXp1cmVSZXNvdXJjZSB7XG4gIHB1YmxpYyByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBBenVyZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgSUQgb2YgdGhpcyBjb25zdHJ1Y3QuXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBwcm9wZXJ0aWVzIGZvciBjb25maWd1cmluZyB0aGUgQXp1cmUgQXBwbGljYXRpb24gR2F0ZXdheS4gVGhlIHByb3BlcnRpZXMgaW5jbHVkZTpcbiAgICogICAgICAgICAgICAgICAgLSBgbmFtZWA6IFJlcXVpcmVkLiBVbmlxdWUgbmFtZSBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkgd2l0aGluIEF6dXJlLlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2NhdGlvbmA6IFJlcXVpcmVkLiBBenVyZSBSZWdpb24gZm9yIGRlcGxveW1lbnQuXG4gICAqICAgICAgICAgICAgICAgIC0gYHJlc291cmNlR3JvdXBgOiBSZXF1aXJlZC4gUmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBncm91cCBmb3IgZGVwbG95bWVudC5cbiAgICogICAgICAgICAgICAgICAgLSBgc2t1VGllcmA6IFJlcXVpcmVkLiBTS1UgdGllciBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheSAoZS5nLiwgU3RhbmRhcmQsIFdBRikuXG4gICAqICAgICAgICAgICAgICAgIC0gYHNrdVNpemVgOiBSZXF1aXJlZC4gU2l6ZSBvZiB0aGUgU0tVIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICogICAgICAgICAgICAgICAgLSBgY2FwYWNpdHlgOiBSZXF1aXJlZC4gQ2FwYWNpdHkgKGluc3RhbmNlIGNvdW50KSBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICogICAgICAgICAgICAgICAgLSBgYmFja2VuZEFkZHJlc3NQb29sc2A6IFJlcXVpcmVkLiBCYWNrZW5kIGFkZHJlc3MgcG9vbHMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKiAgICAgICAgICAgICAgICAtIGBiYWNrZW5kSHR0cFNldHRpbmdzYDogUmVxdWlyZWQuIEJhY2tlbmQgSFRUUCBzZXR0aW5ncyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqICAgICAgICAgICAgICAgIC0gYGh0dHBMaXN0ZW5lcnNgOiBSZXF1aXJlZC4gSFRUUCBsaXN0ZW5lcnMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKiAgICAgICAgICAgICAgICAtIGByZXF1ZXN0Um91dGluZ1J1bGVzYDogUmVxdWlyZWQuIFJlcXVlc3Qgcm91dGluZyBydWxlcyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqICAgICAgICAgICAgICAgIC0gYHB1YmxpY0lwQWRkcmVzc2A6IE9wdGlvbmFsLiBQdWJsaWMgSVAgYWRkcmVzcyBmb3IgdGhlIGZyb250ZW5kLlxuICAgKiAgICAgICAgICAgICAgICAtIGBwcml2YXRlSXBBZGRyZXNzYDogT3B0aW9uYWwuIFByaXZhdGUgSVAgYWRkcmVzcyBmb3IgdGhlIGZyb250ZW5kLlxuICAgKiAgICAgICAgICAgICAgICAtIGBwcml2YXRlSXBBZGRyZXNzQWxsb2NhdGlvbmA6IE9wdGlvbmFsLiBBbGxvY2F0aW9uIG1ldGhvZCBmb3IgdGhlIHByaXZhdGUgSVAgKFN0YXRpYywgRHluYW1pYykuXG4gICAqICAgICAgICAgICAgICAgIC0gYGZyb250ZW5kUG9ydHNgOiBPcHRpb25hbC4gRnJvbnRlbmQgcG9ydHMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKiAgICAgICAgICAgICAgICAtIGBzdWJuZXRgOiBPcHRpb25hbC4gU3VibmV0IGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICogICAgICAgICAgICAgICAgLSBgZW5hYmxlSHR0cDJgOiBPcHRpb25hbC4gRmxhZyB0byBlbmFibGUgSFRUUDIuXG4gICAqICAgICAgICAgICAgICAgIC0gYGZpcHNFbmFibGVkYDogT3B0aW9uYWwuIEZsYWcgdG8gZW5hYmxlIEZJUFMtY29tcGxpYW50IGFsZ29yaXRobXMuXG4gICAqICAgICAgICAgICAgICAgIC0gYGZpcmV3YWxsUG9saWN5SWRgOiBPcHRpb25hbC4gSUQgb2YgdGhlIGZpcmV3YWxsIHBvbGljeS5cbiAgICogICAgICAgICAgICAgICAgLSBgZm9yY2VGaXJld2FsbFBvbGljeUFzc29jaWF0aW9uYDogT3B0aW9uYWwuIEZsYWcgdG8gZW5mb3JjZSBhc3NvY2lhdGlvbiBvZiB0aGUgZmlyZXdhbGwgcG9saWN5LlxuICAgKiAgICAgICAgICAgICAgICAtIGB0YWdzYDogT3B0aW9uYWwuIFRhZ3MgZm9yIHJlc291cmNlIG1hbmFnZW1lbnQuXG4gICAqICAgICAgICAgICAgICAgIC0gQWRkaXRpb25hbCBvcHRpb25hbCBwcm9wZXJ0aWVzIGFzIGRlc2NyaWJlZCBpbiBgSUdhdGV3YXlQcm9wc2AgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIG5ldyBHYXRld2F5KHRoaXMsICdhcHBHYXRld2F5MScsIHtcbiAgICogICBuYW1lOiAnZ2F0ZXdheUVhc3QnLFxuICAgKiAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlR3JvdXAsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHNrdVRpZXI6IFwiU3RhbmRhcmRfdjJcIixcbiAgICAgIHNrdVNpemU6IFwiU3RhbmRhcmRfdjJcIixcbiAgICAgIGNhcGFjaXR5OiAyLFxuICAgICAgcHVibGljSXBBZGRyZXNzOiBwdWJsaWNJcCxcbiAgICAgIHN1Ym5ldDogc3VibmV0LFxuICAgICAgYmFja2VuZEFkZHJlc3NQb29sczogW1xuICAgICAgICB7IG5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMVwiIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcImJhY2tlbmQtYWRkcmVzcy1wb29sLTJcIixcbiAgICAgICAgICBpcEFkZHJlc3NlczogW1wiMTAuMS4wLjRcIiwgXCIxMC4xLjAuNVwiLCBcIjEwLjEuMC42XCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGh0dHBMaXN0ZW5lcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiaHR0cC1saXN0ZW5lclwiLFxuICAgICAgICAgIGZyb250ZW5kUG9ydE5hbWU6IFwiODBcIixcbiAgICAgICAgICBmcm9udGVuZElwQ29uZmlndXJhdGlvbk5hbWU6IFwiUHVibGljLWZyb250ZW5kLWlwLWNvbmZpZ3VyYXRpb25cIixcbiAgICAgICAgICBwcm90b2NvbDogXCJIdHRwXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgYmFja2VuZEh0dHBTZXR0aW5nczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJiYWNrZW5kLWh0dHAtc2V0dGluZ1wiLFxuICAgICAgICAgIHBvcnQ6IDgwLFxuICAgICAgICAgIHByb3RvY29sOiBcIkh0dHBcIixcbiAgICAgICAgICByZXF1ZXN0VGltZW91dDogMjAsXG4gICAgICAgICAgY29va2llQmFzZWRBZmZpbml0eTogXCJEaXNhYmxlZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHJlcXVlc3RSb3V0aW5nUnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwicmVxdWVzdC1yb3V0aW5nLXJ1bGUtMVwiLFxuICAgICAgICAgIGh0dHBMaXN0ZW5lck5hbWU6IFwiaHR0cC1saXN0ZW5lclwiLFxuICAgICAgICAgIHByaW9yaXR5OiAxLFxuICAgICAgICAgIGJhY2tlbmRBZGRyZXNzUG9vbE5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMVwiLFxuICAgICAgICAgIGJhY2tlbmRIdHRwU2V0dGluZ3NOYW1lOiBcImJhY2tlbmQtaHR0cC1zZXR0aW5nXCIsXG4gICAgICAgICAgcnVsZVR5cGU6IFwiQmFzaWNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IElHYXRld2F5UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gRGVmaW5lIHRoZSBpZGVudGl0eVxuICAgIGxldCBpZGVudGl0eTtcblxuICAgIC8vIENoZWNrIGlmIEF6dXJlIEtleSBWYXVsdCBpcyB1c2VkIGFuZCBubyBpZGVudGl0eSBpcyBwcm92aWRlZFxuICAgIGlmIChwcm9wcy5rZXlWYXVsdCAmJiAhcHJvcHMuaWRlbnRpdHkpIHtcbiAgICAgIC8vIENyZWF0ZSBhIG1hbmFnZWQgaWRlbnRpdHkgYW5kIGFkZCBpdCB0byBpZGVudGl0eUlkc1xuICAgICAgY29uc3QgbWFuYWdlZElkZW50aXR5ID0gbmV3IFVzZXJBc3NpZ25lZElkZW50aXR5KFxuICAgICAgICB0aGlzLFxuICAgICAgICBcIk1hbmFnZWRJZGVudGl0eVwiLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogYG1pLSR7cHJvcHMubmFtZX1gLFxuICAgICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICAgICAgbG9jYXRpb246IHByb3BzLmxvY2F0aW9uLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgaWRlbnRpdHkgPSB7XG4gICAgICAgIGlkZW50aXR5SWRzOiBbbWFuYWdlZElkZW50aXR5LmlkXSxcbiAgICAgICAgdHlwZTogXCJVc2VyQXNzaWduZWRcIixcbiAgICAgIH07XG5cbiAgICAgIG5ldyBLZXlWYXVsdEFjY2Vzc1BvbGljeUEodGhpcywgXCJwb2xpY3lcIiwge1xuICAgICAgICBrZXlWYXVsdElkOiBwcm9wcy5rZXlWYXVsdC5pZCxcbiAgICAgICAgdGVuYW50SWQ6IHByb3BzLnRlbmFudElkIHx8IFwiXCIsXG4gICAgICAgIG9iamVjdElkOiBtYW5hZ2VkSWRlbnRpdHkucHJpbmNpcGFsSWQsXG4gICAgICAgIHNlY3JldFBlcm1pc3Npb25zOiBbXCJHZXRcIiwgXCJMaXN0XCJdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBzdWJuZXRJZDpcbiAgICAgICAgcHJvcHMuc3VibmV0Py5pZCB8fFxuICAgICAgICBuZXcgdm5ldC5OZXR3b3JrKHRoaXMsIFwidm5ldFwiLCB7XG4gICAgICAgICAgcmVzb3VyY2VHcm91cDogcHJvcHMucmVzb3VyY2VHcm91cCxcbiAgICAgICAgfSkuc3VibmV0cy5kZWZhdWx0LmlkLFxuICAgICAgaWRlbnRpdHk6IHByb3BzLmlkZW50aXR5IHx8IGlkZW50aXR5LFxuICAgIH07XG5cbiAgICAvLyBXQUYgY29uZmlndXJhdGlvblxuICAgIGxldCB3YWZDb25maWd1cmF0aW9uID0gcHJvcHMud2FmQ29uZmlndXJhdGlvblxuICAgICAgPyB7XG4gICAgICAgICAgZW5hYmxlZDogcHJvcHMud2FmQ29uZmlndXJhdGlvbi5lbmFibGVkLFxuICAgICAgICAgIGZpcmV3YWxsTW9kZTogcHJvcHMud2FmQ29uZmlndXJhdGlvbi5maXJld2FsbE1vZGUgfHwgXCJEZXRlY3Rpb25cIixcbiAgICAgICAgICBydWxlU2V0VmVyc2lvbjogcHJvcHMud2FmQ29uZmlndXJhdGlvbi5ydWxlU2V0VmVyc2lvbiB8fCBcIjMuMFwiLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIC8vIER5bmFtaWNhbGx5IGNyZWF0ZSBmcm9udGVuZCBJUCBjb25maWd1cmF0aW9uc1xuICAgIGxldCBmcm9udGVuZElwQ29uZmlncyA9IFtdO1xuXG4gICAgLy8gUHVibGljIElQIGNvbmZpZ3VyYXRpb25cbiAgICBpZiAocHJvcHMucHVibGljSXBBZGRyZXNzKSB7XG4gICAgICBmcm9udGVuZElwQ29uZmlncy5wdXNoKHtcbiAgICAgICAgbmFtZTogXCJQdWJsaWMtZnJvbnRlbmQtaXAtY29uZmlndXJhdGlvblwiLFxuICAgICAgICBwdWJsaWNJcEFkZHJlc3NJZDogcHJvcHMucHVibGljSXBBZGRyZXNzLmlkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gUHJpdmF0ZSBJUCBjb25maWd1cmF0aW9uXG4gICAgaWYgKHByb3BzLnByaXZhdGVJcEFkZHJlc3MgfHwgcHJvcHMucHJpdmF0ZUlwQWRkcmVzc0FsbG9jYXRpb24pIHtcbiAgICAgIGZyb250ZW5kSXBDb25maWdzLnB1c2goe1xuICAgICAgICBuYW1lOiBcIlByaXZhdGUtZnJvbnRlbmQtaXAtY29uZmlndXJhdGlvblwiLFxuICAgICAgICBzdWJuZXRJZDogZGVmYXVsdHMuc3VibmV0SWQsXG4gICAgICAgIHByaXZhdGVJcEFkZHJlc3M6IHByb3BzLnByaXZhdGVJcEFkZHJlc3MsXG4gICAgICAgIHByaXZhdGVJcEFkZHJlc3NBbGxvY2F0aW9uOiBwcm9wcy5wcml2YXRlSXBBZGRyZXNzQWxsb2NhdGlvbixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZyb250ZW5kIHBvcnRzIGlmIG5vdCBwcm92aWRlZFxuICAgIGNvbnN0IGRlZmF1bHRGcm9udGVuZFBvcnRzID0gW1xuICAgICAgeyBuYW1lOiBcIjgwXCIsIHBvcnQ6IDgwIH0sXG4gICAgICB7IG5hbWU6IFwiNDQzXCIsIHBvcnQ6IDQ0MyB9LFxuICAgIF07XG5cbiAgICBjb25zdCBmcm9udGVuZFBvcnRzID1cbiAgICAgIHByb3BzLmZyb250ZW5kUG9ydHMgJiYgcHJvcHMuZnJvbnRlbmRQb3J0cy5sZW5ndGggPiAwXG4gICAgICAgID8gcHJvcHMuZnJvbnRlbmRQb3J0c1xuICAgICAgICA6IGRlZmF1bHRGcm9udGVuZFBvcnRzO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5XG4gICAgY29uc3QgYXBndyA9IG5ldyBBcHBsaWNhdGlvbkdhdGV3YXkodGhpcywgXCJBcHBsaWNhdGlvbkdhdGV3YXlcIiwge1xuICAgICAgbmFtZTogcHJvcHMubmFtZSxcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBsb2NhdGlvbjogcHJvcHMubG9jYXRpb24sXG4gICAgICBzc2xDZXJ0aWZpY2F0ZTogcHJvcHMuc3NsQ2VydGlmaWNhdGUsXG4gICAgICBzc2xQb2xpY3k6IHByb3BzLnNzbFBvbGljeSxcbiAgICAgIHNzbFByb2ZpbGU6IHByb3BzLnNzbFByb2ZpbGUsXG4gICAgICBhdXRoZW50aWNhdGlvbkNlcnRpZmljYXRlOiBwcm9wcy5hdXRoZW50aWNhdGlvbkNlcnRpZmljYXRlLFxuICAgICAgYXV0b3NjYWxlQ29uZmlndXJhdGlvbjogcHJvcHMuYXV0b3NjYWxlQ29uZmlndXJhdGlvbixcbiAgICAgIGN1c3RvbUVycm9yQ29uZmlndXJhdGlvbjogcHJvcHMuY3VzdG9tRXJyb3JDb25maWd1cmF0aW9uLFxuICAgICAgcmVkaXJlY3RDb25maWd1cmF0aW9uOiBwcm9wcy5yZWRpcmVjdENvbmZpZ3VyYXRpb24sXG4gICAgICByZXdyaXRlUnVsZVNldDogcHJvcHMucmV3cml0ZVJ1bGVTZXQsXG4gICAgICBwcml2YXRlTGlua0NvbmZpZ3VyYXRpb246IHByb3BzLnByaXZhdGVMaW5rQ29uZmlndXJhdGlvbixcbiAgICAgIHdhZkNvbmZpZ3VyYXRpb246IHdhZkNvbmZpZ3VyYXRpb24sXG4gICAgICBza3U6IHtcbiAgICAgICAgbmFtZTogcHJvcHMuc2t1U2l6ZSxcbiAgICAgICAgdGllcjogcHJvcHMuc2t1VGllcixcbiAgICAgICAgY2FwYWNpdHk6IHByb3BzLmNhcGFjaXR5LFxuICAgICAgfSxcbiAgICAgIGdhdGV3YXlJcENvbmZpZ3VyYXRpb246IFtcbiAgICAgICAge1xuICAgICAgICAgIHN1Ym5ldElkOiBkZWZhdWx0cy5zdWJuZXRJZCxcbiAgICAgICAgICBuYW1lOiBgJHtwcm9wcy5uYW1lfS1jb25maWd1cmF0aW9uYCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBmcm9udGVuZFBvcnQ6IGZyb250ZW5kUG9ydHMsXG4gICAgICBmcm9udGVuZElwQ29uZmlndXJhdGlvbjogZnJvbnRlbmRJcENvbmZpZ3MsXG4gICAgICBiYWNrZW5kQWRkcmVzc1Bvb2w6IHByb3BzLmJhY2tlbmRBZGRyZXNzUG9vbHMsXG4gICAgICBiYWNrZW5kSHR0cFNldHRpbmdzOiBwcm9wcy5iYWNrZW5kSHR0cFNldHRpbmdzLFxuICAgICAgaHR0cExpc3RlbmVyOiBwcm9wcy5odHRwTGlzdGVuZXJzLFxuICAgICAgdXJsUGF0aE1hcDogcHJvcHMudXJsUGF0aE1hcCxcbiAgICAgIHRydXN0ZWRSb290Q2VydGlmaWNhdGU6IHByb3BzLnRydXN0ZWRSb290Q2VydGlmaWNhdGUsXG4gICAgICByZXF1ZXN0Um91dGluZ1J1bGU6IHByb3BzLnJlcXVlc3RSb3V0aW5nUnVsZXMsXG4gICAgICBwcm9iZTogcHJvcHMucHJvYmUsXG4gICAgICBpZGVudGl0eTogZGVmYXVsdHMuaWRlbnRpdHksXG4gICAgICB6b25lczogcHJvcHMuem9uZXMsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgIH0pO1xuXG4gICAgdGhpcy5pZCA9IGFwZ3cuaWQ7XG4gICAgdGhpcy5yZXNvdXJjZUdyb3VwID0gcHJvcHMucmVzb3VyY2VHcm91cDtcbiAgfVxufVxuIl19
|
|
@@ -54,7 +54,57 @@ export declare class AppInsights extends AzureResource {
|
|
|
54
54
|
resourceGroup: ResourceGroup;
|
|
55
55
|
id: string;
|
|
56
56
|
private readonly instrumentationKey;
|
|
57
|
+
/**
|
|
58
|
+
* Constructs a new Azure Application Insights resource.
|
|
59
|
+
*
|
|
60
|
+
* @param scope - The scope in which to define this construct.
|
|
61
|
+
* @param id - The ID of this construct.
|
|
62
|
+
* @param props - The properties for configuring the Azure Application Insights. The properties include:
|
|
63
|
+
* - `name`: Required. Unique name for the Application Insights resource within Azure.
|
|
64
|
+
* - `location`: Required. Azure Region for deployment.
|
|
65
|
+
* - `resourceGroup`: Required. Reference to the Azure Resource Group for deployment.
|
|
66
|
+
* - `retentionInDays`: Optional. Number of days to retain data. Default is 90 days.
|
|
67
|
+
* - `tags`: Optional. Tags for resource management.
|
|
68
|
+
* - `applicationType`: Required. The type of application (e.g., web, other).
|
|
69
|
+
* - `dailyDataCapInGb`: Optional. Daily data cap in gigabytes.
|
|
70
|
+
* - `dailyDataCapNotificationDisabled`: Optional. Flag to disable notifications when the daily data cap is reached.
|
|
71
|
+
* - `workspaceId`: Optional. ID of the Log Analytics Workspace to associate with Application Insights. If not provided, a new workspace is created automatically.
|
|
72
|
+
*
|
|
73
|
+
* Example usage:
|
|
74
|
+
* ```typescript
|
|
75
|
+
* new AppInsights(this, 'myAppInsights', {
|
|
76
|
+
* name: 'myAppInsightsResource',
|
|
77
|
+
* location: 'West US',
|
|
78
|
+
* resourceGroup: resourceGroup,
|
|
79
|
+
* retentionInDays: 120,
|
|
80
|
+
* tags: {
|
|
81
|
+
* "environment": "production"
|
|
82
|
+
* },
|
|
83
|
+
* applicationType: 'web',
|
|
84
|
+
* dailyDataCapInGb: 10,
|
|
85
|
+
* dailyDataCapNotificationDisabled: true,
|
|
86
|
+
* workspaceId: 'existing-workspace-id'
|
|
87
|
+
* });
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
57
90
|
constructor(scope: Construct, id: string, props: AppInsightsProps);
|
|
91
|
+
/**
|
|
92
|
+
* Saves the Application Insights instrumentation key to an Azure Key Vault.
|
|
93
|
+
*
|
|
94
|
+
* This method creates a new secret in the specified Azure Key Vault with the
|
|
95
|
+
* instrumentation key of the Application Insights resource. This enables secure storage
|
|
96
|
+
* and management of the instrumentation key, facilitating secure access across various
|
|
97
|
+
* Azure services.
|
|
98
|
+
*
|
|
99
|
+
* @param keyVaultId - The unique identifier of the Azure Key Vault where the secret will be stored.
|
|
100
|
+
* @param keyVaultSecretName - The name of the secret within the Key Vault. Defaults to 'instrumentation-key'.
|
|
101
|
+
* This name can be used to retrieve the secret in client applications.
|
|
102
|
+
*
|
|
103
|
+
* Example usage:
|
|
104
|
+
* ```typescript
|
|
105
|
+
* appInsightsInstance.saveIKeyToKeyVault('my-key-vault-id');
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
58
108
|
saveIKeyToKeyVault(keyVaultId: string, keyVaultSecretName?: string): void;
|
|
59
109
|
private setupLogAnalytics;
|
|
60
110
|
}
|