Resources/Schema/New-CmAzCoreBillingRule.Schema.json
{
"$schema": "http://json-schema.org/draft-07/schema", "$id": "New-CmAzCoreBillingRule", "type": "object", "title": "New-CmAzCoreBillingRule", "description": "Settings Root.", "required": [ "location", "budgets" ], "properties": { "component": { "$id": "#/component", "type": ["string", "null"], "title": "Component", "description": "Value to determine what cmdlet should be dynamically loaded for these settings." }, "location": { "$id": "#/location", "type": "string", "title": "Location", "description": "Deployment history location" }, "service": { "$id": "#/service", "type": ["object", "null"], "title": "Service", "description": "Contains dependency and publish details for service location.", "properties": { "dependencies": { "$id": "#/service/dependencies", "type": ["object", "null"], "title": "Dependencies", "description": "Contains dependency details for service location.", "properties": { "actiongroup": { "$id": "#/service/dependencies/actiongroup", "type": ["string", "null"], "title": "Actiongroup", "description": "Global default dependency value to fetch existing resource type." } }, "additionalProperties": false } }, "additionalProperties": false }, "budgets": { "$id": "#/budgets", "type": "array", "title": "Budgets", "description": "All details required to deploy multiple budgets.", "items": { "$id": "#/budgets/items", "minItems": 1, "allOf": [ { "$id": "#/budgets/items/allOf", "type": "object", "required": [ "name", "category", "accountNumber", "timeGrain", "amount", "thresholds" ], "description": "Contains details required to deploy a budget.", "properties": { "name": { "$id": "#/budgets/items/allOf/name", "type": "string", "title": "Name", "description": "Becomes part of the generated budget's name." }, "category": { "$id": "#/budgets/items/allOf/category", "type": "string", "title": "Category", "description": "Budget's category, highlights if the budget is marked as cost or usage", "enum": ["Cost", "Usage", "cost", "usage"] }, "accountNumber": { "$id": "#/budgets/items/allOf/accountNumber", "type": "string", "title": "AccountNumber", "description": "Tag value (cm-charge) used for filtering resources in a budget." }, "timeGrain": { "$id": "#/budgets/items/allOf/timeGrain", "type": "string", "title": "TimeGrain", "description": "The budget's tracking interval.", "enum": ["Monthly", "Quarterly", "Annually", "monthly", "quarterly", "annually"] }, "amount": { "$id": "#/budgets/items/allOf/amount", "type": "integer", "title": "Amount", "description": "Total cost to track within the budget.", "minimum": 1 }, "startDate": { "$id": "#/budgets/items/allOf/startDate", "type": ["string", "null"], "title": "The startDate schema", "description": "Budget's start date.", "format": "date" }, "endDate": { "$id": "#/budgets/items/allOf/endDate", "type": ["string", "null"], "title": "The endDate schema", "description": "Budget's end date.", "format": "date" }, "thresholds": { "$id": "#/budgets/items/allOf/thresholds", "type": "array", "title": "Thresholds", "description": "Alert thresholds for the budget.", "items": { "$id": "#/budgets/items/allOf/thresholds/items", "minItems": 1, "maxLength": 5, "allOf": [ { "$id": "#/budgets/items/allOf/thresholds/items/allOf", "type": "integer", "minimum": 1, "maximum": 1000 } ] } }, "service": { "$id": "#/budgets/items/allOf/service", "type": ["object", "null"], "title": "Service", "description": "Contains dependency and publish details for service location.", "properties": { "dependencies": { "$id": "#/budgets/items/allOf/service/dependencies", "type": ["object", "null"], "title": "Dependencies", "description": "Contains dependency details for service location.", "properties": { "actiongroup": { "$id": "#/budgets/items/allOf/service/dependencies/actiongroup", "type": ["string", "null"], "title": "Actiongroup", "description": "Local overriding dependency value to fetch existing resource type." } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } ] } } }, "additionalProperties": false } |