@gradientedge/cdk-utils-azure 2.33.0 → 2.35.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.
Files changed (57) hide show
  1. package/dist/src/common/constants.d.ts +7 -1
  2. package/dist/src/common/constants.js +7 -1
  3. package/dist/src/common/construct.d.ts +47 -0
  4. package/dist/src/common/construct.js +45 -0
  5. package/dist/src/common/resource-name-formatter.d.ts +5 -0
  6. package/dist/src/common/resource-name-formatter.js +5 -0
  7. package/dist/src/common/stack.d.ts +29 -0
  8. package/dist/src/common/stack.js +29 -0
  9. package/dist/src/common/types.d.ts +53 -4
  10. package/dist/src/construct/event-handler/main.d.ts +4 -0
  11. package/dist/src/construct/event-handler/main.js +4 -0
  12. package/dist/src/construct/event-handler/types.d.ts +43 -6
  13. package/dist/src/construct/function-app/main.d.ts +23 -0
  14. package/dist/src/construct/function-app/main.js +23 -0
  15. package/dist/src/construct/function-app/types.d.ts +38 -3
  16. package/dist/src/construct/rest-api/main.d.ts +3 -0
  17. package/dist/src/construct/rest-api/main.js +3 -0
  18. package/dist/src/construct/rest-api/types.d.ts +26 -3
  19. package/dist/src/construct/rest-api-function/main.d.ts +2 -0
  20. package/dist/src/construct/rest-api-function/main.js +2 -0
  21. package/dist/src/construct/rest-api-function/types.d.ts +34 -4
  22. package/dist/src/construct/rest-api-with-cache/main.d.ts +2 -0
  23. package/dist/src/construct/rest-api-with-cache/main.js +1 -0
  24. package/dist/src/construct/rest-api-with-cache/types.d.ts +14 -2
  25. package/dist/src/construct/site-with-webapp/main.d.ts +3 -0
  26. package/dist/src/construct/site-with-webapp/main.js +3 -0
  27. package/dist/src/construct/site-with-webapp/types.d.ts +29 -3
  28. package/dist/src/services/api-management/types.d.ts +110 -17
  29. package/dist/src/services/app-configuration/types.d.ts +5 -1
  30. package/dist/src/services/app-service/types.d.ts +10 -2
  31. package/dist/src/services/application-insights/renderer.d.ts +21 -0
  32. package/dist/src/services/application-insights/renderer.js +21 -0
  33. package/dist/src/services/application-insights/types.d.ts +30 -4
  34. package/dist/src/services/authorisation/constants.d.ts +7 -0
  35. package/dist/src/services/authorisation/constants.js +7 -0
  36. package/dist/src/services/authorisation/types.d.ts +5 -1
  37. package/dist/src/services/cosmosdb/constants.d.ts +14 -2
  38. package/dist/src/services/cosmosdb/constants.js +14 -2
  39. package/dist/src/services/cosmosdb/types.d.ts +20 -4
  40. package/dist/src/services/dns/types.d.ts +20 -4
  41. package/dist/src/services/eventgrid/types.d.ts +25 -5
  42. package/dist/src/services/function/types.d.ts +27 -3
  43. package/dist/src/services/key-vault/types.d.ts +10 -2
  44. package/dist/src/services/monitor/types.d.ts +5 -1
  45. package/dist/src/services/operational-insights/types.d.ts +10 -2
  46. package/dist/src/services/portal/error.d.ts +16 -1
  47. package/dist/src/services/portal/error.js +16 -1
  48. package/dist/src/services/portal/renderer.d.ts +44 -1
  49. package/dist/src/services/portal/renderer.js +44 -1
  50. package/dist/src/services/portal/types.d.ts +61 -8
  51. package/dist/src/services/redis/types.d.ts +16 -3
  52. package/dist/src/services/resource-group/types.d.ts +5 -1
  53. package/dist/src/services/security-center/types.d.ts +5 -1
  54. package/dist/src/services/servicebus/types.d.ts +25 -5
  55. package/dist/src/services/storage/types.d.ts +38 -6
  56. package/dist/src/types/index.d.ts +5 -1
  57. package/package.json +5 -5
@@ -1,48 +1,92 @@
1
1
  import { DashboardArgs } from '@pulumi/azure-native/portal/index.js';
2
- /** @category Interface */
2
+ /**
3
+ * Client metadata for dashboard pane rendering
4
+ * @category Interface
5
+ */
3
6
  export type PaneClient = {
7
+ /** Client display name */
4
8
  name: string;
9
+ /** Client domain */
5
10
  domain: string;
6
11
  };
7
- /** @category Interface */
12
+ /**
13
+ * Template configuration for rendering client rows in a pane
14
+ * @category Interface
15
+ */
8
16
  export type PaneClientTemplate = {
17
+ /** Template string for each row */
9
18
  rowTemplate: string;
19
+ /** Optional prefix before the first row */
10
20
  prefix?: string;
21
+ /** Separator between rows */
11
22
  separator?: string;
23
+ /** Trailing content after the last row */
12
24
  trailing?: string;
25
+ /** Optional suffix after all rows */
13
26
  suffix?: string;
14
27
  };
15
- /** @category Interface */
28
+ /**
29
+ * Structure of a parsed YAML pane template file
30
+ * @category Interface
31
+ */
16
32
  export type PaneTemplate = {
33
+ /** Pane dimensions for dashboard layout */
17
34
  dimensions: {
18
35
  height: number;
19
36
  };
37
+ /** Required properties that must be provided for template substitution */
20
38
  properties: Record<string, string>;
39
+ /** Required variables that must be provided for template substitution */
21
40
  variables: Record<string, string>;
41
+ /** The Lodash-compatible template string */
22
42
  template: string;
23
43
  };
24
- /** @category Interface */
44
+ /**
45
+ * Result of checking for missing required keys in a template
46
+ * @category Interface
47
+ */
25
48
  export type MissingKeys = {
49
+ /** List of missing key names */
26
50
  keys: Array<string>;
51
+ /** Whether any required keys are missing */
27
52
  hasMissingKeys: boolean;
28
53
  };
29
- /** @category Interface */
54
+ /**
55
+ * Configuration for a single dashboard pane
56
+ * @category Interface
57
+ */
30
58
  export type Pane = {
59
+ /** Pane template identifier (corresponds to a YAML filename) */
31
60
  id: string;
61
+ /** Optional pane-specific properties to pass to the template */
32
62
  properties?: Record<string, string | number | Array<string | number>>;
33
63
  };
34
- /** @category Interface */
64
+ /**
65
+ * Filter configuration for dashboard time range and locale
66
+ * @category Interface
67
+ */
35
68
  export type Filter = {
69
+ /** Locale for the dashboard display (e.g. 'en-us') */
36
70
  locale?: string;
71
+ /** Time format for the dashboard (e.g. 'utc') */
37
72
  timeFormat?: string;
73
+ /** Time granularity for the dashboard (e.g. 'auto') */
38
74
  timeGranularity?: string;
75
+ /** Relative time range for the dashboard (e.g. '4h') */
39
76
  timeRelative?: string;
40
77
  };
41
- /** @category Interface */
78
+ /**
79
+ * Parameters for rendering a dashboard from pane templates
80
+ * @category Interface
81
+ */
42
82
  export type RenderParams = {
83
+ /** List of panes to render in the dashboard */
43
84
  panes: Array<Pane>;
85
+ /** Variables to substitute into pane templates */
44
86
  variables: Record<string, any>;
87
+ /** Optional properties to pass to pane templates */
45
88
  properties?: Record<string, any>;
89
+ /** Optional filter configuration for the dashboard */
46
90
  filter?: Filter;
47
91
  };
48
92
  /** @category Interface */
@@ -59,11 +103,20 @@ export interface DashboardRenderer {
59
103
  */
60
104
  renderToFile(filename: string, params: RenderParams): string;
61
105
  }
62
- /** @category Interface */
106
+ /**
107
+ * Properties for creating an Azure Portal dashboard
108
+ * @see [Pulumi Azure Native Portal Dashboard]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/portal/dashboard/}
109
+ * @category Interface
110
+ */
63
111
  export interface PortalDashboardProps extends DashboardArgs {
112
+ /** Display name shown in the Azure Portal */
64
113
  displayName: string;
114
+ /** List of pane configurations to render in the dashboard */
65
115
  panes: Array<Pane>;
116
+ /** Variables to substitute into pane templates */
66
117
  variables: Record<string, string>;
118
+ /** Optional filter configuration for the dashboard */
67
119
  filter?: Filter;
120
+ /** When false, skips dashboard creation */
68
121
  enabled?: boolean;
69
122
  }
@@ -1,12 +1,25 @@
1
1
  import { DatabaseArgs, RedisEnterpriseArgs } from '@pulumi/azure-native/redisenterprise/index.js';
2
- /** @category Interface */
2
+ /**
3
+ * Properties for creating an Azure Managed Redis (Enterprise) cluster
4
+ * @see [Pulumi Azure Native Redis Enterprise]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/redisenterprise/redisenterprise/}
5
+ * @category Interface
6
+ */
3
7
  export interface RedisEnterpriseClusterProps extends RedisEnterpriseArgs {
4
8
  }
5
- /** @category Interface */
9
+ /**
10
+ * Properties for creating a Redis Enterprise database
11
+ * @see [Pulumi Azure Native Redis Enterprise Database]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/redisenterprise/database/}
12
+ * @category Interface
13
+ */
6
14
  export interface RedisDatabaseProps extends DatabaseArgs {
7
15
  }
8
- /** @category Interface */
16
+ /**
17
+ * Result object containing the provisioned Redis Enterprise cluster and database
18
+ * @category Interface
19
+ */
9
20
  export interface ManagedRedisResult {
21
+ /** The provisioned Redis Enterprise cluster */
10
22
  cluster: import('@pulumi/azure-native/redisenterprise/index.js').RedisEnterprise;
23
+ /** The provisioned Redis Enterprise database */
11
24
  database: import('@pulumi/azure-native/redisenterprise/index.js').Database;
12
25
  }
@@ -1,4 +1,8 @@
1
1
  import { ResourceGroupArgs } from '@pulumi/azure-native/resources/index.js';
2
- /** @category Interface */
2
+ /**
3
+ * Properties for creating an Azure Resource Group
4
+ * @see [Pulumi Azure Native Resource Group]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/resources/resourcegroup/}
5
+ * @category Interface
6
+ */
3
7
  export interface ResourceGroupProps extends ResourceGroupArgs {
4
8
  }
@@ -1,4 +1,8 @@
1
1
  import { DefenderForStorageArgs } from '@pulumi/azure-native/security/index.js';
2
- /** @category Interface */
2
+ /**
3
+ * Properties for creating a Microsoft Defender for Storage configuration
4
+ * @see [Pulumi Azure Native Defender For Storage]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/security/defenderforstorage/}
5
+ * @category Interface
6
+ */
3
7
  export interface DefenderForStorageProps extends DefenderForStorageArgs {
4
8
  }
@@ -1,16 +1,36 @@
1
1
  import { GetQueueOutputArgs, NamespaceArgs, QueueArgs, SubscriptionArgs, TopicArgs } from '@pulumi/azure-native/servicebus/index.js';
2
- /** @category Interface */
2
+ /**
3
+ * Properties for creating a Service Bus namespace
4
+ * @see [Pulumi Azure Native Service Bus Namespace]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/servicebus/namespace/}
5
+ * @category Interface
6
+ */
3
7
  export interface ServiceBusNamespaceProps extends NamespaceArgs {
4
8
  }
5
- /** @category Interface */
9
+ /**
10
+ * Properties for creating a Service Bus topic
11
+ * @see [Pulumi Azure Native Service Bus Topic]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/servicebus/topic/}
12
+ * @category Interface
13
+ */
6
14
  export interface ServiceBusTopicProps extends TopicArgs {
7
15
  }
8
- /** @category Interface */
16
+ /**
17
+ * Properties for creating a Service Bus queue
18
+ * @see [Pulumi Azure Native Service Bus Queue]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/servicebus/queue/}
19
+ * @category Interface
20
+ */
9
21
  export interface ServiceBusQueueProps extends QueueArgs {
10
22
  }
11
- /** @category Interface */
23
+ /**
24
+ * Properties for creating a Service Bus subscription
25
+ * @see [Pulumi Azure Native Service Bus Subscription]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/servicebus/subscription/}
26
+ * @category Interface
27
+ */
12
28
  export interface ServiceBusSubscriptionProps extends SubscriptionArgs {
13
29
  }
14
- /** @category Interface */
30
+ /**
31
+ * Properties for resolving an existing Service Bus queue
32
+ * @see [Pulumi Azure Native Service Bus Queue]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/servicebus/queue/}
33
+ * @category Interface
34
+ */
15
35
  export interface ResolveServicebusQueueProps extends GetQueueOutputArgs {
16
36
  }
@@ -1,28 +1,60 @@
1
1
  import { BlobArgs, BlobContainerArgs, BlobServicePropertiesArgs, ListStorageAccountSASArgs, ManagementPolicyArgs, StorageAccountArgs, TableArgs } from '@pulumi/azure-native/storage/index.js';
2
2
  import { BaseAzureConfigProps } from '../../types/index.js';
3
- /** @category Interface */
3
+ /**
4
+ * Properties for creating an Azure Storage account
5
+ * @see [Pulumi Azure Native Storage Account]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/storage/storageaccount/}
6
+ * @category Interface
7
+ */
4
8
  export interface StorageAccountProps extends StorageAccountArgs {
9
+ /** Blob service properties (e.g. delete retention policy) */
5
10
  blobProperties?: BlobServicePropertiesArgs;
11
+ /** When true, skips creating the default BlobServiceProperties resource */
6
12
  skipBlobServiceProperties?: boolean;
7
13
  }
8
- /** @category Interface */
14
+ /**
15
+ * Properties for creating an Azure Storage blob container
16
+ * @see [Pulumi Azure Native Blob Container]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/storage/blobcontainer/}
17
+ * @category Interface
18
+ */
9
19
  export interface StorageContainerProps extends BlobContainerArgs, BaseAzureConfigProps {
10
20
  }
11
- /** @category Interface */
21
+ /**
22
+ * Properties for creating an Azure Storage blob
23
+ * @see [Pulumi Azure Native Blob]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/storage/blob/}
24
+ * @category Interface
25
+ */
12
26
  export interface StorageBlobProps extends BaseAzureConfigProps, BlobArgs {
27
+ /** When true, skips resource name formatting on the blob name */
13
28
  skipBlobNameFormatting?: boolean;
14
29
  }
15
- /** @category Interface */
30
+ /**
31
+ * Properties for creating an Azure Storage management policy
32
+ * @see [Pulumi Azure Native Storage Management Policy]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/storage/managementpolicy/}
33
+ * @category Interface
34
+ */
16
35
  export interface ManagementPolicyProps extends ManagementPolicyArgs {
17
36
  }
18
- /** @category Interface */
37
+ /**
38
+ * Properties for creating an Azure Storage table
39
+ * @see [Pulumi Azure Native Storage Table]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/storage/table/}
40
+ * @category Interface
41
+ */
19
42
  export interface StorageTableProps extends TableArgs {
20
43
  }
21
- /** @category Interface */
44
+ /**
45
+ * Properties for generating a container-level SAS token
46
+ * @see [Pulumi Azure Native Storage Account SAS]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/storage/liststorageaccountsas/}
47
+ * @category Interface
48
+ */
22
49
  export interface ContainerSasTokenProps extends ListStorageAccountSASArgs {
50
+ /** Resource group containing the storage account */
23
51
  resourceGroupName: string;
52
+ /** Optional container name for scoping the SAS token */
24
53
  containerName?: string;
54
+ /** When false, allows both HTTP and HTTPS protocols; defaults to HTTPS only */
25
55
  httpsOnly?: boolean;
56
+ /** SAS start date in 'YYYY-MM-DD' format; defaults to today */
26
57
  start?: string;
58
+ /** SAS expiry date in 'YYYY-MM-DD' format; defaults to 7 days from now */
27
59
  expiry?: string;
28
60
  }
@@ -1,5 +1,9 @@
1
1
  import * as pulumi from '@pulumi/pulumi';
2
- /** @category Interface */
2
+ /**
3
+ * Base properties shared by Azure configuration interfaces that require a resource group
4
+ * @category Interface
5
+ */
3
6
  export interface BaseAzureConfigProps {
7
+ /** The Azure resource group name in which the resource is deployed */
4
8
  resourceGroupName: pulumi.Input<string>;
5
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gradientedge/cdk-utils-azure",
3
- "version": "2.33.0",
3
+ "version": "2.35.0",
4
4
  "description": "Azure Pulumi utilities for @gradientedge/cdk-utils",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -14,16 +14,16 @@
14
14
  "dist/src/"
15
15
  ],
16
16
  "dependencies": {
17
- "@pulumi/archive": "0.3.8",
17
+ "@pulumi/archive": "0.4.0",
18
18
  "@pulumi/azure-native": "3.18.0",
19
19
  "@pulumi/azuread": "6.9.0",
20
- "@pulumi/pulumi": "3.237.0",
20
+ "@pulumi/pulumi": "3.239.0",
21
21
  "@types/lodash": "4.17.24",
22
22
  "app-root-path": "3.1.0",
23
23
  "lodash": "4.18.1",
24
24
  "uuid": "14.0.0",
25
- "yaml": "2.8.4",
26
- "@gradientedge/cdk-utils-common": "2.2.1"
25
+ "yaml": "2.9.0",
26
+ "@gradientedge/cdk-utils-common": "2.3.0"
27
27
  },
28
28
  "keywords": [
29
29
  "gradientedge",