@gradientedge/cdk-utils-azure 2.0.0 → 2.1.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 (94) hide show
  1. package/README.md +30 -0
  2. package/dist/src/common/constants.d.ts +4 -0
  3. package/dist/src/common/constants.js +3 -0
  4. package/dist/src/common/construct.d.ts +2 -1
  5. package/dist/src/common/construct.js +2 -1
  6. package/dist/src/common/resource-name-formatter.d.ts +2 -1
  7. package/dist/src/common/resource-name-formatter.js +2 -1
  8. package/dist/src/common/stack.d.ts +2 -1
  9. package/dist/src/common/stack.js +2 -1
  10. package/dist/src/common/tagging.d.ts +3 -0
  11. package/dist/src/common/tagging.js +3 -0
  12. package/dist/src/common/types.d.ts +5 -1
  13. package/dist/src/construct/event-handler/main.d.ts +2 -1
  14. package/dist/src/construct/event-handler/main.js +2 -1
  15. package/dist/src/construct/event-handler/types.d.ts +6 -0
  16. package/dist/src/construct/function-app/main.d.ts +2 -1
  17. package/dist/src/construct/function-app/main.js +2 -1
  18. package/dist/src/construct/function-app/types.d.ts +3 -0
  19. package/dist/src/construct/rest-api/main.d.ts +2 -1
  20. package/dist/src/construct/rest-api/main.js +2 -1
  21. package/dist/src/construct/rest-api/types.d.ts +3 -0
  22. package/dist/src/construct/rest-api-function/main.d.ts +2 -1
  23. package/dist/src/construct/rest-api-function/main.js +2 -1
  24. package/dist/src/construct/rest-api-function/types.d.ts +4 -0
  25. package/dist/src/construct/rest-api-with-cache/main.d.ts +2 -1
  26. package/dist/src/construct/rest-api-with-cache/main.js +2 -1
  27. package/dist/src/construct/rest-api-with-cache/types.d.ts +2 -0
  28. package/dist/src/construct/site-with-webapp/main.d.ts +2 -1
  29. package/dist/src/construct/site-with-webapp/main.js +2 -1
  30. package/dist/src/construct/site-with-webapp/types.d.ts +3 -0
  31. package/dist/src/services/api-management/main.d.ts +3 -2
  32. package/dist/src/services/api-management/main.js +3 -2
  33. package/dist/src/services/api-management/types.d.ts +17 -0
  34. package/dist/src/services/app-configuration/main.d.ts +2 -1
  35. package/dist/src/services/app-configuration/main.js +2 -1
  36. package/dist/src/services/app-configuration/types.d.ts +1 -0
  37. package/dist/src/services/app-service/main.d.ts +2 -1
  38. package/dist/src/services/app-service/main.js +2 -1
  39. package/dist/src/services/app-service/types.d.ts +2 -0
  40. package/dist/src/services/application-insights/main.d.ts +2 -1
  41. package/dist/src/services/application-insights/main.js +2 -1
  42. package/dist/src/services/application-insights/types.d.ts +2 -0
  43. package/dist/src/services/authorisation/constants.d.ts +1 -0
  44. package/dist/src/services/authorisation/constants.js +1 -0
  45. package/dist/src/services/authorisation/main.d.ts +2 -1
  46. package/dist/src/services/authorisation/main.js +2 -1
  47. package/dist/src/services/authorisation/types.d.ts +1 -0
  48. package/dist/src/services/cosmosdb/constants.d.ts +2 -0
  49. package/dist/src/services/cosmosdb/constants.js +2 -0
  50. package/dist/src/services/cosmosdb/main.d.ts +2 -1
  51. package/dist/src/services/cosmosdb/main.js +2 -1
  52. package/dist/src/services/cosmosdb/types.d.ts +4 -0
  53. package/dist/src/services/dns/main.d.ts +2 -1
  54. package/dist/src/services/dns/main.js +2 -1
  55. package/dist/src/services/dns/types.d.ts +4 -0
  56. package/dist/src/services/eventgrid/main.d.ts +2 -1
  57. package/dist/src/services/eventgrid/main.js +2 -1
  58. package/dist/src/services/eventgrid/types.d.ts +5 -0
  59. package/dist/src/services/function/main.d.ts +3 -2
  60. package/dist/src/services/function/main.js +3 -2
  61. package/dist/src/services/function/types.d.ts +3 -0
  62. package/dist/src/services/key-vault/main.d.ts +2 -1
  63. package/dist/src/services/key-vault/main.js +2 -1
  64. package/dist/src/services/key-vault/types.d.ts +2 -0
  65. package/dist/src/services/monitor/main.d.ts +2 -1
  66. package/dist/src/services/monitor/main.js +2 -1
  67. package/dist/src/services/monitor/types.d.ts +1 -0
  68. package/dist/src/services/operational-insights/main.d.ts +2 -1
  69. package/dist/src/services/operational-insights/main.js +2 -1
  70. package/dist/src/services/operational-insights/types.d.ts +2 -0
  71. package/dist/src/services/portal/error.d.ts +1 -0
  72. package/dist/src/services/portal/error.js +1 -0
  73. package/dist/src/services/portal/main.d.ts +2 -1
  74. package/dist/src/services/portal/main.js +2 -1
  75. package/dist/src/services/portal/renderer.d.ts +1 -0
  76. package/dist/src/services/portal/renderer.js +1 -0
  77. package/dist/src/services/portal/types.d.ts +7 -0
  78. package/dist/src/services/redis/main.d.ts +2 -1
  79. package/dist/src/services/redis/main.js +2 -1
  80. package/dist/src/services/redis/types.d.ts +1 -0
  81. package/dist/src/services/resource-group/main.d.ts +2 -1
  82. package/dist/src/services/resource-group/main.js +2 -1
  83. package/dist/src/services/resource-group/types.d.ts +1 -0
  84. package/dist/src/services/security-center/main.d.ts +2 -1
  85. package/dist/src/services/security-center/main.js +2 -1
  86. package/dist/src/services/security-center/types.d.ts +1 -0
  87. package/dist/src/services/servicebus/main.d.ts +2 -1
  88. package/dist/src/services/servicebus/main.js +2 -1
  89. package/dist/src/services/servicebus/types.d.ts +5 -0
  90. package/dist/src/services/storage/main.d.ts +2 -2
  91. package/dist/src/services/storage/main.js +2 -2
  92. package/dist/src/services/storage/types.d.ts +6 -0
  93. package/dist/src/types/index.d.ts +1 -0
  94. package/package.json +14 -3
package/README.md ADDED
@@ -0,0 +1,30 @@
1
+ # @gradientedge/cdk-utils-azure
2
+
3
+ Azure Pulumi utilities for provisioning and managing Azure infrastructure using [Pulumi](https://www.pulumi.com/) with the [Azure Native](https://www.pulumi.com/registry/packages/azure-native/) provider (`@pulumi/azure-native`).
4
+
5
+ ## Overview
6
+
7
+ This package provides high-level constructs and service managers for Azure:
8
+
9
+ - **Constructs** — patterns for REST APIs, Function Apps, Event Handlers, and web apps
10
+ - **Services** — manager classes for Azure services including API Management, CosmosDB, DNS, EventGrid, Key Vault, Redis, Storage, and more
11
+ - **Common** — base constructs, stack classes, and resource name formatting utilities
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ pnpm add @gradientedge/cdk-utils-azure
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ```typescript
22
+ import { CommonAzureConstruct } from '@gradientedge/cdk-utils-azure'
23
+
24
+ class MyAzureStack extends CommonAzureConstruct {
25
+ constructor(name: string, args: any, opts?: pulumi.ComponentResourceOptions) {
26
+ super(name, args, opts)
27
+ this.initResources()
28
+ }
29
+ }
30
+ ```
@@ -1,3 +1,4 @@
1
+ /** @category Enum */
1
2
  export declare enum AzureRemoteBackend {
2
3
  azurerm = "azurerm",
3
4
  pulumi = "pulumi",
@@ -6,10 +7,12 @@ export declare enum AzureRemoteBackend {
6
7
  /**
7
8
  * List of Azure resources that excludes tags
8
9
  */
10
+ /** @category Constant */
9
11
  export declare const RESOURCES_TO_EXCLUDE_TAGS: Set<string>;
10
12
  /**
11
13
  * @see https://learn.microsoft.com/en-us/azure/reliability/regions-list?tabs=all
12
14
  */
15
+ /** @category Constant */
13
16
  export declare const AzureLocation: {
14
17
  readonly BrazilSouth: "brazilsouth";
15
18
  readonly BrazilSoutheast: "brazilsoutheast";
@@ -80,4 +83,5 @@ export declare const AzureLocation: {
80
83
  readonly TaiwanNorthwest: "taiwannorthwest";
81
84
  readonly WestIndia: "westindia";
82
85
  };
86
+ /** @category Interface */
83
87
  export type AzureLocation = (typeof AzureLocation)[keyof typeof AzureLocation];
@@ -1,3 +1,4 @@
1
+ /** @category Enum */
1
2
  export var AzureRemoteBackend;
2
3
  (function (AzureRemoteBackend) {
3
4
  AzureRemoteBackend["azurerm"] = "azurerm";
@@ -7,10 +8,12 @@ export var AzureRemoteBackend;
7
8
  /**
8
9
  * List of Azure resources that excludes tags
9
10
  */
11
+ /** @category Constant */
10
12
  export const RESOURCES_TO_EXCLUDE_TAGS = new Set(['ApiManagementNamedValue', 'Application', 'ServicePrincipal']);
11
13
  /**
12
14
  * @see https://learn.microsoft.com/en-us/azure/reliability/regions-list?tabs=all
13
15
  */
16
+ /** @category Constant */
14
17
  export const AzureLocation = {
15
18
  // Americas
16
19
  BrazilSouth: 'brazilsouth',
@@ -7,7 +7,7 @@ import { AzureApiManagementManager, AzureAppConfigurationManager, AzureApplicati
7
7
  import { AzureResourceNameFormatter } from './resource-name-formatter.js';
8
8
  import { CommonAzureStackProps } from './types.js';
9
9
  /**
10
- * @classdesc Common Azure construct to use as a base for all higher level constructs using Pulumi
10
+ * Common Azure construct to use as a base for all higher level constructs using Pulumi
11
11
  * - Provides manager instances for all Azure services
12
12
  * - Handles resource naming conventions
13
13
  * - Manages common properties and utilities
@@ -22,6 +22,7 @@ import { CommonAzureStackProps } from './types.js';
22
22
  * }
23
23
  * }
24
24
  * ```
25
+ * @category Common
25
26
  */
26
27
  export declare class CommonAzureConstruct extends ComponentResource {
27
28
  props: CommonAzureStackProps;
@@ -6,7 +6,7 @@ import { AzureAuthorisationManager } from '../services/authorisation/main.js';
6
6
  import { AzureApiManagementManager, AzureAppConfigurationManager, AzureApplicationInsightsManager, AzureAppServiceManager, AzureCosmosDbManager, AzureDnsManager, AzureEventgridManager, AzureFunctionManager, AzureKeyVaultManager, AzureMonitorManager, AzureOperationalInsightsManager, AzurePortalManager, AzureRedisManager, AzureResourceGroupManager, AzureSecurityCentermanager, AzureServiceBusManager, AzureStorageManager, } from '../services/index.js';
7
7
  import { AzureResourceNameFormatter } from './resource-name-formatter.js';
8
8
  /**
9
- * @classdesc Common Azure construct to use as a base for all higher level constructs using Pulumi
9
+ * Common Azure construct to use as a base for all higher level constructs using Pulumi
10
10
  * - Provides manager instances for all Azure services
11
11
  * - Handles resource naming conventions
12
12
  * - Manages common properties and utilities
@@ -21,6 +21,7 @@ import { AzureResourceNameFormatter } from './resource-name-formatter.js';
21
21
  * }
22
22
  * }
23
23
  * ```
24
+ * @category Common
24
25
  */
25
26
  export class CommonAzureConstruct extends ComponentResource {
26
27
  id;
@@ -1,9 +1,10 @@
1
1
  import { AzureResourceNameFormatterProps, CommonAzureStackProps } from '../index.js';
2
2
  /**
3
- * @classdesc Formats Azure resource names according to naming conventions
3
+ * Formats Azure resource names according to naming conventions
4
4
  * - Applies global/resource prefixes and suffixes
5
5
  * - Automatically appends stage to resource names
6
6
  * - Supports per-resource customization via options
7
+ * @category Common
7
8
  */
8
9
  export declare class AzureResourceNameFormatter {
9
10
  props: CommonAzureStackProps;
@@ -1,8 +1,9 @@
1
1
  /**
2
- * @classdesc Formats Azure resource names according to naming conventions
2
+ * Formats Azure resource names according to naming conventions
3
3
  * - Applies global/resource prefixes and suffixes
4
4
  * - Automatically appends stage to resource names
5
5
  * - Supports per-resource customization via options
6
+ * @category Common
6
7
  */
7
8
  export class AzureResourceNameFormatter {
8
9
  props;
@@ -2,7 +2,7 @@ import { ComponentResource, ComponentResourceOptions, Config } from '@pulumi/pul
2
2
  import { CommonAzureConstruct } from './construct.js';
3
3
  import { CommonAzureStackProps } from './types.js';
4
4
  /**
5
- * @classdesc Common stack to use as a base for all higher level constructs using Pulumi
5
+ * Common stack to use as a base for all higher level constructs using Pulumi
6
6
  * @example
7
7
  * ```typescript
8
8
  * import { CommonAzureStack } from '@gradientedge/cdk-utils'
@@ -14,6 +14,7 @@ import { CommonAzureStackProps } from './types.js';
14
14
  * }
15
15
  * }
16
16
  * ```
17
+ * @category Common
17
18
  */
18
19
  export declare class CommonAzureStack extends ComponentResource {
19
20
  static NODEJS_RUNTIME: string;
@@ -6,7 +6,7 @@ import _ from 'lodash';
6
6
  import { isDevStage } from '@gradientedge/cdk-utils-common';
7
7
  import { registerTagTransformation } from './tagging.js';
8
8
  /**
9
- * @classdesc Common stack to use as a base for all higher level constructs using Pulumi
9
+ * Common stack to use as a base for all higher level constructs using Pulumi
10
10
  * @example
11
11
  * ```typescript
12
12
  * import { CommonAzureStack } from '@gradientedge/cdk-utils'
@@ -18,6 +18,7 @@ import { registerTagTransformation } from './tagging.js';
18
18
  * }
19
19
  * }
20
20
  * ```
21
+ * @category Common
21
22
  */
22
23
  export class CommonAzureStack extends ComponentResource {
23
24
  static NODEJS_RUNTIME = '22';
@@ -3,6 +3,7 @@
3
3
  * @param resourceType The Pulumi resource type (e.g., 'azure-native:resources:ResourceGroup')
4
4
  * @returns True if the resource supports tags, false otherwise
5
5
  */
6
+ /** @category Constant */
6
7
  export declare function isTaggableResource(resourceType: string): boolean;
7
8
  /**
8
9
  * @summary Register a stack transformation to automatically apply tags to Azure resources
@@ -13,6 +14,7 @@ export declare function isTaggableResource(resourceType: string): boolean;
13
14
  * registerTagTransformation({ environment: 'production', team: 'platform' })
14
15
  * ```
15
16
  */
17
+ /** @category Constant */
16
18
  export declare function registerTagTransformation(defaultTags: Record<string, string>, tagsToIgnore?: string[]): void;
17
19
  /**
18
20
  * @summary Helper function to apply tags to a specific resource's properties
@@ -24,6 +26,7 @@ export declare function registerTagTransformation(defaultTags: Record<string, st
24
26
  * const resourceGroupProps = applyTags(props, { environment: 'dev' })
25
27
  * ```
26
28
  */
29
+ /** @category Constant */
27
30
  export declare function applyTags<T extends {
28
31
  tags?: Record<string, string>;
29
32
  }>(props: T, defaultTags: Record<string, string>): T;
@@ -5,6 +5,7 @@ import { RESOURCES_TO_EXCLUDE_TAGS } from './constants.js';
5
5
  * @param resourceType The Pulumi resource type (e.g., 'azure-native:resources:ResourceGroup')
6
6
  * @returns True if the resource supports tags, false otherwise
7
7
  */
8
+ /** @category Constant */
8
9
  export function isTaggableResource(resourceType) {
9
10
  // Extract the resource name from the type (e.g., 'ResourceGroup' from 'azure-native:resources:ResourceGroup')
10
11
  const resourceName = resourceType.split(':').pop() || '';
@@ -24,6 +25,7 @@ export function isTaggableResource(resourceType) {
24
25
  * registerTagTransformation({ environment: 'production', team: 'platform' })
25
26
  * ```
26
27
  */
28
+ /** @category Constant */
27
29
  export function registerTagTransformation(defaultTags, tagsToIgnore = []) {
28
30
  pulumi.runtime.registerStackTransformation((args) => {
29
31
  // Only process taggable resources
@@ -67,6 +69,7 @@ export function registerTagTransformation(defaultTags, tagsToIgnore = []) {
67
69
  * const resourceGroupProps = applyTags(props, { environment: 'dev' })
68
70
  * ```
69
71
  */
72
+ /** @category Constant */
70
73
  export function applyTags(props, defaultTags) {
71
74
  return {
72
75
  ...props,
@@ -2,14 +2,16 @@ import { GetComponentOutputArgs } from '@pulumi/azure-native/applicationinsights
2
2
  import { GetWorkspaceOutputArgs } from '@pulumi/azure-native/operationalinsights/index.js';
3
3
  import { BaseProps } from '@gradientedge/cdk-utils-common';
4
4
  import { AzureLocation, AzureRemoteBackend } from './constants.js';
5
+ /** @category Interface */
5
6
  export interface AzureLocationConfig {
6
7
  id: string;
7
8
  name: string;
8
9
  }
9
10
  /**
10
11
  * @interface CommonAzureStackProps
11
- * @description Common properties for Azure stack configuration using Pulumi
12
+ * Common properties for Azure stack configuration using Pulumi
12
13
  */
14
+ /** @category Interface */
13
15
  export interface CommonAzureStackProps extends BaseProps {
14
16
  stackName?: string;
15
17
  resourceGroupName?: string;
@@ -40,6 +42,7 @@ export interface CommonAzureStackProps extends BaseProps {
40
42
  useMsi?: boolean;
41
43
  msiEndpoint?: string;
42
44
  }
45
+ /** @category Interface */
43
46
  export interface AzureRemoteBackendProps {
44
47
  type: AzureRemoteBackend;
45
48
  storageAccountName?: string;
@@ -48,6 +51,7 @@ export interface AzureRemoteBackendProps {
48
51
  subscriptionId?: string;
49
52
  key?: string;
50
53
  }
54
+ /** @category Interface */
51
55
  export interface AzureResourceNameFormatterProps {
52
56
  exclude?: boolean;
53
57
  globalPrefix?: boolean;
@@ -3,7 +3,7 @@ import { Output } from '@pulumi/pulumi';
3
3
  import { AzureFunctionApp } from '../function-app/index.js';
4
4
  import { AzureEventHandlerProps, EventHandlerEventGridSubscription, EventHandlerServiceBus } from './types.js';
5
5
  /**
6
- * @classdesc Provides a construct to create and deploy an Azure EventGrid Event Handler with Service Bus integration
6
+ * Provides a construct to create and deploy an Azure EventGrid Event Handler with Service Bus integration
7
7
  * @example
8
8
  * import { AzureEventHandler, AzureEventHandlerProps } from '@gradientedge/cdk-utils'
9
9
  *
@@ -15,6 +15,7 @@ import { AzureEventHandlerProps, EventHandlerEventGridSubscription, EventHandler
15
15
  * this.initResources()
16
16
  * }
17
17
  * }
18
+ * @category Construct
18
19
  */
19
20
  export declare class AzureEventHandler extends AzureFunctionApp {
20
21
  props: AzureEventHandlerProps;
@@ -2,7 +2,7 @@ import { Provider } from '@pulumi/azure-native';
2
2
  import { getTopicOutput } from '@pulumi/azure-native/eventgrid/index.js';
3
3
  import { AzureFunctionApp } from '../function-app/index.js';
4
4
  /**
5
- * @classdesc Provides a construct to create and deploy an Azure EventGrid Event Handler with Service Bus integration
5
+ * Provides a construct to create and deploy an Azure EventGrid Event Handler with Service Bus integration
6
6
  * @example
7
7
  * import { AzureEventHandler, AzureEventHandlerProps } from '@gradientedge/cdk-utils'
8
8
  *
@@ -14,6 +14,7 @@ import { AzureFunctionApp } from '../function-app/index.js';
14
14
  * this.initResources()
15
15
  * }
16
16
  * }
17
+ * @category Construct
17
18
  */
18
19
  export class AzureEventHandler extends AzureFunctionApp {
19
20
  props;
@@ -3,29 +3,35 @@ import { Namespace, Queue } from '@pulumi/azure-native/servicebus/index.js';
3
3
  import { BlobContainer, StorageAccount } from '@pulumi/azure-native/storage/index.js';
4
4
  import { DefenderForStorageProps, EventgridEventSubscriptionProps, EventgridTopicProps, ServiceBusNamespaceProps, ServiceBusQueueProps, StorageAccountProps, StorageContainerProps } from '../../services/index.js';
5
5
  import { AzureFunctionAppProps } from '../function-app/index.js';
6
+ /** @category Interface */
6
7
  export interface EventHandlerEventGridSubscriptionProps {
7
8
  dlqStorageAccount: StorageAccountProps;
8
9
  dlqStorageContainer: StorageContainerProps;
9
10
  }
11
+ /** @category Interface */
10
12
  export interface EventHandlerEventGridSubscription {
11
13
  dlqStorageAccount: StorageAccount;
12
14
  dlqStorageContainer: BlobContainer;
13
15
  eventSubscription: EventSubscription;
14
16
  }
17
+ /** @category Interface */
15
18
  export interface EventHandlerServiceBusProps {
16
19
  namespace: ServiceBusNamespaceProps;
17
20
  queue: ServiceBusQueueProps;
18
21
  }
22
+ /** @category Interface */
19
23
  export interface EventHandlerServiceBus {
20
24
  namespace: Namespace;
21
25
  queue: Queue;
22
26
  }
27
+ /** @category Interface */
23
28
  export interface EventHandlerEventGridTopicProps extends EventgridTopicProps {
24
29
  useExistingTopic: boolean;
25
30
  existingSubscriptionId?: string;
26
31
  existingTopicName?: string;
27
32
  existingResourceGroupName?: string;
28
33
  }
34
+ /** @category Interface */
29
35
  export interface AzureEventHandlerProps extends AzureFunctionAppProps {
30
36
  defender?: DefenderForStorageProps;
31
37
  eventGridEventSubscription: EventgridEventSubscriptionProps;
@@ -8,7 +8,7 @@ import { Output, ResourceOptions } from '@pulumi/pulumi';
8
8
  import { CommonAzureConstruct } from '../../common/index.js';
9
9
  import { AzureFunctionAppProps } from './types.js';
10
10
  /**
11
- * @classdesc Provides a construct to create and deploy an Azure Function App with Flex Consumption hosting
11
+ * Provides a construct to create and deploy an Azure Function App with Flex Consumption hosting
12
12
  * @example
13
13
  * import { AzureFunctionApp, AzureFunctionAppProps } from '@gradientedge/cdk-utils'
14
14
  *
@@ -20,6 +20,7 @@ import { AzureFunctionAppProps } from './types.js';
20
20
  * this.initResources()
21
21
  * }
22
22
  * }
23
+ * @category Construct
23
24
  */
24
25
  export declare class AzureFunctionApp extends CommonAzureConstruct {
25
26
  props: AzureFunctionAppProps;
@@ -12,7 +12,7 @@ import { CommonAzureConstruct } from '../../common/index.js';
12
12
  import { CosmosRoleDefinition } from '../../services/cosmosdb/constants.js';
13
13
  import { AzureAppConfigurationManager, RoleDefinitionId } from '../../services/index.js';
14
14
  /**
15
- * @classdesc Provides a construct to create and deploy an Azure Function App with Flex Consumption hosting
15
+ * Provides a construct to create and deploy an Azure Function App with Flex Consumption hosting
16
16
  * @example
17
17
  * import { AzureFunctionApp, AzureFunctionAppProps } from '@gradientedge/cdk-utils'
18
18
  *
@@ -24,6 +24,7 @@ import { AzureAppConfigurationManager, RoleDefinitionId } from '../../services/i
24
24
  * this.initResources()
25
25
  * }
26
26
  * }
27
+ * @category Construct
27
28
  */
28
29
  export class AzureFunctionApp extends CommonAzureConstruct {
29
30
  props;
@@ -1,7 +1,9 @@
1
1
  import { AppConfigurationProps, CommonAzureStackProps, ContainerSasTokenProps, FunctionAppFlexConsumptionProps, PortalDashboardProps, ServicePlanProps, StorageAccountProps, StorageContainerProps } from '../../index.js';
2
+ /** @category Interface */
2
3
  export interface OtelProps {
3
4
  otelTracesSamplerArg: string;
4
5
  }
6
+ /** @category Interface */
5
7
  export interface FunctionAppProperties {
6
8
  app: FunctionAppFlexConsumptionProps;
7
9
  appConfiguration: AppConfigurationProps;
@@ -15,6 +17,7 @@ export interface FunctionAppProperties {
15
17
  storageContainer: StorageContainerProps;
16
18
  timerTriggerCronExpression: string;
17
19
  }
20
+ /** @category Interface */
18
21
  export interface AzureFunctionAppProps extends CommonAzureStackProps {
19
22
  existingTopicName: string;
20
23
  existingTopicResourceGroupName: string;
@@ -3,7 +3,7 @@ import { Output } from '@pulumi/pulumi';
3
3
  import { CommonAzureConstruct } from '../../common/index.js';
4
4
  import { AzureApi, AzureRestApiProps } from './types.js';
5
5
  /**
6
- * @classdesc Provides a construct to create and deploy an Azure API Management service with diagnostics and logging
6
+ * Provides a construct to create and deploy an Azure API Management service with diagnostics and logging
7
7
  * @example
8
8
  * import { AzureRestApi, AzureRestApiProps } from '@gradientedge/cdk-utils'
9
9
  *
@@ -15,6 +15,7 @@ import { AzureApi, AzureRestApiProps } from './types.js';
15
15
  * this.initResources()
16
16
  * }
17
17
  * }
18
+ * @category Construct
18
19
  */
19
20
  export declare class AzureRestApi extends CommonAzureConstruct {
20
21
  props: AzureRestApiProps;
@@ -5,7 +5,7 @@ import * as pulumi from '@pulumi/pulumi';
5
5
  import { CommonAzureConstruct } from '../../common/index.js';
6
6
  import { RoleDefinitionId } from '../../services/index.js';
7
7
  /**
8
- * @classdesc Provides a construct to create and deploy an Azure API Management service with diagnostics and logging
8
+ * Provides a construct to create and deploy an Azure API Management service with diagnostics and logging
9
9
  * @example
10
10
  * import { AzureRestApi, AzureRestApiProps } from '@gradientedge/cdk-utils'
11
11
  *
@@ -17,6 +17,7 @@ import { RoleDefinitionId } from '../../services/index.js';
17
17
  * this.initResources()
18
18
  * }
19
19
  * }
20
+ * @category Construct
20
21
  */
21
22
  export class AzureRestApi extends CommonAzureConstruct {
22
23
  props;
@@ -3,16 +3,19 @@ import { RoleAssignment } from '@pulumi/azure-native/authorization/index.js';
3
3
  import { GetVaultResult, Secret } from '@pulumi/azure-native/keyvault/index.js';
4
4
  import { Input, Output } from '@pulumi/pulumi';
5
5
  import { ApiDiagnosticProps, ApiManagementProps, CommonAzureStackProps, MonitorDiagnosticSettingProps } from '../../index.js';
6
+ /** @category Interface */
6
7
  export interface ApiAuthKeyVault {
7
8
  name: string;
8
9
  resourceGroupName: string;
9
10
  }
11
+ /** @category Interface */
10
12
  export interface AzureRestApiProps extends CommonAzureStackProps {
11
13
  apiAuthKeyVault: ApiAuthKeyVault;
12
14
  apiManagement: ApiManagementProps;
13
15
  apiManagementDiagnostic: ApiDiagnosticProps;
14
16
  apiManagementDiagnosticSettings: MonitorDiagnosticSettingProps;
15
17
  }
18
+ /** @category Interface */
16
19
  export interface AzureApi {
17
20
  id: Input<string>;
18
21
  name: Input<string>;
@@ -2,7 +2,7 @@ import { ApiManagementApiOperationProps } from '../../services/index.js';
2
2
  import { AzureFunctionApp } from '../function-app/index.js';
3
3
  import { AzureApiFunction, AzureRestApiFunctionProps } from './types.js';
4
4
  /**
5
- * @classdesc Provides a construct to create and deploy an Azure Function App with API Management integration
5
+ * Provides a construct to create and deploy an Azure Function App with API Management integration
6
6
  * @example
7
7
  * import { AzureRestApiFunction, AzureRestApiFunctionProps } from '@gradientedge/cdk-utils'
8
8
  *
@@ -14,6 +14,7 @@ import { AzureApiFunction, AzureRestApiFunctionProps } from './types.js';
14
14
  * this.initResources()
15
15
  * }
16
16
  * }
17
+ * @category Construct
17
18
  */
18
19
  export declare class AzureRestApiFunction extends AzureFunctionApp {
19
20
  props: AzureRestApiFunctionProps;
@@ -6,7 +6,7 @@ import _ from 'lodash';
6
6
  import { RoleDefinitionId } from '../../services/index.js';
7
7
  import { AzureFunctionApp } from '../function-app/index.js';
8
8
  /**
9
- * @classdesc Provides a construct to create and deploy an Azure Function App with API Management integration
9
+ * Provides a construct to create and deploy an Azure Function App with API Management integration
10
10
  * @example
11
11
  * import { AzureRestApiFunction, AzureRestApiFunctionProps } from '@gradientedge/cdk-utils'
12
12
  *
@@ -18,6 +18,7 @@ import { AzureFunctionApp } from '../function-app/index.js';
18
18
  * this.initResources()
19
19
  * }
20
20
  * }
21
+ * @category Construct
21
22
  */
22
23
  export class AzureRestApiFunction extends AzureFunctionApp {
23
24
  props;
@@ -1,8 +1,10 @@
1
1
  import { Api, ApiOperation, Backend, NamedValue } from '@pulumi/azure-native/apimanagement/index.js';
2
2
  import { ApiManagementApiProps, ApiManagementBackendProps, ApiManagementProps, ApplicationInsightsProps, AzureApi, AzureFunctionAppProps, AzureRestApiProps } from '../../index.js';
3
+ /** @category Interface */
3
4
  export interface ApiManagementRestApiProps extends ApiManagementProps {
4
5
  useExistingApiManagement: boolean;
5
6
  }
7
+ /** @category Interface */
6
8
  export interface ApiManagementCors {
7
9
  enableCors: boolean;
8
10
  allowCredentials: boolean;
@@ -11,6 +13,7 @@ export interface ApiManagementCors {
11
13
  allowedOrigins?: string[];
12
14
  originSubdomain?: string;
13
15
  }
16
+ /** @category Interface */
14
17
  export interface AzureRestApiFunctionProps extends AzureRestApiProps, AzureFunctionAppProps {
15
18
  apiManagementBackend: ApiManagementBackendProps;
16
19
  apiManagementApi: ApiManagementApiProps;
@@ -18,6 +21,7 @@ export interface AzureRestApiFunctionProps extends AzureRestApiProps, AzureFunct
18
21
  apiManagement: ApiManagementRestApiProps;
19
22
  apiManagementCors?: ApiManagementCors;
20
23
  }
24
+ /** @category Interface */
21
25
  export interface AzureApiFunction extends AzureApi {
22
26
  corsPolicyXmlContent?: string;
23
27
  apiOperations: {
@@ -1,7 +1,7 @@
1
1
  import { AzureRestApi } from '../rest-api/main.js';
2
2
  import { AzureApiWithCache, AzureRestApiWithCacheProps } from './types.js';
3
3
  /**
4
- * @classdesc Provides a construct to create and deploy an Azure API Management service with Redis cache integration
4
+ * Provides a construct to create and deploy an Azure API Management service with Redis cache integration
5
5
  * @example
6
6
  * import { AzureRestApiWithCache, AzureRestApiWithCacheProps } from '@gradientedge/cdk-utils'
7
7
  *
@@ -13,6 +13,7 @@ import { AzureApiWithCache, AzureRestApiWithCacheProps } from './types.js';
13
13
  * this.initResources()
14
14
  * }
15
15
  * }
16
+ * @category Construct
16
17
  */
17
18
  export declare class AzureRestApiWithCache extends AzureRestApi {
18
19
  props: AzureRestApiWithCacheProps;
@@ -1,6 +1,6 @@
1
1
  import { AzureRestApi } from '../rest-api/main.js';
2
2
  /**
3
- * @classdesc Provides a construct to create and deploy an Azure API Management service with Redis cache integration
3
+ * Provides a construct to create and deploy an Azure API Management service with Redis cache integration
4
4
  * @example
5
5
  * import { AzureRestApiWithCache, AzureRestApiWithCacheProps } from '@gradientedge/cdk-utils'
6
6
  *
@@ -12,6 +12,7 @@ import { AzureRestApi } from '../rest-api/main.js';
12
12
  * this.initResources()
13
13
  * }
14
14
  * }
15
+ * @category Construct
15
16
  */
16
17
  export class AzureRestApiWithCache extends AzureRestApi {
17
18
  props;
@@ -3,9 +3,11 @@ import { Secret } from '@pulumi/azure-native/keyvault/index.js';
3
3
  import { Redis } from '@pulumi/azure-native/redis/index.js';
4
4
  import { RedisProps } from '../../index.js';
5
5
  import { AzureApi, AzureRestApiProps } from '../index.js';
6
+ /** @category Interface */
6
7
  export interface AzureRestApiWithCacheProps extends AzureRestApiProps {
7
8
  apiManagementManagedRedis: RedisProps;
8
9
  }
10
+ /** @category Interface */
9
11
  export interface AzureApiWithCache extends AzureApi {
10
12
  redis: Redis;
11
13
  redisNamedValueSecret: Secret;
@@ -3,7 +3,7 @@ import { Output, ResourceOptions } from '@pulumi/pulumi';
3
3
  import { CommonAzureConstruct } from '../../common/index.js';
4
4
  import { Site, SiteWithWebAppProps } from './types.js';
5
5
  /**
6
- * @classdesc Provides a construct to create and deploy a site hosted with an Azure Linux Web App
6
+ * Provides a construct to create and deploy a site hosted with an Azure Linux Web App
7
7
  * @example
8
8
  * import { SiteWithWebApp, SiteWithWebAppProps } from '@gradientedge/cdk-utils'
9
9
  *
@@ -15,6 +15,7 @@ import { Site, SiteWithWebAppProps } from './types.js';
15
15
  * this.initResources()
16
16
  * }
17
17
  * }
18
+ * @category Construct
18
19
  */
19
20
  export declare class SiteWithWebApp extends CommonAzureConstruct {
20
21
  props: SiteWithWebAppProps;
@@ -5,7 +5,7 @@ import { getComponentOutput } from '@pulumi/azure-native/applicationinsights/ind
5
5
  import _ from 'lodash';
6
6
  import { CommonAzureConstruct } from '../../common/index.js';
7
7
  /**
8
- * @classdesc Provides a construct to create and deploy a site hosted with an Azure Linux Web App
8
+ * Provides a construct to create and deploy a site hosted with an Azure Linux Web App
9
9
  * @example
10
10
  * import { SiteWithWebApp, SiteWithWebAppProps } from '@gradientedge/cdk-utils'
11
11
  *
@@ -17,6 +17,7 @@ import { CommonAzureConstruct } from '../../common/index.js';
17
17
  * this.initResources()
18
18
  * }
19
19
  * }
20
+ * @category Construct
20
21
  */
21
22
  export class SiteWithWebApp extends CommonAzureConstruct {
22
23
  props;
@@ -5,6 +5,7 @@ import { AppServicePlan, WebApp } from '@pulumi/azure-native/web/index.js';
5
5
  import { Output } from '@pulumi/pulumi';
6
6
  import { CommonAzureStackProps } from '../../common/index.js';
7
7
  import { LinuxWebAppProps, ServicePlanProps, StorageAccountProps, StorageContainerProps } from '../../services/index.js';
8
+ /** @category Interface */
8
9
  export interface SiteProps {
9
10
  appServicePlan: ServicePlanProps;
10
11
  codeArchiveFile: GetFileOutputArgs;
@@ -12,6 +13,7 @@ export interface SiteProps {
12
13
  storageContainer: StorageContainerProps;
13
14
  webApp: LinuxWebAppProps;
14
15
  }
16
+ /** @category Interface */
15
17
  export interface SiteWithWebAppProps extends CommonAzureStackProps {
16
18
  deploySource: string;
17
19
  nodeOptions: string;
@@ -20,6 +22,7 @@ export interface SiteWithWebAppProps extends CommonAzureStackProps {
20
22
  site: SiteProps;
21
23
  startCommand: string;
22
24
  }
25
+ /** @category Interface */
23
26
  export interface Site {
24
27
  appServicePlan: AppServicePlan;
25
28
  codeArchiveFile: Output<archive.GetFileResult>;
@@ -3,7 +3,7 @@ import { ResourceOptions } from '@pulumi/pulumi';
3
3
  import { CommonAzureConstruct } from '../../common/index.js';
4
4
  import { ApiDiagnosticProps, ApiManagementApiProps, ApiManagementBackendProps, ApiManagementProps, ApiOperationPolicyProps, ApiOperationProps, ApiPolicyProps, ApiSubscriptionProps, CacheProps, LoggerProps, NamedValueProps, ResolveApiManagementProps } from './types.js';
5
5
  /**
6
- * @classdesc Provides operations on Azure API Management using Pulumi
6
+ * Provides operations on Azure API Management using Pulumi
7
7
  * - A new instance of this class is injected into {@link CommonAzureConstruct} constructor.
8
8
  * - If a custom construct extends {@link CommonAzureConstruct}, an instance is available within the context.
9
9
  * @example
@@ -18,6 +18,7 @@ import { ApiDiagnosticProps, ApiManagementApiProps, ApiManagementBackendProps, A
18
18
  * }
19
19
  * }
20
20
  * ```
21
+ * @category Service
21
22
  */
22
23
  export declare class AzureApiManagementManager {
23
24
  /**
@@ -132,7 +133,7 @@ export declare class AzureApiManagementManager {
132
133
  createPolicy(id: string, scope: CommonAzureConstruct, props: ApiPolicyProps, resourceOptions?: ResourceOptions): import("@pulumi/azure-native/apimanagement/apiPolicy.js").ApiPolicy;
133
134
  /**
134
135
  * @summary Method to create a new API Management custom domain
135
- * @note In Pulumi Azure Native, custom domains are configured as part of the API Management service resource,
136
+ * In Pulumi Azure Native, custom domains are configured as part of the API Management service resource,
136
137
  * not as a separate resource. Use the hostnameConfigurations property when creating the service.
137
138
  */
138
139
  createApiManagementCustomDomain(): void;