{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-auto-scaling-policy-schema.json", "title": "AutoScalingPolicy", "description": "Autoscaling policies define the criteria that trigger autoscaling actions and the actions to take.\n\nAn autoscaling policy is part of an autoscaling configuration. For more information, see\n[Autoscaling](/iaas/Content/Compute/Tasks/autoscalinginstancepools.htm).\n\nYou can create the following types of autoscaling policies:\n \n - **Schedule-based:** Autoscaling events take place at the specific times that you schedule.\n - **Threshold-based:** An autoscaling action is triggered when a performance metric meets or exceeds a threshold.\n", "x-generated": "2026-10-03", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/oracle-autoscaling-api-openapi.yml#/components/schemas/AutoScalingPolicy", "properties": { "capacity": { "$ref": "#/$defs/Capacity", "description": "The capacity requirements of the autoscaling policy." }, "displayName": { "description": "A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.\n", "maxLength": 255, "minLength": 1, "type": "string" }, "id": { "description": "The ID of the autoscaling policy that is assigned after creation.", "maxLength": 255, "minLength": 1, "type": "string" }, "isEnabled": { "description": "Whether the autoscaling policy is enabled.", "type": "boolean" }, "policyType": { "description": "The type of autoscaling policy.", "maxLength": 100, "minLength": 1, "type": "string" }, "timeCreated": { "description": "The date and time the autoscaling configuration was created, in the format defined by RFC3339.\n\nExample: `2016-08-25T21:10:29.600Z`\n", "format": "date-time", "type": "string" } }, "required": [ "policyType", "timeCreated" ], "x-example": "{\n \"capacity\": {\n \"max\": 50,\n \"min\": 10,\n \"initial\": 15\n },\n \"id\": \"<unique_ID>\",\n \"displayName\": \"example_autoscaling_policy\",\n \"policyType\": \"threshold\",\n \"timeCreated\": \"2019-01-18T18:51:25.337Z\",\n \"rules\": [\n {\n \"action\": {\n \"type\": \"CHANGE_COUNT_BY\",\n \"value\": 5\n }\n \"displayName\": \"example_scale_out_condition\",\n \"id\": \"<unique_ID>\",\n \"metric\": {\n \"metricType\": \"CPU_UTILIZATION\",\n \"threshold\": {\n \"operator\": \"GTE\",\n \"value\": 90\n }\n }\n },\n {\n \"action\": {\n \"type\": \"CHANGE_COUNT_BY\",\n \"value\": -5\n }\n \"displayName\": \"example_scale_in_condition\",\n \"id\": \"<unique_ID>\",\n \"metric\": {\n \"metricType\": \"CPU_UTILIZATION\",\n \"threshold\": {\n \"operator\": \"LTE\",\n \"value\": 25\n }\n }\n }\n ]\n}\n", "$defs": { "Capacity": { "description": "Capacity limits for the instance pool.\n", "properties": { "initial": { "description": "For a threshold-based autoscaling policy, this value is the initial number of instances to launch in the instance pool\nimmediately after autoscaling is enabled. After autoscaling retrieves performance metrics, the number of\ninstances is automatically adjusted from this initial number to a number that is based on the limits that\nyou set.\n\nFor a schedule-based autoscaling policy, this value is the target pool size to scale to when executing the schedule\nthat's defined in the autoscaling policy.\n", "minimum": 0, "type": "integer" }, "max": { "description": "For a threshold-based autoscaling policy, this value is the maximum number of instances the instance pool is allowed\nto increase to (scale out).\n\nFor a schedule-based autoscaling policy, this value is not used.\n", "minimum": 0, "type": "integer" }, "min": { "description": "For a threshold-based autoscaling policy, this value is the minimum number of instances the instance pool is allowed\nto decrease to (scale in).\n\nFor a schedule-based autoscaling policy, this value is not used.\n", "minimum": 0, "type": "integer" } }, "type": "object" } } }