diff --git a/jobs/golangapiserver/templates/apiserver.yml.erb b/jobs/golangapiserver/templates/apiserver.yml.erb index b7cc80e4c0..4dd34c3312 100644 --- a/jobs/golangapiserver/templates/apiserver.yml.erb +++ b/jobs/golangapiserver/templates/apiserver.yml.erb @@ -86,7 +86,7 @@ broker_credentials: catalog_path: /var/vcap/jobs/golangapiserver/config/catalog.json catalog_schema_path: /var/vcap/packages/golangapiserver/catalog.schema.json info_file_path: /var/vcap/jobs/golangapiserver/config/info.json -policy_schema_path: /var/vcap/packages/golangapiserver/scaling-policy.schema.json +policy_schema_path: /var/vcap/packages/golangapiserver/meta.schema.json dashboard_redirect_uri: <%= p("autoscaler.apiserver.broker.server.dashboard_redirect_uri") %> default_credential_type: <%= p("autoscaler.apiserver.broker.default_credential_type") %> diff --git a/packages/golangapiserver/spec b/packages/golangapiserver/spec index ee25694862..c086e5d062 100644 --- a/packages/golangapiserver/spec +++ b/packages/golangapiserver/spec @@ -14,6 +14,7 @@ files: - autoscaler/api/apis/* # gosub - autoscaler/api/apis/scalinghistory/* # gosub - autoscaler/api/broker/* # gosub +- autoscaler/api/broker/binding_request_parser/* # gosub - autoscaler/api/brokerserver/* # gosub - autoscaler/api/cmd/api/* # gosub - autoscaler/api/config/* # gosub diff --git a/schema/json/legacy.schema.json b/schema/json/legacy.schema.json new file mode 120000 index 0000000000..645e3923a9 --- /dev/null +++ b/schema/json/legacy.schema.json @@ -0,0 +1 @@ +../../src/autoscaler/api/policyvalidator/legacy.schema.json \ No newline at end of file diff --git a/schema/json/meta.schema.json b/schema/json/meta.schema.json new file mode 120000 index 0000000000..e05716cffd --- /dev/null +++ b/schema/json/meta.schema.json @@ -0,0 +1 @@ +../../src/autoscaler/api/policyvalidator/meta.schema.json \ No newline at end of file diff --git a/schema/json/policy-configuration.schema.json b/schema/json/policy-configuration.schema.json deleted file mode 100644 index 7362d63d4e..0000000000 --- a/schema/json/policy-configuration.schema.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-05/schema#", - "title": "Autoscaler Scaling Policy Configuration Schema", - "description": "Schema for the configuration options of scaling policy.", - "type": "object", - - "properties": { - "custom_metrics": { - "type": "object", - "properties": { - "metric_submission_strategy": { - "type": "object", - "properties": { - "allow_from": { - "type": "string", - "enum": [ - "bound_app", - "same_app" - ] - } - }, - "required": [ - "allow_from" - ] - } - }, - "required": [ - "metric_submission_strategy" - ], - "additionalProperties": false - }, - "app_guid": { - "$ref": "./shared_definitions.json#/schemas/guid" - } - }, - "required": [ - "custom_metrics" - ], - "additionalProperties": false -} diff --git a/schema/json/policy-configuration.schema.json b/schema/json/policy-configuration.schema.json new file mode 120000 index 0000000000..b6d92a07a6 --- /dev/null +++ b/schema/json/policy-configuration.schema.json @@ -0,0 +1 @@ +../../src/autoscaler/api/policyvalidator/policy-configuration.schema.json \ No newline at end of file diff --git a/schema/json/scaling-policy.schema.json b/schema/json/scaling-policy.schema.json deleted file mode 100644 index e8573ca326..0000000000 --- a/schema/json/scaling-policy.schema.json +++ /dev/null @@ -1,930 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-05/schema#", - "title": "Autoscaler Policy JSON Schema", - "description": "Schema for scaling-policies for Autoscaler", - "type": "object", - - "properties": { - "schema-version": { - "description": "Version-identifier for the used schema of this parameters-object.", - "type": "string", - "pattern": "^[0-9]+(\\.[0-9]+)?$" - }, - "credential-type": { - "type": "string", - "enum": [ - "x509", - "binding-secret" - ] - }, - "configuration": { - "$ref": "./policy-configuration.schema.json" - }, - "instance_min_count": { - "$id": "#/properties/instance_min_count", - "type": "integer", - "minimum": 1, - "title": "Minimum number of application instance always runs" - }, - "instance_max_count": { - "$id": "#/properties/instance_max_count", - "type": "integer", - "title": "Maximum how many instances of application can be provisioned as part of application scaling" - }, - "scaling_rules": { - "$id": "#/properties/scaling_rules", - "type": "array", - "title": "Dynamic Scaling_rules Schema", - "items": { - "$id": "#/properties/scaling_rules/items", - "type": "object", - "title": "Scaling_rules Items Schema", - "required": [ - "metric_type", - "threshold", - "operator", - "adjustment" - ], - "properties": { - "metric_type": { - "$id": "#/properties/scaling_rules/items/properties/metric_type", - "type": "string", - "title": "The Metric_type Schema", - "pattern": "^[a-zA-Z0-9_]+$", - "maxLength": 100 - }, - "breach_duration_secs": { - "$id": "#/properties/scaling_rules/items/properties/breach_duration_secs", - "type": "integer", - "title": "The Breach_duration_secs Schema", - "description": "The length of the past period when a scaling action might be triggered based on metric usage", - "maximum": 3600, - "minimum": 60 - }, - "stats_window_secs": { - "$id": "#/properties/scaling_rules/items/properties/stats_window_secs", - "type": "integer", - "deprecated": true, - "title": "The stats_window_secs schema", - "description": "This is a legacy-parameter. 🏚️ It is silently ignored." - }, - "threshold": { - "$id": "#/properties/scaling_rules/items/properties/threshold", - "type": "integer", - "title": "The Threshold Schema" - }, - "operator": { - "$id": "#/properties/scaling_rules/items/properties/operator", - "type": "string", - "title": "The Operator Schema", - "description": "Operator is used in combination with the threshold value to compare the current metric value", - "enum": [ - "<", - ">", - "<=", - ">=" - ] - }, - "cool_down_secs": { - "$id": "#/properties/scaling_rules/items/properties/cool_down_secs", - "type": "integer", - "title": "The Cool_down_secs Schema", - "description": "The interval between two successive scaling activity", - "maximum": 3600, - "minimum": 60 - }, - "adjustment": { - "$id": "#/properties/scaling_rules/items/properties/adjustment", - "type": "string", - "title": "The Adjustment Schema", - "description": "Magnitude of scaling in each step, +1 means scale up 1 Instance -2 means scale down 2 instances", - "pattern": "^[-+][1-9]+[0-9]*%?$" - } - } - } - }, - "schedules": { - "$id": "#/properties/schedules", - "type": "object", - "title": "The Scaling Schedules Schema", - "required": [ - "timezone" - ], - "anyOf": [ - { - "required": [ - "recurring_schedule" - ] - }, - { - "required": [ - "specific_date" - ] - } - ], - "properties": { - "timezone": { - "$id": "#/properties/schedules/properties/timezone", - "type": "string", - "title": "The Timezone Schema", - "pattern": "^(.*)$", - "enum": [ - "Etc/GMT+12", - "Etc/GMT+11", - "Pacific/Midway", - "Pacific/Niue", - "Pacific/Pago_Pago", - "Pacific/Samoa", - "US/Samoa", - "Etc/GMT+10", - "HST", - "Pacific/Honolulu", - "Pacific/Johnston", - "Pacific/Rarotonga", - "Pacific/Tahiti", - "US/Hawaii", - "Pacific/Marquesas", - "America/Adak", - "America/Atka", - "Etc/GMT+9", - "Pacific/Gambier", - "US/Aleutian", - "America/Anchorage", - "America/Juneau", - "America/Metlakatla", - "America/Nome", - "America/Sitka", - "America/Yakutat", - "Etc/GMT+8", - "Pacific/Pitcairn", - "US/Alaska", - "America/Creston", - "America/Dawson", - "America/Dawson_Creek", - "America/Ensenada", - "America/Hermosillo", - "America/Los_Angeles", - "America/Phoenix", - "America/Santa_Isabel", - "America/Tijuana", - "America/Vancouver", - "America/Whitehorse", - "Canada/Pacific", - "Canada/Yukon", - "Etc/GMT+7", - "MST", - "Mexico/BajaNorte", - "PST8PDT", - "US/Arizona", - "US/Pacific", - "US/Pacific-New", - "America/Belize", - "America/Boise", - "America/Cambridge_Bay", - "America/Chihuahua", - "America/Costa_Rica", - "America/Denver", - "America/Edmonton", - "America/El_Salvador", - "America/Guatemala", - "America/Inuvik", - "America/Managua", - "America/Mazatlan", - "America/Ojinaga", - "America/Regina", - "America/Shiprock", - "America/Swift_Current", - "America/Tegucigalpa", - "America/Yellowknife", - "Canada/East-Saskatchewan", - "Canada/Mountain", - "Canada/Saskatchewan", - "Etc/GMT+6", - "MST7MDT", - "Mexico/BajaSur", - "Navajo", - "Pacific/Galapagos", - "US/Mountain", - "America/Atikokan", - "America/Bahia_Banderas", - "America/Bogota", - "America/Cancun", - "America/Cayman", - "America/Chicago", - "America/Coral_Harbour", - "America/Eirunepe", - "America/Guayaquil", - "America/Indiana/Knox", - "America/Indiana/Tell_City", - "America/Jamaica", - "America/Knox_IN", - "America/Lima", - "America/Matamoros", - "America/Menominee", - "America/Merida", - "America/Mexico_City", - "America/Monterrey", - "America/North_Dakota/Beulah", - "America/North_Dakota/Center", - "America/North_Dakota/New_Salem", - "America/Panama", - "America/Porto_Acre", - "America/Rainy_River", - "America/Rankin_Inlet", - "America/Resolute", - "America/Rio_Branco", - "America/Winnipeg", - "Brazil/Acre", - "CST6CDT", - "Canada/Central", - "Chile/EasterIsland", - "EST", - "Etc/GMT+5", - "Jamaica", - "Mexico/General", - "Pacific/Easter", - "US/Central", - "US/Indiana-Starke", - "America/Caracas", - "America/Anguilla", - "America/Antigua", - "America/Aruba", - "America/Asuncion", - "America/Barbados", - "America/Blanc-Sablon", - "America/Boa_Vista", - "America/Campo_Grande", - "America/Cuiaba", - "America/Curacao", - "America/Detroit", - "America/Dominica", - "America/Fort_Wayne", - "America/Grand_Turk", - "America/Grenada", - "America/Guadeloupe", - "America/Guyana", - "America/Havana", - "America/Indiana/Indianapolis", - "America/Indiana/Marengo", - "America/Indiana/Petersburg", - "America/Indiana/Vevay", - "America/Indiana/Vincennes", - "America/Indiana/Winamac", - "America/Indianapolis", - "America/Iqaluit ", - "America/Kentucky/Louisville ", - "America/Kentucky/Monticello", - "America/Kralendijk", - "America/La_Paz", - "America/Louisville ", - "America/Lower_Princes", - "America/Manaus", - "America/Marigot", - "America/Martinique", - "America/Montreal", - "America/Montserrat", - "America/Nassau", - "America/New_York", - "America/Nipigon", - "America/Pangnirtung ", - "America/Port-au-Prince ", - "America/Port_of_Spain", - "America/Porto_Velho", - "America/Puerto_Rico ", - "America/Santo_Domingo ", - "America/St_Barthelemy", - "America/St_Kitts", - "America/St_Lucia", - "America/St_Thomas", - "America/St_Vincent", - "America/Thunder_Bay", - "America/Toronto", - "America/Tortola", - "America/Virgin", - "Brazil/West", - "Canada/Eastern", - "Cuba", - "EST5EDT", - "Etc/GMT+4", - "US/East-Indiana", - "US/Eastern", - "US/Michigan", - "America/Araguaina ", - "America/Argentina/Buenos_Aires ", - "America/Argentina/Catamarca ", - "America/Argentina/ComodRivadavia ", - "America/Argentina/Cordoba ", - "America/Argentina/Jujuy ", - "America/Argentina/La_Rioja ", - "America/Argentina/Mendoza ", - "America/Argentina/Rio_Gallegos ", - "America/Argentina/Salta ", - "America/Argentina/San_Juan ", - "America/Argentina/San_Luis ", - "America/Argentina/Tucuman ", - "America/Argentina/Ushuaia", - "America/Bahia", - "America/Belem", - "America/Buenos_Aires", - "America/Catamarca", - "America/Cayenne", - "America/Cordoba", - "America/Fortaleza", - "America/Glace_Bay", - "America/Goose_Bay", - "America/Halifax", - "America/Jujuy", - "America/Maceio", - "America/Mendoza", - "America/Moncton", - "America/Montevideo", - "America/Paramaribo", - "America/Recife", - "America/Rosario", - "America/Santarem", - "America/Santiago", - "America/Sao_Paulo", - "America/Thule", - "Antarctica/Palmer", - "Antarctica/Rothera", - "Atlantic/Bermuda", - "Atlantic/Stanley", - "Brazil/East", - "Canada/Atlantic", - "Chile/Continental", - "Etc/GMT+3", - "America/St_Johns", - "Canada/Newfoundland", - "America/Godthab", - "America/Miquelon", - "America/Noronha ", - "Atlantic/South_Georgia", - "Brazil/DeNoronha", - "Etc/GMT+2", - "Atlantic/Cape_Verde", - "Etc/GMT+1", - "Africa/Abidjan", - "Africa/Accra", - "Africa/Bamako", - "Africa/Banjul", - "Africa/Bissau", - "Africa/Conakry", - "Africa/Dakar", - "Africa/Freetown", - "Africa/Lome", - "Africa/Monrovia", - "Africa/Nouakchott", - "Africa/Ouagadougou", - "Africa/Sao_Tome", - "Africa/Timbuktu", - "America/Danmarkshavn", - "America/Scoresbysund", - "Atlantic/Azores", - "Atlantic/Reykjavik", - "Atlantic/St_Helena", - "Etc/GMT", - "Etc/GMT+0", - "Etc/GMT-0", - "Etc/GMT0", - "Etc/Greenwich", - "Etc/UCT", - "Etc/UTC", - "Etc/Universal", - "Etc/Zulu", - "GMT", - "GMT+0", - "GMT-0", - "GMT0", - "Greenwich", - "Iceland", - "UCT", - "UTC", - "Universal", - "Zulu", - "Africa/Algiers", - "Africa/Bangui", - "Africa/Brazzaville", - "Africa/Casablanca", - "Africa/Douala", - "Africa/El_Aaiun", - "Africa/Kinshasa", - "Africa/Lagos", - "Africa/Libreville", - "Africa/Luanda", - "Africa/Malabo", - "Africa/Ndjamena", - "Africa/Niamey", - "Africa/Porto-Novo", - "Africa/Tunis", - "Africa/Windhoek", - "Atlantic/Canary", - "Atlantic/Faeroe", - "Atlantic/Faroe", - "Atlantic/Madeira", - "Eire", - "Etc/GMT-1", - "Europe/Belfast", - "Europe/Dublin", - "Europe/Guernsey", - "Europe/Isle_of_Man", - "Europe/Jersey", - "Europe/Lisbon", - "Europe/London", - "GB", - "GB-Eire", - "Portugal", - "WET", - "Africa/Blantyre", - "Africa/Bujumbura", - "Africa/Cairo", - "Africa/Ceuta", - "Africa/Gaborone", - "Africa/Harare", - "Africa/Johannesburg", - "Africa/Kigali", - "Africa/Lubumbashi", - "Africa/Lusaka", - "Africa/Maputo", - "Africa/Maseru", - "Africa/Mbabane", - "Africa/Tripoli", - "Antarctica/Troll", - "Arctic/Longyearbyen", - "Atlantic/Jan_Mayen", - "CET", - "Egypt", - "Etc/GMT-2", - "Europe/Amsterdam", - "Europe/Andorra", - "Europe/Belgrade", - "Europe/Berlin", - "Europe/Bratislava", - "Europe/Brussels", - "Europe/Budapest", - "Europe/Busingen", - "Europe/Copenhagen", - "Europe/Gibraltar", - "Europe/Kaliningrad", - "Europe/Ljubljana", - "Europe/Luxembourg", - "Europe/Madrid", - "Europe/Malta", - "Europe/Monaco", - "Europe/Oslo", - "Europe/Paris", - "Europe/Podgorica", - "Europe/Prague", - "Europe/Rome", - "Europe/San_Marino", - "Europe/Sarajevo", - "Europe/Skopje", - "Europe/Stockholm", - "Europe/Tirane", - "Europe/Vaduz", - "Europe/Vatican", - "Europe/Vienna", - "Europe/Warsaw", - "Europe/Zagreb", - "Europe/Zurich", - "Libya", - "MET", - "Poland", - "Africa/Addis_Ababa", - "Africa/Asmara", - "Africa/Asmera", - "Africa/Dar_es_Salaam", - "Africa/Djibouti", - "Africa/Juba", - "Africa/Kampala", - "Africa/Khartoum", - "Africa/Mogadishu", - "Africa/Nairobi", - "Antarctica/Syowa", - "Asia/Aden", - "Asia/Amman", - "Asia/Baghdad", - "Asia/Bahrain", - "Asia/Beirut", - "Asia/Damascus", - "Asia/Gaza", - "Asia/Hebron", - "Asia/Istanbul", - "Asia/Jerusalem", - "Asia/Kuwait", - "Asia/Nicosia", - "Asia/Qatar", - "Asia/Riyadh", - "Asia/Tel_Aviv", - "EET", - "Etc/GMT-3", - "Europe/Athens", - "Europe/Bucharest", - "Europe/Chisinau", - "Europe/Helsinki", - "Europe/Istanbul", - "Europe/Kiev", - "Europe/Mariehamn", - "Europe/Minsk", - "Europe/Moscow", - "Europe/Nicosia", - "Europe/Riga", - "Europe/Simferopol", - "Europe/Sofia", - "Europe/Tallinn", - "Europe/Tiraspol", - "Europe/Uzhgorod", - "Europe/Vilnius", - "Europe/Volgograd", - "Europe/Zaporozhye", - "Indian/Antananarivo", - "Indian/Comoro", - "Indian/Mayotte", - "Israel", - "Turkey", - "W-SU", - "Asia/Dubai", - "Asia/Muscat", - "Asia/Tbilisi", - "Asia/Yerevan", - "Etc/GMT-4", - "Europe/Samara", - "Indian/Mahe", - "Indian/Mauritius", - "Indian/Reunion", - "Asia/Kabul", - "Asia/Tehran", - "Iran", - "Antarctica/Mawson", - "Asia/Aqtau", - "Asia/Aqtobe", - "Asia/Ashgabat", - "Asia/Ashkhabad", - "Asia/Baku", - "Asia/Dushanbe", - "Asia/Karachi", - "Asia/Oral", - "Asia/Samarkand", - "Asia/Tashkent", - "Asia/Yekaterinburg", - "Etc/GMT-5", - "Indian/Kerguelen", - "Indian/Maldives", - "Asia/Calcutta", - "Asia/Colombo", - "Asia/Kolkata", - "Asia/Kathmandu", - "Asia/Katmandu", - "Antarctica/Vostok", - "Asia/Almaty", - "Asia/Bishkek", - "Asia/Dacca", - "Asia/Dhaka", - "Asia/Kashgar", - "Asia/Novosibirsk", - "Asia/Omsk", - "Asia/Qyzylorda", - "Asia/Thimbu", - "Asia/Thimphu", - "Asia/Urumqi", - "Etc/GMT-6", - "Indian/Chagos", - "Asia/Rangoon", - "Indian/Cocos", - "Antarctica/Davis", - "Asia/Bangkok", - "Asia/Ho_Chi_Minh", - "Asia/Hovd", - "Asia/Jakarta", - "Asia/Krasnoyarsk", - "Asia/Novokuznetsk", - "Asia/Phnom_Penh", - "Asia/Pontianak", - "Asia/Saigon", - "Asia/Vientiane", - "Etc/GMT-7", - "Indian/Christmas", - "Antarctica/Casey", - "Asia/Brunei", - "Asia/Chita", - "Asia/Choibalsan", - "Asia/Chongqing", - "Asia/Chungking", - "Asia/Harbin", - "Asia/Hong_Kong", - "Asia/Irkutsk", - "Asia/Kuala_Lumpur", - "Asia/Kuching", - "Asia/Macao", - "Asia/Macau", - "Asia/Makassar", - "Asia/Manila", - "Asia/Shanghai", - "Asia/Singapore", - "Asia/Taipei", - "Asia/Ujung_Pandang", - "Asia/Ulaanbaatar", - "Asia/Ulan_Bator", - "Australia/Perth", - "Australia/West", - "Etc/GMT-8", - "Hongkong", - "PRC", - "ROC", - "Singapore", - "Australia/Eucla", - "Asia/Dili", - "Asia/Jayapura", - "Asia/Khandyga", - "Asia/Pyongyang", - "Asia/Seoul", - "Asia/Tokyo", - "Asia/Yakutsk", - "Etc/GMT-9", - "Japan", - "Pacific/Palau", - "ROK", - "Australia/Adelaide ", - "Australia/Broken_Hill", - "Australia/Darwin", - "Australia/North", - "Australia/South", - "Australia/Yancowinna ", - "Antarctica/DumontDUrville", - "Asia/Magadan", - "Asia/Sakhalin", - "Asia/Ust-Nera", - "Asia/Vladivostok", - "Australia/ACT", - "Australia/Brisbane", - "Australia/Canberra", - "Australia/Currie", - "Australia/Hobart", - "Australia/Lindeman", - "Australia/Melbourne", - "Australia/NSW", - "Australia/Queensland", - "Australia/Sydney", - "Australia/Tasmania", - "Australia/Victoria", - "Etc/GMT-10", - "Pacific/Chuuk", - "Pacific/Guam", - "Pacific/Port_Moresby", - "Pacific/Saipan", - "Pacific/Truk", - "Pacific/Yap", - "Australia/LHI", - "Australia/Lord_Howe", - "Antarctica/Macquarie", - "Asia/Srednekolymsk", - "Etc/GMT-11", - "Pacific/Bougainville", - "Pacific/Efate", - "Pacific/Guadalcanal", - "Pacific/Kosrae", - "Pacific/Noumea", - "Pacific/Pohnpei", - "Pacific/Ponape", - "Pacific/Norfolk", - "Antarctica/McMurdo", - "Antarctica/South_Pole", - "Asia/Anadyr", - "Asia/Kamchatka", - "Etc/GMT-12", - "Kwajalein", - "NZ", - "Pacific/Auckland", - "Pacific/Fiji", - "Pacific/Funafuti", - "Pacific/Kwajalein", - "Pacific/Majuro", - "Pacific/Nauru", - "Pacific/Tarawa", - "Pacific/Wake", - "Pacific/Wallis", - "NZ-CHAT", - "Pacific/Chatham", - "Etc/GMT-13", - "Pacific/Apia", - "Pacific/Enderbury", - "Pacific/Fakaofo", - "Pacific/Tongatapu", - "Etc/GMT-14", - "Pacific/Kiritimati" - ] - }, - "recurring_schedule": { - "$id": "#/properties/schedules/properties/recurring_schedule", - "type": "array", - "title": "The Recurring_schedule Schema", - "items": { - "$id": "#/properties/schedules/properties/recurring_schedule/items", - "type": "object", - "title": "The Recurring_schedule Items Schema", - "required": [ - "start_time", - "end_time", - "instance_min_count", - "instance_max_count" - ], - "oneOf": [ - { - "required": [ - "days_of_week" - ] - }, - { - "required": [ - "days_of_month" - ] - } - ], - "properties": { - "start_time": { - "$id": "#/properties/schedules/properties/recurring_schedule/items/properties/start_time", - "type": "string", - "title": "The Start_time Schema", - "pattern": "^(2[0-3]|1[0-9]|0[0-9]):([0-5][0-9])$" - }, - "end_time": { - "$id": "#/properties/schedules/properties/recurring_schedule/items/properties/end_time", - "type": "string", - "title": "The End_time Schema", - "pattern": "^(2[0-3]|1[0-9]|0[0-9]):([0-5][0-9])$" - }, - "days_of_week": { - "$id": "#/properties/schedules/properties/recurring_schedule/items/properties/days_of_week", - "type": "array", - "title": "The Days_of_week Schema", - "items": { - "$id": "#/properties/schedules/properties/recurring_schedule/items/properties/days_of_week/items", - "type": "integer", - "enum": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7 - ] - } - }, - "days_of_month": { - "$id": "#/properties/schedules/properties/recurring_schedule/items/properties/days_of_month", - "type": "array", - "title": "The Days_of_month Schema", - "items": { - "$id": "#/properties/schedules/properties/recurring_schedule/items/properties/days_of_month/items", - "type": "integer", - "enum": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31 - ] - } - }, - "instance_min_count": { - "$id": "#/properties/schedules/properties/recurring_schedule/items/properties/instance_min_count", - "type": "integer", - "title": "The Instance_min_count Schema" - }, - "instance_max_count": { - "$id": "#/properties/schedules/properties/recurring_schedule/items/properties/instance_max_count", - "type": "integer", - "title": "The Instance_max_count Schema" - }, - "initial_min_instance_count": { - "$id": "#/properties/schedules/properties/recurring_schedule/items/properties/initial_min_instance_count", - "type": "integer", - "title": "The Initial_min_instance_count Schema" - }, - "start_date": { - "oneOf": [ - { - "pattern": "^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string" - }, - { - "enum": [ - "" - ], - "type": "string" - } - ], - "description": "Start date of the recurrence in YYYY-MM-DD format" - }, - "end_date": { - "oneOf": [ - { - "pattern": "^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string" - }, - { - "enum": [ - "" - ], - "type": "string" - } - ], - "description": "End date of the recurrence in YYYY-MM-DD format" - } - } - } - }, - "specific_date": { - "$id": "#/properties/schedules/properties/specific_date", - "type": "array", - "title": "The Specific_date Schema", - "items": { - "$id": "#/properties/schedules/properties/specific_date/items", - "type": "object", - "title": "The Items Schema", - "required": [ - "start_date_time", - "end_date_time", - "instance_min_count", - "instance_max_count" - ], - "properties": { - "start_date_time": { - "$id": "#/properties/schedules/properties/specific_date/items/properties/start_date_time", - "type": "string", - "title": "The Start_date_time Schema", - "pattern": "^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T(2[0-3]|1[0-9]|0[0-9]):([0-5][0-9])$" - }, - "end_date_time": { - "$id": "#/properties/schedules/properties/specific_date/items/properties/end_date_time", - "type": "string", - "title": "The End_date_time Schema", - "default": "", - "pattern": "^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T(2[0-3]|1[0-9]|0[0-9]):([0-5][0-9])$" - }, - "instance_min_count": { - "$id": "#/properties/schedules/properties/specific_date/items/properties/instance_min_count", - "type": "integer", - "title": "The Instance_min_count Schema" - }, - "instance_max_count": { - "$id": "#/properties/schedules/properties/specific_date/items/properties/instance_max_count", - "type": "integer", - "title": "The Instance_max_count Schema" - }, - "initial_min_instance_count": { - "$id": "#/properties/schedules/properties/specific_date/items/properties/initial_min_instance_count", - "type": "integer", - "title": "The Initial_min_instance_count Schema" - } - } - } - } - } - } - }, - - "required": [ - "instance_min_count", - "instance_max_count" - ], - "anyOf": [ - { - "required": [ - "scaling_rules" - ] - }, - { - "required": [ - "schedules" - ] - } - ], - "additionalProperties": true -} diff --git a/schema/json/scaling-policy.v0_9.schema.json b/schema/json/scaling-policy.v0_9.schema.json new file mode 120000 index 0000000000..583ce9934d --- /dev/null +++ b/schema/json/scaling-policy.v0_9.schema.json @@ -0,0 +1 @@ +../../src/autoscaler/api/policyvalidator/scaling-policy.v0_9.schema.json \ No newline at end of file diff --git a/schema/json/service-key_only.v0_9.schema.json b/schema/json/service-key_only.v0_9.schema.json new file mode 120000 index 0000000000..0f5e1dabb4 --- /dev/null +++ b/schema/json/service-key_only.v0_9.schema.json @@ -0,0 +1 @@ +../../src/autoscaler/api/policyvalidator/service-key_only.v0_9.schema.json \ No newline at end of file diff --git a/schema/json/shared_definitions.json b/schema/json/shared_definitions.json deleted file mode 100644 index 46a6ae9315..0000000000 --- a/schema/json/shared_definitions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "schemas": { - "guid": { - "type": "string", - "description": "Unique identificator for a CF-resource, e.g. app, space, service-binding, …", - "pattern": "(\\d|[a-f]){8}-(\\d|[a-f]){4}-(\\d|[a-f]){4}-(\\d|[a-f]){4}-(\\d|[a-f]){12}", - "example": "8d0cee08-23ad-4813-a779-ad8118ea0b91" - } - } -} diff --git a/schema/json/shared_definitions.json b/schema/json/shared_definitions.json new file mode 120000 index 0000000000..01a37df394 --- /dev/null +++ b/schema/json/shared_definitions.json @@ -0,0 +1 @@ +../../src/autoscaler/api/policyvalidator/shared_definitions.json \ No newline at end of file diff --git a/src/autoscaler b/src/autoscaler index 35e0b2cc64..70c136212a 160000 --- a/src/autoscaler +++ b/src/autoscaler @@ -1 +1 @@ -Subproject commit 35e0b2cc643164088a2ec7209157d5344e29bf44 +Subproject commit 70c136212ae1b2f8c947809dabe3b2d0e89661e5