{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-auto-scaling-configuration-schema.json",
"title": "AutoScalingConfiguration",
"description": "An autoscaling configuration lets you dynamically scale the resources in a Compute instance pool.\nFor more information, see [Autoscaling](/iaas/Content/Compute/Tasks/autoscalinginstancepools.htm).\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/AutoScalingConfiguration",
"properties": {
"compartmentId": {
"description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the compartment containing the autoscaling configuration.\n",
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"coolDownInSeconds": {
"description": "For threshold-based autoscaling policies, this value is the minimum period of time to wait between scaling actions.\nThe cooldown period gives the system time to stabilize before rescaling. The minimum value is 300 seconds, which\nis also the default. The cooldown period starts when the instance pool reaches the running state.\n\nFor schedule-based autoscaling policies, this value is not used.\n",
"minimum": 0,
"type": "integer"
},
"definedTags": {
"additionalProperties": {
"additionalProperties": {
"description": "The value of the tag. Only the String type is supported.\n",
"type": "object"
},
"description": "Key-value pair representing a defined tag key and value, scoped to a namespace.\n\nExample: `{\"CostCenter\": \"42\"}`\n",
"type": "object"
},
"description": "Defined tags for this resource. Each key is predefined and scoped to a\nnamespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).\n\nExample: `{\"Operations\": {\"CostCenter\": \"42\"}}`\n",
"type": "object"
},
"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"
},
"freeformTags": {
"additionalProperties": {
"type": "string"
},
"description": "Free-form tags for this resource. Each tag is a simple key-value pair with no\npredefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm).\n\nExample: `{\"Department\": \"Finance\"}`\n",
"type": "object"
},
"id": {
"description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the autoscaling configuration.",
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"isEnabled": {
"description": "Whether the autoscaling configuration is enabled.",
"type": "boolean"
},
"maxResourceCount": {
"description": "The maximum number of resources to scale out to.",
"minimum": 0,
"type": "integer"
},
"minResourceCount": {
"description": "The minimum number of resources to scale in to.",
"minimum": 0,
"type": "integer"
},
"policies": {
"description": "Autoscaling policy definitions for the autoscaling configuration. An autoscaling policy defines the criteria that\ntrigger autoscaling actions and the actions to take.\n",
"items": {
"$ref": "#/$defs/AutoScalingPolicy"
},
"type": "array"
},
"resource": {
"$ref": "#/$defs/Resource"
},
"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": [
"compartmentId",
"id",
"policies",
"resource",
"timeCreated"
],
"type": "object",
"x-example": "{\n \"compartmentId\": \"ocid1.compartment.oc1..<unique_ID>\",\n \"displayName\": \"example_autoscaling_configuration\",\n \"id\": \"ocid1.autoscalingconfiguration.oc1..<unique_ID>\",\n \"coolDownInSeconds\": 300,\n \"isEnabled\": true,\n \"resource\": {\n \"type\": \"instancePool\",\n \"id\": \"ocid1.instancepool.oc1..<unique_ID>\"\n },\n \"policies\": [\n {\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:30:09.438Z\",\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 ],\n \"timeCreated\": \"2019-01-18T18:30:09.438Z\"\n}\n",
"$defs": {
"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",
"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"
},
"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"
},
"Resource": {
"description": "A resource that is managed by an autoscaling configuration. The only supported type is `instancePool`.\n\nEach instance pool can have one autoscaling configuration.\n",
"properties": {
"id": {
"description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the resource that is managed by the autoscaling configuration.\n",
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"type": {
"description": "The type of resource.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"type",
"id"
]
}
}
}