diff --git a/schemas/2022-10-01/Microsoft.CostManagement.json b/schemas/2022-10-01/Microsoft.CostManagement.json new file mode 100644 index 0000000000..689aaa2381 --- /dev/null +++ b/schemas/2022-10-01/Microsoft.CostManagement.json @@ -0,0 +1,445 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-10-01/Microsoft.CostManagement.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.CostManagement", + "description": "Microsoft CostManagement Resource Types", + "resourceDefinitions": {}, + "tenant_resourceDefinitions": { + "scheduledActions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-01" + ] + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Email", + "InsightAlert" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kind of the scheduled action." + }, + "name": { + "type": "string", + "description": "Scheduled action name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduledActionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the scheduled action." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.CostManagement/scheduledActions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.CostManagement/scheduledActions" + } + }, + "unknown_resourceDefinitions": { + "scheduledActions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-10-01" + ] + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Email", + "InsightAlert" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kind of the scheduled action." + }, + "name": { + "type": "string", + "description": "Scheduled action name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduledActionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the scheduled action." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.CostManagement/scheduledActions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.CostManagement/scheduledActions" + } + }, + "definitions": { + "FileDestination": { + "type": "object", + "properties": { + "fileFormats": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Csv" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Destination of the view data. Currently only CSV format is supported." + } + }, + "description": "Destination of the view data. This is optional. Currently only CSV format is supported." + }, + "NotificationProperties": { + "type": "object", + "properties": { + "language": { + "type": "string", + "description": "Language in which the email is localized, for ex: 'Fr'. When the specified language is not supported, email will be in english. The supported languages are cs (Czech), da (Danish), de (German), en (English), es (Spanish), fr (French), hu (Hungarian), id (Indonesian), it (Lithuanian), ja (Japanese), ko (Korean), nb (Norwegian Bokmål), nl (Dutch), pl (Polish), pt (Portuguese), ru (Russian), sv (Swedish), tr (Turkish), zh (Chinese) " + }, + "message": { + "type": "string", + "description": "Optional message to be added in the email. Length is limited to 250 characters." + }, + "regionalFormat": { + "type": "string", + "description": "Language for formatting the date/time and currency values in the email. For ex: 'fr'. Defaulted to English, when the specified regional format is not supported. " + }, + "subject": { + "type": "string", + "description": "Subject of the email. Length is limited to 70 characters." + }, + "to": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of email addresses." + } + }, + "required": [ + "subject", + "to" + ], + "description": "The properties of the scheduled action notification." + }, + "ScheduledActionProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "Scheduled action name." + }, + "fileDestination": { + "oneOf": [ + { + "$ref": "#/definitions/FileDestination" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Destination of the view data. This is optional. Currently only CSV format is supported." + }, + "notification": { + "oneOf": [ + { + "$ref": "#/definitions/NotificationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the scheduled action notification." + }, + "notificationEmail": { + "type": "string", + "description": "Email address of the point of contact that should get the unsubscribe requests and notification emails." + }, + "schedule": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the schedule." + }, + "scope": { + "type": "string", + "description": "Cost Management scope like 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled", + "Expired" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Status of the scheduled action." + }, + "viewId": { + "type": "string", + "description": "Cost analysis viewId used for scheduled action. For example, '/providers/Microsoft.CostManagement/views/swaggerExample'" + } + }, + "required": [ + "displayName", + "notification", + "schedule", + "status", + "viewId" + ], + "description": "The properties of the scheduled action." + }, + "ScheduleProperties": { + "type": "object", + "properties": { + "dayOfMonth": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UTC day on which cost analysis data will be emailed. Must be between 1 and 31. This property is applicable when frequency is Monthly and overrides weeksOfMonth or daysOfWeek." + }, + "daysOfWeek": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Day names in english on which cost analysis data will be emailed. This property is applicable when frequency is Weekly or Monthly." + }, + "endDate": { + "type": "string", + "format": "date-time", + "description": "The end date and time of the scheduled action (UTC)." + }, + "frequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Daily", + "Weekly", + "Monthly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Frequency of the schedule." + }, + "hourOfDay": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UTC time at which cost analysis data will be emailed." + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "The start date and time of the scheduled action (UTC)." + }, + "weeksOfMonth": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "First", + "Second", + "Third", + "Fourth", + "Last" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weeks in which cost analysis data will be emailed. This property is applicable when frequency is Monthly and used in combination with daysOfWeek." + } + }, + "required": [ + "endDate", + "frequency", + "startDate" + ], + "description": "The properties of the schedule." + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } +} \ No newline at end of file