microsoft-cdktfconstructs 0.0.3.dev11__py3-none-any.whl
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.
- microsoft_cdktfconstructs/__init__.py +217 -0
- microsoft_cdktfconstructs/_jsii/__init__.py +31 -0
- microsoft_cdktfconstructs/_jsii/terraform-cdk-constructs@0.0.3-pre.11.jsii.tgz +0 -0
- microsoft_cdktfconstructs/azure_applicationgateway/__init__.py +823 -0
- microsoft_cdktfconstructs/azure_applicationinsights/__init__.py +397 -0
- microsoft_cdktfconstructs/azure_containerregistry/__init__.py +320 -0
- microsoft_cdktfconstructs/azure_eventhub/__init__.py +2213 -0
- microsoft_cdktfconstructs/azure_functionapp/__init__.py +908 -0
- microsoft_cdktfconstructs/azure_keyvault/__init__.py +1982 -0
- microsoft_cdktfconstructs/azure_kubernetes/__init__.py +400 -0
- microsoft_cdktfconstructs/azure_kusto/__init__.py +2485 -0
- microsoft_cdktfconstructs/azure_loganalytics/__init__.py +652 -0
- microsoft_cdktfconstructs/azure_metricalert/__init__.py +1260 -0
- microsoft_cdktfconstructs/azure_networksecuritygroup/__init__.py +1742 -0
- microsoft_cdktfconstructs/azure_queryrulealert/__init__.py +1189 -0
- microsoft_cdktfconstructs/azure_resourcegroup/__init__.py +320 -0
- microsoft_cdktfconstructs/azure_storageaccount/__init__.py +1910 -0
- microsoft_cdktfconstructs/azure_virtualmachine/__init__.py +1460 -0
- microsoft_cdktfconstructs/azure_virtualmachinescaleset/__init__.py +1185 -0
- microsoft_cdktfconstructs/azure_virtualnetwork/__init__.py +707 -0
- microsoft_cdktfconstructs/core_azure/__init__.py +931 -0
- microsoft_cdktfconstructs/py.typed +1 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/LICENSE +19 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/METADATA +188 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/RECORD +27 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/WHEEL +5 -0
- microsoft_cdktfconstructs-0.0.3.dev11.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,823 @@
|
|
|
1
|
+
'''
|
|
2
|
+
# Azure Application Gateway Construct
|
|
3
|
+
|
|
4
|
+
This class represents an Azure Application Gateway resource. It provides a convenient way to manage Azure Application Gateway resources.
|
|
5
|
+
|
|
6
|
+
## What is Azure Application Gateway?
|
|
7
|
+
|
|
8
|
+
Azure Application Gateway is a web traffic load balancer that enables you to manage traffic to your web applications. It offers various features like URL-based routing, session affinity, secure sockets layer (SSL) termination, Web Application Firewall (WAF), and more. This makes it an ideal choice for optimizing web app performance and reliability.
|
|
9
|
+
|
|
10
|
+
For more information, refer to the [official Azure documentation on Application Gateway](https://docs.microsoft.com/en-us/azure/application-gateway/).
|
|
11
|
+
|
|
12
|
+
## Application Gateway Best Practices
|
|
13
|
+
|
|
14
|
+
* Use separate instances for production and non-production environments.
|
|
15
|
+
* Implement WAF to protect your web applications from common web vulnerabilities.
|
|
16
|
+
* Use URL-based routing for better control of the traffic distribution.
|
|
17
|
+
* Enable diagnostics and logging for better monitoring and troubleshooting.
|
|
18
|
+
|
|
19
|
+
## Application Gateway Class Properties
|
|
20
|
+
|
|
21
|
+
This class encapsulates several properties to configure and manage the Application Gateway:
|
|
22
|
+
|
|
23
|
+
* `name`: The name of the Application Gateway resource.
|
|
24
|
+
* `location`: The Azure region where the Application Gateway will be deployed.
|
|
25
|
+
* `resourceGroup`: The Azure Resource Group to which the Application Gateway belongs.
|
|
26
|
+
* `skuTier`: The pricing tier (e.g., Standard, WAF).
|
|
27
|
+
* `skuSize`: The size of the Application Gateway instance.
|
|
28
|
+
* `capacity`: The number of instances for the Application Gateway.
|
|
29
|
+
* `backendAddressPools`: Backend address pools for routing traffic.
|
|
30
|
+
* `backendHttpSettings`: HTTP settings for the backend address pool.
|
|
31
|
+
* `httpListeners`: HTTP listeners for processing incoming traffic.
|
|
32
|
+
* `requestRoutingRules`: Routing rules for directing traffic.
|
|
33
|
+
* `frontendPorts`: Frontend ports configuration.
|
|
34
|
+
* `subnet`: Subnet details for the Application Gateway.
|
|
35
|
+
* `tags`: Tags for identifying and categorizing the Application Gateway.
|
|
36
|
+
* Additional properties for advanced configurations (SSL certificates, WAF configuration, etc.).
|
|
37
|
+
|
|
38
|
+
## Deploying the Application Gateway
|
|
39
|
+
|
|
40
|
+
Here's an example of how to deploy an Application Gateway resource using this class:
|
|
41
|
+
|
|
42
|
+
```python
|
|
43
|
+
const appGateway = new Gateway(this, 'myAppGateway', {
|
|
44
|
+
name: 'myAppGateway',
|
|
45
|
+
location: 'East US',
|
|
46
|
+
resourceGroup: myResourceGroup,
|
|
47
|
+
skuTier: 'Standard_v2',
|
|
48
|
+
skuSize: 'Standard_Small',
|
|
49
|
+
capacity: 2,
|
|
50
|
+
backendAddressPools: [...],
|
|
51
|
+
backendHttpSettings: [...],
|
|
52
|
+
httpListeners: [...],
|
|
53
|
+
requestRoutingRules: [...],
|
|
54
|
+
frontendPorts: [...],
|
|
55
|
+
// Additional configurations
|
|
56
|
+
tags: {
|
|
57
|
+
'env': 'production',
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
This code will create a new Application Gateway named myAppGateway in the East US Azure region within the specified resource group. It will be configured with the Standard v2 pricing tier, small SKU size, and essential settings for backend pools, HTTP settings, listeners, and routing rules. Tags are used for easy identification.
|
|
62
|
+
```
|
|
63
|
+
'''
|
|
64
|
+
from pkgutil import extend_path
|
|
65
|
+
__path__ = extend_path(__path__, __name__)
|
|
66
|
+
|
|
67
|
+
import abc
|
|
68
|
+
import builtins
|
|
69
|
+
import datetime
|
|
70
|
+
import enum
|
|
71
|
+
import typing
|
|
72
|
+
|
|
73
|
+
import jsii
|
|
74
|
+
import publication
|
|
75
|
+
import typing_extensions
|
|
76
|
+
|
|
77
|
+
from typeguard import check_type
|
|
78
|
+
|
|
79
|
+
from .._jsii import *
|
|
80
|
+
|
|
81
|
+
import cdktf_cdktf_provider_azurerm.application_gateway as _cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf
|
|
82
|
+
import cdktf_cdktf_provider_azurerm.key_vault as _cdktf_cdktf_provider_azurerm_key_vault_92bbcedf
|
|
83
|
+
import cdktf_cdktf_provider_azurerm.public_ip as _cdktf_cdktf_provider_azurerm_public_ip_92bbcedf
|
|
84
|
+
import cdktf_cdktf_provider_azurerm.resource_group as _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf
|
|
85
|
+
import cdktf_cdktf_provider_azurerm.subnet as _cdktf_cdktf_provider_azurerm_subnet_92bbcedf
|
|
86
|
+
import constructs as _constructs_77d1e7e8
|
|
87
|
+
from ..core_azure import AzureResource as _AzureResource_74eec1c4
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class Gateway(
|
|
91
|
+
_AzureResource_74eec1c4,
|
|
92
|
+
metaclass=jsii.JSIIMeta,
|
|
93
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_applicationgateway.Gateway",
|
|
94
|
+
):
|
|
95
|
+
def __init__(
|
|
96
|
+
self,
|
|
97
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
98
|
+
id: builtins.str,
|
|
99
|
+
props: "IGatewayProps",
|
|
100
|
+
) -> None:
|
|
101
|
+
'''Constructs a new Azure Application Gateway.
|
|
102
|
+
|
|
103
|
+
:param scope: - The scope in which to define this construct.
|
|
104
|
+
:param id: - The ID of this construct.
|
|
105
|
+
:param props: - The properties for configuring the Azure Application Gateway. The properties include: - ``name``: Required. Unique name for the Application Gateway within Azure. - ``location``: Required. Azure Region for deployment. - ``resourceGroup``: Optional. Reference to the resource group for deployment. - ``skuTier``: Required. SKU tier of the Application Gateway (e.g., Standard, WAF). - ``skuSize``: Required. Size of the SKU for the Application Gateway. - ``capacity``: Required. Capacity (instance count) of the Application Gateway. - ``backendAddressPools``: Required. Backend address pools for the Application Gateway. - ``backendHttpSettings``: Required. Backend HTTP settings for the Application Gateway. - ``httpListeners``: Required. HTTP listeners for the Application Gateway. - ``requestRoutingRules``: Required. Request routing rules for the Application Gateway. - ``publicIpAddress``: Optional. Public IP address for the frontend. - ``privateIpAddress``: Optional. Private IP address for the frontend. - ``privateIpAddressAllocation``: Optional. Allocation method for the private IP (Static, Dynamic). - ``frontendPorts``: Optional. Frontend ports for the Application Gateway. - ``subnet``: Optional. Subnet for the Application Gateway. - ``enableHttp2``: Optional. Flag to enable HTTP2. - ``fipsEnabled``: Optional. Flag to enable FIPS-compliant algorithms. - ``firewallPolicyId``: Optional. ID of the firewall policy. - ``forceFirewallPolicyAssociation``: Optional. Flag to enforce association of the firewall policy. - ``tags``: Optional. Tags for resource management. - Additional optional properties as described in ``IGatewayProps`` interface. Example usage:: new Gateway(this, 'appGateway1', { name: 'gatewayEast', resourceGroup: resourceGroup, location: "eastus", skuTier: "Standard_v2", skuSize: "Standard_v2", capacity: 2, publicIpAddress: publicIp, subnet: subnet, backendAddressPools: [ { name: "backend-address-pool-1" }, { name: "backend-address-pool-2", ipAddresses: ["10.1.0.4", "10.1.0.5", "10.1.0.6"], }, ], httpListeners: [ { name: "http-listener", frontendPortName: "80", frontendIpConfigurationName: "Public-frontend-ip-configuration", protocol: "Http", }, ], backendHttpSettings: [ { name: "backend-http-setting", port: 80, protocol: "Http", requestTimeout: 20, cookieBasedAffinity: "Disabled", }, ], requestRoutingRules: [ { name: "request-routing-rule-1", httpListenerName: "http-listener", priority: 1, backendAddressPoolName: "backend-address-pool-1", backendHttpSettingsName: "backend-http-setting", ruleType: "Basic", }, ], });
|
|
106
|
+
'''
|
|
107
|
+
if __debug__:
|
|
108
|
+
type_hints = typing.get_type_hints(_typecheckingstub__70268ba9e307d3454870ee0057f05b3b009f0dd65bf5374e1cbc7bcc7fbf8c15)
|
|
109
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
110
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
111
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
112
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
113
|
+
|
|
114
|
+
@builtins.property
|
|
115
|
+
@jsii.member(jsii_name="props")
|
|
116
|
+
def props(self) -> "IGatewayProps":
|
|
117
|
+
return typing.cast("IGatewayProps", jsii.get(self, "props"))
|
|
118
|
+
|
|
119
|
+
@builtins.property
|
|
120
|
+
@jsii.member(jsii_name="id")
|
|
121
|
+
def id(self) -> builtins.str:
|
|
122
|
+
return typing.cast(builtins.str, jsii.get(self, "id"))
|
|
123
|
+
|
|
124
|
+
@id.setter
|
|
125
|
+
def id(self, value: builtins.str) -> None:
|
|
126
|
+
if __debug__:
|
|
127
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b61d2d601d949705a9855d8c64b55d0bffb323d9b834e4cee097484d2df53178)
|
|
128
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
129
|
+
jsii.set(self, "id", value)
|
|
130
|
+
|
|
131
|
+
@builtins.property
|
|
132
|
+
@jsii.member(jsii_name="resourceGroup")
|
|
133
|
+
def resource_group(
|
|
134
|
+
self,
|
|
135
|
+
) -> _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup:
|
|
136
|
+
return typing.cast(_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup, jsii.get(self, "resourceGroup"))
|
|
137
|
+
|
|
138
|
+
@resource_group.setter
|
|
139
|
+
def resource_group(
|
|
140
|
+
self,
|
|
141
|
+
value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
|
|
142
|
+
) -> None:
|
|
143
|
+
if __debug__:
|
|
144
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6551808057430f5a4eed594f7a9df507a653f2aa7d6d3dabb9cf55796fc6ebd2)
|
|
145
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
146
|
+
jsii.set(self, "resourceGroup", value)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
@jsii.interface(
|
|
150
|
+
jsii_type="@microsoft/terraform-cdk-constructs.azure_applicationgateway.IGatewayProps"
|
|
151
|
+
)
|
|
152
|
+
class IGatewayProps(typing_extensions.Protocol):
|
|
153
|
+
@builtins.property
|
|
154
|
+
@jsii.member(jsii_name="backendAddressPools")
|
|
155
|
+
def backend_address_pools(
|
|
156
|
+
self,
|
|
157
|
+
) -> typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayBackendAddressPool]:
|
|
158
|
+
'''The backend address pools for the Application Gateway.'''
|
|
159
|
+
...
|
|
160
|
+
|
|
161
|
+
@builtins.property
|
|
162
|
+
@jsii.member(jsii_name="backendHttpSettings")
|
|
163
|
+
def backend_http_settings(
|
|
164
|
+
self,
|
|
165
|
+
) -> typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayBackendHttpSettings]:
|
|
166
|
+
'''The backend HTTP settings for the Application Gateway.'''
|
|
167
|
+
...
|
|
168
|
+
|
|
169
|
+
@builtins.property
|
|
170
|
+
@jsii.member(jsii_name="capacity")
|
|
171
|
+
def capacity(self) -> jsii.Number:
|
|
172
|
+
'''The capacity (instance count) of the Application Gateway.'''
|
|
173
|
+
...
|
|
174
|
+
|
|
175
|
+
@builtins.property
|
|
176
|
+
@jsii.member(jsii_name="httpListeners")
|
|
177
|
+
def http_listeners(
|
|
178
|
+
self,
|
|
179
|
+
) -> typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayHttpListener]:
|
|
180
|
+
'''The HTTP listeners for the Application Gateway.'''
|
|
181
|
+
...
|
|
182
|
+
|
|
183
|
+
@builtins.property
|
|
184
|
+
@jsii.member(jsii_name="location")
|
|
185
|
+
def location(self) -> builtins.str:
|
|
186
|
+
'''The location where the Application Gateway will be deployed (e.g., region).'''
|
|
187
|
+
...
|
|
188
|
+
|
|
189
|
+
@builtins.property
|
|
190
|
+
@jsii.member(jsii_name="name")
|
|
191
|
+
def name(self) -> builtins.str:
|
|
192
|
+
'''The name of the Application Gateway.'''
|
|
193
|
+
...
|
|
194
|
+
|
|
195
|
+
@builtins.property
|
|
196
|
+
@jsii.member(jsii_name="requestRoutingRules")
|
|
197
|
+
def request_routing_rules(
|
|
198
|
+
self,
|
|
199
|
+
) -> typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayRequestRoutingRule]:
|
|
200
|
+
'''The request routing rules for the Application Gateway.'''
|
|
201
|
+
...
|
|
202
|
+
|
|
203
|
+
@builtins.property
|
|
204
|
+
@jsii.member(jsii_name="skuSize")
|
|
205
|
+
def sku_size(self) -> builtins.str:
|
|
206
|
+
'''The size of the SKU for the Application Gateway.'''
|
|
207
|
+
...
|
|
208
|
+
|
|
209
|
+
@builtins.property
|
|
210
|
+
@jsii.member(jsii_name="skuTier")
|
|
211
|
+
def sku_tier(self) -> builtins.str:
|
|
212
|
+
'''The SKU tier of the Application Gateway (e.g., Standard, WAF).'''
|
|
213
|
+
...
|
|
214
|
+
|
|
215
|
+
@builtins.property
|
|
216
|
+
@jsii.member(jsii_name="authenticationCertificate")
|
|
217
|
+
def authentication_certificate(
|
|
218
|
+
self,
|
|
219
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayAuthenticationCertificate]]:
|
|
220
|
+
'''Optional authentication certificates for mutual authentication.'''
|
|
221
|
+
...
|
|
222
|
+
|
|
223
|
+
@builtins.property
|
|
224
|
+
@jsii.member(jsii_name="autoscaleConfiguration")
|
|
225
|
+
def autoscale_configuration(
|
|
226
|
+
self,
|
|
227
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayAutoscaleConfiguration]:
|
|
228
|
+
'''Optional autoscale configuration for dynamically adjusting the capacity of the Application Gateway.'''
|
|
229
|
+
...
|
|
230
|
+
|
|
231
|
+
@builtins.property
|
|
232
|
+
@jsii.member(jsii_name="customErrorConfiguration")
|
|
233
|
+
def custom_error_configuration(
|
|
234
|
+
self,
|
|
235
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayCustomErrorConfiguration]]:
|
|
236
|
+
'''Optional custom error configurations to specify custom error pages.'''
|
|
237
|
+
...
|
|
238
|
+
|
|
239
|
+
@builtins.property
|
|
240
|
+
@jsii.member(jsii_name="enableHttp2")
|
|
241
|
+
def enable_http2(self) -> typing.Optional[builtins.bool]:
|
|
242
|
+
'''Flag to enable HTTP2.'''
|
|
243
|
+
...
|
|
244
|
+
|
|
245
|
+
@builtins.property
|
|
246
|
+
@jsii.member(jsii_name="fipsEnabled")
|
|
247
|
+
def fips_enabled(self) -> typing.Optional[builtins.bool]:
|
|
248
|
+
'''Flag to enable FIPS-compliant algorithms.'''
|
|
249
|
+
...
|
|
250
|
+
|
|
251
|
+
@builtins.property
|
|
252
|
+
@jsii.member(jsii_name="firewallPolicyId")
|
|
253
|
+
def firewall_policy_id(self) -> typing.Optional[builtins.str]:
|
|
254
|
+
'''Optional ID of the firewall policy.'''
|
|
255
|
+
...
|
|
256
|
+
|
|
257
|
+
@builtins.property
|
|
258
|
+
@jsii.member(jsii_name="forceFirewallPolicyAssociation")
|
|
259
|
+
def force_firewall_policy_association(self) -> typing.Optional[builtins.bool]:
|
|
260
|
+
'''Flag to enforce association of the firewall policy.'''
|
|
261
|
+
...
|
|
262
|
+
|
|
263
|
+
@builtins.property
|
|
264
|
+
@jsii.member(jsii_name="frontendPorts")
|
|
265
|
+
def frontend_ports(
|
|
266
|
+
self,
|
|
267
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayFrontendPort]]:
|
|
268
|
+
'''Optional frontend ports for the Application Gateway.'''
|
|
269
|
+
...
|
|
270
|
+
|
|
271
|
+
@builtins.property
|
|
272
|
+
@jsii.member(jsii_name="identity")
|
|
273
|
+
def identity(
|
|
274
|
+
self,
|
|
275
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayIdentity]:
|
|
276
|
+
'''Optional identity for the Application Gateway, used for accessing other Azure resources.'''
|
|
277
|
+
...
|
|
278
|
+
|
|
279
|
+
@builtins.property
|
|
280
|
+
@jsii.member(jsii_name="keyVault")
|
|
281
|
+
def key_vault(
|
|
282
|
+
self,
|
|
283
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVault]:
|
|
284
|
+
'''Optional Key Vault resource for storing SSL certificates.'''
|
|
285
|
+
...
|
|
286
|
+
|
|
287
|
+
@builtins.property
|
|
288
|
+
@jsii.member(jsii_name="privateLinkConfiguration")
|
|
289
|
+
def private_link_configuration(
|
|
290
|
+
self,
|
|
291
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayPrivateLinkConfiguration]]:
|
|
292
|
+
'''Optional configurations for enabling Private Link on the Application Gateway.'''
|
|
293
|
+
...
|
|
294
|
+
|
|
295
|
+
@builtins.property
|
|
296
|
+
@jsii.member(jsii_name="probe")
|
|
297
|
+
def probe(
|
|
298
|
+
self,
|
|
299
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayProbe]]:
|
|
300
|
+
'''Optional probes for health checks of the backend HTTP settings.'''
|
|
301
|
+
...
|
|
302
|
+
|
|
303
|
+
@builtins.property
|
|
304
|
+
@jsii.member(jsii_name="redirectConfiguration")
|
|
305
|
+
def redirect_configuration(
|
|
306
|
+
self,
|
|
307
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayRedirectConfiguration]]:
|
|
308
|
+
'''Optional configurations for redirect rules.'''
|
|
309
|
+
...
|
|
310
|
+
|
|
311
|
+
@builtins.property
|
|
312
|
+
@jsii.member(jsii_name="resourceGroup")
|
|
313
|
+
def resource_group(
|
|
314
|
+
self,
|
|
315
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup]:
|
|
316
|
+
'''An optional reference to the resource group in which to deploy the Application Gateway.
|
|
317
|
+
|
|
318
|
+
If not provided, the Application Gateway will be deployed in the default resource group.
|
|
319
|
+
'''
|
|
320
|
+
...
|
|
321
|
+
|
|
322
|
+
@builtins.property
|
|
323
|
+
@jsii.member(jsii_name="rewriteRuleSet")
|
|
324
|
+
def rewrite_rule_set(
|
|
325
|
+
self,
|
|
326
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayRewriteRuleSet]]:
|
|
327
|
+
'''Optional rewrite rule sets for modifying HTTP request and response headers and bodies.'''
|
|
328
|
+
...
|
|
329
|
+
|
|
330
|
+
@builtins.property
|
|
331
|
+
@jsii.member(jsii_name="sslCertificate")
|
|
332
|
+
def ssl_certificate(
|
|
333
|
+
self,
|
|
334
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewaySslCertificate]]:
|
|
335
|
+
'''Optional SSL certificates for enabling HTTPS on the Application Gateway.'''
|
|
336
|
+
...
|
|
337
|
+
|
|
338
|
+
@builtins.property
|
|
339
|
+
@jsii.member(jsii_name="sslPolicy")
|
|
340
|
+
def ssl_policy(
|
|
341
|
+
self,
|
|
342
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewaySslPolicy]:
|
|
343
|
+
'''Optional SSL policy configurations, defining the protocol and cipher suites used.'''
|
|
344
|
+
...
|
|
345
|
+
|
|
346
|
+
@builtins.property
|
|
347
|
+
@jsii.member(jsii_name="sslProfile")
|
|
348
|
+
def ssl_profile(
|
|
349
|
+
self,
|
|
350
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewaySslProfile]]:
|
|
351
|
+
'''Optional SSL profiles for managing SSL termination and policy settings.'''
|
|
352
|
+
...
|
|
353
|
+
|
|
354
|
+
@builtins.property
|
|
355
|
+
@jsii.member(jsii_name="subnet")
|
|
356
|
+
def subnet(
|
|
357
|
+
self,
|
|
358
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_subnet_92bbcedf.Subnet]:
|
|
359
|
+
'''Optional subnet for the Application Gateway.'''
|
|
360
|
+
...
|
|
361
|
+
|
|
362
|
+
@builtins.property
|
|
363
|
+
@jsii.member(jsii_name="tags")
|
|
364
|
+
def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
365
|
+
'''Optional tags for the Application Gateway resource.'''
|
|
366
|
+
...
|
|
367
|
+
|
|
368
|
+
@builtins.property
|
|
369
|
+
@jsii.member(jsii_name="tenantId")
|
|
370
|
+
def tenant_id(self) -> typing.Optional[builtins.str]:
|
|
371
|
+
'''Optional tenant ID for use with Key Vault, if applicable.'''
|
|
372
|
+
...
|
|
373
|
+
|
|
374
|
+
@builtins.property
|
|
375
|
+
@jsii.member(jsii_name="timeouts")
|
|
376
|
+
def timeouts(
|
|
377
|
+
self,
|
|
378
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayTimeouts]:
|
|
379
|
+
'''Optional timeout settings for the Application Gateway resources.'''
|
|
380
|
+
...
|
|
381
|
+
|
|
382
|
+
@builtins.property
|
|
383
|
+
@jsii.member(jsii_name="trustedClientCertificate")
|
|
384
|
+
def trusted_client_certificate(
|
|
385
|
+
self,
|
|
386
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayTrustedClientCertificate]]:
|
|
387
|
+
'''Optional trusted client certificates for mutual authentication.'''
|
|
388
|
+
...
|
|
389
|
+
|
|
390
|
+
@builtins.property
|
|
391
|
+
@jsii.member(jsii_name="trustedRootCertificate")
|
|
392
|
+
def trusted_root_certificate(
|
|
393
|
+
self,
|
|
394
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayTrustedRootCertificate]]:
|
|
395
|
+
'''Optional trusted root certificates for backend authentication.'''
|
|
396
|
+
...
|
|
397
|
+
|
|
398
|
+
@builtins.property
|
|
399
|
+
@jsii.member(jsii_name="urlPathMap")
|
|
400
|
+
def url_path_map(
|
|
401
|
+
self,
|
|
402
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayUrlPathMap]]:
|
|
403
|
+
'''Optional URL path map for routing based on URL paths.'''
|
|
404
|
+
...
|
|
405
|
+
|
|
406
|
+
@builtins.property
|
|
407
|
+
@jsii.member(jsii_name="wafConfiguration")
|
|
408
|
+
def waf_configuration(
|
|
409
|
+
self,
|
|
410
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayWafConfiguration]:
|
|
411
|
+
'''Optional Web Application Firewall (WAF) configuration to provide enhanced security.'''
|
|
412
|
+
...
|
|
413
|
+
|
|
414
|
+
@builtins.property
|
|
415
|
+
@jsii.member(jsii_name="zones")
|
|
416
|
+
def zones(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
417
|
+
'''Optional availability zones for the Application Gateway.'''
|
|
418
|
+
...
|
|
419
|
+
|
|
420
|
+
@builtins.property
|
|
421
|
+
@jsii.member(jsii_name="privateIpAddress")
|
|
422
|
+
def private_ip_address(self) -> typing.Optional[builtins.str]:
|
|
423
|
+
'''Optional private IP address for the frontend of the Application Gateway.'''
|
|
424
|
+
...
|
|
425
|
+
|
|
426
|
+
@private_ip_address.setter
|
|
427
|
+
def private_ip_address(self, value: typing.Optional[builtins.str]) -> None:
|
|
428
|
+
...
|
|
429
|
+
|
|
430
|
+
@builtins.property
|
|
431
|
+
@jsii.member(jsii_name="privateIpAddressAllocation")
|
|
432
|
+
def private_ip_address_allocation(self) -> typing.Optional[builtins.str]:
|
|
433
|
+
'''Allocation method for the private IP address (e.g., Static, Dynamic).'''
|
|
434
|
+
...
|
|
435
|
+
|
|
436
|
+
@private_ip_address_allocation.setter
|
|
437
|
+
def private_ip_address_allocation(
|
|
438
|
+
self,
|
|
439
|
+
value: typing.Optional[builtins.str],
|
|
440
|
+
) -> None:
|
|
441
|
+
...
|
|
442
|
+
|
|
443
|
+
@builtins.property
|
|
444
|
+
@jsii.member(jsii_name="publicIpAddress")
|
|
445
|
+
def public_ip_address(
|
|
446
|
+
self,
|
|
447
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_public_ip_92bbcedf.PublicIp]:
|
|
448
|
+
'''Optional public IP address for the frontend of the Application Gateway.'''
|
|
449
|
+
...
|
|
450
|
+
|
|
451
|
+
@public_ip_address.setter
|
|
452
|
+
def public_ip_address(
|
|
453
|
+
self,
|
|
454
|
+
value: typing.Optional[_cdktf_cdktf_provider_azurerm_public_ip_92bbcedf.PublicIp],
|
|
455
|
+
) -> None:
|
|
456
|
+
...
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
class _IGatewayPropsProxy:
|
|
460
|
+
__jsii_type__: typing.ClassVar[str] = "@microsoft/terraform-cdk-constructs.azure_applicationgateway.IGatewayProps"
|
|
461
|
+
|
|
462
|
+
@builtins.property
|
|
463
|
+
@jsii.member(jsii_name="backendAddressPools")
|
|
464
|
+
def backend_address_pools(
|
|
465
|
+
self,
|
|
466
|
+
) -> typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayBackendAddressPool]:
|
|
467
|
+
'''The backend address pools for the Application Gateway.'''
|
|
468
|
+
return typing.cast(typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayBackendAddressPool], jsii.get(self, "backendAddressPools"))
|
|
469
|
+
|
|
470
|
+
@builtins.property
|
|
471
|
+
@jsii.member(jsii_name="backendHttpSettings")
|
|
472
|
+
def backend_http_settings(
|
|
473
|
+
self,
|
|
474
|
+
) -> typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayBackendHttpSettings]:
|
|
475
|
+
'''The backend HTTP settings for the Application Gateway.'''
|
|
476
|
+
return typing.cast(typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayBackendHttpSettings], jsii.get(self, "backendHttpSettings"))
|
|
477
|
+
|
|
478
|
+
@builtins.property
|
|
479
|
+
@jsii.member(jsii_name="capacity")
|
|
480
|
+
def capacity(self) -> jsii.Number:
|
|
481
|
+
'''The capacity (instance count) of the Application Gateway.'''
|
|
482
|
+
return typing.cast(jsii.Number, jsii.get(self, "capacity"))
|
|
483
|
+
|
|
484
|
+
@builtins.property
|
|
485
|
+
@jsii.member(jsii_name="httpListeners")
|
|
486
|
+
def http_listeners(
|
|
487
|
+
self,
|
|
488
|
+
) -> typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayHttpListener]:
|
|
489
|
+
'''The HTTP listeners for the Application Gateway.'''
|
|
490
|
+
return typing.cast(typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayHttpListener], jsii.get(self, "httpListeners"))
|
|
491
|
+
|
|
492
|
+
@builtins.property
|
|
493
|
+
@jsii.member(jsii_name="location")
|
|
494
|
+
def location(self) -> builtins.str:
|
|
495
|
+
'''The location where the Application Gateway will be deployed (e.g., region).'''
|
|
496
|
+
return typing.cast(builtins.str, jsii.get(self, "location"))
|
|
497
|
+
|
|
498
|
+
@builtins.property
|
|
499
|
+
@jsii.member(jsii_name="name")
|
|
500
|
+
def name(self) -> builtins.str:
|
|
501
|
+
'''The name of the Application Gateway.'''
|
|
502
|
+
return typing.cast(builtins.str, jsii.get(self, "name"))
|
|
503
|
+
|
|
504
|
+
@builtins.property
|
|
505
|
+
@jsii.member(jsii_name="requestRoutingRules")
|
|
506
|
+
def request_routing_rules(
|
|
507
|
+
self,
|
|
508
|
+
) -> typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayRequestRoutingRule]:
|
|
509
|
+
'''The request routing rules for the Application Gateway.'''
|
|
510
|
+
return typing.cast(typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayRequestRoutingRule], jsii.get(self, "requestRoutingRules"))
|
|
511
|
+
|
|
512
|
+
@builtins.property
|
|
513
|
+
@jsii.member(jsii_name="skuSize")
|
|
514
|
+
def sku_size(self) -> builtins.str:
|
|
515
|
+
'''The size of the SKU for the Application Gateway.'''
|
|
516
|
+
return typing.cast(builtins.str, jsii.get(self, "skuSize"))
|
|
517
|
+
|
|
518
|
+
@builtins.property
|
|
519
|
+
@jsii.member(jsii_name="skuTier")
|
|
520
|
+
def sku_tier(self) -> builtins.str:
|
|
521
|
+
'''The SKU tier of the Application Gateway (e.g., Standard, WAF).'''
|
|
522
|
+
return typing.cast(builtins.str, jsii.get(self, "skuTier"))
|
|
523
|
+
|
|
524
|
+
@builtins.property
|
|
525
|
+
@jsii.member(jsii_name="authenticationCertificate")
|
|
526
|
+
def authentication_certificate(
|
|
527
|
+
self,
|
|
528
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayAuthenticationCertificate]]:
|
|
529
|
+
'''Optional authentication certificates for mutual authentication.'''
|
|
530
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayAuthenticationCertificate]], jsii.get(self, "authenticationCertificate"))
|
|
531
|
+
|
|
532
|
+
@builtins.property
|
|
533
|
+
@jsii.member(jsii_name="autoscaleConfiguration")
|
|
534
|
+
def autoscale_configuration(
|
|
535
|
+
self,
|
|
536
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayAutoscaleConfiguration]:
|
|
537
|
+
'''Optional autoscale configuration for dynamically adjusting the capacity of the Application Gateway.'''
|
|
538
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayAutoscaleConfiguration], jsii.get(self, "autoscaleConfiguration"))
|
|
539
|
+
|
|
540
|
+
@builtins.property
|
|
541
|
+
@jsii.member(jsii_name="customErrorConfiguration")
|
|
542
|
+
def custom_error_configuration(
|
|
543
|
+
self,
|
|
544
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayCustomErrorConfiguration]]:
|
|
545
|
+
'''Optional custom error configurations to specify custom error pages.'''
|
|
546
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayCustomErrorConfiguration]], jsii.get(self, "customErrorConfiguration"))
|
|
547
|
+
|
|
548
|
+
@builtins.property
|
|
549
|
+
@jsii.member(jsii_name="enableHttp2")
|
|
550
|
+
def enable_http2(self) -> typing.Optional[builtins.bool]:
|
|
551
|
+
'''Flag to enable HTTP2.'''
|
|
552
|
+
return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "enableHttp2"))
|
|
553
|
+
|
|
554
|
+
@builtins.property
|
|
555
|
+
@jsii.member(jsii_name="fipsEnabled")
|
|
556
|
+
def fips_enabled(self) -> typing.Optional[builtins.bool]:
|
|
557
|
+
'''Flag to enable FIPS-compliant algorithms.'''
|
|
558
|
+
return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "fipsEnabled"))
|
|
559
|
+
|
|
560
|
+
@builtins.property
|
|
561
|
+
@jsii.member(jsii_name="firewallPolicyId")
|
|
562
|
+
def firewall_policy_id(self) -> typing.Optional[builtins.str]:
|
|
563
|
+
'''Optional ID of the firewall policy.'''
|
|
564
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "firewallPolicyId"))
|
|
565
|
+
|
|
566
|
+
@builtins.property
|
|
567
|
+
@jsii.member(jsii_name="forceFirewallPolicyAssociation")
|
|
568
|
+
def force_firewall_policy_association(self) -> typing.Optional[builtins.bool]:
|
|
569
|
+
'''Flag to enforce association of the firewall policy.'''
|
|
570
|
+
return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "forceFirewallPolicyAssociation"))
|
|
571
|
+
|
|
572
|
+
@builtins.property
|
|
573
|
+
@jsii.member(jsii_name="frontendPorts")
|
|
574
|
+
def frontend_ports(
|
|
575
|
+
self,
|
|
576
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayFrontendPort]]:
|
|
577
|
+
'''Optional frontend ports for the Application Gateway.'''
|
|
578
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayFrontendPort]], jsii.get(self, "frontendPorts"))
|
|
579
|
+
|
|
580
|
+
@builtins.property
|
|
581
|
+
@jsii.member(jsii_name="identity")
|
|
582
|
+
def identity(
|
|
583
|
+
self,
|
|
584
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayIdentity]:
|
|
585
|
+
'''Optional identity for the Application Gateway, used for accessing other Azure resources.'''
|
|
586
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayIdentity], jsii.get(self, "identity"))
|
|
587
|
+
|
|
588
|
+
@builtins.property
|
|
589
|
+
@jsii.member(jsii_name="keyVault")
|
|
590
|
+
def key_vault(
|
|
591
|
+
self,
|
|
592
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVault]:
|
|
593
|
+
'''Optional Key Vault resource for storing SSL certificates.'''
|
|
594
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_key_vault_92bbcedf.KeyVault], jsii.get(self, "keyVault"))
|
|
595
|
+
|
|
596
|
+
@builtins.property
|
|
597
|
+
@jsii.member(jsii_name="privateLinkConfiguration")
|
|
598
|
+
def private_link_configuration(
|
|
599
|
+
self,
|
|
600
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayPrivateLinkConfiguration]]:
|
|
601
|
+
'''Optional configurations for enabling Private Link on the Application Gateway.'''
|
|
602
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayPrivateLinkConfiguration]], jsii.get(self, "privateLinkConfiguration"))
|
|
603
|
+
|
|
604
|
+
@builtins.property
|
|
605
|
+
@jsii.member(jsii_name="probe")
|
|
606
|
+
def probe(
|
|
607
|
+
self,
|
|
608
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayProbe]]:
|
|
609
|
+
'''Optional probes for health checks of the backend HTTP settings.'''
|
|
610
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayProbe]], jsii.get(self, "probe"))
|
|
611
|
+
|
|
612
|
+
@builtins.property
|
|
613
|
+
@jsii.member(jsii_name="redirectConfiguration")
|
|
614
|
+
def redirect_configuration(
|
|
615
|
+
self,
|
|
616
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayRedirectConfiguration]]:
|
|
617
|
+
'''Optional configurations for redirect rules.'''
|
|
618
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayRedirectConfiguration]], jsii.get(self, "redirectConfiguration"))
|
|
619
|
+
|
|
620
|
+
@builtins.property
|
|
621
|
+
@jsii.member(jsii_name="resourceGroup")
|
|
622
|
+
def resource_group(
|
|
623
|
+
self,
|
|
624
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup]:
|
|
625
|
+
'''An optional reference to the resource group in which to deploy the Application Gateway.
|
|
626
|
+
|
|
627
|
+
If not provided, the Application Gateway will be deployed in the default resource group.
|
|
628
|
+
'''
|
|
629
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup], jsii.get(self, "resourceGroup"))
|
|
630
|
+
|
|
631
|
+
@builtins.property
|
|
632
|
+
@jsii.member(jsii_name="rewriteRuleSet")
|
|
633
|
+
def rewrite_rule_set(
|
|
634
|
+
self,
|
|
635
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayRewriteRuleSet]]:
|
|
636
|
+
'''Optional rewrite rule sets for modifying HTTP request and response headers and bodies.'''
|
|
637
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayRewriteRuleSet]], jsii.get(self, "rewriteRuleSet"))
|
|
638
|
+
|
|
639
|
+
@builtins.property
|
|
640
|
+
@jsii.member(jsii_name="sslCertificate")
|
|
641
|
+
def ssl_certificate(
|
|
642
|
+
self,
|
|
643
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewaySslCertificate]]:
|
|
644
|
+
'''Optional SSL certificates for enabling HTTPS on the Application Gateway.'''
|
|
645
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewaySslCertificate]], jsii.get(self, "sslCertificate"))
|
|
646
|
+
|
|
647
|
+
@builtins.property
|
|
648
|
+
@jsii.member(jsii_name="sslPolicy")
|
|
649
|
+
def ssl_policy(
|
|
650
|
+
self,
|
|
651
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewaySslPolicy]:
|
|
652
|
+
'''Optional SSL policy configurations, defining the protocol and cipher suites used.'''
|
|
653
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewaySslPolicy], jsii.get(self, "sslPolicy"))
|
|
654
|
+
|
|
655
|
+
@builtins.property
|
|
656
|
+
@jsii.member(jsii_name="sslProfile")
|
|
657
|
+
def ssl_profile(
|
|
658
|
+
self,
|
|
659
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewaySslProfile]]:
|
|
660
|
+
'''Optional SSL profiles for managing SSL termination and policy settings.'''
|
|
661
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewaySslProfile]], jsii.get(self, "sslProfile"))
|
|
662
|
+
|
|
663
|
+
@builtins.property
|
|
664
|
+
@jsii.member(jsii_name="subnet")
|
|
665
|
+
def subnet(
|
|
666
|
+
self,
|
|
667
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_subnet_92bbcedf.Subnet]:
|
|
668
|
+
'''Optional subnet for the Application Gateway.'''
|
|
669
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_subnet_92bbcedf.Subnet], jsii.get(self, "subnet"))
|
|
670
|
+
|
|
671
|
+
@builtins.property
|
|
672
|
+
@jsii.member(jsii_name="tags")
|
|
673
|
+
def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
674
|
+
'''Optional tags for the Application Gateway resource.'''
|
|
675
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
|
|
676
|
+
|
|
677
|
+
@builtins.property
|
|
678
|
+
@jsii.member(jsii_name="tenantId")
|
|
679
|
+
def tenant_id(self) -> typing.Optional[builtins.str]:
|
|
680
|
+
'''Optional tenant ID for use with Key Vault, if applicable.'''
|
|
681
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "tenantId"))
|
|
682
|
+
|
|
683
|
+
@builtins.property
|
|
684
|
+
@jsii.member(jsii_name="timeouts")
|
|
685
|
+
def timeouts(
|
|
686
|
+
self,
|
|
687
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayTimeouts]:
|
|
688
|
+
'''Optional timeout settings for the Application Gateway resources.'''
|
|
689
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayTimeouts], jsii.get(self, "timeouts"))
|
|
690
|
+
|
|
691
|
+
@builtins.property
|
|
692
|
+
@jsii.member(jsii_name="trustedClientCertificate")
|
|
693
|
+
def trusted_client_certificate(
|
|
694
|
+
self,
|
|
695
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayTrustedClientCertificate]]:
|
|
696
|
+
'''Optional trusted client certificates for mutual authentication.'''
|
|
697
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayTrustedClientCertificate]], jsii.get(self, "trustedClientCertificate"))
|
|
698
|
+
|
|
699
|
+
@builtins.property
|
|
700
|
+
@jsii.member(jsii_name="trustedRootCertificate")
|
|
701
|
+
def trusted_root_certificate(
|
|
702
|
+
self,
|
|
703
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayTrustedRootCertificate]]:
|
|
704
|
+
'''Optional trusted root certificates for backend authentication.'''
|
|
705
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayTrustedRootCertificate]], jsii.get(self, "trustedRootCertificate"))
|
|
706
|
+
|
|
707
|
+
@builtins.property
|
|
708
|
+
@jsii.member(jsii_name="urlPathMap")
|
|
709
|
+
def url_path_map(
|
|
710
|
+
self,
|
|
711
|
+
) -> typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayUrlPathMap]]:
|
|
712
|
+
'''Optional URL path map for routing based on URL paths.'''
|
|
713
|
+
return typing.cast(typing.Optional[typing.List[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayUrlPathMap]], jsii.get(self, "urlPathMap"))
|
|
714
|
+
|
|
715
|
+
@builtins.property
|
|
716
|
+
@jsii.member(jsii_name="wafConfiguration")
|
|
717
|
+
def waf_configuration(
|
|
718
|
+
self,
|
|
719
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayWafConfiguration]:
|
|
720
|
+
'''Optional Web Application Firewall (WAF) configuration to provide enhanced security.'''
|
|
721
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_application_gateway_92bbcedf.ApplicationGatewayWafConfiguration], jsii.get(self, "wafConfiguration"))
|
|
722
|
+
|
|
723
|
+
@builtins.property
|
|
724
|
+
@jsii.member(jsii_name="zones")
|
|
725
|
+
def zones(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
726
|
+
'''Optional availability zones for the Application Gateway.'''
|
|
727
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "zones"))
|
|
728
|
+
|
|
729
|
+
@builtins.property
|
|
730
|
+
@jsii.member(jsii_name="privateIpAddress")
|
|
731
|
+
def private_ip_address(self) -> typing.Optional[builtins.str]:
|
|
732
|
+
'''Optional private IP address for the frontend of the Application Gateway.'''
|
|
733
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "privateIpAddress"))
|
|
734
|
+
|
|
735
|
+
@private_ip_address.setter
|
|
736
|
+
def private_ip_address(self, value: typing.Optional[builtins.str]) -> None:
|
|
737
|
+
if __debug__:
|
|
738
|
+
type_hints = typing.get_type_hints(_typecheckingstub__cbaf5601517121ecf3e6c5bfbad398d6fc66732abcefaee3fc48616ef5b33f11)
|
|
739
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
740
|
+
jsii.set(self, "privateIpAddress", value)
|
|
741
|
+
|
|
742
|
+
@builtins.property
|
|
743
|
+
@jsii.member(jsii_name="privateIpAddressAllocation")
|
|
744
|
+
def private_ip_address_allocation(self) -> typing.Optional[builtins.str]:
|
|
745
|
+
'''Allocation method for the private IP address (e.g., Static, Dynamic).'''
|
|
746
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "privateIpAddressAllocation"))
|
|
747
|
+
|
|
748
|
+
@private_ip_address_allocation.setter
|
|
749
|
+
def private_ip_address_allocation(
|
|
750
|
+
self,
|
|
751
|
+
value: typing.Optional[builtins.str],
|
|
752
|
+
) -> None:
|
|
753
|
+
if __debug__:
|
|
754
|
+
type_hints = typing.get_type_hints(_typecheckingstub__29ab46a33a4233e4bfcca45f824126ded626c5f17eddf67d7aa1ba5b8c01b307)
|
|
755
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
756
|
+
jsii.set(self, "privateIpAddressAllocation", value)
|
|
757
|
+
|
|
758
|
+
@builtins.property
|
|
759
|
+
@jsii.member(jsii_name="publicIpAddress")
|
|
760
|
+
def public_ip_address(
|
|
761
|
+
self,
|
|
762
|
+
) -> typing.Optional[_cdktf_cdktf_provider_azurerm_public_ip_92bbcedf.PublicIp]:
|
|
763
|
+
'''Optional public IP address for the frontend of the Application Gateway.'''
|
|
764
|
+
return typing.cast(typing.Optional[_cdktf_cdktf_provider_azurerm_public_ip_92bbcedf.PublicIp], jsii.get(self, "publicIpAddress"))
|
|
765
|
+
|
|
766
|
+
@public_ip_address.setter
|
|
767
|
+
def public_ip_address(
|
|
768
|
+
self,
|
|
769
|
+
value: typing.Optional[_cdktf_cdktf_provider_azurerm_public_ip_92bbcedf.PublicIp],
|
|
770
|
+
) -> None:
|
|
771
|
+
if __debug__:
|
|
772
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f3f2be42b8d8580dbbe0e634eca503316a293e223d4118caac90eb4c45772d46)
|
|
773
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
774
|
+
jsii.set(self, "publicIpAddress", value)
|
|
775
|
+
|
|
776
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
777
|
+
typing.cast(typing.Any, IGatewayProps).__jsii_proxy_class__ = lambda : _IGatewayPropsProxy
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
__all__ = [
|
|
781
|
+
"Gateway",
|
|
782
|
+
"IGatewayProps",
|
|
783
|
+
]
|
|
784
|
+
|
|
785
|
+
publication.publish()
|
|
786
|
+
|
|
787
|
+
def _typecheckingstub__70268ba9e307d3454870ee0057f05b3b009f0dd65bf5374e1cbc7bcc7fbf8c15(
|
|
788
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
789
|
+
id: builtins.str,
|
|
790
|
+
props: IGatewayProps,
|
|
791
|
+
) -> None:
|
|
792
|
+
"""Type checking stubs"""
|
|
793
|
+
pass
|
|
794
|
+
|
|
795
|
+
def _typecheckingstub__b61d2d601d949705a9855d8c64b55d0bffb323d9b834e4cee097484d2df53178(
|
|
796
|
+
value: builtins.str,
|
|
797
|
+
) -> None:
|
|
798
|
+
"""Type checking stubs"""
|
|
799
|
+
pass
|
|
800
|
+
|
|
801
|
+
def _typecheckingstub__6551808057430f5a4eed594f7a9df507a653f2aa7d6d3dabb9cf55796fc6ebd2(
|
|
802
|
+
value: _cdktf_cdktf_provider_azurerm_resource_group_92bbcedf.ResourceGroup,
|
|
803
|
+
) -> None:
|
|
804
|
+
"""Type checking stubs"""
|
|
805
|
+
pass
|
|
806
|
+
|
|
807
|
+
def _typecheckingstub__cbaf5601517121ecf3e6c5bfbad398d6fc66732abcefaee3fc48616ef5b33f11(
|
|
808
|
+
value: typing.Optional[builtins.str],
|
|
809
|
+
) -> None:
|
|
810
|
+
"""Type checking stubs"""
|
|
811
|
+
pass
|
|
812
|
+
|
|
813
|
+
def _typecheckingstub__29ab46a33a4233e4bfcca45f824126ded626c5f17eddf67d7aa1ba5b8c01b307(
|
|
814
|
+
value: typing.Optional[builtins.str],
|
|
815
|
+
) -> None:
|
|
816
|
+
"""Type checking stubs"""
|
|
817
|
+
pass
|
|
818
|
+
|
|
819
|
+
def _typecheckingstub__f3f2be42b8d8580dbbe0e634eca503316a293e223d4118caac90eb4c45772d46(
|
|
820
|
+
value: typing.Optional[_cdktf_cdktf_provider_azurerm_public_ip_92bbcedf.PublicIp],
|
|
821
|
+
) -> None:
|
|
822
|
+
"""Type checking stubs"""
|
|
823
|
+
pass
|