@gradientedge/cdk-utils-azure 2.33.0 → 2.34.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 +3 -3
@@ -28,28 +28,51 @@ import { AzureAppConfigurationManager, RoleDefinitionId } from '../../services/i
28
28
  * @category Construct
29
29
  */
30
30
  export class AzureFunctionApp extends CommonAzureConstruct {
31
+ /** Function app properties */
31
32
  props;
33
+ /** The provisioned Azure Function App web app resource */
32
34
  app;
35
+ /** The provisioned App Service Plan for the function app */
33
36
  appServicePlan;
37
+ /** Environment variables to inject into the function app configuration */
34
38
  appEnvironmentVariables = {};
39
+ /** The provisioned storage account for the function app */
35
40
  appStorageAccount;
41
+ /** The provisioned storage container for deployment artifacts */
36
42
  appDeploymentStorageContainer;
43
+ /** The provisioned storage container for function app data */
37
44
  appStorageContainer;
45
+ /** The provisioned or resolved App Configuration store */
38
46
  appConfig;
47
+ /** The archive file output for the function app deployment package */
39
48
  appCodeArchiveFile;
49
+ /** Hash of the app configuration for change detection */
40
50
  appConfigHash;
51
+ /** Map of resource group names to sets of Key Vault names for role assignments */
41
52
  appKeyVaultsByResourceGroup = {};
53
+ /** Connection strings to configure on the function app */
42
54
  appConnectionStrings = [];
55
+ /** Prefix for App Configuration key names */
43
56
  appConfigPrefix;
57
+ /** Parsed app configuration data (processed version) */
44
58
  appConfigurationsParsedConfig;
59
+ /** Parsed app configuration data (original version before processing) */
45
60
  appConfigurationsOriginalParsedConfig;
61
+ /** The provisioned Key Vault for data storage secrets */
46
62
  dataKeyVault;
63
+ /** The provisioned data storage account */
47
64
  dataStorageAccount;
65
+ /** The provisioned data storage container */
48
66
  dataStorageContainer;
67
+ /** The resolved Application Insights component for telemetry */
49
68
  applicationInsights;
69
+ /** The provisioned Azure Portal dashboard for monitoring */
50
70
  functionDashboard;
71
+ /** Role assignment granting the function app access to the storage account */
51
72
  storageRoleAssignment;
73
+ /** Role assignment granting the function app access to the App Configuration store */
52
74
  appConfigRoleAssignment;
75
+ /** Role assignment granting the function app access to EventGrid topics */
53
76
  eventGridRoleAssignment;
54
77
  /**
55
78
  * @summary Create a new AzureFunctionApp
@@ -1,36 +1,71 @@
1
1
  import { AppConfigurationProps, CommonAzureStackProps, ContainerSasTokenProps, FunctionAppFlexConsumptionProps, PortalDashboardProps, ServicePlanProps, StorageAccountProps, StorageContainerProps } from '../../index.js';
2
- /** @category Interface */
2
+ /**
3
+ * Properties for configuring OpenTelemetry tracing
4
+ * @category Interface
5
+ */
3
6
  export interface OtelProps {
7
+ /** Sampling argument for the OpenTelemetry traces sampler */
4
8
  otelTracesSamplerArg: string;
5
9
  }
6
- /** @category Interface */
10
+ /**
11
+ * Properties for configuring the Azure Function App resources
12
+ * @category Interface
13
+ */
7
14
  export interface FunctionAppProperties {
15
+ /** Flex consumption function app configuration */
8
16
  app?: FunctionAppFlexConsumptionProps;
17
+ /** App Configuration store properties for function settings */
9
18
  appConfiguration: AppConfigurationProps;
19
+ /** Azure Portal dashboard properties for monitoring */
10
20
  dashboard: PortalDashboardProps;
21
+ /** Storage container for function deployment artifacts */
11
22
  deploymentStorageContainer: StorageContainerProps;
23
+ /** Relative path to the function app deployment source directory */
12
24
  deploySource: string;
25
+ /** Custom host.json configuration to merge with the source host.json */
13
26
  hostsConfiguration?: string;
27
+ /** Name of the deployment package archive file */
14
28
  packageName: string;
29
+ /** App Service Plan properties for the function app */
15
30
  servicePlan: ServicePlanProps;
31
+ /** Storage account properties for the function app */
16
32
  storageAccount: StorageAccountProps;
33
+ /** Storage container properties for function app data */
17
34
  storageContainer: StorageContainerProps;
35
+ /** Cron expression for timer-triggered functions */
18
36
  timerTriggerCronExpression: string;
19
37
  }
20
- /** @category Interface */
38
+ /**
39
+ * Properties for the {@link AzureFunctionApp} construct
40
+ * @category Interface
41
+ */
21
42
  export interface AzureFunctionAppProps extends CommonAzureStackProps {
43
+ /** Name of the existing EventGrid topic for event publishing */
22
44
  existingTopicName: string;
45
+ /** Resource group name of the existing EventGrid topic */
23
46
  existingTopicResourceGroupName: string;
47
+ /** Resource group name of the existing CosmosDB account */
24
48
  existingCosmosAccountResourceGroupName: string;
49
+ /** Name of the existing CosmosDB account */
25
50
  existingCosmosAccountName: string;
51
+ /** Custom host.json configuration to merge at the stack level */
26
52
  hostsConfiguration: any;
53
+ /** Resource group name of the existing App Configuration store */
27
54
  existingConfigStoreResourceGroupName: string;
55
+ /** Name of the existing App Configuration store */
28
56
  existingConfigStoreName: string;
57
+ /** Function app resource properties */
29
58
  functionApp: FunctionAppProperties;
59
+ /** When true, bypasses App Configuration store and uses config overrides */
30
60
  useConfigOverride?: boolean;
61
+ /** Data storage container properties for the function app */
31
62
  dataStorageContainer: StorageContainerProps;
63
+ /** Data storage account properties for the function app */
32
64
  dataStorageAccount: StorageAccountProps;
65
+ /** SAS token properties for the data storage container */
33
66
  dataStorageContainerSas: ContainerSasTokenProps;
67
+ /** Name of the Key Vault for storing the data SAS token */
34
68
  dataKeyVaultName: string;
69
+ /** Name of the Key Vault secret for the data SAS token */
35
70
  dataKeyVaultSecretName: string;
36
71
  }
@@ -18,8 +18,11 @@ import { AzureApi, AzureRestApiProps } from './types.js';
18
18
  * @category Construct
19
19
  */
20
20
  export declare class AzureRestApi extends CommonAzureConstruct {
21
+ /** REST API properties */
21
22
  props: AzureRestApiProps;
23
+ /** Provisioned API Management resources */
22
24
  api: AzureApi;
25
+ /** The resolved Application Insights component for telemetry */
23
26
  applicationInsights: Output<GetComponentResult>;
24
27
  /**
25
28
  * @summary Create a new AzureRestApi
@@ -21,8 +21,11 @@ import { RoleDefinitionId } from '../../services/index.js';
21
21
  * @category Construct
22
22
  */
23
23
  export class AzureRestApi extends CommonAzureConstruct {
24
+ /** REST API properties */
24
25
  props;
26
+ /** Provisioned API Management resources */
25
27
  api = {};
28
+ /** The resolved Application Insights component for telemetry */
26
29
  applicationInsights;
27
30
  /**
28
31
  * @summary Create a new AzureRestApi
@@ -3,26 +3,49 @@ 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
+ * Key Vault reference for API authentication secrets
8
+ * @category Interface
9
+ */
7
10
  export interface ApiAuthKeyVault {
11
+ /** Name of the Key Vault containing API authentication secrets */
8
12
  name: Input<string>;
13
+ /** Resource group containing the authentication Key Vault */
9
14
  resourceGroupName: Input<string>;
10
15
  }
11
- /** @category Interface */
16
+ /**
17
+ * Properties for the {@link AzureRestApi} construct
18
+ * @category Interface
19
+ */
12
20
  export interface AzureRestApiProps extends CommonAzureStackProps {
21
+ /** Key Vault reference for API authentication secrets */
13
22
  apiAuthKeyVault: ApiAuthKeyVault;
23
+ /** API Management service properties */
14
24
  apiManagement: ApiManagementProps;
25
+ /** API diagnostic properties for logging */
15
26
  apiManagementDiagnostic: ApiDiagnosticProps;
27
+ /** Monitor diagnostic settings for the API Management service */
16
28
  apiManagementDiagnosticSettings: MonitorDiagnosticSettingProps;
17
29
  }
18
- /** @category Interface */
30
+ /**
31
+ * Provisioned API Management resources
32
+ * @category Interface
33
+ */
19
34
  export interface AzureApi {
35
+ /** The API Management service resource ID */
20
36
  id: Input<string>;
37
+ /** The API Management service name */
21
38
  name: Input<string>;
39
+ /** The resource group name of the API Management service */
22
40
  resourceGroupName: Input<string>;
41
+ /** The resolved authentication Key Vault */
23
42
  authKeyVault: Output<GetVaultResult>;
43
+ /** The provisioned API Management service */
24
44
  apim: ApiManagementService;
45
+ /** The Key Vault secret for the Application Insights instrumentation key */
25
46
  namedValueSecret: Secret;
47
+ /** Role assignment granting the APIM identity access to the Key Vault */
26
48
  namedValueRoleAssignment: RoleAssignment;
49
+ /** The provisioned API Management logger for Application Insights */
27
50
  logger: Logger;
28
51
  }
@@ -17,7 +17,9 @@ import { AzureApiFunction, AzureRestApiFunctionProps } from './types.js';
17
17
  * @category Construct
18
18
  */
19
19
  export declare class AzureRestApiFunction extends AzureFunctionApp {
20
+ /** REST API function properties */
20
21
  props: AzureRestApiFunctionProps;
22
+ /** Provisioned API Management resources for the function-backed REST API */
21
23
  api: AzureApiFunction;
22
24
  /**
23
25
  * @summary Create a new AzureRestApiFunction
@@ -21,7 +21,9 @@ import { AzureFunctionApp } from '../function-app/index.js';
21
21
  * @category Construct
22
22
  */
23
23
  export class AzureRestApiFunction extends AzureFunctionApp {
24
+ /** REST API function properties */
24
25
  props;
26
+ /** Provisioned API Management resources for the function-backed REST API */
25
27
  api = {};
26
28
  /**
27
29
  * @summary Create a new AzureRestApiFunction
@@ -1,35 +1,65 @@
1
1
  import { Api, ApiOperation, Backend, NamedValue } from '@pulumi/azure-native/apimanagement/index.js';
2
2
  import { Input } from '@pulumi/pulumi';
3
3
  import { ApiManagementApiProps, ApiManagementBackendProps, ApiManagementProps, ApplicationInsightsProps, AzureApi, AzureFunctionAppProps, AzureRestApiProps } from '../../index.js';
4
- /** @category Interface */
4
+ /**
5
+ * Extended API Management properties with existing service resolution support
6
+ * @category Interface
7
+ */
5
8
  export interface ApiManagementRestApiProps extends ApiManagementProps {
9
+ /** When true, resolves an existing API Management service instead of creating a new one */
6
10
  useExistingApiManagement: boolean;
7
11
  }
8
- /** @category Interface */
12
+ /**
13
+ * CORS policy configuration for API Management
14
+ * @category Interface
15
+ */
9
16
  export interface ApiManagementCors {
17
+ /** Enable CORS policy on the API Management service */
10
18
  enableCors: boolean;
19
+ /** Allow credentials in cross-origin requests */
11
20
  allowCredentials: boolean;
21
+ /** List of allowed HTTP methods */
12
22
  allowedMethods: string[];
23
+ /** List of allowed HTTP headers */
13
24
  allowedHeaders: string[];
25
+ /** Explicit list of allowed origins; takes precedence over originSubdomain */
14
26
  allowedOrigins?: string[];
27
+ /** Subdomain used to auto-generate per-locale allowed origins */
15
28
  originSubdomain?: string;
16
29
  }
17
- /** @category Interface */
30
+ /**
31
+ * Properties for the {@link AzureRestApiFunction} construct
32
+ * @category Interface
33
+ */
18
34
  export interface AzureRestApiFunctionProps extends AzureRestApiProps, AzureFunctionAppProps {
35
+ /** Backend configuration for routing to the function app */
19
36
  apiManagementBackend: ApiManagementBackendProps;
37
+ /** API configuration including operations and policies */
20
38
  apiManagementApi: ApiManagementApiProps;
39
+ /** Optional Application Insights properties for API-level monitoring */
21
40
  apiManagementApplicationInsights?: ApplicationInsightsProps;
41
+ /** API Management service properties with existing service resolution */
22
42
  apiManagement: ApiManagementRestApiProps;
43
+ /** Optional CORS policy configuration */
23
44
  apiManagementCors?: ApiManagementCors;
24
45
  }
25
- /** @category Interface */
46
+ /**
47
+ * Provisioned API Management resources for the function-backed REST API
48
+ * @category Interface
49
+ */
26
50
  export interface AzureApiFunction extends AzureApi {
51
+ /** Map of operation display names to provisioned API operation resources */
27
52
  apiOperations: {
28
53
  [operation: string]: ApiOperation;
29
54
  };
55
+ /** The provisioned API Management backend pointing to the function app */
30
56
  backend: Backend;
57
+ /** Generated CORS policy XML content */
31
58
  corsPolicyXmlContent?: string;
59
+ /** The provisioned API Management API resource */
32
60
  managementApi: Api;
61
+ /** Named value resource for the function app host key */
33
62
  namedValue: NamedValue;
63
+ /** Generated JWT validation policy XML content */
34
64
  validateJwtPolicyXmlContent?: Input<string>;
35
65
  }
@@ -16,7 +16,9 @@ import { AzureApiWithCache, AzureRestApiWithCacheProps } from './types.js';
16
16
  * @category Construct
17
17
  */
18
18
  export declare class AzureRestApiWithCache extends AzureRestApi {
19
+ /** REST API with cache properties */
19
20
  props: AzureRestApiWithCacheProps;
21
+ /** Provisioned API Management resources with Redis cache */
20
22
  api: AzureApiWithCache;
21
23
  /**
22
24
  * @summary Create a new AzureRestApiWithCache
@@ -17,6 +17,7 @@ import { AzureRestApi } from '../rest-api/main.js';
17
17
  * @category Construct
18
18
  */
19
19
  export class AzureRestApiWithCache extends AzureRestApi {
20
+ /** REST API with cache properties */
20
21
  props;
21
22
  /**
22
23
  * @summary Create a new AzureRestApiWithCache
@@ -3,15 +3,27 @@ import { Secret } from '@pulumi/azure-native/keyvault/index.js';
3
3
  import { Database, RedisEnterprise } from '@pulumi/azure-native/redisenterprise/index.js';
4
4
  import { RedisDatabaseProps, RedisEnterpriseClusterProps } from '../../index.js';
5
5
  import { AzureApi, AzureRestApiProps } from '../index.js';
6
- /** @category Interface */
6
+ /**
7
+ * Properties for the {@link AzureRestApiWithCache} construct
8
+ * @category Interface
9
+ */
7
10
  export interface AzureRestApiWithCacheProps extends AzureRestApiProps {
11
+ /** Azure Managed Redis (Enterprise) cluster properties for API caching */
8
12
  apiManagementManagedRedis: RedisEnterpriseClusterProps;
13
+ /** Optional Redis database properties; defaults are applied if omitted */
9
14
  apiManagementManagedRedisDatabase?: Partial<RedisDatabaseProps>;
10
15
  }
11
- /** @category Interface */
16
+ /**
17
+ * Provisioned API Management resources with Redis cache integration
18
+ * @category Interface
19
+ */
12
20
  export interface AzureApiWithCache extends AzureApi {
21
+ /** The provisioned Azure Managed Redis (Enterprise) cluster */
13
22
  redisCluster: RedisEnterprise;
23
+ /** The provisioned Redis database */
14
24
  redisDatabase: Database;
25
+ /** The Key Vault secret containing the Redis connection string */
15
26
  redisNamedValueSecret: Secret;
27
+ /** The API Management named value referencing the Redis connection secret */
16
28
  redisNamedValue: NamedValue;
17
29
  }
@@ -18,8 +18,11 @@ import { Site, SiteWithWebAppProps } from './types.js';
18
18
  * @category Construct
19
19
  */
20
20
  export declare class SiteWithWebApp extends CommonAzureConstruct {
21
+ /** Site with web app properties */
21
22
  props: SiteWithWebAppProps;
23
+ /** The resolved Application Insights component for telemetry */
22
24
  applicationInsights: Output<GetComponentResult>;
25
+ /** Provisioned site resources */
23
26
  site: Site;
24
27
  /**
25
28
  * @summary Create a new SiteWithWebApp
@@ -20,8 +20,11 @@ import { CommonAzureConstruct } from '../../common/index.js';
20
20
  * @category Construct
21
21
  */
22
22
  export class SiteWithWebApp extends CommonAzureConstruct {
23
+ /** Site with web app properties */
23
24
  props;
25
+ /** The resolved Application Insights component for telemetry */
24
26
  applicationInsights;
27
+ /** Provisioned site resources */
25
28
  site = {};
26
29
  /**
27
30
  * @summary Create a new SiteWithWebApp
@@ -5,29 +5,55 @@ 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
+ * Properties for configuring the site infrastructure resources
10
+ * @category Interface
11
+ */
9
12
  export interface SiteProps {
13
+ /** App Service Plan properties for the web app */
10
14
  appServicePlan: ServicePlanProps;
15
+ /** Archive file configuration for code packaging */
11
16
  codeArchiveFile: GetFileOutputArgs;
17
+ /** Storage account properties for deployment artifacts */
12
18
  storageAccount: StorageAccountProps;
19
+ /** Storage container properties for deployment artifacts */
13
20
  storageContainer: StorageContainerProps;
21
+ /** Linux Web App properties */
14
22
  webApp: LinuxWebAppProps;
15
23
  }
16
- /** @category Interface */
24
+ /**
25
+ * Properties for the {@link SiteWithWebApp} construct
26
+ * @category Interface
27
+ */
17
28
  export interface SiteWithWebAppProps extends CommonAzureStackProps {
29
+ /** Relative path to the deployment source directory */
18
30
  deploySource: string;
31
+ /** Node.js CLI options (e.g. '--max-old-space-size=4096') */
19
32
  nodeOptions?: string;
33
+ /** Node.js environment (defaults to 'production') */
20
34
  nodeEnv?: string;
35
+ /** Name of the deployment package archive file */
21
36
  packageName: string;
37
+ /** Site infrastructure resource properties */
22
38
  site: SiteProps;
39
+ /** Start command for the web app (written to generated package.json) */
23
40
  startCommand: string;
24
41
  }
25
- /** @category Interface */
42
+ /**
43
+ * Provisioned site resources for the web app construct
44
+ * @category Interface
45
+ */
26
46
  export interface Site {
47
+ /** The provisioned App Service Plan */
27
48
  appServicePlan: AppServicePlan;
49
+ /** The archive file output for the deployment package */
28
50
  codeArchiveFile: Output<archive.GetFileResult>;
51
+ /** Environment variables configured on the web app */
29
52
  environmentVariables: Record<string, any>;
53
+ /** The provisioned storage account for deployment artifacts */
30
54
  storageAccount: StorageAccount;
55
+ /** The provisioned storage container for deployment artifacts */
31
56
  storageContainer: BlobContainer;
57
+ /** The provisioned Azure Linux Web App */
32
58
  webApp: WebApp;
33
59
  }
@@ -1,90 +1,183 @@
1
1
  import { ApiArgs, ApiDiagnosticArgs, ApiManagementServiceArgs, ApiOperationArgs, ApiOperationPolicyArgs, ApiPolicyArgs, BackendArgs, CacheArgs, GetApiManagementServiceOutputArgs, LoggerArgs, NamedValueArgs, SubscriptionArgs } from '@pulumi/azure-native/apimanagement/index.js';
2
2
  import { Input } from '@pulumi/pulumi';
3
- /** @category Interface */
3
+ /**
4
+ * Properties for creating an Azure API Management service
5
+ * @see [Pulumi Azure Native API Management]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/apimanagement/apimanagementservice/}
6
+ * @category Interface
7
+ */
4
8
  export interface ApiManagementProps extends ApiManagementServiceArgs {
9
+ /** Key Vault resource ID containing the SSL certificate for custom domains */
5
10
  certificateKeyVaultId?: Input<string>;
11
+ /** Pulumi stack name for importing an existing API Management service */
6
12
  apiStackName?: string;
13
+ /** When true, resolves an existing API Management service instead of creating one */
7
14
  useExistingApiManagement?: boolean;
8
15
  }
9
- /** @category Interface */
16
+ /**
17
+ * Properties for creating an API Management backend
18
+ * @see [Pulumi Azure Native API Management Backend]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/apimanagement/backend/}
19
+ * @category Interface
20
+ */
10
21
  export interface ApiManagementBackendProps extends BackendArgs {
22
+ /** URL path appended to the backend base URL */
11
23
  backendUrlPath?: string;
24
+ /** API Management service resource ID */
12
25
  apiManagementId?: string;
26
+ /** Circuit breaker configuration for backend fault tolerance */
13
27
  circuitBreaker?: any;
14
28
  }
15
- /** @category Interface */
29
+ /**
30
+ * Properties for creating an API diagnostic
31
+ * @see [Pulumi Azure Native API Management Diagnostic]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/apimanagement/apidiagnostic/}
32
+ * @category Interface
33
+ */
16
34
  export interface ApiDiagnosticProps extends ApiDiagnosticArgs {
17
35
  }
18
- /** @category Interface */
36
+ /**
37
+ * Properties for creating an API Management logger
38
+ * @see [Pulumi Azure Native API Management Logger]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/apimanagement/logger/}
39
+ * @category Interface
40
+ */
19
41
  export interface LoggerProps extends LoggerArgs {
20
42
  }
21
- /** @category Interface */
43
+ /**
44
+ * Properties for creating an API Management named value
45
+ * @see [Pulumi Azure Native API Management Named Value]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/apimanagement/namedvalue/}
46
+ * @category Interface
47
+ */
22
48
  export interface NamedValueProps extends NamedValueArgs {
23
49
  }
24
- /** @category Interface */
50
+ /**
51
+ * Properties for creating an API Management subscription
52
+ * @see [Pulumi Azure Native API Management Subscription]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/apimanagement/subscription/}
53
+ * @category Interface
54
+ */
25
55
  export interface ApiSubscriptionProps extends SubscriptionArgs {
26
56
  }
27
- /** @category Interface */
57
+ /**
58
+ * Properties for creating an API Management cache
59
+ * @see [Pulumi Azure Native API Management Cache]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/apimanagement/cache/}
60
+ * @category Interface
61
+ */
28
62
  export interface CacheProps extends CacheArgs {
29
63
  }
30
- /** @category Interface */
64
+ /**
65
+ * Properties for configuring custom domains on an API Management service
66
+ * @category Interface
67
+ */
31
68
  export interface ApiManagementCustomDomainProps {
69
+ /** The API Management service resource ID */
32
70
  apiManagementId: string;
71
+ /** Gateway (proxy) custom domain configurations */
33
72
  gateway?: Array<{
73
+ /** Custom hostname for the gateway */
34
74
  hostName: string;
75
+ /** Key Vault certificate resource ID */
35
76
  certificateId?: string;
77
+ /** Enable client certificate negotiation */
36
78
  negotiateClientCertificate?: boolean;
37
79
  }>;
80
+ /** Developer portal custom domain configurations */
38
81
  developerPortal?: Array<{
82
+ /** Custom hostname for the developer portal */
39
83
  hostName: string;
84
+ /** Key Vault certificate resource ID */
40
85
  certificateId?: string;
41
86
  }>;
87
+ /** Management endpoint custom domain configurations */
42
88
  management?: Array<{
89
+ /** Custom hostname for the management endpoint */
43
90
  hostName: string;
91
+ /** Key Vault certificate resource ID */
44
92
  certificateId?: string;
45
93
  }>;
46
94
  }
47
- /** @category Interface */
95
+ /**
96
+ * Properties for creating an API Management API with operations
97
+ * @see [Pulumi Azure Native API Management API]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/apimanagement/api/}
98
+ * @category Interface
99
+ */
48
100
  export interface ApiManagementApiProps extends ApiArgs {
101
+ /** List of API operations to create */
49
102
  operations: ApiManagementApiOperationProps[];
103
+ /** Common inbound policy XML to apply to all operations */
50
104
  commonInboundPolicyXml?: string;
105
+ /** Common outbound policy XML to apply to all operations */
51
106
  commonOutboundPolicyXml?: string;
107
+ /** Inbound cache-set policy XML */
52
108
  cacheSetInboundPolicy?: string;
109
+ /** Outbound cache-set policy XML */
53
110
  cacheSetOutboundPolicy?: string;
111
+ /** Rate limiting configuration for the API */
54
112
  rateLimit?: ApiManagementApiRateLimit;
55
113
  }
56
- /** @category Interface */
114
+ /**
115
+ * Properties for creating an API Management API operation with optional caching
116
+ * @category Interface
117
+ */
57
118
  export interface ApiManagementApiOperationProps extends ApiOperationArgs {
119
+ /** Caching configuration for this operation */
58
120
  caching?: ApiManagementApiCaching;
59
121
  }
60
- /** @category Interface */
122
+ /**
123
+ * Caching configuration for an API Management API operation
124
+ * @category Interface
125
+ */
61
126
  export interface ApiManagementApiCaching {
127
+ /** Enable cache-set policy for this operation */
62
128
  enableCacheSet?: boolean;
129
+ /** Enable cache invalidation for this operation */
63
130
  enableCacheInvalidation?: boolean;
131
+ /** Cache time-to-live in seconds */
64
132
  ttlInSecs?: number;
133
+ /** Type of caching strategy to use */
65
134
  cachingType?: string;
66
135
  }
67
- /** @category Interface */
136
+ /**
137
+ * Rate limiting configuration for an API Management API
138
+ * @category Interface
139
+ */
68
140
  export interface ApiManagementApiRateLimit {
141
+ /** Maximum number of calls allowed within the renewal period */
69
142
  calls: number;
143
+ /** Rate limit renewal period in seconds */
70
144
  renewalPeriodInSecs: number;
71
145
  }
72
- /** @category Interface */
146
+ /**
147
+ * Properties for configuring an external Redis cache on an API Management service
148
+ * @category Interface
149
+ */
73
150
  export interface ApiManagementRedisCacheProps {
151
+ /** The API Management service resource ID */
74
152
  apiManagementId: string;
153
+ /** Redis connection string */
75
154
  connectionString: string;
155
+ /** Azure region of the Redis cache */
76
156
  cacheLocation: string;
157
+ /** Redis cache resource ID */
77
158
  redisCacheId: string;
78
159
  }
79
- /** @category Interface */
160
+ /**
161
+ * Properties for resolving an existing API Management service
162
+ * @category Interface
163
+ */
80
164
  export interface ResolveApiManagementProps extends GetApiManagementServiceOutputArgs {
81
165
  }
82
- /** @category Interface */
166
+ /**
167
+ * Properties for creating an API Management API operation
168
+ * @category Interface
169
+ */
83
170
  export interface ApiOperationProps extends ApiOperationArgs {
84
171
  }
85
- /** @category Interface */
172
+ /**
173
+ * Properties for creating an API Management API operation policy
174
+ * @category Interface
175
+ */
86
176
  export interface ApiOperationPolicyProps extends ApiOperationPolicyArgs {
87
177
  }
88
- /** @category Interface */
178
+ /**
179
+ * Properties for creating an API Management API policy
180
+ * @category Interface
181
+ */
89
182
  export interface ApiPolicyProps extends ApiPolicyArgs {
90
183
  }
@@ -1,4 +1,8 @@
1
1
  import { ConfigurationStoreArgs } from '@pulumi/azure-native/appconfiguration/index.js';
2
- /** @category Interface */
2
+ /**
3
+ * Properties for creating an Azure App Configuration store
4
+ * @see [Pulumi Azure Native App Configuration]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/appconfiguration/configurationstore/}
5
+ * @category Interface
6
+ */
3
7
  export interface AppConfigurationProps extends ConfigurationStoreArgs {
4
8
  }
@@ -1,7 +1,15 @@
1
1
  import { AppServicePlanArgs, WebAppArgs } from '@pulumi/azure-native/web/index.js';
2
- /** @category Interface */
2
+ /**
3
+ * Properties for creating an Azure App Service Plan
4
+ * @see [Pulumi Azure Native App Service Plan]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/web/appserviceplan/}
5
+ * @category Interface
6
+ */
3
7
  export interface ServicePlanProps extends AppServicePlanArgs {
4
8
  }
5
- /** @category Interface */
9
+ /**
10
+ * Properties for creating an Azure Linux Web App
11
+ * @see [Pulumi Azure Native Web App]{@link https://www.pulumi.com/registry/packages/azure-native/api-docs/web/webapp/}
12
+ * @category Interface
13
+ */
6
14
  export interface LinuxWebAppProps extends WebAppArgs {
7
15
  }