@gradientedge/cdk-utils 9.50.0 → 9.51.0
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/dist/src/lib/azure/services/app-configuration/main.js +3 -0
- package/dist/src/lib/azure/services/function/main.d.ts +2 -2
- package/dist/src/lib/azure/services/function/main.js +19 -54
- package/dist/src/lib/azure/services/function/types.d.ts +3 -21
- package/dist/src/lib/azure/services/log-analytics-workspace/main.js +2 -0
- package/package.json +1 -1
- package/src/lib/azure/services/app-configuration/main.ts +3 -0
- package/src/lib/azure/services/function/main.ts +19 -61
- package/src/lib/azure/services/function/types.ts +3 -22
- package/src/lib/azure/services/log-analytics-workspace/main.ts +2 -0
|
@@ -43,6 +43,9 @@ class AzureAppConfigurationManager {
|
|
|
43
43
|
...props,
|
|
44
44
|
name: scope.resourceNameFormatter.format(props.name, scope.props.resourceNameOptions?.appConfiguration),
|
|
45
45
|
resourceGroupName: resourceGroup.name,
|
|
46
|
+
identity: {
|
|
47
|
+
type: 'SystemAssigned',
|
|
48
|
+
},
|
|
46
49
|
tags: props.tags ?? {
|
|
47
50
|
environment: scope.props.stage,
|
|
48
51
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LinuxFunctionApp } from '@cdktf/provider-azurerm/lib/linux-function-app';
|
|
2
2
|
import { FunctionAppFunction } from '@cdktf/provider-azurerm/lib/function-app-function';
|
|
3
|
-
import {
|
|
3
|
+
import { FunctionAppFlexConsumption } from '@cdktf/provider-azurerm/lib/function-app-flex-consumption';
|
|
4
4
|
import { CommonAzureConstruct } from '../../common';
|
|
5
5
|
import { FunctionAppProps, FunctionProps, FunctionAppFlexConsumptionProps } from './types';
|
|
6
6
|
/**
|
|
@@ -43,5 +43,5 @@ export declare class AzureFunctionManager {
|
|
|
43
43
|
* @param scope scope in which this resource is defined
|
|
44
44
|
* @param props flex consumption function app properties
|
|
45
45
|
*/
|
|
46
|
-
createFunctionAppFlexConsumption(id: string, scope: CommonAzureConstruct, props: FunctionAppFlexConsumptionProps):
|
|
46
|
+
createFunctionAppFlexConsumption(id: string, scope: CommonAzureConstruct, props: FunctionAppFlexConsumptionProps): FunctionAppFlexConsumption;
|
|
47
47
|
}
|
|
@@ -4,7 +4,7 @@ exports.AzureFunctionManager = void 0;
|
|
|
4
4
|
const data_azurerm_resource_group_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-resource-group");
|
|
5
5
|
const linux_function_app_1 = require("@cdktf/provider-azurerm/lib/linux-function-app");
|
|
6
6
|
const function_app_function_1 = require("@cdktf/provider-azurerm/lib/function-app-function");
|
|
7
|
-
const
|
|
7
|
+
const function_app_flex_consumption_1 = require("@cdktf/provider-azurerm/lib/function-app-flex-consumption");
|
|
8
8
|
const cdktf_local_exec_1 = require("cdktf-local-exec");
|
|
9
9
|
const utils_1 = require("../../utils");
|
|
10
10
|
/**
|
|
@@ -91,62 +91,27 @@ class AzureFunctionManager {
|
|
|
91
91
|
});
|
|
92
92
|
if (!resourceGroup)
|
|
93
93
|
throw `Resource group undefined for ${id}`;
|
|
94
|
-
const functionApp = new
|
|
95
|
-
|
|
94
|
+
const functionApp = new function_app_flex_consumption_1.FunctionAppFlexConsumption(scope, `${id}-fc`, {
|
|
95
|
+
...props,
|
|
96
96
|
name: scope.resourceNameFormatter.format(props.name, scope.props.resourceNameOptions?.functionApp),
|
|
97
97
|
location: resourceGroup.location,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
},
|
|
115
|
-
runtime: {
|
|
116
|
-
name: props.runtime ?? 'node',
|
|
117
|
-
version: props.runtimeVersion ?? '20',
|
|
118
|
-
},
|
|
119
|
-
scaleAndConcurrency: {
|
|
120
|
-
alwaysReady: props.alwaysReady,
|
|
121
|
-
instanceMemoryMB: props.instanceMemory ?? 2048,
|
|
122
|
-
maximumInstanceCount: props.maximumInstanceCount ?? 40,
|
|
123
|
-
triggers: {},
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
siteConfig: {
|
|
127
|
-
appSettings: props.appSettings.concat([
|
|
128
|
-
{
|
|
129
|
-
name: 'FUNCTIONS_EXTENSION_VERSION',
|
|
130
|
-
value: '~4',
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
name: 'AzureWebJobsStorage',
|
|
134
|
-
value: props.storageConnectionString,
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
name: 'DEPLOYMENT_STORAGE_CONNECTION_STRING',
|
|
138
|
-
value: props.storageConnectionString,
|
|
139
|
-
},
|
|
140
|
-
]),
|
|
141
|
-
connectionStrings: props.connectionStrings,
|
|
142
|
-
minTlsVersion: props.minTlsVersion ?? '1.3',
|
|
143
|
-
},
|
|
144
|
-
},
|
|
98
|
+
resourceGroupName: resourceGroup.name,
|
|
99
|
+
runtimeName: props.runtimeName ?? 'node',
|
|
100
|
+
runtimeVersion: props.runtimeVersion ?? '20',
|
|
101
|
+
storageAuthenticationType: props.storageAuthenticationType ?? 'StorageAccountConnectionString',
|
|
102
|
+
storageContainerType: props.storageContainerType ?? 'blobContainer',
|
|
103
|
+
maximumInstanceCount: props.maximumInstanceCount ?? 40,
|
|
104
|
+
instanceMemoryInMb: props.instanceMemoryInMb ?? 2048,
|
|
105
|
+
siteConfig: {
|
|
106
|
+
http2Enabled: props.siteConfig.http2Enabled ?? true,
|
|
107
|
+
...props.siteConfig,
|
|
108
|
+
},
|
|
109
|
+
identity: props.identity ?? {
|
|
110
|
+
type: 'SystemAssigned',
|
|
111
|
+
},
|
|
112
|
+
tags: props.tags ?? {
|
|
113
|
+
environment: scope.props.stage,
|
|
145
114
|
},
|
|
146
|
-
identity: [{ type: 'SystemAssigned' }],
|
|
147
|
-
ignoreMissingProperty: true,
|
|
148
|
-
ignoreCasing: true,
|
|
149
|
-
schemaValidationEnabled: false,
|
|
150
115
|
});
|
|
151
116
|
new cdktf_local_exec_1.Provider(scope, `${id}-local-exec-provider`);
|
|
152
117
|
new cdktf_local_exec_1.LocalExec(scope, `${id}-function-app-deploy`, {
|
|
@@ -1,29 +1,11 @@
|
|
|
1
1
|
import { LinuxFunctionAppConfig } from '@cdktf/provider-azurerm/lib/linux-function-app';
|
|
2
2
|
import { FunctionAppFunctionConfig } from '@cdktf/provider-azurerm/lib/function-app-function';
|
|
3
|
+
import { FunctionAppFlexConsumptionConfig } from '@cdktf/provider-azurerm/lib/function-app-flex-consumption';
|
|
3
4
|
export interface FunctionAppProps extends LinuxFunctionAppConfig {
|
|
4
5
|
}
|
|
5
6
|
export interface FunctionProps extends FunctionAppFunctionConfig {
|
|
6
7
|
}
|
|
7
|
-
export interface FunctionAppFlexConsumptionProps {
|
|
8
|
-
alwaysReady?: any;
|
|
9
|
-
appServicePlanId: string;
|
|
10
|
-
appSettings: any;
|
|
11
|
-
blobEndpoint: string;
|
|
12
|
-
connectionStrings: any;
|
|
13
|
-
containerName: string;
|
|
14
|
-
deploymentAuthenticationType?: string;
|
|
15
|
-
deploymentStorageType?: string;
|
|
16
|
-
deploySource: string;
|
|
17
|
-
httpsOnly?: string;
|
|
18
|
-
instanceMemory?: number;
|
|
19
|
-
kind?: string;
|
|
20
|
-
maximumInstanceCount?: number;
|
|
21
|
-
name: string;
|
|
22
|
-
resourceGroupName: string;
|
|
23
|
-
runtime?: string;
|
|
24
|
-
runtimeVersion?: string;
|
|
25
|
-
storageAccountConnectionStringName?: string;
|
|
26
|
-
storageConnectionString: string;
|
|
8
|
+
export interface FunctionAppFlexConsumptionProps extends FunctionAppFlexConsumptionConfig {
|
|
27
9
|
sourceCodeHash: string;
|
|
28
|
-
|
|
10
|
+
deploySource: string;
|
|
29
11
|
}
|
|
@@ -44,6 +44,8 @@ class AzureLogAnalyticsWorkspaceManager {
|
|
|
44
44
|
name: scope.resourceNameFormatter.format(props.name, scope.props.resourceNameOptions?.logAnalyticsWorkspace),
|
|
45
45
|
location: resourceGroup.location,
|
|
46
46
|
resourceGroupName: resourceGroup.name,
|
|
47
|
+
sku: props.sku ?? 'PerGB2018',
|
|
48
|
+
retentionInDays: props.retentionInDays ?? 30,
|
|
47
49
|
tags: props.tags ?? {
|
|
48
50
|
environment: scope.props.stage,
|
|
49
51
|
},
|
package/package.json
CHANGED
|
@@ -44,6 +44,9 @@ export class AzureAppConfigurationManager {
|
|
|
44
44
|
...props,
|
|
45
45
|
name: scope.resourceNameFormatter.format(props.name, scope.props.resourceNameOptions?.appConfiguration),
|
|
46
46
|
resourceGroupName: resourceGroup.name,
|
|
47
|
+
identity: {
|
|
48
|
+
type: 'SystemAssigned',
|
|
49
|
+
},
|
|
47
50
|
tags: props.tags ?? {
|
|
48
51
|
environment: scope.props.stage,
|
|
49
52
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DataAzurermResourceGroup } from '@cdktf/provider-azurerm/lib/data-azurerm-resource-group'
|
|
2
2
|
import { LinuxFunctionApp } from '@cdktf/provider-azurerm/lib/linux-function-app'
|
|
3
3
|
import { FunctionAppFunction } from '@cdktf/provider-azurerm/lib/function-app-function'
|
|
4
|
-
import {
|
|
4
|
+
import { FunctionAppFlexConsumption } from '@cdktf/provider-azurerm/lib/function-app-flex-consumption'
|
|
5
5
|
import { LocalExec, Provider } from 'cdktf-local-exec'
|
|
6
6
|
import { CommonAzureConstruct } from '../../common'
|
|
7
7
|
import { createAzureTfOutput } from '../../utils'
|
|
@@ -103,69 +103,27 @@ export class AzureFunctionManager {
|
|
|
103
103
|
|
|
104
104
|
if (!resourceGroup) throw `Resource group undefined for ${id}`
|
|
105
105
|
|
|
106
|
-
const functionApp = new
|
|
107
|
-
|
|
106
|
+
const functionApp = new FunctionAppFlexConsumption(scope, `${id}-fc`, {
|
|
107
|
+
...props,
|
|
108
108
|
name: scope.resourceNameFormatter.format(props.name, scope.props.resourceNameOptions?.functionApp),
|
|
109
109
|
location: resourceGroup.location,
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
storageAccountConnectionStringName:
|
|
127
|
-
props.storageAccountConnectionStringName ?? 'DEPLOYMENT_STORAGE_CONNECTION_STRING',
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
runtime: {
|
|
132
|
-
name: props.runtime ?? 'node',
|
|
133
|
-
version: props.runtimeVersion ?? '20',
|
|
134
|
-
},
|
|
135
|
-
scaleAndConcurrency: {
|
|
136
|
-
alwaysReady: props.alwaysReady,
|
|
137
|
-
instanceMemoryMB: props.instanceMemory ?? 2048,
|
|
138
|
-
maximumInstanceCount: props.maximumInstanceCount ?? 40,
|
|
139
|
-
triggers: {},
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
siteConfig: {
|
|
144
|
-
appSettings: props.appSettings.concat([
|
|
145
|
-
{
|
|
146
|
-
name: 'FUNCTIONS_EXTENSION_VERSION',
|
|
147
|
-
value: '~4',
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
name: 'AzureWebJobsStorage',
|
|
151
|
-
value: props.storageConnectionString,
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
name: 'DEPLOYMENT_STORAGE_CONNECTION_STRING',
|
|
155
|
-
value: props.storageConnectionString,
|
|
156
|
-
},
|
|
157
|
-
]),
|
|
158
|
-
connectionStrings: props.connectionStrings,
|
|
159
|
-
minTlsVersion: props.minTlsVersion ?? '1.3',
|
|
160
|
-
},
|
|
161
|
-
},
|
|
110
|
+
resourceGroupName: resourceGroup.name,
|
|
111
|
+
runtimeName: props.runtimeName ?? 'node',
|
|
112
|
+
runtimeVersion: props.runtimeVersion ?? '20',
|
|
113
|
+
storageAuthenticationType: props.storageAuthenticationType ?? 'StorageAccountConnectionString',
|
|
114
|
+
storageContainerType: props.storageContainerType ?? 'blobContainer',
|
|
115
|
+
maximumInstanceCount: props.maximumInstanceCount ?? 40,
|
|
116
|
+
instanceMemoryInMb: props.instanceMemoryInMb ?? 2048,
|
|
117
|
+
siteConfig: {
|
|
118
|
+
http2Enabled: props.siteConfig.http2Enabled ?? true,
|
|
119
|
+
...props.siteConfig,
|
|
120
|
+
},
|
|
121
|
+
identity: props.identity ?? {
|
|
122
|
+
type: 'SystemAssigned',
|
|
123
|
+
},
|
|
124
|
+
tags: props.tags ?? {
|
|
125
|
+
environment: scope.props.stage,
|
|
162
126
|
},
|
|
163
|
-
|
|
164
|
-
identity: [{ type: 'SystemAssigned' }],
|
|
165
|
-
|
|
166
|
-
ignoreMissingProperty: true,
|
|
167
|
-
ignoreCasing: true,
|
|
168
|
-
schemaValidationEnabled: false,
|
|
169
127
|
})
|
|
170
128
|
|
|
171
129
|
new Provider(scope, `${id}-local-exec-provider`)
|
|
@@ -1,31 +1,12 @@
|
|
|
1
1
|
import { LinuxFunctionAppConfig } from '@cdktf/provider-azurerm/lib/linux-function-app'
|
|
2
2
|
import { FunctionAppFunctionConfig } from '@cdktf/provider-azurerm/lib/function-app-function'
|
|
3
|
-
import {
|
|
3
|
+
import { FunctionAppFlexConsumptionConfig } from '@cdktf/provider-azurerm/lib/function-app-flex-consumption'
|
|
4
4
|
|
|
5
5
|
export interface FunctionAppProps extends LinuxFunctionAppConfig {}
|
|
6
6
|
|
|
7
7
|
export interface FunctionProps extends FunctionAppFunctionConfig {}
|
|
8
8
|
|
|
9
|
-
export interface FunctionAppFlexConsumptionProps {
|
|
10
|
-
alwaysReady?: any
|
|
11
|
-
appServicePlanId: string
|
|
12
|
-
appSettings: any
|
|
13
|
-
blobEndpoint: string
|
|
14
|
-
connectionStrings: any
|
|
15
|
-
containerName: string
|
|
16
|
-
deploymentAuthenticationType?: string
|
|
17
|
-
deploymentStorageType?: string
|
|
18
|
-
deploySource: string
|
|
19
|
-
httpsOnly?: string
|
|
20
|
-
instanceMemory?: number
|
|
21
|
-
kind?: string
|
|
22
|
-
maximumInstanceCount?: number
|
|
23
|
-
name: string
|
|
24
|
-
resourceGroupName: string
|
|
25
|
-
runtime?: string
|
|
26
|
-
runtimeVersion?: string
|
|
27
|
-
storageAccountConnectionStringName?: string
|
|
28
|
-
storageConnectionString: string
|
|
9
|
+
export interface FunctionAppFlexConsumptionProps extends FunctionAppFlexConsumptionConfig {
|
|
29
10
|
sourceCodeHash: string
|
|
30
|
-
|
|
11
|
+
deploySource: string
|
|
31
12
|
}
|
|
@@ -45,6 +45,8 @@ export class AzureLogAnalyticsWorkspaceManager {
|
|
|
45
45
|
name: scope.resourceNameFormatter.format(props.name, scope.props.resourceNameOptions?.logAnalyticsWorkspace),
|
|
46
46
|
location: resourceGroup.location,
|
|
47
47
|
resourceGroupName: resourceGroup.name,
|
|
48
|
+
sku: props.sku ?? 'PerGB2018',
|
|
49
|
+
retentionInDays: props.retentionInDays ?? 30,
|
|
48
50
|
tags: props.tags ?? {
|
|
49
51
|
environment: scope.props.stage,
|
|
50
52
|
},
|