From fc07c2c35d799292a16cf58db1ada9b9649559b1 Mon Sep 17 00:00:00 2001 From: Amber Amos Date: Mon, 29 Jun 2026 14:22:25 -0700 Subject: [PATCH 1/3] First push --- src/azure-cli/HISTORY.rst | 1 + .../cli/command_modules/appservice/_help.py | 47 + .../cli/command_modules/appservice/_params.py | 13 + .../command_modules/appservice/commands.py | 18 + .../cli/command_modules/appservice/custom.py | 470 +++++++++- .../latest/recordings/test_webapp_status.yaml | 871 ++++++++++++++++++ .../tests/latest/test_webapp_commands.py | 20 + .../latest/test_webapp_commands_thru_mock.py | 361 +++++++- 8 files changed, 1794 insertions(+), 7 deletions(-) create mode 100644 src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_status.yaml diff --git a/src/azure-cli/HISTORY.rst b/src/azure-cli/HISTORY.rst index 59fae05291c..32da3140259 100644 --- a/src/azure-cli/HISTORY.rst +++ b/src/azure-cli/HISTORY.rst @@ -134,6 +134,7 @@ Release History * Fix #33180: `az functionapp plan create`: Simplify reserved parameter assignment in AppServicePlan (#33202) * `az webapp sitecontainers convert`: Add support for converting Docker Compose multi-container apps to Sitecontainers mode (#33131) * `az webapp up/deploy`: Add `--enriched-errors` parameter to see detailed deployment failure log (#32940) +* `az webapp status`: Add new command to show per-instance Site Runtime Status (#33632) * `az webapp create`: Add error message that clearly lists all valid options and specifies how to discover available runtimes (#33252) * `az appservice plan create`: Make `P0V3` as default SKU when `--sku` is omitted for linux webapp (#33237) * `az appservice plan create`: Add `PREMIUM0V3` tier for elastic scale (#33237) diff --git a/src/azure-cli/azure/cli/command_modules/appservice/_help.py b/src/azure-cli/azure/cli/command_modules/appservice/_help.py index eea863ae35d..eee84963849 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/_help.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/_help.py @@ -2432,6 +2432,39 @@ text: az webapp log startup show --name MyWebApp --resource-group MyResourceGroup --instance lw0sdlwk000002 """ +helps['webapp troubleshoot'] = """ +type: group +short-summary: Troubleshoot a web app's runtime state. +long-summary: > + Inspect runtime state and recent startup attempts for a Linux web app. + Useful when an app is returning HTTP 5xx or otherwise behaving + unexpectedly. Backed by KuduLite endpoints that aggregate the last 24 + hours of startup logs across all instances. +""" + +helps['webapp troubleshoot status'] = """ +type: command +short-summary: Show Site Runtime Status and recent startup summary for a Linux web app. +long-summary: | + Aggregates two data sources: + + - Site Runtime Status: ARM /siteStatus[/{instanceId}] (per-instance state, + action, last error, details). + - Startup summary: KuduLite (SCM) /api/startuplogs/summary (counts of + successful and failed startup attempts in the last 24h, plus earliest + and most recent). + + Use --instance to scope both to a single worker. Use `-o json` to get the + underlying structured payload. +examples: + - name: Show status for all instances of a web app + text: az webapp troubleshoot status --name MyWebApp --resource-group MyResourceGroup + - name: Show status scoped to a single worker instance + text: az webapp troubleshoot status --name MyWebApp --resource-group MyResourceGroup --instance 7c2d9 + - name: Get the raw structured payload + text: az webapp troubleshoot status --name MyWebApp --resource-group MyResourceGroup --output json +""" + helps['functionapp log'] = """ type: group short-summary: Manage function app logs. @@ -2478,6 +2511,20 @@ crafted: true """ +helps['webapp status'] = """ +type: command +short-summary: Show per-instance Site Runtime Status for a web app. +long-summary: > + Returns the runtime status of each instance. +examples: + - name: Show runtime status for all instances in the production slot. + text: az webapp status --name MyWebapp --resource-group MyResourceGroup + - name: Show runtime status for a deployment slot. + text: az webapp status --name MyWebapp --resource-group MyResourceGroup --slot staging + - name: Show runtime status for a specific instance. + text: az webapp status --name MyWebapp --resource-group MyResourceGroup --instance 6d3f0a2b8e5c4d1fb97a3c6e2f4a1b09 +""" + helps['webapp ssh'] = """ type: command short-summary: SSH command establishes a ssh session to the web container and developer would get a shell terminal remotely. diff --git a/src/azure-cli/azure/cli/command_modules/appservice/_params.py b/src/azure-cli/azure/cli/command_modules/appservice/_params.py index 7958d119c36..56ead707aa9 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/_params.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/_params.py @@ -94,6 +94,11 @@ def load_arguments(self, _): help="the name of the slot. Default to the productions slot if not specified") c.argument('name', arg_type=webapp_name_arg_type) + with self.argument_context('webapp status') as c: + c.argument('instance', options_list=['--instance'], + help='show runtime status for a specific instance only. ' + "Run 'az webapp list-instances' to discover instance IDs.") + with self.argument_context('functionapp') as c: c.ignore('app_instance') c.argument('resource_group_name', arg_type=resource_group_name_type) @@ -849,6 +854,14 @@ def load_arguments(self, _): with self.argument_context('webapp log startup show') as c: c.argument('filename', options_list=['--filename', '-f'], help='Name of a specific startup log file to display. If not specified, shows the latest log (preferring failures).') + with self.argument_context('webapp troubleshoot status') as c: + c.argument('name', arg_type=webapp_name_arg_type, id_part=None) + c.argument('resource_group', arg_type=resource_group_name_type) + c.argument('slot', options_list=['--slot', '-s'], help="the name of the slot. Default to the production slot if not specified") + c.argument('instance', options_list=['--instance'], + help='Scope the report to a single worker instance ID. ' + 'When omitted, returns an overview of every instance seen in the last 24 hours.') + with self.argument_context('functionapp log deployment show') as c: c.argument('name', arg_type=functionapp_name_arg_type, id_part=None) c.argument('resource_group', arg_type=resource_group_name_type) diff --git a/src/azure-cli/azure/cli/command_modules/appservice/commands.py b/src/azure-cli/azure/cli/command_modules/appservice/commands.py index 15462365f96..182ae0a0e85 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/commands.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/commands.py @@ -48,6 +48,19 @@ def transform_runtime_list_output(result): ]) for r in result] +def transform_webapp_status_output(result): + from .custom import format_webapp_status_output + return format_webapp_status_output(result) + + +def transform_troubleshoot_status_output(result): + from .custom import _render_troubleshoot_status + _render_troubleshoot_status(result) + # Returning an empty list bypasses azure-cli's table formatter (which would + # otherwise print "(empty)" after our rendered report). + return [] + + def ex_handler_factory(creating_plan=False): def _ex_handler(ex): ex = _polish_bad_errors(ex, creating_plan) @@ -142,6 +155,7 @@ def load_command_table(self, _): g.custom_command('restart', 'restart_webapp') g.custom_command('browse', 'view_in_browser') g.custom_command('list-instances', 'list_instances') + g.custom_command('status', 'show_webapp_status', table_transformer=transform_webapp_status_output) g.custom_command('list-runtimes', 'list_runtimes', table_transformer=transform_runtime_list_output) g.custom_command('identity assign', 'assign_identity') g.custom_show_command('identity show', 'show_identity') @@ -259,6 +273,10 @@ def load_command_table(self, _): g.custom_command('list', 'list_startup_logs') g.custom_show_command('show', 'show_startup_log') + with self.command_group('webapp troubleshoot', is_preview=True) as g: + g.custom_command('status', 'troubleshoot_status', + table_transformer=transform_troubleshoot_status_output) + with self.command_group('functionapp log deployment') as g: g.custom_show_command('show', 'show_deployment_log') g.custom_command('list', 'list_deployment_logs') diff --git a/src/azure-cli/azure/cli/command_modules/appservice/custom.py b/src/azure-cli/azure/cli/command_modules/appservice/custom.py index 31d333d7d28..bad9a1c68c7 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/custom.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/custom.py @@ -5,9 +5,12 @@ import ast import base64 +import os +import sys import threading import time import re +from concurrent.futures import ThreadPoolExecutor from xml.etree import ElementTree from urllib.parse import quote, urlparse @@ -385,10 +388,12 @@ def create_webapp(cmd, resource_group_name, name, plan, runtime=None, startup_fi _enable_basic_auth(cmd, name, None, resource_group_name, basic_auth.lower()) # Only suggest deployment command when no deployment method is already configured - if not using_webapp_up and not any([container_image_name, deployment_container_image_name, - multicontainer_config_type, sitecontainers_app, - deployment_source_url, deployment_local_git]): - logger.warning("Webapp '%s' created. Deploy your code with: az webapp deploy", name) + if not using_webapp_up: + if not any([container_image_name, deployment_container_image_name, + multicontainer_config_type, sitecontainers_app, + deployment_source_url, deployment_local_git]): + logger.warning("Webapp '%s' created. Deploy your code with: az webapp deploy", name) + _log_webapp_status_tip(name, resource_group_name, is_linux) return webapp @@ -2460,6 +2465,80 @@ def show_app(cmd, resource_group_name, name, slot=None): return app +def _log_webapp_status_tip(name, resource_group_name, is_linux): + # Per-instance runtime status (siteStatus) is a Linux App Service feature, + # so only surface the tip for Linux webapps. + if not is_linux: + return + logger.warning("Tip: run 'az webapp status --name %s --resource-group %s' " + "to see per-instance runtime status.", + name, resource_group_name) + + +def _extract_webapp_status_items(result): + # The siteStatus response holds per-instance status under 'properties': + # a list for /siteStatus, a single object for /siteStatus/{instanceId}. + # Normalize both shapes into a list for uniform formatting. + properties = result.get('properties') + if isinstance(properties, list): + return properties + if isinstance(properties, dict): + return [properties] + return [] + + +def format_webapp_status_output(result): + from collections import OrderedDict + + items = _extract_webapp_status_items(result) + # LastError is a nullable field on the backend SiteRuntimeStatusOnWorker contract, + # so the error columns (LastError, LastErrorDetails, LastErrorTimestamp) are only + # surfaced when at least one instance reports a LastError. + show_errors = any(item.get('lastError') for item in items) + + rows = [] + for item in items: + row = OrderedDict([ + ('InstanceId', item.get('instanceId')), + ('State', item.get('state')), + ('Action', item.get('action')) + ]) + if show_errors: + row['LastError'] = item.get('lastError') + row['LastErrorDetails'] = item.get('lastErrorDetails') + row['LastErrorTimestamp'] = item.get('lastErrorTimestamp') + row['Details'] = item.get('details') + row['DetailsLevel'] = item.get('detailsLevel') + rows.append(row) + return rows + + +def show_webapp_status(cmd, resource_group_name, name, slot=None, instance=None): + from azure.cli.core.commands.client_factory import get_subscription_id + + client = web_client_factory(cmd.cli_ctx) + subscription_id = get_subscription_id(cmd.cli_ctx) + api_version = client._config.api_version + slot_segment = f'/slots/{slot}' if slot else '' + instance_segment = f'/{instance}' if instance else '' + base_url = ( + f'/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}' + f'/providers/Microsoft.Web/sites/{name}{slot_segment}/siteStatus{instance_segment}' + f'?api-version={api_version}' + ) + request_url = cmd.cli_ctx.cloud.endpoints.resource_manager + base_url + + try: + return send_raw_request(cmd.cli_ctx, 'GET', request_url).json() + except HttpResponseError as ex: + if instance and ex.status_code == 404: + scope = 'webapp and slot' if slot else 'webapp' + raise ResourceNotFoundError( + f"Instance '{instance}' was not found for this {scope}. " + "Run 'az webapp list-instances' to see available instance IDs.") + raise + + def _list_app(cli_ctx, resource_group_name=None, show_details=False): client = web_client_factory(cli_ctx) if resource_group_name: @@ -6412,6 +6491,11 @@ def list_deployment_logs(cmd, resource_group, name, slot=None): def _ensure_linux_webapp_for_startup_logs(cmd, resource_group, name, slot=None): + _ensure_linux_webapp(cmd, resource_group, name, slot, + command_label="'az webapp log startup'") + + +def _ensure_linux_webapp(cmd, resource_group, name, slot=None, command_label='This command'): client = web_client_factory(cmd.cli_ctx) if slot: app = client.web_apps.get_slot(resource_group, name, slot) @@ -6419,7 +6503,7 @@ def _ensure_linux_webapp_for_startup_logs(cmd, resource_group, name, slot=None): app = client.web_apps.get(resource_group, name) if app is None or not is_linux_webapp(app): raise ArgumentUsageError( - "'az webapp log startup' is only supported for Linux web apps.") + "{} is only supported for Linux web apps.".format(command_label)) def list_startup_logs(cmd, resource_group, name, slot=None, outcome=None, instance=None): @@ -6516,6 +6600,372 @@ def show_startup_log(cmd, resource_group, name, slot=None, filename=None, instan return response.json() +# --------------------------------------------------------------------------- +# az webapp troubleshoot status +# --------------------------------------------------------------------------- + +def troubleshoot_status(cmd, resource_group, name, slot=None, instance=None): + """Fetch and render runtime + startup status for a Linux web app. + + Data sources: + * Site Runtime Status comes from ARM: + GET /subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Web + /sites/{name}[/slots/{slot}]/siteStatus[/{instanceId}]?api-version=... + * Startup summary comes from KuduLite (SCM): + GET https://{scm-host}/api/startuplogs/summary[?instance={id}] + + Returns the structured payload (list of instances + startup summary) so + `-o json` etc. work naturally. For the default (`table`/empty) output format, + also prints a human-readable report to stdout. + """ + import requests + from azure.cli.core.commands.client_factory import get_subscription_id + from azure.core.exceptions import HttpResponseError as _Hre + + _ensure_linux_webapp(cmd, resource_group, name, slot, + command_label="'az webapp troubleshoot status'") + + # --- 1. Map ARM hex instanceId <-> friendly machineName via ARM /instances. + # We fetch this first so we can accept either form on --instance and resolve + # the right value before calling /siteStatus (ARM) and /api/startuplogs/summary (SCM). + client = web_client_factory(cmd.cli_ctx) + subscription_id = get_subscription_id(cmd.cli_ctx) + api_version = client._config.api_version + slot_segment = '/slots/{}'.format(slot) if slot else '' + instances_url = ( + '{rm}/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Web' + '/sites/{name}{slot_seg}/instances?api-version={ver}' + ).format( + rm=cmd.cli_ctx.cloud.endpoints.resource_manager, + sub=subscription_id, rg=resource_group, name=name, + slot_seg=slot_segment, ver=api_version) + id_to_machine = {} + machine_to_id = {} + try: + instances_payload = send_raw_request(cmd.cli_ctx, 'GET', instances_url).json() + for entry in instances_payload.get('value') or []: + entry_name = entry.get('name') + machine = (entry.get('properties') or {}).get('machineName') + if entry_name and machine: + id_to_machine[entry_name] = machine + machine_to_id[machine] = entry_name + except _Hre as ex: + logger.warning("Failed to retrieve machine names from '%s': %s", instances_url, ex) + + # Resolve --instance: accept either hex GUID (ARM form) or machineName (SCM form). + arm_instance_id = instance + if instance and instance in machine_to_id: + arm_instance_id = machine_to_id[instance] + elif instance and instance not in id_to_machine and machine_to_id: + # User passed something that matches neither known id nor machineName. + raise ResourceNotFoundError( + "Instance '{}' was not found for this webapp. " + "Run 'az webapp list-instances' to see available instance IDs.".format(instance)) + + # --- 2. Site Runtime Status from ARM /siteStatus[/{hex-instanceId}] --- + instance_segment = '/{}'.format(arm_instance_id) if arm_instance_id else '' + arm_url = ( + '{rm}/subscriptions/{sub}/resourceGroups/{rg}/providers/Microsoft.Web' + '/sites/{name}{slot_seg}/siteStatus{inst_seg}?api-version={ver}' + ).format( + rm=cmd.cli_ctx.cloud.endpoints.resource_manager, + sub=subscription_id, rg=resource_group, name=name, + slot_seg=slot_segment, inst_seg=instance_segment, ver=api_version) + + try: + arm_response = send_raw_request(cmd.cli_ctx, 'GET', arm_url).json() + except _Hre as ex: + if instance and getattr(ex, 'status_code', None) == 404: + raise ResourceNotFoundError( + "Instance '{}' was not found for this webapp. " + "Run 'az webapp list-instances' to see available instance IDs.".format(instance)) + raise + + runtime_items = _extract_webapp_status_items(arm_response) + for item in runtime_items: + machine = id_to_machine.get(item.get('instanceId')) + if machine: + item['machineName'] = machine + + # --- 3. Per-instance Startup summary from SCM /api/startuplogs/summary?instance={machineName} --- + # Fan out the per-instance calls in parallel; each one is a SCM round-trip + # (KuduLite -> worker file read) and dominates wall-clock time when N > 1. + scm_url = _get_scm_url(cmd, resource_group, name, slot) + headers = get_scm_site_headers(cmd.cli_ctx, name, resource_group, slot) + + def _fetch_startup_summary(item): + machine = item.get('machineName') + if not machine: + # KuduLite identifies workers by machine name; without it the summary call + # would be ambiguous, so skip rather than send a bad query. + item['startup'] = None + return + summary_url = '{}/api/startuplogs/summary?instance={}'.format( + scm_url, quote(machine, safe='')) + try: + summary_response = requests.get(summary_url, headers=headers) + except requests.RequestException as ex: + logger.warning("Failed to call '%s': %s", summary_url, ex) + item['startup'] = None + return + if summary_response.status_code == 200: + try: + item['startup'] = _unwrap_startup_summary(summary_response.json(), machine) + except ValueError: + item['startup'] = None + elif summary_response.status_code == 404: + # No startup logs in window for this instance, or endpoint not rolled out. + item['startup'] = None + else: + logger.warning( + "Failed to retrieve startup summary for instance '%s' (status %s %s).", + machine, summary_response.status_code, summary_response.reason) + item['startup'] = None + + if len(runtime_items) > 1: + with ThreadPoolExecutor(max_workers=min(8, len(runtime_items))) as pool: + # list() drains the iterator so exceptions in workers propagate here. + list(pool.map(_fetch_startup_summary, runtime_items)) + else: + for item in runtime_items: + _fetch_startup_summary(item) + + # --- 3. Assemble payload --- + # 'name' and 'resourceGroup' are standard top-level fields in az JSON output; + # the table_transformer (transform_troubleshoot_status_output) also consumes + # them when rendering the human-readable report. + payload = { + 'name': name, + 'resourceGroup': resource_group, + 'instances': runtime_items, + } + return payload + + +def _render_troubleshoot_status(payload): + """Print the human-readable report (Site Runtime Status + per-instance Startup summary). + Called as the table_transformer for 'az webapp troubleshoot status'.""" + instances = payload.get('instances') or [] + app_name = payload.get('name') or '' + resource_group = payload.get('resourceGroup') + + if not instances: + print("No runtime status reported for '{}'.".format(app_name)) + return + + print("\n{}\n".format(_c("Application status for {}.".format(app_name), 'bold'))) + + # Overview table (skip when only one instance is present, e.g. --instance filter). + if len(instances) > 1: + col_widths = (14, 20, 12, 24) + header = "{:<{w0}}{:<{w1}}{:<{w2}}{}".format( + 'INSTANCE', 'MACHINE', 'STATE', 'UPDATED', + w0=col_widths[0], w1=col_widths[1], w2=col_widths[2]) + print(_c(header, 'bold')) + print('-' * sum(col_widths)) + for inst in instances: + startup = inst.get('startup') or {} + most_recent = startup.get('mostRecent') or startup.get('MostRecent') or {} + updated = _format_dt(most_recent.get('at') or most_recent.get('At')) or '-' + state = inst.get('state') or '-' + # ANSI escapes inflate the rendered width, so pad the plain text manually. + print("{}{}{}{}".format( + _pad(_short_id(inst.get('instanceId')), col_widths[0]), + _pad(inst.get('machineName') or '-', col_widths[1]), + _pad(_color_state(state), col_widths[2], plain_len=len(state)), + updated)) + print() + print() + + # Per-instance Site Runtime Status + Startup summary. + for inst in instances: + machine = inst.get('machineName') + label = machine if machine else _short_id(inst.get('instanceId')).upper() + sep = '-' * 66 + header = 'Instance {} Full Status Report'.format(label) + print(sep) + print(_c(header, 'cyan')) + print(sep) + _print_runtime_block(inst) + print() + print(_c('Startup summary (last 24h)', 'cyan')) + _print_startup_block(inst.get('startup')) + + # Hint footer — only surfaced when at least one instance reports an error detail. + has_error = any( + (inst.get('lastErrorDetails') or '').strip() for inst in instances + ) + if has_error: + rg = resource_group or '' + print(_c('Hint:', 'yellow')) + print(' Check application logs: az webapp log tail -n {} -g {}'.format(app_name, rg)) + print(' Check startup logs: az webapp log startup show -n {} -g {}'.format(app_name, rg)) + + +def _color_enabled(): + """Honor NO_COLOR / AZURE_CORE_NO_COLOR and only emit ANSI when stdout is a TTY.""" + if os.environ.get('NO_COLOR') or os.environ.get('AZURE_CORE_NO_COLOR'): + return False + try: + return sys.stdout.isatty() + except (AttributeError, ValueError): + return False + + +def _c(text, color): + """Wrap text in ANSI color codes when color is enabled; otherwise return text unchanged. + Uses colorama-compatible escapes (colorama is initialized by azure-cli at startup).""" + if not text or not _color_enabled(): + return text + codes = { + 'green': '\033[32m', + 'red': '\033[31m', + 'yellow': '\033[33m', + 'cyan': '\033[36m', + 'bold': '\033[1m', + 'dim': '\033[2m', + } + reset = '\033[0m' + return '{}{}{}'.format(codes.get(color, ''), text, reset) + + +def _color_state(state): + if not state: + return '-' + s = state.lower() + if s == 'started': + return _c(state, 'green') + if s in ('stopped', 'failed', 'crashed', 'unhealthy'): + return _c(state, 'red') + if s in ('starting', 'pullingimage', 'pulling', 'pending'): + return _c(state, 'yellow') + return state + + +def _color_outcome(outcome): + if not outcome: + return '-' + o = outcome.upper() + if o == 'STARTED': + return _c(outcome, 'green') + if o in ('FAILED', 'CRASHED'): + return _c(outcome, 'red') + return outcome + + +def _color_count(count, kind): + """Color a numeric count. kind='failed' -> red when > 0; 'successful' -> green when > 0.""" + try: + n = int(count) + except (TypeError, ValueError): + return str(count) + if kind == 'failed' and n > 0: + return _c(str(n), 'red') + if kind == 'successful' and n > 0: + return _c(str(n), 'green') + return str(n) + + +def _pad(text, width, plain_len=None): + """Left-justify text to `width` columns. When `text` contains ANSI escapes, + pass plain_len so padding is based on the visible character count.""" + visible = plain_len if plain_len is not None else len(text or '') + pad = max(0, width - visible) + return (text or '') + ' ' * pad + + +def _short_id(instance_id): + """Truncate a long hex ARM instanceId for table display.""" + if not instance_id: + return '-' + if len(instance_id) > 12: + return instance_id[:10] + return instance_id + + +def _format_dt(value): + if not value: + return None + # Pass through ISO strings; trim sub-second/timezone noise for the table view. + if isinstance(value, str): + v = value.replace('T', ' ') + is_utc = v.endswith('Z') + if '.' in v: + v = v.split('.', 1)[0] + if is_utc: + if v.endswith('Z'): + v = v[:-1] + v = v + ' UTC' + elif '+' in v: + v = v.split('+', 1)[0] + return v + return str(value) + + +def _print_runtime_block(inst): + """Print one Site Runtime Status block from an ARM /siteStatus item.""" + if not inst: + print(' (no runtime status reported)') + return + state = inst.get('state') or '-' + details = inst.get('details') or '-' + last_error = inst.get('lastError') or '-' + last_error_details = inst.get('lastErrorDetails') or '-' + # Treat .NET DateTime.MinValue (0001-01-01...) as "no error ever" and hide it. + last_error_ts_raw = inst.get('lastErrorTimestamp') + if isinstance(last_error_ts_raw, str) and last_error_ts_raw.startswith('0001-01-01'): + last_error_ts_raw = None + last_error_ts = _format_dt(last_error_ts_raw) or '-' + print(' State {}'.format(_color_state(state))) + print(' Details {}'.format(details)) + print(' Last Error {}'.format(last_error)) + print(' Last Error Details {}'.format(last_error_details)) + print(' Last Error Timestamp {}'.format(last_error_ts)) + + +def _unwrap_startup_summary(payload, machine): + """KuduLite's /api/startuplogs/summary returns a list of + [{'InstanceId': ..., 'Startup': {...}}] (one entry when filtered by instance). + Extract the inner Startup object for the matching machine, or the first entry.""" + if payload is None: + return None + if isinstance(payload, list): + if not payload: + return None + match = next( + (e for e in payload + if isinstance(e, dict) and (e.get('InstanceId') == machine or e.get('instanceId') == machine)), + payload[0]) + if isinstance(match, dict): + return match.get('Startup') or match.get('startup') or match + return match + if isinstance(payload, dict): + return payload.get('Startup') or payload.get('startup') or payload + return None + + +def _print_startup_block(s): + if not s: + print(' (no startup attempts recorded)') + print() + return + successful = s.get('successful', s.get('Successful', 0)) + failed = s.get('failed', s.get('Failed', 0)) + print(' Successful {}'.format(_color_count(successful, 'successful'))) + print(' Failed {}'.format(_color_count(failed, 'failed'))) + most_recent = s.get('mostRecent') or s.get('MostRecent') + earliest = s.get('earliest') or s.get('Earliest') + if most_recent: + print(' Most recent {} -> {}'.format( + _format_dt(most_recent.get('at') or most_recent.get('At')) or '-', + _color_outcome(most_recent.get('outcome') or most_recent.get('Outcome')))) + if earliest: + print(' Earliest {} -> {}'.format( + _format_dt(earliest.get('at') or earliest.get('At')) or '-', + _color_outcome(earliest.get('outcome') or earliest.get('Outcome')))) + print() + + def config_slot_auto_swap(cmd, resource_group_name, webapp, slot, auto_swap_slot=None, disable=None): client = web_client_factory(cmd.cli_ctx) site_config = client.web_apps.get_configuration_slot(resource_group_name, webapp, slot) @@ -9931,6 +10381,7 @@ def _poll_deployment_runtime_status(cmd, resource_group_name, webapp_name, slot, time_elapsed = 0 deployment_status = None response_body = None + status_tip_logged = False while time_elapsed < max_time_sec: try: response_body = send_raw_request(cmd.cli_ctx, "GET", deploymentstatusapi_url).json() @@ -9945,12 +10396,19 @@ def _poll_deployment_runtime_status(cmd, resource_group_name, webapp_name, slot, status = deployment_status if status is None else status logger.warning("Status: %s Time: %s(s)", status, time_elapsed) if deployment_status == "RuntimeStarting": + if not status_tip_logged: + _log_webapp_status_tip(webapp_name, resource_group_name, True) + status_tip_logged = True logger.info("InprogressInstances: %s, SuccessfulInstances: %s", deployment_properties.get('numberOfInstancesInProgress'), deployment_properties.get('numberOfInstancesSuccessful')) if deployment_status == "RuntimeSuccessful": + if not status_tip_logged: + _log_webapp_status_tip(webapp_name, resource_group_name, True) break if deployment_status == "RuntimeFailed": + if not status_tip_logged: + _log_webapp_status_tip(webapp_name, resource_group_name, True) error_text = "" total_num_instances = int(deployment_properties.get('numberOfInstancesInProgress')) + \ int(deployment_properties.get('numberOfInstancesSuccessful')) + \ @@ -10834,6 +11292,8 @@ def webapp_up(cmd, name=None, resource_group_name=None, plan=None, location=None logger.warning("You can launch the app at %s", _url) create_json.update({'URL': _url}) + _log_webapp_status_tip(name, rg_name, _is_linux) + if logs: _configure_default_logging(cmd, rg_name, name) try: diff --git a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_status.yaml b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_status.yaml new file mode 100644 index 00000000000..c70c4b511d3 --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_status.yaml @@ -0,0 +1,871 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate, zstd + CommandName: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku --is-linux + User-Agent: + - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","test":"test_webapp_status","date":"2026-06-22T17:55:55Z","module":"appservice"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '364' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 22 Jun 2026 17:56:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 620D4D5846F149B6B8DFDA1AC6C020D4 Ref B: SN4AA2022303037 Ref C: 2026-06-22T17:56:00Z' + status: + code: 200 + message: OK +- request: + body: '{"location": "westeurope", "properties": {"perSiteScaling": false, "reserved": + true}, "sku": {"capacity": 1, "name": "S1", "tier": "STANDARD"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate, zstd + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '143' + Content-Type: + - application/json + ParameterSetName: + - -g -n --sku --is-linux + User-Agent: + - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003?api-version=2025-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003","name":"plan-status000003","type":"Microsoft.Web/serverfarms","kind":"linux","location":"westeurope","properties":{"serverFarmId":4289,"name":"plan-status000003","sku":{"name":"S1","tier":"Standard","size":"S1","family":"S","capacity":1},"workerSize":"Small","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Small","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestEuropewebspace-Linux","subscription":"00000000-0000-0000-0000-000000000000","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + Europe","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"linux","resourceGroup":"clitest.rg000001","reserved":true,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-am2-845_4289","targetWorkerCount":0,"targetWorkerSizeId":0,"targetWorkerSku":null,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false,"maximumNumberOfZones":1,"currentNumberOfZonesUtilized":1,"migrateToVMSS":null,"vnetConnectionsUsed":null,"vnetConnectionsMax":null,"createdTime":"2026-06-22T17:56:12.27","asyncScalingEnabled":false,"isCustomMode":false,"powerState":"Running","eligibleLogCategories":""},"sku":{"name":"S1","tier":"Standard","size":"S1","family":"S","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1792' + content-type: + - application/json + date: + - Mon, 22 Jun 2026 17:56:15 GMT + etag: + - 1DD02706A1574CB + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=662529f8-d039-4bcc-9a54-78fd767d9bdf/southcentralus/e29ba92a-dd40-4f04-a66b-d04898d69162 + x-ms-ratelimit-remaining-subscription-global-writes: + - '12000' + x-ms-ratelimit-remaining-subscription-writes: + - '800' + x-msedge-ref: + - 'Ref A: 4771704B529C4BB199E61B6AF758D784 Ref B: SN4AA2022301021 Ref C: 2026-06-22T17:56:01Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate, zstd + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --runtime + User-Agent: + - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003","name":"plan-status000003","type":"Microsoft.Web/serverfarms","kind":"linux","location":"West + Europe","properties":{"serverFarmId":4289,"name":"plan-status000003","workerSize":"Small","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Small","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestEuropewebspace-Linux","subscription":"00000000-0000-0000-0000-000000000000","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":10,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + Europe","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"linux","resourceGroup":"clitest.rg000001","reserved":true,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-am2-845_4289","targetWorkerCount":0,"targetWorkerSizeId":0,"targetWorkerSku":null,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false,"maximumNumberOfZones":1,"currentNumberOfZonesUtilized":1,"migrateToVMSS":null,"vnetConnectionsUsed":0,"vnetConnectionsMax":2,"createdTime":"2026-06-22T17:56:12.27","asyncScalingEnabled":false,"isCustomMode":false,"powerState":"Running","eligibleLogCategories":""},"sku":{"name":"S1","tier":"Standard","size":"S1","family":"S","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1712' + content-type: + - application/json + date: + - Mon, 22 Jun 2026 17:56:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: A8E9E754678049B9ABFE9A92B50F2CCC Ref B: SN4AA2022302011 Ref C: 2026-06-22T17:56:16Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "webapp-status000002", "type": "Site"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate, zstd + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '47' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --runtime + User-Agent: + - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2024-11-01 + response: + body: + string: '{"nameAvailable":true,"reason":"","message":""}' + headers: + cache-control: + - no-cache + content-length: + - '47' + content-type: + - application/json + date: + - Mon, 22 Jun 2026 17:56:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=662529f8-d039-4bcc-9a54-78fd767d9bdf/southcentralus/8c883dad-d30b-44e6-b53b-0fbda691de5e + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 2B379D34EE7C47E2BA8182DAE1A312B3 Ref B: SN4AA2022301029 Ref C: 2026-06-22T17:56:17Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate, zstd + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --runtime + User-Agent: + - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.Web/webAppStacks?api-version=2024-11-01 + response: + body: + string: '{"value":[{"id":null,"name":"dotnet","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":".NET","value":"dotnet","preferredOs":"windows","majorVersions":[{"displayText":".NET + 10 (LTS)","value":"dotnet10","minorVersions":[{"displayText":".NET 10 (LTS)","value":"10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v10.0","remoteDebuggingSupported":false,"isHidden":false,"isPreview":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":true,"endOfLifeDate":"2028-12-01T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|10.0","remoteDebuggingSupported":false,"isHidden":false,"isPreview":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-12-01T00:00:00Z"}}}]},{"displayText":".NET + 9 (STS)","value":"dotnet9","minorVersions":[{"displayText":".NET 9 (STS)","value":"9","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v9.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"9.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":true,"endOfLifeDate":"2026-11-10T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|9.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"9.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2026-11-10T00:00:00Z"}}}]},{"displayText":".NET + 8 (LTS)","value":"dotnet8","minorVersions":[{"displayText":".NET 8 (LTS)","value":"8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v8.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":true,"endOfLifeDate":"2026-11-10T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|8.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2026-11-10T00:00:00Z"}}}]},{"displayText":".NET + 7 (STS)","value":"dotnet7","minorVersions":[{"displayText":".NET 7 (STS)","value":"7","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2024-05-14T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2024-05-14T00:00:00Z"}}}]},{"displayText":".NET + 6","value":"dotnet6","minorVersions":[{"displayText":".NET 6 (LTS)","value":"6","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2024-11-12T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2024-11-12T00:00:00Z"}}}]},{"displayText":".NET + 5","value":"dotnet5","minorVersions":[{"displayText":".NET 5","value":"5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2022-05-08T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2022-05-08T00:00:00Z"}}}]},{"displayText":".NET + Core 3","value":"dotnetcore3","minorVersions":[{"displayText":".NET Core 3.1 + (LTS)","value":"3.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isDeprecated":true,"isAvailableForManagedInstance":false,"endOfLifeDate":"2022-12-03T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"isDeprecated":true,"endOfLifeDate":"2022-12-03T00:00:00Z"}}},{"displayText":".NET + Core 3.0","value":"3.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2020-03-03T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2020-03-03T00:00:00Z"}}}]},{"displayText":".NET + Core 2","value":"dotnetcore2","minorVersions":[{"displayText":".NET Core 2.2","value":"2.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2019-12-23T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-23T00:00:00Z"}}},{"displayText":".NET + Core 2.1 (LTS)","value":"2.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2021-07-21T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-07-21T00:00:00Z"}}},{"displayText":".NET + Core 2.0","value":"2.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2018-10-01T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2018-10-01T00:00:00Z"}}}]},{"displayText":".NET + Core 1","value":"dotnetcore1","minorVersions":[{"displayText":".NET Core 1.1","value":"1.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2019-06-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-06-27T00:00:00Z"}}},{"displayText":".NET + Core 1.0","value":"1.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2019-06-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-06-27T00:00:00Z"}}}]},{"displayText":"ASP.NET + V4","value":"aspdotnetv4","minorVersions":[{"displayText":"ASP.NET V4.8","value":"v4.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v4.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":true}}}]},{"displayText":"ASP.NET + V3","value":"aspdotnetv3","minorVersions":[{"displayText":"ASP.NET V3.5","value":"v3.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v2.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":true}}}]}]}},{"id":null,"name":"node","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Node","value":"node","preferredOs":"linux","majorVersions":[{"displayText":"Node + LTS","value":"lts","minorVersions":[{"displayText":"Node LTS","value":"lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"}}}}]},{"displayText":"Node + 24","value":"24","minorVersions":[{"displayText":"Node 24 LTS","value":"24-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|24-lts","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"24.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~24","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"24.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false},"endOfLifeDate":"2028-04-30T00:00:00Z"}}}]},{"displayText":"Node + 22","value":"22","minorVersions":[{"displayText":"Node 22 LTS","value":"22-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|22-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"22.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~22","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"22.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-04-30T00:00:00Z"}}}]},{"displayText":"Node + 20","value":"20","minorVersions":[{"displayText":"Node 20 LTS","value":"20-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|20-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"20.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2026-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~20","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"20.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2026-04-30T00:00:00Z"}}}]},{"displayText":"Node + 18","value":"18","minorVersions":[{"displayText":"Node 18 LTS","value":"18-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|18-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"18.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2025-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~18","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"18.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2025-04-30T00:00:00Z"}}}]},{"displayText":"Node + 16","value":"16","minorVersions":[{"displayText":"Node 16 LTS","value":"16-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|16-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2023-09-11T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~16","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-09-11T00:00:00Z"}}}]},{"displayText":"Node + 14","value":"14","minorVersions":[{"displayText":"Node 14 LTS","value":"14-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|14-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2023-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~14","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-04-30T00:00:00Z"}}}]},{"displayText":"Node + 12","value":"12","minorVersions":[{"displayText":"Node 12 LTS","value":"12-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2022-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"12.13.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2022-04-01T00:00:00Z"}}},{"displayText":"Node + 12.9","value":"12.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12.9","isDeprecated":true,"remoteDebuggingSupported":true,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2022-04-01T00:00:00Z"}}}]},{"displayText":"Node + 10","value":"10","minorVersions":[{"displayText":"Node 10 LTS","value":"10-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node + 10.16","value":"10.16","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.16","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node + 10.15","value":"10.15","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"10.15.2","isDeprecated":true,"isPreview":true,"isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node + 10.14","value":"10.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.14","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.14.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node + 10.12","value":"10.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node + 10.10","value":"10.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.0.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node + 10.6","value":"10.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node + 10.1","value":"10.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}}]},{"displayText":"Node + 9","value":"9","minorVersions":[{"displayText":"Node 9.4","value":"9.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|9.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-06-30T00:00:00Z"}}}]},{"displayText":"Node + 8","value":"8","minorVersions":[{"displayText":"Node 8 LTS","value":"8-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node + 8.12","value":"8.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node + 8.11","value":"8.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node + 8.10","value":"8.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node + 8.9","value":"8.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node + 8.8","value":"8.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node + 8.5","value":"8.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node + 8.4","value":"8.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node + 8.2","value":"8.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node + 8.1","value":"8.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.1.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node + 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}}]},{"displayText":"Node + 7","value":"7","minorVersions":[{"displayText":"Node 7.10","value":"7.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2017-06-30T00:00:00Z"}}}]},{"displayText":"Node + 6","value":"6","minorVersions":[{"displayText":"Node 6 LTS","value":"6-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node + 6.12","value":"6.12","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node + 6.11","value":"6.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node + 6.10","value":"6.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node + 6.9","value":"6.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"6.9.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node + 6.6","value":"6.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node + 6.5","value":"6.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node + 6.2","value":"6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}}]},{"displayText":"Node + 4","value":"4","minorVersions":[{"displayText":"Node 4.8","value":"4.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2018-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2018-04-30T00:00:00Z"}}},{"displayText":"Node + 4.5","value":"4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2018-04-30T00:00:00Z"}}},{"displayText":"Node + 4.4","value":"4.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2018-04-30T00:00:00Z"}}}]}]}},{"id":null,"name":"python","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Python","value":"python","preferredOs":"linux","majorVersions":[{"displayText":"Python + 3","value":"3","minorVersions":[{"displayText":"Python 3.14","value":"3.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.14","remoteDebuggingSupported":false,"isHidden":false,"isPreview":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.14"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2030-10-31T00:00:00Z"}}},{"displayText":"Python + 3.13","value":"3.13","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.13","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.13"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2029-10-31T00:00:00Z"}}},{"displayText":"Python + 3.12","value":"3.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.12"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2028-10-31T00:00:00Z"}}},{"displayText":"Python + 3.11","value":"3.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.11"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2027-10-31T00:00:00Z","isHidden":false}}},{"displayText":"Python + 3.10","value":"3.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.10","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.10"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2026-10-31T00:00:00Z","isHidden":false,"isEarlyAccess":false}}},{"displayText":"Python + 3.9","value":"3.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.9"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2025-10-31T00:00:00Z","isHidden":false}}},{"displayText":"Python + 3.8","value":"3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.8"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2024-10-07T00:00:00Z"}}},{"displayText":"Python + 3.7","value":"3.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.7","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.7"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2023-06-27T00:00:00Z"}}},{"displayText":"Python + 3.6","value":"3.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"},"endOfLifeDate":"2021-12-23T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"3.4.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}}}}]},{"displayText":"Python + 2","value":"2","minorVersions":[{"displayText":"Python 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|2.7","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"2.7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"}}}]}]}},{"id":null,"name":"php","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"PHP","value":"php","preferredOs":"linux","majorVersions":[{"displayText":"PHP + 8","value":"8","minorVersions":[{"displayText":"PHP 8.5","value":"8.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.5","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.5"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2029-12-31T00:00:00Z"}}},{"displayText":"PHP + 8.4","value":"8.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.4"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2028-12-31T00:00:00Z"}}},{"displayText":"PHP + 8.3","value":"8.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.3"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2027-12-31T00:00:00Z"}}},{"displayText":"PHP + 8.2","value":"8.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.2","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.2"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2026-12-31T00:00:00Z"}}},{"displayText":"PHP + 8.1","value":"8.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.1","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.1"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2025-12-31T00:00:00Z"}}},{"displayText":"PHP + 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.0","isDeprecated":true,"isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.0"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2023-11-26T00:00:00Z"}}}]},{"displayText":"PHP + 7","value":"7","minorVersions":[{"displayText":"PHP 7.4","value":"7.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"isDeprecated":true,"endOfLifeDate":"2022-11-30T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"isDeprecated":true,"endOfLifeDate":"2022-11-30T00:00:00Z"}}},{"displayText":"PHP + 7.3","value":"7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2021-12-06T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2021-12-06T00:00:00Z"}}},{"displayText":"PHP + 7.2","value":"7.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-11-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-11-30T00:00:00Z"}}},{"displayText":"PHP + 7.1","value":"7.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-02-01T00:00:00Z"}}},{"displayText":"7.0","value":"7.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-02-01T00:00:00Z"}}}]},{"displayText":"PHP + 5","value":"5","minorVersions":[{"displayText":"PHP 5.6","value":"5.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-02-01T00:00:00Z"}}}]}]}},{"id":null,"name":"ruby","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Ruby","value":"ruby","preferredOs":"linux","majorVersions":[{"displayText":"Ruby + 2","value":"2","minorVersions":[{"displayText":"Ruby 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-03-31T00:00:00Z"}}},{"displayText":"Ruby + 2.7.3","value":"2.7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"isHidden":true,"endOfLifeDate":"2023-03-31T00:00:00Z"}}},{"displayText":"Ruby + 2.6","value":"2.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-03-31T00:00:00Z"}}},{"displayText":"Ruby + 2.6.2","value":"2.6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-03-31T00:00:00Z"}}},{"displayText":"Ruby + 2.5","value":"2.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-31T00:00:00Z"}}},{"displayText":"Ruby + 2.5.5","value":"2.5.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-31T00:00:00Z"}}},{"displayText":"Ruby + 2.4","value":"2.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-04-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4.5","value":"2.4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-04-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3","value":"2.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-03-31T00:00:00Z"}}},{"displayText":"Ruby + 2.3.8","value":"2.3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-03-31T00:00:00Z"}}},{"displayText":"Ruby + 2.3.3","value":"2.3.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.3","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-03-31T00:00:00Z"}}}]}]}},{"id":null,"name":"java","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java","value":"java","preferredOs":"linux","majorVersions":[{"displayText":"Java + 25","value":"25","minorVersions":[{"displayText":"Java 25","value":"25.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"25","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-09-01T00:00:00Z"}}},{"displayText":"Java + 25.0.1","value":"25.0.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"25.0.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-09-01T00:00:00Z"}}},{"displayText":"Java + 25.0.0","value":"25.0.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"25.0.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-09-01T00:00:00Z"}}}]},{"displayText":"Java + 21","value":"21","minorVersions":[{"displayText":"Java 21","value":"21.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java + 21.0.9","value":"21.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java + 21.0.6","value":"21.0.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java + 21.0.5","value":"21.0.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.5","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java + 21.0.4","value":"21.0.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java + 21.0.3","value":"21.0.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java + 21.0.1","value":"21.0.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}}]},{"displayText":"Java + 17","value":"17","minorVersions":[{"displayText":"Java 17","value":"17.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 17.0.17","value":"17.0.17","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.17","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 17.0.14","value":"17.0.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 17.0.13","value":"17.0.13","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.13","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 17.0.12","value":"17.0.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 17.0.11","value":"17.0.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 17.0.9","value":"17.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 17.0.4","value":"17.0.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 17.0.3","value":"17.0.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 17.0.2","value":"17.0.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.2","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 17.0.1","value":"17.0.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}}]},{"displayText":"Java + 11","value":"11","minorVersions":[{"displayText":"Java 11","value":"11.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.29","value":"11.0.29","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.29","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.26","value":"11.0.26","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.26","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.25","value":"11.0.25","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.25","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.24","value":"11.0.24","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.24","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.23","value":"11.0.23","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.23","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.21","value":"11.0.21","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.21","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.16","value":"11.0.16","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.16","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.15","value":"11.0.15","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.15","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.14","value":"11.0.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.13","value":"11.0.13","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.13","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.12","value":"11.0.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.11","value":"11.0.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.9","value":"11.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.8","value":"11.0.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.7","value":"11.0.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.6","value":"11.0.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.5","value":"11.0.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.5_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.3","value":"11.0.3","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.3_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java + 11.0.2","value":"11.0.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.2_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}}]},{"displayText":"Java + 8","value":"8","minorVersions":[{"displayText":"Java 8","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_472","value":"8.0.472","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_472","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_442","value":"8.0.442","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_442","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_432","value":"8.0.432","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_432","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_422","value":"8.0.422","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_422","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_412","value":"8.0.412","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_412","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_392","value":"8.0.392","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_392","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_345","value":"8.0.345","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_345","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_332","value":"8.0.332","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_332","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_322","value":"8.0.322","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_322","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_312","value":"8.0.312","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_312","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_302","value":"8.0.302","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_302","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_292","value":"8.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_292","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_282","value":"8.0.282","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_282","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_275","value":"8.0.275","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_265","value":"8.0.265","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_265","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_252","value":"8.0.252","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_252","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_242","value":"8.0.242","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_242","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_232","value":"8.0.232","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_232_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_212","value":"8.0.212","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_212_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202","value":"8.0.202","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202 (Oracle)","value":"8.0.202 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java + 1.8.0_181","value":"8.0.181","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_181 (Oracle)","value":"8.0.181 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java + 1.8.0_172","value":"8.0.172","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_172 (Oracle)","value":"8.0.172 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java + 1.8.0_144","value":"8.0.144","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_144","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_111 (Oracle)","value":"8.0.111 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_111","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java + 1.8.0_102","value":"8.0.102","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_102","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_92","value":"8.0.92","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_92","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java + 1.8.0_73 (Oracle)","value":"8.0.73 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_73","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java + 1.8.0_60 (Oracle)","value":"8.0.60 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_60","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java + 1.8.0_25 (Oracle)","value":"8.0.25 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_25","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}}]},{"displayText":"Java + 7","value":"7","minorVersions":[{"displayText":"Java 7","value":"7.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7","isAutoUpdate":true,"isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_292","value":"7.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_292","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_272","value":"7.0.272","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_272","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_262","value":"7.0.262","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_262","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_242","value":"7.0.242","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_242_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_222","value":"7.0.222","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_222_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_191","value":"7.0.191","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_191_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_80 (Oracle)","value":"7.0.80 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_80","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java + 1.7.0_71 (Oracle)","value":"7.0.71 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_71","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java + 1.7.0_51 (Oracle)","value":"7.0.51 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_51","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}}]}]}},{"id":null,"name":"javacontainers","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java + Containers","value":"javacontainers","majorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"javase","minorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"SE","stackSettings":{"windowsContainerSettings":{"javaContainer":"JAVA","javaContainerVersion":"SE","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java25Runtime":"JAVA|25-java25","java21Runtime":"JAVA|21-java21","java17Runtime":"JAVA|17-java17","java11Runtime":"JAVA|11-java11","java8Runtime":"JAVA|8-jre8","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8-jre8"},{"runtimeVersion":"11","runtime":"JAVA|11-java11"},{"runtimeVersion":"17","runtime":"JAVA|17-java17"},{"runtimeVersion":"21","runtime":"JAVA|21-java21"},{"runtimeVersion":"25","runtime":"JAVA|25-java25"}]}}},{"displayText":"Java + SE 25.0.1","value":"25.0.1","stackSettings":{"linuxContainerSettings":{"java25Runtime":"JAVA|25.0.1","runtimes":[{"runtimeVersion":"25","runtime":"JAVA|25.0.1"}]}}},{"displayText":"Java + SE 25.0.0","value":"25.0.0","stackSettings":{"linuxContainerSettings":{"java25Runtime":"JAVA|25.0.0","runtimes":[{"runtimeVersion":"25","runtime":"JAVA|25.0.0"}]}}},{"displayText":"Java + SE 21.0.9","value":"21.0.9","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.9","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.9"}]}}},{"displayText":"Java + SE 21.0.8","value":"21.0.8","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.8","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.8"}]}}},{"displayText":"Java + SE 21.0.7","value":"21.0.7","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.7","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.7"}]}}},{"displayText":"Java + SE 21.0.6","value":"21.0.6","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.6","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.6"}]}}},{"displayText":"Java + SE 21.0.5","value":"21.0.5","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.5","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.5"}]}}},{"displayText":"Java + SE 21.0.4","value":"21.0.4","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.4","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.4"}]}}},{"displayText":"Java + SE 21.0.3","value":"21.0.3","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.3","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.3"}]}}},{"displayText":"Java + SE 21.0.1","value":"21.0.1","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.1","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.1"}]}}},{"displayText":"Java + SE 17.0.17","value":"17.0.17","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.17","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.17"}]}}},{"displayText":"Java + SE 17.0.16","value":"17.0.16","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.16","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.16"}]}}},{"displayText":"Java + SE 17.0.15","value":"17.0.15","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.15","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.15"}]}}},{"displayText":"Java + SE 17.0.14","value":"17.0.14","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.14","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.14"}]}}},{"displayText":"Java + SE 17.0.13","value":"17.0.13","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.13","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.13"}]}}},{"displayText":"Java + SE 17.0.12","value":"17.0.12","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.12","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.12"}]}}},{"displayText":"Java + SE 17.0.11","value":"17.0.11","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.11","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.11"}]}}},{"displayText":"Java + SE 17.0.9","value":"17.0.9","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.9","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.9"}]}}},{"displayText":"Java + SE 17.0.4","value":"17.0.4","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.4","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.4"}]}}},{"displayText":"Java + SE 17.0.3","value":"17.0.3","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.3","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.3"}]}}},{"displayText":"Java + SE 17.0.2","value":"17.0.2","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.2","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.2"}]}}},{"displayText":"Java + SE 17.0.1","value":"17.0.1","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.1","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.1"}]}}},{"displayText":"Java + SE 11.0.29","value":"11.0.29","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.29","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.29"}]}}},{"displayText":"Java + SE 11.0.28","value":"11.0.28","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.28","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.28"}]}}},{"displayText":"Java + SE 11.0.27","value":"11.0.27","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.27","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.27"}]}}},{"displayText":"Java + SE 11.0.26","value":"11.0.26","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.26","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.26"}]}}},{"displayText":"Java + SE 11.0.25","value":"11.0.25","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.25","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.25"}]}}},{"displayText":"Java + SE 11.0.24","value":"11.0.24","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.24","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.24"}]}}},{"displayText":"Java + SE 11.0.23","value":"11.0.23","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.23","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.23"}]}}},{"displayText":"Java + SE 11.0.21","value":"11.0.21","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.21","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.21"}]}}},{"displayText":"Java + SE 11.0.16","value":"11.0.16","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.16","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.16"}]}}},{"displayText":"Java + SE 11.0.15","value":"11.0.15","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.15","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.15"}]}}},{"displayText":"Java + SE 11.0.14","value":"11.0.14","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.14","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.14"}]}}},{"displayText":"Java + SE 11.0.13","value":"11.0.13","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.13","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.13"}]}}},{"displayText":"Java + SE 11.0.12","value":"11.0.12","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.12","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.12"}]}}},{"displayText":"Java + SE 11.0.11","value":"11.0.11","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.11","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.11"}]}}},{"displayText":"Java + SE 11.0.9","value":"11.0.9","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.9","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.9"}]}}},{"displayText":"Java + SE 11.0.7","value":"11.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.7","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.7"}]}}},{"displayText":"Java + SE 11.0.6","value":"11.0.6","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.6","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.6"}]}}},{"displayText":"Java + SE 11.0.5","value":"11.0.5","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.5","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.5"}]}}},{"displayText":"Java + SE 8u472","value":"1.8.472","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8.0.472","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8.0.472"}]}}},{"displayText":"Java + SE 8u462","value":"1.8.462","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8.0.462","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8.0.462"}]}}},{"displayText":"Java + SE 8u452","value":"1.8.452","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u452","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u452"}]}}},{"displayText":"Java + SE 8u442","value":"1.8.442","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u442","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u442"}]}}},{"displayText":"Java + SE 8u432","value":"1.8.432","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u432","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u432"}]}}},{"displayText":"Java + SE 8u422","value":"1.8.422","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u422","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u422"}]}}},{"displayText":"Java + SE 8u412","value":"1.8.412","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u412","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u412"}]}}},{"displayText":"Java + SE 8u392","value":"1.8.392","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u392","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u392"}]}}},{"displayText":"Java + SE 8u345","value":"1.8.345","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u345","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u345"}]}}},{"displayText":"Java + SE 8u332","value":"1.8.332","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u332","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u332"}]}}},{"displayText":"Java + SE 8u322","value":"1.8.322","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u322","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u322"}]}}},{"displayText":"Java + SE 8u312","value":"1.8.312","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u312","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u312"}]}}},{"displayText":"Java + SE 8u302","value":"1.8.302","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u302","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u302"}]}}},{"displayText":"Java + SE 8u292","value":"1.8.292","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u292","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u292"}]}}},{"displayText":"Java + SE 8u275","value":"1.8.275","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u275","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u275"}]}}},{"displayText":"Java + SE 8u252","value":"1.8.252","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u252","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u252"}]}}},{"displayText":"Java + SE 8u242","value":"1.8.242","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u242","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u242"}]}}},{"displayText":"Java + SE 8u232","value":"1.8.232","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u232","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u232"}]}}}]},{"displayText":"Red + Hat JBoss EAP 8.1","value":"jbosseap8.1","minorVersions":[{"displayText":"Red + Hat JBoss EAP 8.1","value":"8.1","stackSettings":{"linuxContainerSettings":{"isHidden":true,"java17Runtime":"JBOSSEAP|8.1.0.1-java17","java21Runtime":"JBOSSEAP|8.1.0.1-java21","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"17","runtime":"JBOSSEAP|8.1.0.1-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.1.0.1-java21"}]}}},{"displayText":"Red + Hat JBoss EAP 8.1 update 1","value":"8.1.0.1","stackSettings":{"linuxContainerSettings":{"isHidden":true,"java17Runtime":"JBOSSEAP|8.1.0.1-java17","java21Runtime":"JBOSSEAP|8.1.0.1-java21","runtimes":[{"runtimeVersion":"17","runtime":"JBOSSEAP|8.1.0.1-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.1.0.1-java21"}]}}}]},{"displayText":"Red + Hat JBoss EAP 8.1 BYO License","value":"jbosseap8.1_byol","minorVersions":[{"displayText":"Red + Hat JBoss EAP 8.1","value":"8.1","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JBOSSEAP|8.1.0.1-java17_byol","java21Runtime":"JBOSSEAP|8.1.0.1-java21_byol","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"17","runtime":"JBOSSEAP|8-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8-java21"}]}}},{"displayText":"Red + Hat JBoss EAP 8.1 update 0.1","value":"8.1.0.1","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JBOSSEAP|8.1.0.1-java17_byol","java21Runtime":"JBOSSEAP|8.1.0.1-java21_byol","runtimes":[{"runtimeVersion":"17","runtime":"JBOSSEAP|8.1.0.1-java17_byol"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.1.0.1-java21_byol"}]}}}]},{"displayText":"Red + Hat JBoss EAP 8.0","value":"jbosseap8.0","minorVersions":[{"displayText":"Red + Hat JBoss EAP 8.0","value":"8.0","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8-java11","java17Runtime":"JBOSSEAP|8-java17","java21Runtime":"JBOSSEAP|8-java21","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8-java21"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 9.1","value":"8.0.9.1","stackSettings":{"linuxContainerSettings":{"isHidden":true,"java11Runtime":"JBOSSEAP|8.0.9.1-java11","java17Runtime":"JBOSSEAP|8.0.9.1-java17","java21Runtime":"JBOSSEAP|8.0.9.1-java21","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.9.1-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.9.1-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.0.9.1-java21"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 8","value":"8.0.8","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.8-java11","java17Runtime":"JBOSSEAP|8.0.8-java17","java21Runtime":"JBOSSEAP|8.0.8-java21","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.8-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.8-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.0.8-java21"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 7","value":"8.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.7-java11","java17Runtime":"JBOSSEAP|8.0.7-java17","java21Runtime":"JBOSSEAP|8.0.7-java21","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.7-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.7-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.0.7-java21"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 5.1","value":"8.0.5.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.5.1-java11","java17Runtime":"JBOSSEAP|8.0.5.1-java17","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.5.1-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.5.1-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 4.1","value":"8.0.4.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.4.1-java11","java17Runtime":"JBOSSEAP|8.0.4.1-java17","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.4.1-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.4.1-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 3","value":"8.0.3","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.3-java11","java17Runtime":"JBOSSEAP|8.0.3-java17","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.3-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.3-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 2.1","value":"8.0.2.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.2.1-java11","java17Runtime":"JBOSSEAP|8.0.2.1-java17","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.2.1-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.2.1-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 1","value":"8.0.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.1-java11","java17Runtime":"JBOSSEAP|8.0.1-java17","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.1-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.1-java17"}]}}}]},{"displayText":"Red + Hat JBoss EAP 8.0 BYO License","value":"jbosseap8.0_byol","minorVersions":[{"displayText":"Red + Hat JBoss EAP 8.0 BYO License","value":"8.0","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8-java11_byol","java17Runtime":"JBOSSEAP|8-java17_byol","java21Runtime":"JBOSSEAP|8-java21_byol","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8-java17_byol"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8-java21_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 9.1","value":"8.0.9.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.9.1-java11_byol","java17Runtime":"JBOSSEAP|8.0.9.1-java17_byol","java21Runtime":"JBOSSEAP|8.0.9.1-java21_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.9.1-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.9.1-java17_byol"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.0.9.1-java21_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 7","value":"8.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.7-java11_byol","java17Runtime":"JBOSSEAP|8.0.7-java17_byol","java21Runtime":"JBOSSEAP|8.0.7-java21_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.7-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.7-java17_byol"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.0.7-java21_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 5.1","value":"8.0.5.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.5.1-java11_byol","java17Runtime":"JBOSSEAP|8.0.5.1-java17_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.5.1-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.5.1-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 4.1 BYO License","value":"8.0.4.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.4.1-java11_byol","java17Runtime":"JBOSSEAP|8.0.4.1-java17_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.4.1-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.4.1-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 8 update 3 BYO License","value":"8.0.3","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.3-java11_byol","java17Runtime":"JBOSSEAP|8.0.3-java17_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.3-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.3-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 8.0 update 2.1 BYO License","value":"8.0.2","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.2-java11_byol","java17Runtime":"JBOSSEAP|8.0.2-java17_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.2-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.2-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 8 update 1 BYO License","value":"8.0.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.1-java11_byol","java17Runtime":"JBOSSEAP|8.0.1-java17_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.1-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.1-java17_byol"}]}}}]},{"displayText":"Red + Hat JBoss EAP 7","value":"jbosseap","minorVersions":[{"displayText":"Red Hat + JBoss EAP 7","value":"7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7-java8","java11Runtime":"JBOSSEAP|7-java11","java17Runtime":"JBOSSEAP|7-java17","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.23","value":"7.4.23","stackSettings":{"linuxContainerSettings":{"isHidden":true,"java8Runtime":"JBOSSEAP|7.4.23-java8","java11Runtime":"JBOSSEAP|7.4.23-java11","java17Runtime":"JBOSSEAP|7.4.23-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.23-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.23-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.23-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.22","value":"7.4.22","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.22-java8","java11Runtime":"JBOSSEAP|7.4.22-java11","java17Runtime":"JBOSSEAP|7.4.22-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.22-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.22-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.22-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.21","value":"7.4.21","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.21-java8","java11Runtime":"JBOSSEAP|7.4.21-java11","java17Runtime":"JBOSSEAP|7.4.21-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.21-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.21-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.21-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.20","value":"7.4.20","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.20-java8","java11Runtime":"JBOSSEAP|7.4.20-java11","java17Runtime":"JBOSSEAP|7.4.20-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.20-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.20-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.20-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.18","value":"7.4.18","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.18-java8","java11Runtime":"JBOSSEAP|7.4.18-java11","java17Runtime":"JBOSSEAP|7.4.18-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.18-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.18-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.18-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.17","value":"7.4.17","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.17-java8","java11Runtime":"JBOSSEAP|7.4.17-java11","java17Runtime":"JBOSSEAP|7.4.17-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.17-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.17-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.17-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.16","value":"7.4.16","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.16-java8","java11Runtime":"JBOSSEAP|7.4.16-java11","java17Runtime":"JBOSSEAP|7.4.16-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.16-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.16-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.16-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.13","value":"7.4.13","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.13-java8","java11Runtime":"JBOSSEAP|7.4.13-java11","java17Runtime":"JBOSSEAP|7.4.13-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.13-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.13-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.13-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.7","value":"7.4.7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.7-java8","java11Runtime":"JBOSSEAP|7.4.7-java11","java17Runtime":"JBOSSEAP|7.4.7-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.7-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.7-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.7-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.5","value":"7.4.5","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.5-java8","java11Runtime":"JBOSSEAP|7.4.5-java11","java17Runtime":"JBOSSEAP|7.4.5-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.5-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.5-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.5-java17"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.2","value":"7.4.2","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.2-java8","java11Runtime":"JBOSSEAP|7.4.2-java11","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.2-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.2-java11"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.1","value":"7.4.1","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.1-java8","java11Runtime":"JBOSSEAP|7.4.1-java11","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.1-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.1-java11"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.0","value":"7.4.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.0-java8","java11Runtime":"JBOSSEAP|7.4.0-java11","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.0-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.0-java11"}]}}},{"displayText":"Red + Hat JBoss EAP 7.3.10","value":"7.3.10","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3.10-java8","java11Runtime":"JBOSSEAP|7.3.10-java11","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.3.10-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.3.10-java11"}]}}},{"displayText":"Red + Hat JBoss EAP 7.3.9","value":"7.3.9","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3.9-java8","java11Runtime":"JBOSSEAP|7.3.9-java11","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.3.9-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.3.9-java11"}]}}},{"displayText":"Red + Hat JBoss EAP 7.3","value":"7.3","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3-java8","java11Runtime":"JBOSSEAP|7.3-java11","isAutoUpdate":true,"isHidden":true,"runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.3-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.3-java11"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4","value":"7.4","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4-java8","java11Runtime":"JBOSSEAP|7.4-java11","isAutoUpdate":true,"isHidden":true,"runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4-java11"}]}}},{"displayText":"JBoss + EAP 7.2","value":"7.2.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.2-java8","isDeprecated":true,"runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.2-java8"}]}}}]},{"displayText":"Red + Hat JBoss EAP 7 BYO License","value":"jbosseap7_byol","minorVersions":[{"displayText":"Red + Hat JBoss EAP 7 BYO License","value":"7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7-java8_byol","java11Runtime":"JBOSSEAP|7-java11_byol","java17Runtime":"JBOSSEAP|7-java17_byol","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.23","value":"7.4.23","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.23-java8_byol","java11Runtime":"JBOSSEAP|7.4.23-java11_byol","java17Runtime":"JBOSSEAP|7.4.23-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.23-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.23-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.23-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.22","value":"7.4.22","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.22-java8_byol","java11Runtime":"JBOSSEAP|7.4.22-java11_byol","java17Runtime":"JBOSSEAP|7.4.22-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.22-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.22-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.22-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.21 BYO License","value":"7.4.21","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.21-java8_byol","java11Runtime":"JBOSSEAP|7.4.21-java11_byol","java17Runtime":"JBOSSEAP|7.4.21-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.21-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.21-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.21-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.20 BYO License","value":"7.4.20","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.20-java8_byol","java11Runtime":"JBOSSEAP|7.4.20-java11_byol","java17Runtime":"JBOSSEAP|7.4.20-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.20-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.20-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.20-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.18 BYO License","value":"7.4.18","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.18-java8_byol","java11Runtime":"JBOSSEAP|7.4.18-java11_byol","java17Runtime":"JBOSSEAP|7.4.18-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.18-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.18-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.18-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.16 BYO License","value":"7.4.16","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.16-java8_byol","java11Runtime":"JBOSSEAP|7.4.16-java11_byol","java17Runtime":"JBOSSEAP|7.4.16-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.16-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.16-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.16-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.13 BYO License","value":"7.4.13","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.13-java8_byol","java11Runtime":"JBOSSEAP|7.4.13-java11_byol","java17Runtime":"JBOSSEAP|7.4.13-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.13-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.13-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.13-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.7 BYO License","value":"7.4.7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.7-java8_byol","java11Runtime":"JBOSSEAP|7.4.7-java11_byol","java17Runtime":"JBOSSEAP|7.4.7-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.7-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.7-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.7-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.5 BYO License","value":"7.4.5","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.5-java8_byol","java11Runtime":"JBOSSEAP|7.4.5-java11_byol","java17Runtime":"JBOSSEAP|7.4.5-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.5-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.5-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.5-java17_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.2 BYO License","value":"7.4.2","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.2-java8_byol","java11Runtime":"JBOSSEAP|7.4.2-java11_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.2-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.2-java11_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.1 BYO License","value":"7.4.1","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.1-java8_byol","java11Runtime":"JBOSSEAP|7.4.1-java11_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.1-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.1-java11_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.4.0 BYO License","value":"7.4.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.0-java8_byol","java11Runtime":"JBOSSEAP|7.4.0-java11_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.0-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.0-java11_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.3.10 BYO License","value":"7.3.10","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3.10-java8_byol","java11Runtime":"JBOSSEAP|7.3.10-java11_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.3.10-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.3.10-java11_byol"}]}}},{"displayText":"Red + Hat JBoss EAP 7.3.9 BYO License","value":"7.3.9","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3.9-java8_byol","java11Runtime":"JBOSSEAP|7.3.9-java11_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.3.9-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.3.9-java11_byol"}]}}}]},{"displayText":"Apache + Tomcat 11.0","value":"tomcat11.0","minorVersions":[{"displayText":"Apache + Tomcat 11.0","value":"11.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java25Runtime":"TOMCAT|11.0-java25","java21Runtime":"TOMCAT|11.0-java21","java17Runtime":"TOMCAT|11.0-java17","java11Runtime":"TOMCAT|11.0-java11","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|11.0-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|11.0-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|11.0-java25"}]}}},{"displayText":"Apache + Tomcat 11.0.15","value":"11.0.15","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.15","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|11.0-java11","java17Runtime":"TOMCAT|11.0.15-java17","java21Runtime":"TOMCAT|11.0.15-java21","java25Runtime":"TOMCAT|11.0.15-java25","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|11.0-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|11.0.15-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.15-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|11.0.15-java25"}]}}},{"displayText":"Apache + Tomcat 11.0.11","value":"11.0.11","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.11","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.11-java17","java21Runtime":"TOMCAT|11.0.11-java21","java25Runtime":"TOMCAT|11.0.11-java25","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.11-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.11-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|11.0.11-java25"}]}}},{"displayText":"Apache + Tomcat 11.0.9","value":"11.0.9","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.9","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.9-java17","java21Runtime":"TOMCAT|11.0.9-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.9-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.9-java21"}]}}},{"displayText":"Apache + Tomcat 11.0.8","value":"11.0.8","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.8","isHidden":true,"runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.8-java17","java21Runtime":"TOMCAT|11.0.8-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.8-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.8-java21"}]}}},{"displayText":"Apache + Tomcat 11.0.7","value":"11.0.7","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.7","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"isHidden":true,"java17Runtime":"TOMCAT|11.0.7-java17","java21Runtime":"TOMCAT|11.0.7-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.7-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.7-java21"}]}}},{"displayText":"Apache + Tomcat 11.0.6","value":"11.0.6","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.6","isHidden":true,"runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.6-java17","java21Runtime":"TOMCAT|11.0.6-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.6-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.6-java21"}]}}},{"displayText":"Apache + Tomcat 11.0.5","value":"11.0.5","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.5","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.5-java17","java21Runtime":"TOMCAT|11.0.5-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.5-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.5-java21"}]}}},{"displayText":"Apache + Tomcat 11.0.4","value":"11.0.4","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.4","isHidden":true,"runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.4-java17","java21Runtime":"TOMCAT|11.0.4-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.4-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.4-java21"}]}}},{"displayText":"Apache + Tomcat 11.0.2","value":"11.0.2","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.2","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.2-java17","java21Runtime":"TOMCAT|11.0.2-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.2-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.2-java21"}]}}},{"displayText":"Apache + Tomcat 11.0.1","value":"11.0.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.1","isHidden":true,"runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.1-java17","java21Runtime":"TOMCAT|11.0.1-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.1-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.1-java21"}]}}}]},{"displayText":"Apache + Tomcat 10.1","value":"tomcat10.1","minorVersions":[{"displayText":"Apache + Tomcat 10.1","value":"10.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java25Runtime":"TOMCAT|10.1-java25","java21Runtime":"TOMCAT|10.1-java21","java17Runtime":"TOMCAT|10.1-java17","java11Runtime":"TOMCAT|10.1-java11","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|10.1-java25"}]}}},{"displayText":"Apache + Tomcat 10.1.50","value":"10.1.50","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.50","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.50-java11","java17Runtime":"TOMCAT|10.1.50-java17","java21Runtime":"TOMCAT|10.1.50-java21","java25Runtime":"TOMCAT|10.1.50-java25","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.50-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.50-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.50-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|10.1.50-java25"}]}}},{"displayText":"Apache + Tomcat 10.1.46","value":"10.1.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.46","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.46-java11","java17Runtime":"TOMCAT|10.1.46-java17","java21Runtime":"TOMCAT|10.1.46-java21","java25Runtime":"TOMCAT|10.1.46-java25","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.46-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.46-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.46-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|10.1.46-java25"}]}}},{"displayText":"Apache + Tomcat 10.1.43","value":"10.1.43","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.43","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.43-java11","java17Runtime":"TOMCAT|10.1.43-java17","java21Runtime":"TOMCAT|10.1.43-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.43-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.43-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.43-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.42","value":"10.1.42","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.42","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.42-java11","java17Runtime":"TOMCAT|10.1.42-java17","java21Runtime":"TOMCAT|10.1.42-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.42-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.42-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.42-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.41","value":"10.1.41","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.41","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"isHidden":true,"java11Runtime":"TOMCAT|10.1.41-java11","java17Runtime":"TOMCAT|10.1.41-java17","java21Runtime":"TOMCAT|10.1.41-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.41-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.41-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.41-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.40","value":"10.1.40","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.40","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.40-java11","java17Runtime":"TOMCAT|10.1.40-java17","java21Runtime":"TOMCAT|10.1.40-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.40-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.40-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.40-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.39","value":"10.1.39","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.39","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.39-java11","java17Runtime":"TOMCAT|10.1.39-java17","java21Runtime":"TOMCAT|10.1.39-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.39-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.39-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.39-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.36","value":"10.1.36","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.36","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.36-java11","java17Runtime":"TOMCAT|10.1.36-java17","java21Runtime":"TOMCAT|10.1.36-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.36-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.36-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.36-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.34","value":"10.1.34","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.34","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.34-java11","java17Runtime":"TOMCAT|10.1.34-java17","java21Runtime":"TOMCAT|10.1.34-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.34-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.34-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.34-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.33","value":"10.1.33","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.33","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.33-java11","java17Runtime":"TOMCAT|10.1.33-java17","java21Runtime":"TOMCAT|10.1.33-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.33-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.33-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.33-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.31","value":"10.1.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.31","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.31-java11","java17Runtime":"TOMCAT|10.1.31-java17","java21Runtime":"TOMCAT|10.1.31-java21","isHidden":true,"runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.31-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.31-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.31-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.28","value":"10.1.28","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.28","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.28-java11","java17Runtime":"TOMCAT|10.1.28-java17","java21Runtime":"TOMCAT|10.1.28-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.28-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.28-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.28-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.25","value":"10.1.25","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.25","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.25-java11","java17Runtime":"TOMCAT|10.1.25-java17","java21Runtime":"TOMCAT|10.1.25-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.25-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.25-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.25-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.23","value":"10.1.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.23","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.23-java11","java17Runtime":"TOMCAT|10.1.23-java17","java21Runtime":"TOMCAT|10.1.23-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.23-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.23-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.23-java21"}]}}},{"displayText":"Apache + Tomcat 10.1.16","value":"10.1.16","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.16","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.16-java11","java17Runtime":"TOMCAT|10.1.16-java17","java21Runtime":"TOMCAT|10.1.16-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.16-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.16-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.16-java21"}]}}}]},{"displayText":"Apache + Tomcat 10.0","value":"tomcat10.0","minorVersions":[{"displayText":"Apache + Tomcat 10.0","value":"10.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0","isAutoUpdate":true,"endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|10.0-java17","java11Runtime":"TOMCAT|10.0-java11","java8Runtime":"TOMCAT|10.0-jre8","isAutoUpdate":true,"endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0-jre8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0-java17"}]}}},{"displayText":"Apache + Tomcat 10.0.27","value":"10.0.27","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0.27","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|10.0.27-java8","java11Runtime":"TOMCAT|10.0.27-java11","java17Runtime":"TOMCAT|10.0.27-java17","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0.27-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0.27-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0.27-java17"}]}}},{"displayText":"Apache + Tomcat 10.0.23","value":"10.0.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0.23","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|10.0.23-java8","java11Runtime":"TOMCAT|10.0.23-java11","java17Runtime":"TOMCAT|10.0.23-java17","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0.23-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0.23-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0.23-java17"}]}}},{"displayText":"Apache + Tomcat 10.0.21","value":"10.0.21","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0.21","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|10.0.21-java8","java11Runtime":"TOMCAT|10.0.21-java11","java17Runtime":"TOMCAT|10.0.21-java17","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0.21-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0.21-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0.21-java17"}]}}},{"displayText":"Apache + Tomcat 10.0.20","value":"10.0.20","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0.20","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|10.0.20-java8","java11Runtime":"TOMCAT|10.0.20-java11","java17Runtime":"TOMCAT|10.0.20-java17","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0.20-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0.20-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0.20-java17"}]}}},{"displayText":"Apache + Tomcat 10.0.12","value":"10.0.12","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0.12","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|10.0.12-java8","java11Runtime":"TOMCAT|10.0.12-java11","java17Runtime":"TOMCAT|10.0.12-java17","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0.12-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0.12-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0.12-java17"}]}}}]},{"displayText":"Apache + Tomcat 9.0","value":"tomcat9.0","minorVersions":[{"displayText":"Apache Tomcat + 9.0","value":"9.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java25Runtime":"TOMCAT|9.0-java25","java21Runtime":"TOMCAT|9.0-java21","java17Runtime":"TOMCAT|9.0-java17","java11Runtime":"TOMCAT|9.0-java11","java8Runtime":"TOMCAT|9.0-jre8","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0-jre8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|9.0-java25"}]}}},{"displayText":"Apache + Tomcat 9.0.113","value":"9.0.113","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.113","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.113-java8","java11Runtime":"TOMCAT|9.0.113-java11","java17Runtime":"TOMCAT|9.0.113-java17","java21Runtime":"TOMCAT|9.0.113-java21","java25Runtime":"TOMCAT|9.0.113-java25","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.113-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.113-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.113-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.113-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|9.0.113-java25"}]}}},{"displayText":"Apache + Tomcat 9.0.109","value":"9.0.109","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.109","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.109-java8","java11Runtime":"TOMCAT|9.0.109-java11","java17Runtime":"TOMCAT|9.0.109-java17","java21Runtime":"TOMCAT|9.0.109-java21","java25Runtime":"TOMCAT|9.0.109-java25","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.109-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.109-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.109-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.109-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|9.0.109-java25"}]}}},{"displayText":"Apache + Tomcat 9.0.107","value":"9.0.107","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.107","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.107-java8","java11Runtime":"TOMCAT|9.0.107-java11","java17Runtime":"TOMCAT|9.0.107-java17","java21Runtime":"TOMCAT|9.0.107-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.107-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.107-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.107-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.107-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.106","value":"9.0.106","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.106","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.106-java8","java11Runtime":"TOMCAT|9.0.106-java11","java17Runtime":"TOMCAT|9.0.106-java17","java21Runtime":"TOMCAT|9.0.106-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.106-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.106-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.106-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.106-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.105","value":"9.0.105","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.105","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"isHidden":true,"java8Runtime":"TOMCAT|9.0.105-java8","java11Runtime":"TOMCAT|9.0.105-java11","java17Runtime":"TOMCAT|9.0.105-java17","java21Runtime":"TOMCAT|9.0.105-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.105-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.105-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.105-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.105-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.104","value":"9.0.104","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.104","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.104-java8","java11Runtime":"TOMCAT|9.0.104-java11","java17Runtime":"TOMCAT|9.0.104-java17","java21Runtime":"TOMCAT|9.0.104-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.104-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.104-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.104-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.104-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.102","value":"9.0.102","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.102","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.102-java8","java11Runtime":"TOMCAT|9.0.102-java11","java17Runtime":"TOMCAT|9.0.102-java17","java21Runtime":"TOMCAT|9.0.102-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.102-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.102-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.102-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.102-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.100","value":"9.0.100","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.100","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.100-java8","java11Runtime":"TOMCAT|9.0.100-java11","java17Runtime":"TOMCAT|9.0.100-java17","java21Runtime":"TOMCAT|9.0.100-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.100-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.100-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.100-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.100-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.98","value":"9.0.98","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.98","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.98-java8","java11Runtime":"TOMCAT|9.0.98-java11","java17Runtime":"TOMCAT|9.0.98-java17","java21Runtime":"TOMCAT|9.0.98-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.98-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.98-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.98-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.98-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.97","value":"9.0.97","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.97","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.97-java8","java11Runtime":"TOMCAT|9.0.97-java11","java17Runtime":"TOMCAT|9.0.97-java17","java21Runtime":"TOMCAT|9.0.97-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.97-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.97-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.97-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.97-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.96","value":"9.0.97","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.96","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.96-java8","java11Runtime":"TOMCAT|9.0.96-java11","java17Runtime":"TOMCAT|9.0.96-java17","java21Runtime":"TOMCAT|9.0.96-java21","isHidden":true,"runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.96-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.96-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.96-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.96-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.93","value":"9.0.93","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.93","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.93-java8","java11Runtime":"TOMCAT|9.0.93-java11","java17Runtime":"TOMCAT|9.0.93-java17","java21Runtime":"TOMCAT|9.0.93-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.93-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.93-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.93-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.93-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.91","value":"9.0.91","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.91","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.91-java8","java11Runtime":"TOMCAT|9.0.91-java11","java17Runtime":"TOMCAT|9.0.91-java17","java21Runtime":"TOMCAT|9.0.91-java21","isHidden":true,"runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.91-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.91-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.91-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.91-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.90","value":"9.0.90","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.90","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.90-java8","java11Runtime":"TOMCAT|9.0.90-java11","java17Runtime":"TOMCAT|9.0.90-java17","java21Runtime":"TOMCAT|9.0.90-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.90-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.90-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.90-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.90-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.88","value":"9.0.88","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.88","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.88-java8","java11Runtime":"TOMCAT|9.0.88-java11","java17Runtime":"TOMCAT|9.0.88-java17","java21Runtime":"TOMCAT|9.0.88-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.88-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.88-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.88-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.88-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.83","value":"9.0.83","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.83","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.83-java8","java11Runtime":"TOMCAT|9.0.83-java11","java17Runtime":"TOMCAT|9.0.83-java17","java21Runtime":"TOMCAT|9.0.83-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.83-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.83-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.83-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.83-java21"}]}}},{"displayText":"Apache + Tomcat 9.0.65","value":"9.0.65","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.65","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.65-java8","java11Runtime":"TOMCAT|9.0.65-java11","java17Runtime":"TOMCAT|9.0.65-java17","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.65-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.65-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.65-java17"}]}}},{"displayText":"Apache + Tomcat 9.0.63","value":"9.0.63","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.63","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.63-java8","java11Runtime":"TOMCAT|9.0.63-java11","java17Runtime":"TOMCAT|9.0.63-java17","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.63-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.63-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.63-java17"}]}}},{"displayText":"Apache + Tomcat 9.0.62","value":"9.0.62","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.62","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.62-java8","java11Runtime":"TOMCAT|9.0.62-java11","java17Runtime":"TOMCAT|9.0.62-java17","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.62-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.62-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.62-java17"}]}}},{"displayText":"Apache + Tomcat 9.0.54","value":"9.0.54","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.54","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.54-java8","java11Runtime":"TOMCAT|9.0.54-java11","java17Runtime":"TOMCAT|9.0.54-java17","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.54-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.54-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.54-java17"}]}}},{"displayText":"Apache + Tomcat 9.0.52","value":"9.0.52","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.52","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.52-java8","java11Runtime":"TOMCAT|9.0.52-java11","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.52-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.52-java11"}]}}},{"displayText":"Apache + Tomcat 9.0.46","value":"9.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.46","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.46-java8","java11Runtime":"TOMCAT|9.0.46-java11","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.46-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.46-java11"}]}}},{"displayText":"Apache + Tomcat 9.0.41","value":"9.0.41","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.41-java8","java11Runtime":"TOMCAT|9.0.41-java11","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.41-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.41-java11"}]}}},{"displayText":"Apache + Tomcat 9.0.38","value":"9.0.38","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.38","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 9.0.37","value":"9.0.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.37","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.37-java11","java8Runtime":"TOMCAT|9.0.37-java8","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.37-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.37-java11"}]}}},{"displayText":"Apache + Tomcat 9.0.33","value":"9.0.33","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.33-java11","java8Runtime":"TOMCAT|9.0.33-java8","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.33-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.33-java11"}]}}},{"displayText":"Apache + Tomcat 9.0.31","value":"9.0.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.31","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 9.0.27","value":"9.0.27","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.27","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 9.0.21","value":"9.0.21","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.21","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 9.0.20","value":"9.0.20","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.20-java11","java8Runtime":"TOMCAT|9.0.20-java8","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.20-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.20-java11"}]}}},{"displayText":"Apache + Tomcat 9.0.14","value":"9.0.14","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.14","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 9.0.12","value":"9.0.12","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.12","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 9.0.8","value":"9.0.8","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.8","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 9.0.0","value":"9.0.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.0","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"Apache + Tomcat 8.5","value":"tomcat8.5","minorVersions":[{"displayText":"Apache Tomcat + 8.5","value":"8.5","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5","isAutoUpdate":true,"endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5-java11","java8Runtime":"TOMCAT|8.5-jre8","isAutoUpdate":true,"endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5-jre8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5-java11"}]}}},{"displayText":"Apache + Tomcat 8.5.100","value":"8.5.100","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.100-java8","java11Runtime":"TOMCAT|8.5.100-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.100-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.100-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.100","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.96","value":"8.5.96","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.96-java8","java11Runtime":"TOMCAT|8.5.96-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.96-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.96-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.96","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.82","value":"8.5.82","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.82-java8","java11Runtime":"TOMCAT|8.5.82-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.82-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.82-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.82","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.79","value":"8.5.79","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.79-java8","java11Runtime":"TOMCAT|8.5.79-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.79-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.79-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.79","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.78","value":"8.5.78","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.78-java8","java11Runtime":"TOMCAT|8.5.78-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.78-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.78-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.78","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.72","value":"8.5.72","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.72-java8","java11Runtime":"TOMCAT|8.5.72-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.72-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.72-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.72","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.69","value":"8.5.69","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.69-java8","java11Runtime":"TOMCAT|8.5.69-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.69-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.69-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.69","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.66","value":"8.5.66","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.66-java8","java11Runtime":"TOMCAT|8.5.66-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.66-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.66-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.66","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.61","value":"8.5.61","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.61-java8","java11Runtime":"TOMCAT|8.5.61-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.61-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.61-java11"}]}}},{"displayText":"Apache + Tomcat 8.5.58","value":"8.5.58","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.58","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.57","value":"8.5.57","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.57","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.57-java11","java8Runtime":"TOMCAT|8.5.57-java8","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.57-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.57-java11"}]}}},{"displayText":"Apache + Tomcat 8.5.53","value":"8.5.53","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.53-java11","java8Runtime":"TOMCAT|8.5.53-java8","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.53-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.53-java11"}]}}},{"displayText":"Apache + Tomcat 8.5.51","value":"8.5.51","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.51","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.47","value":"8.5.47","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.47","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.42","value":"8.5.42","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.42","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.41","value":"8.5.41","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.41-java11","java8Runtime":"TOMCAT|8.5.41-java8","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.41-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.41-java11"}]}}},{"displayText":"Apache + Tomcat 8.5.37","value":"8.5.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.37","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.34","value":"8.5.34","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.34","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.31","value":"8.5.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.31","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.20","value":"8.5.20","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.20","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.5.6","value":"8.5.6","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.6","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"Apache + Tomcat 8.0","value":"tomcat8.0","minorVersions":[{"displayText":"Apache Tomcat + 8.0","value":"8.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0","isAutoUpdate":true,"isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.0.53","value":"8.0.53","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.53","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.0.46","value":"8.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.46","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 8.0.23","value":"8.0.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.23","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"Apache + Tomcat 7.0","value":"tomcat7.0","minorVersions":[{"displayText":"Apache Tomcat + 7.0","value":"7.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0","isAutoUpdate":true,"isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 7.0.94","value":"7.0.94","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.94","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 7.0.81","value":"7.0.81","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.81","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 7.0.62","value":"7.0.62","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.62","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache + Tomcat 7.0.50","value":"7.0.50","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.50","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"Jetty + 9.3","value":"jetty9.3","minorVersions":[{"displayText":"Jetty 9.3","value":"9.3","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3","isAutoUpdate":true,"isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Jetty + 9.3.25","value":"9.3.25","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.25","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Jetty + 9.3.13","value":"9.3.13","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.13","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"Jetty + 9.1","value":"jetty9.1","minorVersions":[{"displayText":"Jetty 9.1","value":"9.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1","isAutoUpdate":true,"isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Jetty + 9.1.0","value":"9.1.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1.0","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"WildFly + 14","value":"wildfly14","minorVersions":[{"displayText":"WildFly 14","value":"14","stackSettings":{"linuxContainerSettings":{"java8Runtime":"WILDFLY|14-jre8","isDeprecated":true,"isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8","runtime":"WILDFLY|14-jre8"}]}}},{"displayText":"WildFly + 14.0.1","value":"14.0.1","stackSettings":{"linuxContainerSettings":{"isDeprecated":true,"java8Runtime":"WILDFLY|14.0.1-java8","runtimes":[{"runtimeVersion":"8","runtime":"WILDFLY|14.0.1-java8"}]}}}]}]}},{"id":null,"name":"staticsite","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"HTML + (Static Content)","value":"staticsite","preferredOs":"linux","majorVersions":[{"displayText":"HTML + (Static Content)","value":"1","minorVersions":[{"displayText":"HTML (Static + Content)","value":"1.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"STATICSITE|1.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false}}}}]}]}},{"id":null,"name":"go","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Go","value":"go","preferredOs":"linux","majorVersions":[{"displayText":"Go + 1","value":"go1","minorVersions":[{"displayText":"Go 1.19 (Experimental)","value":"go1.19","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"GO|1.19","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"isHidden":false,"isEarlyAccess":false}}},{"displayText":"Go + 1.18 (Experimental)","value":"go1.18","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"GO|1.18","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"isHidden":false,"isEarlyAccess":false,"isDeprecated":true}}}]}]}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '188189' + content-type: + - application/json + date: + - Mon, 22 Jun 2026 17:56:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - '' + x-msedge-ref: + - 'Ref A: B936FF28D4C145A4A8BA28FA28DD5E9D Ref B: SN4AA2022301017 Ref C: 2026-06-22T17:56:19Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "West Europe", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": + "v4.6", "linuxFxVersion": "NODE|22-lts", "appSettings": [], "alwaysOn": true, + "localMySqlEnabled": false, "http20Enabled": true, "http20ProxyFlag": 0}, "scmSiteAlsoStopped": + false, "httpsOnly": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate, zstd + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '493' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --runtime + User-Agent: + - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-status000002?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-status000002","name":"webapp-status000002","type":"Microsoft.Web/sites","kind":"app,linux","location":"West + Europe","properties":{"name":"webapp-status000002","state":"Running","hostNames":["webapp-status000002.azurewebsites.net"],"webSpace":"clitest.rg000001-WestEuropewebspace-Linux","selfLink":"https://waws-prod-am2-845.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestEuropewebspace-Linux/sites/webapp-status000002","repositorySiteName":"webapp-status000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"siteScopedCertificatesEnabled":false,"afdEnabled":false,"enabledHostNames":["webapp-status000002.azurewebsites.net","webapp-status000002.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":"NODE|22-lts"},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"webapp-status000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"virtualIPv6":null,"thumbprint":null,"certificateResourceId":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-status000002.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"virtualIPv6":null,"thumbprint":null,"certificateResourceId":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"hostNamePrivateStates":[],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003","reserved":true,"isXenon":false,"hyperV":false,"sandboxType":null,"lastModifiedTimeUtc":"2026-06-22T17:56:22.2666667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","dnsConfiguration":{},"containerAllocationSubnet":null,"useContainerLocalhostBindings":null,"outboundVnetRouting":{"allTraffic":false,"applicationTraffic":false,"contentShareTraffic":false,"imagePullTraffic":false,"backupRestoreTraffic":false,"managedIdentityTraffic":false},"legacyServiceEndpointTrafficEvaluation":null,"siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","windowsFxVersion":null,"sandboxType":null,"windowsConfiguredStacks":null,"requestTracingEnabled":null,"remoteDebuggingEnabled":null,"remoteDebuggingVersion":null,"httpLoggingEnabled":null,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":null,"detailedErrorLoggingEnabled":null,"publishingUsername":null,"publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":null,"managedPipelineMode":null,"virtualApplications":null,"winAuthAdminState":null,"winAuthTenantState":null,"customAppPoolIdentityAdminState":null,"customAppPoolIdentityTenantState":null,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":null,"routingRules":null,"experiments":null,"limits":null,"autoHealEnabled":null,"autoHealRules":null,"tracingOptions":null,"vnetName":null,"vnetRouteAllEnabled":null,"vnetPrivatePortsCount":null,"publicNetworkAccess":null,"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":null,"managedServiceIdentityId":null,"xManagedServiceIdentityId":null,"keyVaultReferenceIdentity":null,"ipSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":2147483647,"name":"Allow + all","description":"Allow all access"}],"ipSecurityRestrictionsDefaultAction":null,"scmIpSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":2147483647,"name":"Allow + all","description":"Allow all access"}],"scmIpSecurityRestrictionsDefaultAction":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":false,"minTlsVersion":null,"minTlsCipherSuite":null,"scmMinTlsCipherSuite":null,"supportedTlsCipherSuites":null,"scmSupportedTlsCipherSuites":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":null,"elasticWebAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null,"storageType":null,"sitePrivateLinkHostEnabled":null,"clusteringEnabled":false,"webJobsEnabled":false},"functionAppConfig":null,"daprConfig":null,"aiIntegration":null,"deploymentId":"webapp-status000002","slotName":null,"trafficManagerHostNames":null,"sku":"Standard","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientAffinityProxyEnabled":false,"useQueryStringAffinity":false,"blockPathTraversal":false,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"clientCertExclusionEndPoints":null,"hostNamesDisabled":false,"ipMode":"IPv4","domainVerificationIdentifiers":null,"customDomainVerificationId":"2F7B81DDDAE96D2410D356B4CFF039C0B73A564388117D18AF81EC552C057092","kind":"app,linux","managedEnvironmentId":null,"workloadProfileName":null,"resourceConfig":null,"inboundIpAddress":"20.105.216.146","possibleInboundIpAddresses":"20.105.216.146","inboundIpv6Address":"2603:1020:206:8::d2","possibleInboundIpv6Addresses":"2603:1020:206:8::d2","ftpUsername":"webapp-status000002\\$webapp-status000002","ftpsHostName":"ftps://waws-prod-am2-845.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.101.16.194,52.157.236.53,20.93.251.173,20.103.232.140,20.238.174.202,20.50.250.45,20.103.47.131,20.67.3.24,20.238.248.83,20.23.26.104,52.142.235.151,98.64.52.89,20.105.216.146","possibleOutboundIpAddresses":"20.101.16.194,52.157.236.53,20.93.251.173,20.103.232.140,20.238.174.202,20.50.250.45,20.103.47.131,20.67.3.24,20.238.248.83,20.23.26.104,52.142.235.151,98.64.52.89,20.71.9.29,20.73.139.26,20.31.214.173,52.157.218.154,20.73.127.131,20.8.220.124,40.74.3.152,51.105.238.121,20.82.33.9,20.31.251.47,51.105.151.190,20.76.158.113,51.124.55.59,20.76.49.206,4.175.103.251,52.157.226.216,20.86.237.155,20.238.197.78,20.105.216.146","outboundIpv6Addresses":"2603:1020:203:1f::102,2603:1020:203:15::43,2603:1020:203:b::12b,2603:1020:203:d::f9,2603:1020:203:9::105,2603:1020:203:a::128,2603:1020:203:14::7c,2603:1020:203:12::e1,2603:1020:203:13::176,2603:1020:203:1f::f9,2603:1020:203:18::13f,2603:1020:203:12::f8,2603:1020:206:8::d2,2603:10e1:100:2::1469:d892,2603:1020:206:7::d2,2603:10e1:100:2::1469:f353","possibleOutboundIpv6Addresses":"2603:1020:203:1f::102,2603:1020:203:15::43,2603:1020:203:b::12b,2603:1020:203:d::f9,2603:1020:203:9::105,2603:1020:203:a::128,2603:1020:203:14::7c,2603:1020:203:12::e1,2603:1020:203:13::176,2603:1020:203:1f::f9,2603:1020:203:18::13f,2603:1020:203:12::f8,2603:1020:201:f::79,2603:1020:203:1f::fc,2603:1020:203:16::106,2603:1020:203:12::fa,2603:1020:203:c::115,2603:1020:203:12::fc,2603:1020:203:18::140,2603:1020:203:f::ee,2603:1020:201:e::2,2603:1020:203:c::166,2603:1020:203:10::8e,2603:1020:203:1e::e8,2603:1020:203:b::130,2603:1020:203:a::12e,2603:1020:203:a::154,2603:1020:203:f::129,2603:1020:203:8::11,2603:1020:203:c::16a,2603:1020:206:8::d2,2603:10e1:100:2::1469:d892,2603:1020:206:7::d2,2603:10e1:100:2::1469:f353","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-am2-845","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-status000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":true,"endToEndEncryptionEnabled":false,"functionsRuntimeAdminIsolationEnabled":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"publicNetworkAccess":"Enabled","buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServicePlatformLogs,ScanLogs,AppServiceAuthenticationLogs,AppServiceAuditLogs,AppServiceIPSecAuditLogs","inFlightFeatures":null,"storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned","autoGeneratedDomainNameLabelScope":null,"privateLinkIdentifiers":null,"sshEnabled":null,"maintenanceEnabled":false}}' + headers: + cache-control: + - no-cache + content-length: + - '9120' + content-type: + - application/json + date: + - Mon, 22 Jun 2026 17:56:43 GMT + etag: + - '"1DD0270701D2315"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=662529f8-d039-4bcc-9a54-78fd767d9bdf/westeurope/440633cf-81d3-4d90-be0b-ee54ae613867 + x-ms-ratelimit-remaining-subscription-resource-requests: + - '99' + x-msedge-ref: + - 'Ref A: B6338422FAB249889B39724516DD9EE0 Ref B: SN4AA2022305035 Ref C: 2026-06-22T17:56:19Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"format": "WebDeploy"}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate, zstd + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --runtime + User-Agent: + - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-status000002/publishxml?api-version=2024-11-01 + response: + body: + string: + headers: + cache-control: + - no-cache + content-length: + - '1418' + content-type: + - application/xml + date: + - Mon, 22 Jun 2026 17:56:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=662529f8-d039-4bcc-9a54-78fd767d9bdf/westeurope/f809392e-6cfa-4852-96b8-6c5b3b1e0024 + x-ms-ratelimit-remaining-subscription-resource-requests: + - '199' + x-msedge-ref: + - 'Ref A: 8D14FDAEAE374B6C810F8005F19314F0 Ref B: SN4AA2022302029 Ref C: 2026-06-22T17:56:43Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, zstd + CommandName: + - webapp status + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.14.0 (Windows-11-10.0.26100-SP0) AZURECLI/2.86.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-status000002/siteStatus?api-version=2024-11-01 + response: + body: + string: '{"id":null,"name":"webapp-status000002","type":"Microsoft.Web/sites","location":"West + Europe","properties":[{"instanceId":"620a8bfd12e4843dcc11b7e2a7bc86e73b03ad742d71cdd204057eb46ff95fcc","state":"Starting","action":"WaitingForSiteWarmUpProbeSuccess","lastError":"","lastErrorDetails":"","lastErrorTimestamp":"0001-01-01T00:00:00","details":"Pinging + warmup path to ensure container is ready to receive requests.","detailsLevel":"INFO"}]}' + headers: + cache-control: + - no-cache + content-length: + - '438' + content-type: + - application/json + date: + - Mon, 22 Jun 2026 17:56:48 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=662529f8-d039-4bcc-9a54-78fd767d9bdf/westeurope/81db469b-d264-4e4b-903f-f46213437b78 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 710A781C1EF74326A608C94FCB4484CF Ref B: SN4AA2022304037 Ref C: 2026-06-22T17:56:45Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py index 9e99bef8136..84bed34d01c 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py @@ -340,6 +340,26 @@ def test_create_names_are_substrings(self, resource_group_one, resource_group_tw ]) +class WebappStatusScenarioTest(ScenarioTest): + @AllowLargeResponse() + @ResourceGroupPreparer(location=WINDOWS_ASP_LOCATION_WEBAPP) + def test_webapp_status(self, resource_group): + webapp_name = self.create_random_name(prefix='webapp-status', length=24) + plan = self.create_random_name(prefix='plan-status', length=24) + self.cmd('appservice plan create -g {} -n {} --sku S1 --is-linux'.format(resource_group, plan)) + self.cmd('webapp create -g {} -n {} --plan {} --runtime "NODE|22-lts"'.format(resource_group, webapp_name, plan), checks=[ + JMESPathCheck('name', webapp_name) + ]) + + # Site Runtime Status aggregated across all running instances of the app + status = self.cmd('webapp status -g {} -n {}'.format(resource_group, webapp_name)).get_output_in_json() + instances = status['properties'] + self.assertTrue(isinstance(instances, list)) + for instance in instances: + self.assertIn('instanceId', instance) + self.assertIn('state', instance) + + class BackupRestoreTest(ScenarioTest): @AllowLargeResponse() @ResourceGroupPreparer(parameter_name='resource_group', location=WINDOWS_ASP_LOCATION_WEBAPP) diff --git a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py index cc19fbcb865..423010c4e05 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py @@ -13,7 +13,8 @@ from azure.cli.core.azclierror import (InvalidArgumentValueError, MutuallyExclusiveArgumentError, ArgumentUsageError, - AzureResponseError) + AzureResponseError, + ResourceNotFoundError) from azure.cli.command_modules.appservice.custom import (set_deployment_user, update_git_token, add_hostname, update_site_configs, @@ -37,7 +38,10 @@ update_webapp, list_startup_logs, show_startup_log, - create_webapp) + troubleshoot_status, + create_webapp, + show_webapp_status) +from azure.cli.command_modules.appservice.commands import transform_webapp_status_output # pylint: disable=line-too-long from azure.cli.core.profiles import ResourceType @@ -968,6 +972,244 @@ def test_show_startup_log_404_with_instance(self, requests_get_mock, _scm_url_mo self.assertEqual(logger_mock.warning.call_args[0][1], 'lw0sdlwk000002') +class TestTroubleshootStatusMocked(unittest.TestCase): + """Tests for az webapp troubleshoot status (ARM siteStatus + SCM startuplogs/summary).""" + + def setUp(self): + is_linux_patch = mock.patch( + 'azure.cli.command_modules.appservice.custom.is_linux_webapp', + return_value=True) + client_factory_patch = mock.patch( + 'azure.cli.command_modules.appservice.custom.web_client_factory') + sub_id_patch = mock.patch( + 'azure.cli.core.commands.client_factory.get_subscription_id', + return_value='00000000-0000-0000-0000-000000000000') + self.client_factory_mock = client_factory_patch.start() + is_linux_patch.start() + sub_id_patch.start() + self.addCleanup(is_linux_patch.stop) + self.addCleanup(client_factory_patch.stop) + self.addCleanup(sub_id_patch.stop) + # Pin API version reported by the SDK config so URL assertions are stable. + self.client_factory_mock.return_value._config.api_version = '2025-05-01' + + self.cmd = _get_test_cmd() + self.cmd.cli_ctx.cloud.endpoints.resource_manager = 'https://management.azure.com' + + @staticmethod + def _arm_response(items): + return {'properties': items} + + @staticmethod + def _instances_payload(mapping): + """Build an ARM /instances response from {hex_id: machineName} mapping.""" + return {'value': [{'name': hex_id, 'properties': {'machineName': mn}} + for hex_id, mn in mapping.items()]} + + @staticmethod + def _make_response(status_code=200, json_data=None, reason=''): + resp = mock.MagicMock() + resp.status_code = status_code + resp.reason = reason + resp.json.return_value = json_data + return resp + + @mock.patch('azure.cli.command_modules.appservice.custom.get_scm_site_headers', + return_value={'Authorization': 'Bearer token'}) + @mock.patch('azure.cli.command_modules.appservice.custom._get_scm_url', + return_value='https://myapp.scm.azurewebsites.net') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + @mock.patch('requests.get') + def test_troubleshoot_status_all_instances(self, requests_get_mock, send_raw_request_mock, + _scm_url_mock, _headers_mock): + arm_items = [ + {'instanceId': 'a3f1b', 'state': 'Started', 'action': 'SiteStarted', + 'lastError': None, 'lastErrorDetails': None, 'lastErrorTimestamp': None, + 'details': 'Site is running', 'detailsLevel': 'Information'}, + {'instanceId': 'b4d22', 'state': 'Starting', 'action': 'PullingImage', + 'lastError': None, 'lastErrorDetails': None, 'lastErrorTimestamp': None, + 'details': 'Pulling image', 'detailsLevel': 'Warning'}, + ] + send_raw_request_mock.side_effect = [ + mock.MagicMock(json=mock.MagicMock(return_value=self._instances_payload( + {'a3f1b': 'lw0sdlwk0008PB', 'b4d22': 'lw1sdlwk0009EF'}))), + mock.MagicMock(json=mock.MagicMock(return_value=self._arm_response(arm_items))), + ] + # Real KuduLite response is a list with the summary nested under "Startup". + a3f1b_startup = {'Successful': 1, 'Failed': 0} + b4d22_startup = {'Successful': 0, 'Failed': 3} + requests_get_mock.side_effect = [ + self._make_response(200, json_data=[{'InstanceId': 'lw0sdlwk0008PB', 'Startup': a3f1b_startup}]), + self._make_response(200, json_data=[{'InstanceId': 'lw1sdlwk0009EF', 'Startup': b4d22_startup}]), + ] + + result = troubleshoot_status(self.cmd, 'myRG', 'myApp') + + self.assertEqual(result['instances'][0]['startup'], a3f1b_startup) + self.assertEqual(result['instances'][1]['startup'], b4d22_startup) + self.assertEqual(result['instances'][0]['machineName'], 'lw0sdlwk0008PB') + self.assertEqual(result['instances'][1]['machineName'], 'lw1sdlwk0009EF') + # ARM calls: instances FIRST (so we can resolve --instance), then siteStatus. + arm_urls = [call.args[2] for call in send_raw_request_mock.call_args_list] + self.assertEqual(arm_urls, [ + 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000' + '/resourceGroups/myRG/providers/Microsoft.Web/sites/myApp/instances?api-version=2025-05-01', + 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000' + '/resourceGroups/myRG/providers/Microsoft.Web/sites/myApp/siteStatus?api-version=2025-05-01', + ]) + # One startup-summary call per instance, filtered by machine name. + self.assertEqual(requests_get_mock.call_count, 2) + called_urls = [call_args.args[0] for call_args in requests_get_mock.call_args_list] + self.assertEqual(called_urls, [ + 'https://myapp.scm.azurewebsites.net/api/startuplogs/summary?instance=lw0sdlwk0008PB', + 'https://myapp.scm.azurewebsites.net/api/startuplogs/summary?instance=lw1sdlwk0009EF', + ]) + + @mock.patch('azure.cli.command_modules.appservice.custom.get_scm_site_headers', + return_value={'Authorization': 'Bearer token'}) + @mock.patch('azure.cli.command_modules.appservice.custom._get_scm_url', + return_value='https://myapp.scm.azurewebsites.net') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + @mock.patch('requests.get') + def test_troubleshoot_status_single_instance(self, requests_get_mock, send_raw_request_mock, + _scm_url_mock, _headers_mock): + arm_item = {'instanceId': '7c2d9', 'state': 'Stopped', 'action': 'SiteStopped', + 'lastError': 'NoResponse', 'lastErrorDetails': 'Worker not reachable', + 'lastErrorTimestamp': '2026-05-20T18:50:44Z', + 'details': 'Stopped', 'detailsLevel': 'Error'} + send_raw_request_mock.side_effect = [ + mock.MagicMock(json=mock.MagicMock(return_value=self._instances_payload( + {'7c2d9': 'lw0sdlwk0007AB'}))), + mock.MagicMock(json=mock.MagicMock(return_value=self._arm_response(arm_item))), + ] + startup_summary = {'Successful': 0, 'Failed': 4} + requests_get_mock.return_value = self._make_response( + 200, json_data=[{'InstanceId': 'lw0sdlwk0007AB', 'Startup': startup_summary}]) + + result = troubleshoot_status(self.cmd, 'myRG', 'myApp', instance='7c2d9') + + self.assertEqual(result['instances'][0]['instanceId'], '7c2d9') + self.assertEqual(result['instances'][0]['startup'], startup_summary) + self.assertEqual(result['instances'][0]['machineName'], 'lw0sdlwk0007AB') + arm_urls = [call.args[2] for call in send_raw_request_mock.call_args_list] + self.assertEqual(arm_urls, [ + 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000' + '/resourceGroups/myRG/providers/Microsoft.Web/sites/myApp/instances?api-version=2025-05-01', + 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000' + '/resourceGroups/myRG/providers/Microsoft.Web/sites/myApp/siteStatus/7c2d9' + '?api-version=2025-05-01', + ]) + requests_get_mock.assert_called_once_with( + 'https://myapp.scm.azurewebsites.net/api/startuplogs/summary?instance=lw0sdlwk0007AB', + headers={'Authorization': 'Bearer token'}, + ) + + @mock.patch('azure.cli.command_modules.appservice.custom.get_scm_site_headers', + return_value={'Authorization': 'Bearer token'}) + @mock.patch('azure.cli.command_modules.appservice.custom._get_scm_url', + return_value='https://myapp.scm.azurewebsites.net') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + @mock.patch('requests.get') + def test_troubleshoot_status_summary_404_returns_empty_startup( + self, requests_get_mock, send_raw_request_mock, _scm_url_mock, _headers_mock): + arm_items = [{'instanceId': 'abcde', 'state': 'Started', 'action': 'SiteStarted'}] + send_raw_request_mock.side_effect = [ + mock.MagicMock(json=mock.MagicMock(return_value=self._instances_payload( + {'abcde': 'lw0sdlwk0001AA'}))), + mock.MagicMock(json=mock.MagicMock(return_value=self._arm_response(arm_items))), + ] + requests_get_mock.return_value = self._make_response(404) + + result = troubleshoot_status(self.cmd, 'myRG', 'myApp') + + self.assertIsNone(result['instances'][0]['startup']) + + @mock.patch('azure.cli.command_modules.appservice.custom.get_scm_site_headers', + return_value={'Authorization': 'Bearer token'}) + @mock.patch('azure.cli.command_modules.appservice.custom._get_scm_url', + return_value='https://myapp.scm.azurewebsites.net') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + def test_troubleshoot_status_arm_404_with_instance(self, send_raw_request_mock, + _scm_url_mock, _headers_mock): + error = HttpResponseError(message='Not found') + error.status_code = 404 + send_raw_request_mock.side_effect = error + + with self.assertRaises(ResourceNotFoundError): + troubleshoot_status(self.cmd, 'myRG', 'myApp', instance='7c2d9') + + @mock.patch('azure.cli.command_modules.appservice.custom.get_scm_site_headers', + return_value={'Authorization': 'Bearer token'}) + @mock.patch('azure.cli.command_modules.appservice.custom._get_scm_url', + return_value='https://myapp.scm.azurewebsites.net') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + @mock.patch('requests.get') + def test_troubleshoot_status_summary_500_logs_warning( + self, requests_get_mock, send_raw_request_mock, _scm_url_mock, _headers_mock): + arm_items = [{'instanceId': 'abcde', 'state': 'Started', 'action': 'SiteStarted'}] + send_raw_request_mock.side_effect = [ + mock.MagicMock(json=mock.MagicMock(return_value=self._instances_payload( + {'abcde': 'lw0sdlwk0001AA'}))), + mock.MagicMock(json=mock.MagicMock(return_value=self._arm_response(arm_items))), + ] + requests_get_mock.return_value = self._make_response(500, reason='Internal Server Error') + + with mock.patch('azure.cli.command_modules.appservice.custom.logger') as logger_mock: + result = troubleshoot_status(self.cmd, 'myRG', 'myApp') + + self.assertIsNone(result['instances'][0]['startup']) + warn_msgs = [c[0][0] for c in logger_mock.warning.call_args_list] + self.assertTrue(any('startup summary' in m for m in warn_msgs)) + + @mock.patch('azure.cli.command_modules.appservice.custom.get_scm_site_headers', + return_value={'Authorization': 'Bearer token'}) + @mock.patch('azure.cli.command_modules.appservice.custom._get_scm_url', + return_value='https://myapp.scm.azurewebsites.net') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + @mock.patch('requests.get') + def test_troubleshoot_status_machine_name_as_instance( + self, requests_get_mock, send_raw_request_mock, _scm_url_mock, _headers_mock): + """User passes a friendly machineName for --instance; we should resolve it to + the hex ARM instanceId before calling /siteStatus.""" + arm_item = {'instanceId': '7c2d9', 'state': 'Started', 'action': 'SiteStarted'} + send_raw_request_mock.side_effect = [ + mock.MagicMock(json=mock.MagicMock(return_value=self._instances_payload( + {'7c2d9': 'lw0sdlwk0007AB'}))), + mock.MagicMock(json=mock.MagicMock(return_value=self._arm_response(arm_item))), + ] + requests_get_mock.return_value = self._make_response( + 200, json_data=[{'InstanceId': 'lw0sdlwk0007AB', + 'Startup': {'Successful': 1, 'Failed': 0}}]) + + result = troubleshoot_status(self.cmd, 'myRG', 'myApp', instance='lw0sdlwk0007AB') + + # ARM /siteStatus must use the hex id even though user passed the machine name. + arm_urls = [call.args[2] for call in send_raw_request_mock.call_args_list] + self.assertIn('/siteStatus/7c2d9?', arm_urls[1]) + self.assertEqual(result['instances'][0]['machineName'], 'lw0sdlwk0007AB') + + @mock.patch('azure.cli.command_modules.appservice.custom.get_scm_site_headers', + return_value={'Authorization': 'Bearer token'}) + @mock.patch('azure.cli.command_modules.appservice.custom._get_scm_url', + return_value='https://myapp.scm.azurewebsites.net') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + def test_troubleshoot_status_unknown_instance_raises( + self, send_raw_request_mock, _scm_url_mock, _headers_mock): + """User passes an --instance that matches neither hex id nor machineName.""" + send_raw_request_mock.return_value = mock.MagicMock( + json=mock.MagicMock(return_value=self._instances_payload({'7c2d9': 'lw0sdlwk0007AB'}))) + + with self.assertRaises(ResourceNotFoundError): + troubleshoot_status(self.cmd, 'myRG', 'myApp', instance='does-not-exist') + + def test_troubleshoot_status_raises_on_windows(self): + with mock.patch('azure.cli.command_modules.appservice.custom.is_linux_webapp', + return_value=False): + with self.assertRaises(ArgumentUsageError) as cm: + troubleshoot_status(self.cmd, 'myRG', 'myWindowsApp') + self.assertIn('Linux', str(cm.exception)) + + class TestRuntimeFailedHintMocked(unittest.TestCase): """Tests that the TIP hint appears in RuntimeFailed and timeout errors.""" @@ -1036,6 +1278,121 @@ def test_timeout_includes_startup_log_hint(self, send_raw_mock, time_mock, self.assertIn('Timeout', error_msg) +class TestWebappStatusMocked(unittest.TestCase): + + def setUp(self): + self.cmd = _get_test_cmd() + self.cmd.cli_ctx.cloud.endpoints.resource_manager = 'https://management.azure.com' + self.cmd.cli_ctx.invocation = mock.MagicMock() + self.cmd.cli_ctx.invocation.data = {} + + @staticmethod + def _status_response(): + return { + 'id': '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG' + '/providers/Microsoft.Web/sites/myApp', + 'name': 'myApp', + 'type': 'Microsoft.Web/sites', + 'location': 'East US', + 'properties': [ + { + 'instanceId': '6d3f0a2b8e5c4d1fb97a3c6e2f4a1b09', + 'state': 'Started', + 'action': 'SiteStarted', + 'lastError': 'StaleError', + 'lastErrorDetails': 'Previously failed to start', + 'lastErrorTimestamp': '2026-06-01T00:00:00Z', + 'details': 'Operation completed', + 'detailsLevel': 'Information' + }, + { + 'instanceId': 'f29b7c145ad8e63b0a1f8d4c5e9b2a70', + 'state': 'Starting', + 'action': 'PullingImage', + 'lastError': 'ImagePullFailed', + 'lastErrorDetails': 'Manifest not found', + 'lastErrorTimestamp': '2026-06-02T00:00:00Z', + 'details': 'Pulling container image', + 'detailsLevel': 'Warning' + } + ] + } + + @mock.patch('azure.cli.core.commands.client_factory.get_subscription_id', return_value='00000000-0000-0000-0000-000000000000') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + def test_show_webapp_status_builds_url(self, send_raw_request_mock, _get_subscription_id_mock): + send_raw_request_mock.return_value.json.return_value = self._status_response() + + result = show_webapp_status(self.cmd, 'myRG', 'myApp') + + self.assertEqual(result, self._status_response()) + send_raw_request_mock.assert_called_once_with( + self.cmd.cli_ctx, + 'GET', + 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000' + '/resourceGroups/myRG/providers/Microsoft.Web/sites/myApp/siteStatus?api-version=2025-05-01' + ) + + @mock.patch('azure.cli.core.commands.client_factory.get_subscription_id', return_value='00000000-0000-0000-0000-000000000000') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + def test_show_webapp_status_filters_slot_instance(self, send_raw_request_mock, _get_subscription_id_mock): + instance_response = { + 'name': 'myApp', + 'type': 'Microsoft.Web/sites', + 'properties': self._status_response()['properties'][1] + } + send_raw_request_mock.return_value.json.return_value = instance_response + + result = show_webapp_status(self.cmd, 'myRG', 'myApp', slot='staging', + instance='f29b7c145ad8e63b0a1f8d4c5e9b2a70') + + self.assertEqual(result, instance_response) + send_raw_request_mock.assert_called_once_with( + self.cmd.cli_ctx, + 'GET', + 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000' + '/resourceGroups/myRG/providers/Microsoft.Web/sites/myApp/slots/staging' + '/siteStatus/f29b7c145ad8e63b0a1f8d4c5e9b2a70?api-version=2025-05-01' + ) + + @mock.patch('azure.cli.core.commands.client_factory.get_subscription_id', return_value='00000000-0000-0000-0000-000000000000') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + def test_show_webapp_status_raises_for_missing_instance(self, send_raw_request_mock, _get_subscription_id_mock): + error = HttpResponseError(message='Not found') + error.status_code = 404 + send_raw_request_mock.side_effect = error + + with self.assertRaises(ResourceNotFoundError): + show_webapp_status(self.cmd, 'myRG', 'myApp', instance='missing-instance') + + def test_transform_webapp_status_output_shows_errors(self): + rows = transform_webapp_status_output(self._status_response()) + + self.assertEqual(rows[0]['InstanceId'], '6d3f0a2b8e5c4d1fb97a3c6e2f4a1b09') + self.assertEqual(rows[0]['State'], 'Started') + self.assertEqual(rows[0]['Action'], 'SiteStarted') + self.assertEqual(rows[0]['LastError'], 'StaleError') + self.assertEqual(rows[0]['LastErrorDetails'], 'Previously failed to start') + self.assertEqual(rows[0]['LastErrorTimestamp'], '2026-06-01T00:00:00Z') + self.assertEqual(rows[0]['Details'], 'Operation completed') + self.assertEqual(rows[0]['DetailsLevel'], 'Information') + self.assertEqual(rows[1]['LastError'], 'ImagePullFailed') + self.assertEqual(rows[1]['LastErrorDetails'], 'Manifest not found') + + def test_transform_webapp_status_output_omits_error_columns_when_no_error(self): + healthy = { + 'properties': [ + {'instanceId': '6d3f0a2b8e5c4d1fb97a3c6e2f4a1b09', 'state': 'Started', 'action': 'None', + 'lastError': None, 'lastErrorDetails': None, 'lastErrorTimestamp': None, + 'details': 'Site is running', 'detailsLevel': 'INFO'} + ] + } + rows = transform_webapp_status_output(healthy) + + self.assertEqual(list(rows[0].keys()), + ['InstanceId', 'State', 'Action', 'Details', 'DetailsLevel']) + + class FakedResponse: # pylint: disable=too-few-public-methods def __init__(self, status_code): self.status_code = status_code From cdf2154273bc6b9ed6b6b140f8bcfc7da3453790 Mon Sep 17 00:00:00 2001 From: Amber Amos Date: Tue, 30 Jun 2026 14:08:15 -0700 Subject: [PATCH 2/3] copilot review updates --- src/azure-cli/HISTORY.rst | 2 +- .../cli/command_modules/appservice/_help.py | 48 +- .../cli/command_modules/appservice/_params.py | 10 +- .../command_modules/appservice/commands.py | 17 +- .../cli/command_modules/appservice/custom.py | 372 ++++---- .../latest/recordings/test_webapp_status.yaml | 871 ------------------ .../tests/latest/test_webapp_commands.py | 20 - .../latest/test_webapp_commands_thru_mock.py | 172 +--- 8 files changed, 223 insertions(+), 1289 deletions(-) delete mode 100644 src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_status.yaml diff --git a/src/azure-cli/HISTORY.rst b/src/azure-cli/HISTORY.rst index 32da3140259..c0cfcf63373 100644 --- a/src/azure-cli/HISTORY.rst +++ b/src/azure-cli/HISTORY.rst @@ -33,6 +33,7 @@ Release History * `az webapp list-runtimes`: Add `--runtime` and `--support` filter parameters (#32903) * [BREAKING CHANGE] `az webapp list-runtimes`: Remove deprecated `--linux` and `--show-runtime-details` parameters (#32903) * `az webapp log startup`: Add commands to list and view Linux container startup logs (#33256) +* `az webapp troubleshoot status`: Add new command group and command to show per-instance Site Runtime Status and recent startup summary for Linux web apps (#33673) * `az webapp create`: Add `--site-scoped-certs` parameter to support enabling or disabling site-scoped certificates (#33306) * `az webapp up`: Add warning message for future deprecation (#33410) * `az functionapp deployment source config-zip`: Fix `KeyError` `'FUNCTIONS_WORKER_RUNTIME'` for Go function apps on Flex Consumption (#33404) @@ -134,7 +135,6 @@ Release History * Fix #33180: `az functionapp plan create`: Simplify reserved parameter assignment in AppServicePlan (#33202) * `az webapp sitecontainers convert`: Add support for converting Docker Compose multi-container apps to Sitecontainers mode (#33131) * `az webapp up/deploy`: Add `--enriched-errors` parameter to see detailed deployment failure log (#32940) -* `az webapp status`: Add new command to show per-instance Site Runtime Status (#33632) * `az webapp create`: Add error message that clearly lists all valid options and specifies how to discover available runtimes (#33252) * `az appservice plan create`: Make `P0V3` as default SKU when `--sku` is omitted for linux webapp (#33237) * `az appservice plan create`: Add `PREMIUM0V3` tier for elastic scale (#33237) diff --git a/src/azure-cli/azure/cli/command_modules/appservice/_help.py b/src/azure-cli/azure/cli/command_modules/appservice/_help.py index eee84963849..07ec34270d6 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/_help.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/_help.py @@ -2434,17 +2434,12 @@ helps['webapp troubleshoot'] = """ type: group -short-summary: Troubleshoot a web app's runtime state. -long-summary: > - Inspect runtime state and recent startup attempts for a Linux web app. - Useful when an app is returning HTTP 5xx or otherwise behaving - unexpectedly. Backed by KuduLite endpoints that aggregate the last 24 - hours of startup logs across all instances. +short-summary: Troubleshoot a web app. """ helps['webapp troubleshoot status'] = """ type: command -short-summary: Show Site Runtime Status and recent startup summary for a Linux web app. +short-summary: Show site runtime status and recent startup summary for a Linux web app. long-summary: | Aggregates two data sources: @@ -2454,15 +2449,30 @@ successful and failed startup attempts in the last 24h, plus earliest and most recent). - Use --instance to scope both to a single worker. Use `-o json` to get the - underlying structured payload. + Use --instance to scope both to a single worker. By default returns the + structured payload (works with -o json/yaml/tsv/table). Pass --report to + print a human-readable, color-coded report instead. examples: - - name: Show status for all instances of a web app + - name: Show status for all instances of a web app (JSON by default) text: az webapp troubleshoot status --name MyWebApp --resource-group MyResourceGroup + - name: Print the human-readable report + text: az webapp troubleshoot status --name MyWebApp --resource-group MyResourceGroup --report - name: Show status scoped to a single worker instance text: az webapp troubleshoot status --name MyWebApp --resource-group MyResourceGroup --instance 7c2d9 - - name: Get the raw structured payload - text: az webapp troubleshoot status --name MyWebApp --resource-group MyResourceGroup --output json +parameters: + - name: --instance + short-summary: Scope the report to a single worker instance. + long-summary: > + Accepts either the hex instanceId (from `az webapp list-instances`) or the + machine name (e.g. `lw0sdlwk0007AB`). When omitted, returns an overview of + every instance seen in the last 24 hours. + - name: --report + short-summary: Print a human-readable, color-coded report instead of returning structured data. + long-summary: > + When set, the command writes a formatted report (overview table plus + per-instance Site Runtime Status and Startup summary) to stdout and + returns no machine-readable output. Omit --report to keep the default + structured payload that works with `-o json/yaml/tsv/table`. """ helps['functionapp log'] = """ @@ -2511,20 +2521,6 @@ crafted: true """ -helps['webapp status'] = """ -type: command -short-summary: Show per-instance Site Runtime Status for a web app. -long-summary: > - Returns the runtime status of each instance. -examples: - - name: Show runtime status for all instances in the production slot. - text: az webapp status --name MyWebapp --resource-group MyResourceGroup - - name: Show runtime status for a deployment slot. - text: az webapp status --name MyWebapp --resource-group MyResourceGroup --slot staging - - name: Show runtime status for a specific instance. - text: az webapp status --name MyWebapp --resource-group MyResourceGroup --instance 6d3f0a2b8e5c4d1fb97a3c6e2f4a1b09 -""" - helps['webapp ssh'] = """ type: command short-summary: SSH command establishes a ssh session to the web container and developer would get a shell terminal remotely. diff --git a/src/azure-cli/azure/cli/command_modules/appservice/_params.py b/src/azure-cli/azure/cli/command_modules/appservice/_params.py index 56ead707aa9..401399dd822 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/_params.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/_params.py @@ -94,11 +94,6 @@ def load_arguments(self, _): help="the name of the slot. Default to the productions slot if not specified") c.argument('name', arg_type=webapp_name_arg_type) - with self.argument_context('webapp status') as c: - c.argument('instance', options_list=['--instance'], - help='show runtime status for a specific instance only. ' - "Run 'az webapp list-instances' to discover instance IDs.") - with self.argument_context('functionapp') as c: c.ignore('app_instance') c.argument('resource_group_name', arg_type=resource_group_name_type) @@ -858,9 +853,8 @@ def load_arguments(self, _): c.argument('name', arg_type=webapp_name_arg_type, id_part=None) c.argument('resource_group', arg_type=resource_group_name_type) c.argument('slot', options_list=['--slot', '-s'], help="the name of the slot. Default to the production slot if not specified") - c.argument('instance', options_list=['--instance'], - help='Scope the report to a single worker instance ID. ' - 'When omitted, returns an overview of every instance seen in the last 24 hours.') + c.argument('instance', options_list=['--instance']) + c.argument('report', options_list=['--report'], arg_type=get_three_state_flag()) with self.argument_context('functionapp log deployment show') as c: c.argument('name', arg_type=functionapp_name_arg_type, id_part=None) diff --git a/src/azure-cli/azure/cli/command_modules/appservice/commands.py b/src/azure-cli/azure/cli/command_modules/appservice/commands.py index 182ae0a0e85..68fa96220a6 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/commands.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/commands.py @@ -48,19 +48,6 @@ def transform_runtime_list_output(result): ]) for r in result] -def transform_webapp_status_output(result): - from .custom import format_webapp_status_output - return format_webapp_status_output(result) - - -def transform_troubleshoot_status_output(result): - from .custom import _render_troubleshoot_status - _render_troubleshoot_status(result) - # Returning an empty list bypasses azure-cli's table formatter (which would - # otherwise print "(empty)" after our rendered report). - return [] - - def ex_handler_factory(creating_plan=False): def _ex_handler(ex): ex = _polish_bad_errors(ex, creating_plan) @@ -155,7 +142,6 @@ def load_command_table(self, _): g.custom_command('restart', 'restart_webapp') g.custom_command('browse', 'view_in_browser') g.custom_command('list-instances', 'list_instances') - g.custom_command('status', 'show_webapp_status', table_transformer=transform_webapp_status_output) g.custom_command('list-runtimes', 'list_runtimes', table_transformer=transform_runtime_list_output) g.custom_command('identity assign', 'assign_identity') g.custom_show_command('identity show', 'show_identity') @@ -274,8 +260,7 @@ def load_command_table(self, _): g.custom_show_command('show', 'show_startup_log') with self.command_group('webapp troubleshoot', is_preview=True) as g: - g.custom_command('status', 'troubleshoot_status', - table_transformer=transform_troubleshoot_status_output) + g.custom_command('status', 'troubleshoot_status') with self.command_group('functionapp log deployment') as g: g.custom_show_command('show', 'show_deployment_log') diff --git a/src/azure-cli/azure/cli/command_modules/appservice/custom.py b/src/azure-cli/azure/cli/command_modules/appservice/custom.py index bad9a1c68c7..a21d153677f 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/custom.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/custom.py @@ -10,7 +10,6 @@ import threading import time import re -from concurrent.futures import ThreadPoolExecutor from xml.etree import ElementTree from urllib.parse import quote, urlparse @@ -2487,58 +2486,6 @@ def _extract_webapp_status_items(result): return [] -def format_webapp_status_output(result): - from collections import OrderedDict - - items = _extract_webapp_status_items(result) - # LastError is a nullable field on the backend SiteRuntimeStatusOnWorker contract, - # so the error columns (LastError, LastErrorDetails, LastErrorTimestamp) are only - # surfaced when at least one instance reports a LastError. - show_errors = any(item.get('lastError') for item in items) - - rows = [] - for item in items: - row = OrderedDict([ - ('InstanceId', item.get('instanceId')), - ('State', item.get('state')), - ('Action', item.get('action')) - ]) - if show_errors: - row['LastError'] = item.get('lastError') - row['LastErrorDetails'] = item.get('lastErrorDetails') - row['LastErrorTimestamp'] = item.get('lastErrorTimestamp') - row['Details'] = item.get('details') - row['DetailsLevel'] = item.get('detailsLevel') - rows.append(row) - return rows - - -def show_webapp_status(cmd, resource_group_name, name, slot=None, instance=None): - from azure.cli.core.commands.client_factory import get_subscription_id - - client = web_client_factory(cmd.cli_ctx) - subscription_id = get_subscription_id(cmd.cli_ctx) - api_version = client._config.api_version - slot_segment = f'/slots/{slot}' if slot else '' - instance_segment = f'/{instance}' if instance else '' - base_url = ( - f'/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}' - f'/providers/Microsoft.Web/sites/{name}{slot_segment}/siteStatus{instance_segment}' - f'?api-version={api_version}' - ) - request_url = cmd.cli_ctx.cloud.endpoints.resource_manager + base_url - - try: - return send_raw_request(cmd.cli_ctx, 'GET', request_url).json() - except HttpResponseError as ex: - if instance and ex.status_code == 404: - scope = 'webapp and slot' if slot else 'webapp' - raise ResourceNotFoundError( - f"Instance '{instance}' was not found for this {scope}. " - "Run 'az webapp list-instances' to see available instance IDs.") - raise - - def _list_app(cli_ctx, resource_group_name=None, show_details=False): client = web_client_factory(cli_ctx) if resource_group_name: @@ -6604,8 +6551,8 @@ def show_startup_log(cmd, resource_group, name, slot=None, filename=None, instan # az webapp troubleshoot status # --------------------------------------------------------------------------- -def troubleshoot_status(cmd, resource_group, name, slot=None, instance=None): - """Fetch and render runtime + startup status for a Linux web app. +def troubleshoot_status(cmd, resource_group, name, slot=None, instance=None, report=False): + """Fetch runtime + startup status for a Linux web app. Data sources: * Site Runtime Status comes from ARM: @@ -6614,9 +6561,9 @@ def troubleshoot_status(cmd, resource_group, name, slot=None, instance=None): * Startup summary comes from KuduLite (SCM): GET https://{scm-host}/api/startuplogs/summary[?instance={id}] - Returns the structured payload (list of instances + startup summary) so - `-o json` etc. work naturally. For the default (`table`/empty) output format, - also prints a human-readable report to stdout. + By default returns the structured payload (list of instances + startup + summary) so the standard `-o json/yaml/tsv/table` formatters handle output. + Pass --report to print the human-readable report to stdout instead. """ import requests from azure.cli.core.commands.client_factory import get_subscription_id @@ -6687,73 +6634,101 @@ def troubleshoot_status(cmd, resource_group, name, slot=None, instance=None): if machine: item['machineName'] = machine - # --- 3. Per-instance Startup summary from SCM /api/startuplogs/summary?instance={machineName} --- - # Fan out the per-instance calls in parallel; each one is a SCM round-trip - # (KuduLite -> worker file read) and dominates wall-clock time when N > 1. + # --- 3. Per-instance Startup summary from SCM /api/startuplogs/summary --- + # KuduLite's summary endpoint already returns one entry per instance + # ([{InstanceId, Startup}, ...]) for everything seen in the last 24h, so we + # make a single round-trip and pair the entries with runtime_items locally + # instead of fanning out one call per instance. scm_url = _get_scm_url(cmd, resource_group, name, slot) headers = get_scm_site_headers(cmd.cli_ctx, name, resource_group, slot) - def _fetch_startup_summary(item): - machine = item.get('machineName') - if not machine: - # KuduLite identifies workers by machine name; without it the summary call - # would be ambiguous, so skip rather than send a bad query. - item['startup'] = None - return - summary_url = '{}/api/startuplogs/summary?instance={}'.format( - scm_url, quote(machine, safe='')) - try: - summary_response = requests.get(summary_url, headers=headers) - except requests.RequestException as ex: - logger.warning("Failed to call '%s': %s", summary_url, ex) - item['startup'] = None - return + # When --instance was supplied we still pass the filter to KuduLite so it + # only walks the requested worker's log directory (and the response stays + # small). Otherwise we fetch the full set in one call. + target_machine = None + if instance and len(runtime_items) == 1: + target_machine = runtime_items[0].get('machineName') + + summary_url = '{}/api/startuplogs/summary'.format(scm_url) + if target_machine: + summary_url = '{}?instance={}'.format(summary_url, quote(target_machine, safe='')) + + startup_by_machine = {} + try: + summary_response = requests.get(summary_url, headers=headers, timeout=30) + except requests.RequestException as ex: + logger.warning("Failed to call '%s': %s", summary_url, ex) + summary_response = None + + if summary_response is not None: if summary_response.status_code == 200: try: - item['startup'] = _unwrap_startup_summary(summary_response.json(), machine) + body = summary_response.json() except ValueError: - item['startup'] = None + body = None + if isinstance(body, list): + for entry in body: + if not isinstance(entry, dict): + continue + # KuduLite serializes its C# POCO with default settings -> PascalCase + # (InstanceId, Startup, Successful, MostRecent, ...). When KuduLite + # ships a [JsonPropertyName] / camelCase contract, switch the keys + # here (and in _print_startup_block / overview-table renderer) accordingly. + key = entry.get('InstanceId') + if not key: + continue + startup_by_machine[key] = entry.get('Startup') or entry + elif isinstance(body, dict): + # Tolerate a single-object response (older KuduLite shape). + inner = body.get('Startup') or body + key = body.get('InstanceId') or target_machine + if key: + startup_by_machine[key] = inner elif summary_response.status_code == 404: - # No startup logs in window for this instance, or endpoint not rolled out. - item['startup'] = None + # No startup logs in window for any instance, or endpoint not rolled out. + pass else: logger.warning( - "Failed to retrieve startup summary for instance '%s' (status %s %s).", - machine, summary_response.status_code, summary_response.reason) - item['startup'] = None - - if len(runtime_items) > 1: - with ThreadPoolExecutor(max_workers=min(8, len(runtime_items))) as pool: - # list() drains the iterator so exceptions in workers propagate here. - list(pool.map(_fetch_startup_summary, runtime_items)) - else: - for item in runtime_items: - _fetch_startup_summary(item) + "Failed to retrieve startup summary (status %s %s).", + summary_response.status_code, summary_response.reason) + + for item in runtime_items: + machine = item.get('machineName') + # Without machineName we can't correlate this runtime entry to a KuduLite + # entry (KuduLite keys its summaries by machine name). + item['startup'] = startup_by_machine.get(machine) if machine else None # --- 3. Assemble payload --- - # 'name' and 'resourceGroup' are standard top-level fields in az JSON output; - # the table_transformer (transform_troubleshoot_status_output) also consumes - # them when rendering the human-readable report. payload = { 'name': name, 'resourceGroup': resource_group, 'instances': runtime_items, } + if report: + _render_troubleshoot_status(payload) + return None return payload def _render_troubleshoot_status(payload): """Print the human-readable report (Site Runtime Status + per-instance Startup summary). - Called as the table_transformer for 'az webapp troubleshoot status'.""" + Invoked by 'az webapp troubleshoot status' when --report is passed.""" + from azure.cli.core.style import Style, print_styled_text + instances = payload.get('instances') or [] app_name = payload.get('name') or '' resource_group = payload.get('resourceGroup') + def _out(*objs): + print_styled_text(*objs, file=sys.stdout) + if not instances: - print("No runtime status reported for '{}'.".format(app_name)) + _out("No runtime status reported for '{}'.".format(app_name)) return - print("\n{}\n".format(_c("Application status for {}.".format(app_name), 'bold'))) + _out('') + _out((Style.HIGHLIGHT, "Application status for {}.".format(app_name))) + _out('') # Overview table (skip when only one instance is present, e.g. --instance filter). if len(instances) > 1: @@ -6761,35 +6736,42 @@ def _render_troubleshoot_status(payload): header = "{:<{w0}}{:<{w1}}{:<{w2}}{}".format( 'INSTANCE', 'MACHINE', 'STATE', 'UPDATED', w0=col_widths[0], w1=col_widths[1], w2=col_widths[2]) - print(_c(header, 'bold')) - print('-' * sum(col_widths)) + _out((Style.HIGHLIGHT, header)) + _out('-' * sum(col_widths)) for inst in instances: startup = inst.get('startup') or {} - most_recent = startup.get('mostRecent') or startup.get('MostRecent') or {} - updated = _format_dt(most_recent.get('at') or most_recent.get('At')) or '-' + most_recent = startup.get('MostRecent') or {} + updated = _format_dt(most_recent.get('At')) or '-' state = inst.get('state') or '-' - # ANSI escapes inflate the rendered width, so pad the plain text manually. - print("{}{}{}{}".format( - _pad(_short_id(inst.get('instanceId')), col_widths[0]), - _pad(inst.get('machineName') or '-', col_widths[1]), - _pad(_color_state(state), col_widths[2], plain_len=len(state)), - updated)) - print() - print() + # Pad plain text first, then wrap the STATE segment in its style — the + # framework's color escapes don't perturb the visible column width. + _out([ + (Style.PRIMARY, '{:<{w}}'.format(_short_id(inst.get('instanceId')), w=col_widths[0])), + (Style.PRIMARY, '{:<{w}}'.format(inst.get('machineName') or '-', w=col_widths[1])), + (_state_style(state), '{:<{w}}'.format(state, w=col_widths[2])), + (Style.PRIMARY, updated), + ]) + _out('') + _out('') # Per-instance Site Runtime Status + Startup summary. for inst in instances: machine = inst.get('machineName') - label = machine if machine else _short_id(inst.get('instanceId')).upper() + label = machine if machine else _short_id(inst.get('instanceId')) sep = '-' * 66 - header = 'Instance {} Full Status Report'.format(label) - print(sep) - print(_c(header, 'cyan')) - print(sep) - _print_runtime_block(inst) - print() - print(_c('Startup summary (last 24h)', 'cyan')) - _print_startup_block(inst.get('startup')) + _out(sep) + _out((Style.HIGHLIGHT, 'Instance {} Full Status Report'.format(label))) + _out(sep) + _print_runtime_block(inst, _out) + _out('') + _out((Style.HIGHLIGHT, 'Startup summary (last 24h)')) + if not machine: + # Without machineName we couldn't query KuduLite for this instance, so + # distinguish the "couldn't ask" case from "asked, nothing recorded". + _out(' Startup summary unavailable: machine name could not be determined for this instance.') + _out('') + else: + _print_startup_block(inst.get('startup'), _out) # Hint footer — only surfaced when at least one instance reports an error detail. has_error = any( @@ -6797,81 +6779,50 @@ def _render_troubleshoot_status(payload): ) if has_error: rg = resource_group or '' - print(_c('Hint:', 'yellow')) - print(' Check application logs: az webapp log tail -n {} -g {}'.format(app_name, rg)) - print(' Check startup logs: az webapp log startup show -n {} -g {}'.format(app_name, rg)) - - -def _color_enabled(): - """Honor NO_COLOR / AZURE_CORE_NO_COLOR and only emit ANSI when stdout is a TTY.""" - if os.environ.get('NO_COLOR') or os.environ.get('AZURE_CORE_NO_COLOR'): - return False - try: - return sys.stdout.isatty() - except (AttributeError, ValueError): - return False + _out((Style.WARNING, 'Hint:')) + _out(' Check application logs: az webapp log tail -n {} -g {}'.format(app_name, rg)) + _out(' Check startup logs: az webapp log startup show -n {} -g {}'.format(app_name, rg)) -def _c(text, color): - """Wrap text in ANSI color codes when color is enabled; otherwise return text unchanged. - Uses colorama-compatible escapes (colorama is initialized by azure-cli at startup).""" - if not text or not _color_enabled(): - return text - codes = { - 'green': '\033[32m', - 'red': '\033[31m', - 'yellow': '\033[33m', - 'cyan': '\033[36m', - 'bold': '\033[1m', - 'dim': '\033[2m', - } - reset = '\033[0m' - return '{}{}{}'.format(codes.get(color, ''), text, reset) - - -def _color_state(state): +def _state_style(state): + """Map a runtime state string to an azure-cli Style for print_styled_text.""" + from azure.cli.core.style import Style if not state: - return '-' + return Style.PRIMARY s = state.lower() if s == 'started': - return _c(state, 'green') + return Style.SUCCESS if s in ('stopped', 'failed', 'crashed', 'unhealthy'): - return _c(state, 'red') + return Style.ERROR if s in ('starting', 'pullingimage', 'pulling', 'pending'): - return _c(state, 'yellow') - return state + return Style.WARNING + return Style.PRIMARY -def _color_outcome(outcome): +def _outcome_style(outcome): + from azure.cli.core.style import Style if not outcome: - return '-' + return Style.PRIMARY o = outcome.upper() if o == 'STARTED': - return _c(outcome, 'green') + return Style.SUCCESS if o in ('FAILED', 'CRASHED'): - return _c(outcome, 'red') - return outcome + return Style.ERROR + return Style.PRIMARY -def _color_count(count, kind): - """Color a numeric count. kind='failed' -> red when > 0; 'successful' -> green when > 0.""" +def _count_style(count, kind): + """Style for a numeric count. kind='failed' -> ERROR when > 0; 'successful' -> SUCCESS when > 0.""" + from azure.cli.core.style import Style try: n = int(count) except (TypeError, ValueError): - return str(count) + return Style.PRIMARY, str(count) if kind == 'failed' and n > 0: - return _c(str(n), 'red') + return Style.ERROR, str(n) if kind == 'successful' and n > 0: - return _c(str(n), 'green') - return str(n) - - -def _pad(text, width, plain_len=None): - """Left-justify text to `width` columns. When `text` contains ANSI escapes, - pass plain_len so padding is based on the visible character count.""" - visible = plain_len if plain_len is not None else len(text or '') - pad = max(0, width - visible) - return (text or '') + ' ' * pad + return Style.SUCCESS, str(n) + return Style.PRIMARY, str(n) def _short_id(instance_id): @@ -6902,10 +6853,11 @@ def _format_dt(value): return str(value) -def _print_runtime_block(inst): +def _print_runtime_block(inst, emit): """Print one Site Runtime Status block from an ARM /siteStatus item.""" + from azure.cli.core.style import Style if not inst: - print(' (no runtime status reported)') + emit(' (no runtime status reported)') return state = inst.get('state') or '-' details = inst.get('details') or '-' @@ -6916,54 +6868,40 @@ def _print_runtime_block(inst): if isinstance(last_error_ts_raw, str) and last_error_ts_raw.startswith('0001-01-01'): last_error_ts_raw = None last_error_ts = _format_dt(last_error_ts_raw) or '-' - print(' State {}'.format(_color_state(state))) - print(' Details {}'.format(details)) - print(' Last Error {}'.format(last_error)) - print(' Last Error Details {}'.format(last_error_details)) - print(' Last Error Timestamp {}'.format(last_error_ts)) - - -def _unwrap_startup_summary(payload, machine): - """KuduLite's /api/startuplogs/summary returns a list of - [{'InstanceId': ..., 'Startup': {...}}] (one entry when filtered by instance). - Extract the inner Startup object for the matching machine, or the first entry.""" - if payload is None: - return None - if isinstance(payload, list): - if not payload: - return None - match = next( - (e for e in payload - if isinstance(e, dict) and (e.get('InstanceId') == machine or e.get('instanceId') == machine)), - payload[0]) - if isinstance(match, dict): - return match.get('Startup') or match.get('startup') or match - return match - if isinstance(payload, dict): - return payload.get('Startup') or payload.get('startup') or payload - return None + emit([(Style.PRIMARY, ' State '), (_state_style(state), state)]) + emit(' Details {}'.format(details)) + emit(' Last Error {}'.format(last_error)) + emit(' Last Error Details {}'.format(last_error_details)) + emit(' Last Error Timestamp {}'.format(last_error_ts)) -def _print_startup_block(s): +def _print_startup_block(s, emit): + from azure.cli.core.style import Style if not s: - print(' (no startup attempts recorded)') - print() + emit(' No startup attempts recorded in the last 24 hours') + emit('') return - successful = s.get('successful', s.get('Successful', 0)) - failed = s.get('failed', s.get('Failed', 0)) - print(' Successful {}'.format(_color_count(successful, 'successful'))) - print(' Failed {}'.format(_color_count(failed, 'failed'))) - most_recent = s.get('mostRecent') or s.get('MostRecent') - earliest = s.get('earliest') or s.get('Earliest') + successful = s.get('Successful', 0) + failed = s.get('Failed', 0) + emit([(Style.PRIMARY, ' Successful '), _count_style(successful, 'successful')]) + emit([(Style.PRIMARY, ' Failed '), _count_style(failed, 'failed')]) + most_recent = s.get('MostRecent') + earliest = s.get('Earliest') if most_recent: - print(' Most recent {} -> {}'.format( - _format_dt(most_recent.get('at') or most_recent.get('At')) or '-', - _color_outcome(most_recent.get('outcome') or most_recent.get('Outcome')))) + outcome = most_recent.get('Outcome') or '-' + emit([ + (Style.PRIMARY, ' Most recent {} -> '.format( + _format_dt(most_recent.get('At')) or '-')), + (_outcome_style(outcome), outcome), + ]) if earliest: - print(' Earliest {} -> {}'.format( - _format_dt(earliest.get('at') or earliest.get('At')) or '-', - _color_outcome(earliest.get('outcome') or earliest.get('Outcome')))) - print() + outcome = earliest.get('Outcome') or '-' + emit([ + (Style.PRIMARY, ' Earliest {} -> '.format( + _format_dt(earliest.get('At')) or '-')), + (_outcome_style(outcome), outcome), + ]) + emit('') def config_slot_auto_swap(cmd, resource_group_name, webapp, slot, auto_swap_slot=None, disable=None): diff --git a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_status.yaml b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_status.yaml deleted file mode 100644 index c70c4b511d3..00000000000 --- a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_status.yaml +++ /dev/null @@ -1,871 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - appservice plan create - Connection: - - keep-alive - ParameterSetName: - - -g -n --sku --is-linux - User-Agent: - - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2024-11-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","test":"test_webapp_status","date":"2026-06-22T17:55:55Z","module":"appservice"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '364' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 22 Jun 2026 17:56:00 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 620D4D5846F149B6B8DFDA1AC6C020D4 Ref B: SN4AA2022303037 Ref C: 2026-06-22T17:56:00Z' - status: - code: 200 - message: OK -- request: - body: '{"location": "westeurope", "properties": {"perSiteScaling": false, "reserved": - true}, "sku": {"capacity": 1, "name": "S1", "tier": "STANDARD"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - appservice plan create - Connection: - - keep-alive - Content-Length: - - '143' - Content-Type: - - application/json - ParameterSetName: - - -g -n --sku --is-linux - User-Agent: - - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003?api-version=2025-03-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003","name":"plan-status000003","type":"Microsoft.Web/serverfarms","kind":"linux","location":"westeurope","properties":{"serverFarmId":4289,"name":"plan-status000003","sku":{"name":"S1","tier":"Standard","size":"S1","family":"S","capacity":1},"workerSize":"Small","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Small","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestEuropewebspace-Linux","subscription":"00000000-0000-0000-0000-000000000000","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West - Europe","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"linux","resourceGroup":"clitest.rg000001","reserved":true,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-am2-845_4289","targetWorkerCount":0,"targetWorkerSizeId":0,"targetWorkerSku":null,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false,"maximumNumberOfZones":1,"currentNumberOfZonesUtilized":1,"migrateToVMSS":null,"vnetConnectionsUsed":null,"vnetConnectionsMax":null,"createdTime":"2026-06-22T17:56:12.27","asyncScalingEnabled":false,"isCustomMode":false,"powerState":"Running","eligibleLogCategories":""},"sku":{"name":"S1","tier":"Standard","size":"S1","family":"S","capacity":1}}' - headers: - cache-control: - - no-cache - content-length: - - '1792' - content-type: - - application/json - date: - - Mon, 22 Jun 2026 17:56:15 GMT - etag: - - 1DD02706A1574CB - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-operation-identifier: - - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=662529f8-d039-4bcc-9a54-78fd767d9bdf/southcentralus/e29ba92a-dd40-4f04-a66b-d04898d69162 - x-ms-ratelimit-remaining-subscription-global-writes: - - '12000' - x-ms-ratelimit-remaining-subscription-writes: - - '800' - x-msedge-ref: - - 'Ref A: 4771704B529C4BB199E61B6AF758D784 Ref B: SN4AA2022301021 Ref C: 2026-06-22T17:56:01Z' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - webapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --plan --runtime - User-Agent: - - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003?api-version=2024-11-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003","name":"plan-status000003","type":"Microsoft.Web/serverfarms","kind":"linux","location":"West - Europe","properties":{"serverFarmId":4289,"name":"plan-status000003","workerSize":"Small","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Small","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestEuropewebspace-Linux","subscription":"00000000-0000-0000-0000-000000000000","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":10,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West - Europe","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"linux","resourceGroup":"clitest.rg000001","reserved":true,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-am2-845_4289","targetWorkerCount":0,"targetWorkerSizeId":0,"targetWorkerSku":null,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false,"maximumNumberOfZones":1,"currentNumberOfZonesUtilized":1,"migrateToVMSS":null,"vnetConnectionsUsed":0,"vnetConnectionsMax":2,"createdTime":"2026-06-22T17:56:12.27","asyncScalingEnabled":false,"isCustomMode":false,"powerState":"Running","eligibleLogCategories":""},"sku":{"name":"S1","tier":"Standard","size":"S1","family":"S","capacity":1}}' - headers: - cache-control: - - no-cache - content-length: - - '1712' - content-type: - - application/json - date: - - Mon, 22 Jun 2026 17:56:16 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: A8E9E754678049B9ABFE9A92B50F2CCC Ref B: SN4AA2022302011 Ref C: 2026-06-22T17:56:16Z' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"name": "webapp-status000002", "type": "Site"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - webapp create - Connection: - - keep-alive - Content-Length: - - '47' - Content-Type: - - application/json - ParameterSetName: - - -g -n --plan --runtime - User-Agent: - - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2024-11-01 - response: - body: - string: '{"nameAvailable":true,"reason":"","message":""}' - headers: - cache-control: - - no-cache - content-length: - - '47' - content-type: - - application/json - date: - - Mon, 22 Jun 2026 17:56:18 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-operation-identifier: - - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=662529f8-d039-4bcc-9a54-78fd767d9bdf/southcentralus/8c883dad-d30b-44e6-b53b-0fbda691de5e - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 2B379D34EE7C47E2BA8182DAE1A312B3 Ref B: SN4AA2022301029 Ref C: 2026-06-22T17:56:17Z' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - webapp create - Connection: - - keep-alive - ParameterSetName: - - -g -n --plan --runtime - User-Agent: - - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) - method: GET - uri: https://management.azure.com/providers/Microsoft.Web/webAppStacks?api-version=2024-11-01 - response: - body: - string: '{"value":[{"id":null,"name":"dotnet","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":".NET","value":"dotnet","preferredOs":"windows","majorVersions":[{"displayText":".NET - 10 (LTS)","value":"dotnet10","minorVersions":[{"displayText":".NET 10 (LTS)","value":"10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v10.0","remoteDebuggingSupported":false,"isHidden":false,"isPreview":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":true,"endOfLifeDate":"2028-12-01T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|10.0","remoteDebuggingSupported":false,"isHidden":false,"isPreview":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-12-01T00:00:00Z"}}}]},{"displayText":".NET - 9 (STS)","value":"dotnet9","minorVersions":[{"displayText":".NET 9 (STS)","value":"9","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v9.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"9.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":true,"endOfLifeDate":"2026-11-10T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|9.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"9.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2026-11-10T00:00:00Z"}}}]},{"displayText":".NET - 8 (LTS)","value":"dotnet8","minorVersions":[{"displayText":".NET 8 (LTS)","value":"8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v8.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":true,"endOfLifeDate":"2026-11-10T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|8.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2026-11-10T00:00:00Z"}}}]},{"displayText":".NET - 7 (STS)","value":"dotnet7","minorVersions":[{"displayText":".NET 7 (STS)","value":"7","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2024-05-14T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2024-05-14T00:00:00Z"}}}]},{"displayText":".NET - 6","value":"dotnet6","minorVersions":[{"displayText":".NET 6 (LTS)","value":"6","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2024-11-12T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2024-11-12T00:00:00Z"}}}]},{"displayText":".NET - 5","value":"dotnet5","minorVersions":[{"displayText":".NET 5","value":"5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2022-05-08T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2022-05-08T00:00:00Z"}}}]},{"displayText":".NET - Core 3","value":"dotnetcore3","minorVersions":[{"displayText":".NET Core 3.1 - (LTS)","value":"3.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isDeprecated":true,"isAvailableForManagedInstance":false,"endOfLifeDate":"2022-12-03T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"isDeprecated":true,"endOfLifeDate":"2022-12-03T00:00:00Z"}}},{"displayText":".NET - Core 3.0","value":"3.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2020-03-03T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2020-03-03T00:00:00Z"}}}]},{"displayText":".NET - Core 2","value":"dotnetcore2","minorVersions":[{"displayText":".NET Core 2.2","value":"2.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2019-12-23T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-23T00:00:00Z"}}},{"displayText":".NET - Core 2.1 (LTS)","value":"2.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2021-07-21T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-07-21T00:00:00Z"}}},{"displayText":".NET - Core 2.0","value":"2.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2018-10-01T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2018-10-01T00:00:00Z"}}}]},{"displayText":".NET - Core 1","value":"dotnetcore1","minorVersions":[{"displayText":".NET Core 1.1","value":"1.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2019-06-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-06-27T00:00:00Z"}}},{"displayText":".NET - Core 1.0","value":"1.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":false,"endOfLifeDate":"2019-06-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-06-27T00:00:00Z"}}}]},{"displayText":"ASP.NET - V4","value":"aspdotnetv4","minorVersions":[{"displayText":"ASP.NET V4.8","value":"v4.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v4.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":true}}}]},{"displayText":"ASP.NET - V3","value":"aspdotnetv3","minorVersions":[{"displayText":"ASP.NET V3.5","value":"v3.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v2.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"isAvailableForManagedInstance":true}}}]}]}},{"id":null,"name":"node","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Node","value":"node","preferredOs":"linux","majorVersions":[{"displayText":"Node - LTS","value":"lts","minorVersions":[{"displayText":"Node LTS","value":"lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"}}}}]},{"displayText":"Node - 24","value":"24","minorVersions":[{"displayText":"Node 24 LTS","value":"24-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|24-lts","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"24.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~24","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"24.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false},"endOfLifeDate":"2028-04-30T00:00:00Z"}}}]},{"displayText":"Node - 22","value":"22","minorVersions":[{"displayText":"Node 22 LTS","value":"22-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|22-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"22.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~22","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"22.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-04-30T00:00:00Z"}}}]},{"displayText":"Node - 20","value":"20","minorVersions":[{"displayText":"Node 20 LTS","value":"20-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|20-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"20.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2026-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~20","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"20.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2026-04-30T00:00:00Z"}}}]},{"displayText":"Node - 18","value":"18","minorVersions":[{"displayText":"Node 18 LTS","value":"18-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|18-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"18.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2025-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~18","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"18.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2025-04-30T00:00:00Z"}}}]},{"displayText":"Node - 16","value":"16","minorVersions":[{"displayText":"Node 16 LTS","value":"16-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|16-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2023-09-11T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~16","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-09-11T00:00:00Z"}}}]},{"displayText":"Node - 14","value":"14","minorVersions":[{"displayText":"Node 14 LTS","value":"14-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|14-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2023-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~14","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-04-30T00:00:00Z"}}}]},{"displayText":"Node - 12","value":"12","minorVersions":[{"displayText":"Node 12 LTS","value":"12-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2022-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"12.13.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2022-04-01T00:00:00Z"}}},{"displayText":"Node - 12.9","value":"12.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12.9","isDeprecated":true,"remoteDebuggingSupported":true,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2022-04-01T00:00:00Z"}}}]},{"displayText":"Node - 10","value":"10","minorVersions":[{"displayText":"Node 10 LTS","value":"10-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node - 10.16","value":"10.16","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.16","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node - 10.15","value":"10.15","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"10.15.2","isDeprecated":true,"isPreview":true,"isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node - 10.14","value":"10.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.14","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.14.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node - 10.12","value":"10.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node - 10.10","value":"10.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.0.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node - 10.6","value":"10.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}},{"displayText":"Node - 10.1","value":"10.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2021-04-01T00:00:00Z"}}}]},{"displayText":"Node - 9","value":"9","minorVersions":[{"displayText":"Node 9.4","value":"9.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|9.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-06-30T00:00:00Z"}}}]},{"displayText":"Node - 8","value":"8","minorVersions":[{"displayText":"Node 8 LTS","value":"8-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node - 8.12","value":"8.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node - 8.11","value":"8.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node - 8.10","value":"8.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node - 8.9","value":"8.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node - 8.8","value":"8.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node - 8.5","value":"8.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node - 8.4","value":"8.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node - 8.2","value":"8.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node - 8.1","value":"8.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.1.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}},{"displayText":"Node - 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-12-31T00:00:00Z"}}}]},{"displayText":"Node - 7","value":"7","minorVersions":[{"displayText":"Node 7.10","value":"7.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2017-06-30T00:00:00Z"}}}]},{"displayText":"Node - 6","value":"6","minorVersions":[{"displayText":"Node 6 LTS","value":"6-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node - 6.12","value":"6.12","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node - 6.11","value":"6.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node - 6.10","value":"6.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node - 6.9","value":"6.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"6.9.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node - 6.6","value":"6.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node - 6.5","value":"6.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}},{"displayText":"Node - 6.2","value":"6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2019-04-30T00:00:00Z"}}}]},{"displayText":"Node - 4","value":"4","minorVersions":[{"displayText":"Node 4.8","value":"4.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2018-04-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2018-04-30T00:00:00Z"}}},{"displayText":"Node - 4.5","value":"4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2018-04-30T00:00:00Z"}}},{"displayText":"Node - 4.4","value":"4.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2018-04-30T00:00:00Z"}}}]}]}},{"id":null,"name":"python","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Python","value":"python","preferredOs":"linux","majorVersions":[{"displayText":"Python - 3","value":"3","minorVersions":[{"displayText":"Python 3.14","value":"3.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.14","remoteDebuggingSupported":false,"isHidden":false,"isPreview":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.14"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2030-10-31T00:00:00Z"}}},{"displayText":"Python - 3.13","value":"3.13","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.13","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.13"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2029-10-31T00:00:00Z"}}},{"displayText":"Python - 3.12","value":"3.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.12"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2028-10-31T00:00:00Z"}}},{"displayText":"Python - 3.11","value":"3.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.11"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2027-10-31T00:00:00Z","isHidden":false}}},{"displayText":"Python - 3.10","value":"3.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.10","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.10"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2026-10-31T00:00:00Z","isHidden":false,"isEarlyAccess":false}}},{"displayText":"Python - 3.9","value":"3.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.9"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2025-10-31T00:00:00Z","isHidden":false}}},{"displayText":"Python - 3.8","value":"3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.8"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2024-10-07T00:00:00Z"}}},{"displayText":"Python - 3.7","value":"3.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.7","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.7"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2023-06-27T00:00:00Z"}}},{"displayText":"Python - 3.6","value":"3.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"},"endOfLifeDate":"2021-12-23T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"3.4.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}}}}]},{"displayText":"Python - 2","value":"2","minorVersions":[{"displayText":"Python 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|2.7","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"2.7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"}}}]}]}},{"id":null,"name":"php","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"PHP","value":"php","preferredOs":"linux","majorVersions":[{"displayText":"PHP - 8","value":"8","minorVersions":[{"displayText":"PHP 8.5","value":"8.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.5","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.5"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2029-12-31T00:00:00Z"}}},{"displayText":"PHP - 8.4","value":"8.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.4"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2028-12-31T00:00:00Z"}}},{"displayText":"PHP - 8.3","value":"8.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.3"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2027-12-31T00:00:00Z"}}},{"displayText":"PHP - 8.2","value":"8.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.2","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.2"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2026-12-31T00:00:00Z"}}},{"displayText":"PHP - 8.1","value":"8.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.1","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.1"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2025-12-31T00:00:00Z"}}},{"displayText":"PHP - 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.0","isDeprecated":true,"isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.0"},"supportedFeatures":{"disableSsh":true},"endOfLifeDate":"2023-11-26T00:00:00Z"}}}]},{"displayText":"PHP - 7","value":"7","minorVersions":[{"displayText":"PHP 7.4","value":"7.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"isDeprecated":true,"endOfLifeDate":"2022-11-30T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"isDeprecated":true,"endOfLifeDate":"2022-11-30T00:00:00Z"}}},{"displayText":"PHP - 7.3","value":"7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2021-12-06T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2021-12-06T00:00:00Z"}}},{"displayText":"PHP - 7.2","value":"7.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-11-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-11-30T00:00:00Z"}}},{"displayText":"PHP - 7.1","value":"7.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-02-01T00:00:00Z"}}},{"displayText":"7.0","value":"7.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-02-01T00:00:00Z"}}}]},{"displayText":"PHP - 5","value":"5","minorVersions":[{"displayText":"PHP 5.6","value":"5.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-02-01T00:00:00Z"}}}]}]}},{"id":null,"name":"ruby","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Ruby","value":"ruby","preferredOs":"linux","majorVersions":[{"displayText":"Ruby - 2","value":"2","minorVersions":[{"displayText":"Ruby 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-03-31T00:00:00Z"}}},{"displayText":"Ruby - 2.7.3","value":"2.7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"isHidden":true,"endOfLifeDate":"2023-03-31T00:00:00Z"}}},{"displayText":"Ruby - 2.6","value":"2.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-03-31T00:00:00Z"}}},{"displayText":"Ruby - 2.6.2","value":"2.6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-03-31T00:00:00Z"}}},{"displayText":"Ruby - 2.5","value":"2.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-31T00:00:00Z"}}},{"displayText":"Ruby - 2.5.5","value":"2.5.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-31T00:00:00Z"}}},{"displayText":"Ruby - 2.4","value":"2.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-04-01T00:00:00Z"}}},{"displayText":"Ruby - 2.4.5","value":"2.4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-04-01T00:00:00Z"}}},{"displayText":"Ruby - 2.3","value":"2.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-03-31T00:00:00Z"}}},{"displayText":"Ruby - 2.3.8","value":"2.3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-03-31T00:00:00Z"}}},{"displayText":"Ruby - 2.3.3","value":"2.3.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.3","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-03-31T00:00:00Z"}}}]}]}},{"id":null,"name":"java","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java","value":"java","preferredOs":"linux","majorVersions":[{"displayText":"Java - 25","value":"25","minorVersions":[{"displayText":"Java 25","value":"25.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"25","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-09-01T00:00:00Z"}}},{"displayText":"Java - 25.0.1","value":"25.0.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"25.0.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-09-01T00:00:00Z"}}},{"displayText":"Java - 25.0.0","value":"25.0.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"25.0.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"25"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-09-01T00:00:00Z"}}}]},{"displayText":"Java - 21","value":"21","minorVersions":[{"displayText":"Java 21","value":"21.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java - 21.0.9","value":"21.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java - 21.0.6","value":"21.0.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java - 21.0.5","value":"21.0.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.5","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java - 21.0.4","value":"21.0.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java - 21.0.3","value":"21.0.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}},{"displayText":"Java - 21.0.1","value":"21.0.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2028-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"21.0.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"21"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2028-09-01T00:00:00Z"}}}]},{"displayText":"Java - 17","value":"17","minorVersions":[{"displayText":"Java 17","value":"17.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 17.0.17","value":"17.0.17","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.17","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 17.0.14","value":"17.0.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 17.0.13","value":"17.0.13","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.13","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 17.0.12","value":"17.0.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 17.0.11","value":"17.0.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 17.0.9","value":"17.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 17.0.4","value":"17.0.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 17.0.3","value":"17.0.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 17.0.2","value":"17.0.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.2","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 17.0.1","value":"17.0.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"17.0.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"17"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}}]},{"displayText":"Java - 11","value":"11","minorVersions":[{"displayText":"Java 11","value":"11.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.29","value":"11.0.29","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.29","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.26","value":"11.0.26","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.26","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.25","value":"11.0.25","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.25","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.24","value":"11.0.24","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.24","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.23","value":"11.0.23","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.23","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.21","value":"11.0.21","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.21","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.16","value":"11.0.16","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.16","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.15","value":"11.0.15","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.15","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.14","value":"11.0.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.13","value":"11.0.13","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.13","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.12","value":"11.0.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.11","value":"11.0.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.9","value":"11.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.8","value":"11.0.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.7","value":"11.0.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.6","value":"11.0.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.5","value":"11.0.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2027-09-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.5_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.3","value":"11.0.3","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.3_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}},{"displayText":"Java - 11.0.2","value":"11.0.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.2_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2027-09-01T00:00:00Z"}}}]},{"displayText":"Java - 8","value":"8","minorVersions":[{"displayText":"Java 8","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_472","value":"8.0.472","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_472","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_442","value":"8.0.442","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_442","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_432","value":"8.0.432","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_432","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_422","value":"8.0.422","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_422","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_412","value":"8.0.412","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_412","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_392","value":"8.0.392","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_392","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_345","value":"8.0.345","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_345","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_332","value":"8.0.332","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_332","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_322","value":"8.0.322","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_322","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_312","value":"8.0.312","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_312","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_302","value":"8.0.302","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_302","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_292","value":"8.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_292","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_282","value":"8.0.282","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_282","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_275","value":"8.0.275","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_265","value":"8.0.265","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_265","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_252","value":"8.0.252","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_252","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_242","value":"8.0.242","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_242","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_232","value":"8.0.232","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"endOfLifeDate":"2030-12-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_232_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_212","value":"8.0.212","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_212_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_202","value":"8.0.202","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_202 (Oracle)","value":"8.0.202 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java - 1.8.0_181","value":"8.0.181","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_181 (Oracle)","value":"8.0.181 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java - 1.8.0_172","value":"8.0.172","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_172 (Oracle)","value":"8.0.172 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java - 1.8.0_144","value":"8.0.144","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_144","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_111 (Oracle)","value":"8.0.111 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_111","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java - 1.8.0_102","value":"8.0.102","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_102","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_92","value":"8.0.92","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_92","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2030-12-31T00:00:00Z"}}},{"displayText":"Java - 1.8.0_73 (Oracle)","value":"8.0.73 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_73","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java - 1.8.0_60 (Oracle)","value":"8.0.60 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_60","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java - 1.8.0_25 (Oracle)","value":"8.0.25 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_25","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}}]},{"displayText":"Java - 7","value":"7","minorVersions":[{"displayText":"Java 7","value":"7.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7","isAutoUpdate":true,"isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java - 1.7.0_292","value":"7.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_292","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java - 1.7.0_272","value":"7.0.272","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_272","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java - 1.7.0_262","value":"7.0.262","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_262","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java - 1.7.0_242","value":"7.0.242","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_242_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java - 1.7.0_222","value":"7.0.222","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_222_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java - 1.7.0_191","value":"7.0.191","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_191_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"},"endOfLifeDate":"2023-07-01T00:00:00Z"}}},{"displayText":"Java - 1.7.0_80 (Oracle)","value":"7.0.80 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_80","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java - 1.7.0_71 (Oracle)","value":"7.0.71 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_71","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}},{"displayText":"Java - 1.7.0_51 (Oracle)","value":"7.0.51 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_51","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~2"}}}}]}]}},{"id":null,"name":"javacontainers","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java - Containers","value":"javacontainers","majorVersions":[{"displayText":"Java - SE (Embedded Web Server)","value":"javase","minorVersions":[{"displayText":"Java - SE (Embedded Web Server)","value":"SE","stackSettings":{"windowsContainerSettings":{"javaContainer":"JAVA","javaContainerVersion":"SE","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java25Runtime":"JAVA|25-java25","java21Runtime":"JAVA|21-java21","java17Runtime":"JAVA|17-java17","java11Runtime":"JAVA|11-java11","java8Runtime":"JAVA|8-jre8","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8-jre8"},{"runtimeVersion":"11","runtime":"JAVA|11-java11"},{"runtimeVersion":"17","runtime":"JAVA|17-java17"},{"runtimeVersion":"21","runtime":"JAVA|21-java21"},{"runtimeVersion":"25","runtime":"JAVA|25-java25"}]}}},{"displayText":"Java - SE 25.0.1","value":"25.0.1","stackSettings":{"linuxContainerSettings":{"java25Runtime":"JAVA|25.0.1","runtimes":[{"runtimeVersion":"25","runtime":"JAVA|25.0.1"}]}}},{"displayText":"Java - SE 25.0.0","value":"25.0.0","stackSettings":{"linuxContainerSettings":{"java25Runtime":"JAVA|25.0.0","runtimes":[{"runtimeVersion":"25","runtime":"JAVA|25.0.0"}]}}},{"displayText":"Java - SE 21.0.9","value":"21.0.9","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.9","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.9"}]}}},{"displayText":"Java - SE 21.0.8","value":"21.0.8","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.8","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.8"}]}}},{"displayText":"Java - SE 21.0.7","value":"21.0.7","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.7","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.7"}]}}},{"displayText":"Java - SE 21.0.6","value":"21.0.6","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.6","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.6"}]}}},{"displayText":"Java - SE 21.0.5","value":"21.0.5","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.5","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.5"}]}}},{"displayText":"Java - SE 21.0.4","value":"21.0.4","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.4","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.4"}]}}},{"displayText":"Java - SE 21.0.3","value":"21.0.3","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.3","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.3"}]}}},{"displayText":"Java - SE 21.0.1","value":"21.0.1","stackSettings":{"linuxContainerSettings":{"java21Runtime":"JAVA|21.0.1","runtimes":[{"runtimeVersion":"21","runtime":"JAVA|21.0.1"}]}}},{"displayText":"Java - SE 17.0.17","value":"17.0.17","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.17","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.17"}]}}},{"displayText":"Java - SE 17.0.16","value":"17.0.16","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.16","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.16"}]}}},{"displayText":"Java - SE 17.0.15","value":"17.0.15","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.15","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.15"}]}}},{"displayText":"Java - SE 17.0.14","value":"17.0.14","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.14","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.14"}]}}},{"displayText":"Java - SE 17.0.13","value":"17.0.13","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.13","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.13"}]}}},{"displayText":"Java - SE 17.0.12","value":"17.0.12","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.12","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.12"}]}}},{"displayText":"Java - SE 17.0.11","value":"17.0.11","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.11","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.11"}]}}},{"displayText":"Java - SE 17.0.9","value":"17.0.9","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.9","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.9"}]}}},{"displayText":"Java - SE 17.0.4","value":"17.0.4","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.4","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.4"}]}}},{"displayText":"Java - SE 17.0.3","value":"17.0.3","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.3","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.3"}]}}},{"displayText":"Java - SE 17.0.2","value":"17.0.2","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.2","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.2"}]}}},{"displayText":"Java - SE 17.0.1","value":"17.0.1","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JAVA|17.0.1","runtimes":[{"runtimeVersion":"17","runtime":"JAVA|17.0.1"}]}}},{"displayText":"Java - SE 11.0.29","value":"11.0.29","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.29","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.29"}]}}},{"displayText":"Java - SE 11.0.28","value":"11.0.28","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.28","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.28"}]}}},{"displayText":"Java - SE 11.0.27","value":"11.0.27","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.27","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.27"}]}}},{"displayText":"Java - SE 11.0.26","value":"11.0.26","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.26","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.26"}]}}},{"displayText":"Java - SE 11.0.25","value":"11.0.25","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.25","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.25"}]}}},{"displayText":"Java - SE 11.0.24","value":"11.0.24","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.24","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.24"}]}}},{"displayText":"Java - SE 11.0.23","value":"11.0.23","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.23","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.23"}]}}},{"displayText":"Java - SE 11.0.21","value":"11.0.21","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.21","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.21"}]}}},{"displayText":"Java - SE 11.0.16","value":"11.0.16","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.16","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.16"}]}}},{"displayText":"Java - SE 11.0.15","value":"11.0.15","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.15","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.15"}]}}},{"displayText":"Java - SE 11.0.14","value":"11.0.14","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.14","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.14"}]}}},{"displayText":"Java - SE 11.0.13","value":"11.0.13","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.13","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.13"}]}}},{"displayText":"Java - SE 11.0.12","value":"11.0.12","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.12","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.12"}]}}},{"displayText":"Java - SE 11.0.11","value":"11.0.11","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.11","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.11"}]}}},{"displayText":"Java - SE 11.0.9","value":"11.0.9","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.9","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.9"}]}}},{"displayText":"Java - SE 11.0.7","value":"11.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.7","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.7"}]}}},{"displayText":"Java - SE 11.0.6","value":"11.0.6","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.6","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.6"}]}}},{"displayText":"Java - SE 11.0.5","value":"11.0.5","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.5","runtimes":[{"runtimeVersion":"11","runtime":"JAVA|11.0.5"}]}}},{"displayText":"Java - SE 8u472","value":"1.8.472","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8.0.472","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8.0.472"}]}}},{"displayText":"Java - SE 8u462","value":"1.8.462","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8.0.462","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8.0.462"}]}}},{"displayText":"Java - SE 8u452","value":"1.8.452","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u452","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u452"}]}}},{"displayText":"Java - SE 8u442","value":"1.8.442","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u442","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u442"}]}}},{"displayText":"Java - SE 8u432","value":"1.8.432","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u432","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u432"}]}}},{"displayText":"Java - SE 8u422","value":"1.8.422","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u422","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u422"}]}}},{"displayText":"Java - SE 8u412","value":"1.8.412","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u412","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u412"}]}}},{"displayText":"Java - SE 8u392","value":"1.8.392","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u392","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u392"}]}}},{"displayText":"Java - SE 8u345","value":"1.8.345","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u345","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u345"}]}}},{"displayText":"Java - SE 8u332","value":"1.8.332","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u332","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u332"}]}}},{"displayText":"Java - SE 8u322","value":"1.8.322","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u322","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u322"}]}}},{"displayText":"Java - SE 8u312","value":"1.8.312","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u312","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u312"}]}}},{"displayText":"Java - SE 8u302","value":"1.8.302","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u302","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u302"}]}}},{"displayText":"Java - SE 8u292","value":"1.8.292","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u292","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u292"}]}}},{"displayText":"Java - SE 8u275","value":"1.8.275","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u275","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u275"}]}}},{"displayText":"Java - SE 8u252","value":"1.8.252","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u252","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u252"}]}}},{"displayText":"Java - SE 8u242","value":"1.8.242","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u242","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u242"}]}}},{"displayText":"Java - SE 8u232","value":"1.8.232","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u232","runtimes":[{"runtimeVersion":"8","runtime":"JAVA|8u232"}]}}}]},{"displayText":"Red - Hat JBoss EAP 8.1","value":"jbosseap8.1","minorVersions":[{"displayText":"Red - Hat JBoss EAP 8.1","value":"8.1","stackSettings":{"linuxContainerSettings":{"isHidden":true,"java17Runtime":"JBOSSEAP|8.1.0.1-java17","java21Runtime":"JBOSSEAP|8.1.0.1-java21","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"17","runtime":"JBOSSEAP|8.1.0.1-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.1.0.1-java21"}]}}},{"displayText":"Red - Hat JBoss EAP 8.1 update 1","value":"8.1.0.1","stackSettings":{"linuxContainerSettings":{"isHidden":true,"java17Runtime":"JBOSSEAP|8.1.0.1-java17","java21Runtime":"JBOSSEAP|8.1.0.1-java21","runtimes":[{"runtimeVersion":"17","runtime":"JBOSSEAP|8.1.0.1-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.1.0.1-java21"}]}}}]},{"displayText":"Red - Hat JBoss EAP 8.1 BYO License","value":"jbosseap8.1_byol","minorVersions":[{"displayText":"Red - Hat JBoss EAP 8.1","value":"8.1","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JBOSSEAP|8.1.0.1-java17_byol","java21Runtime":"JBOSSEAP|8.1.0.1-java21_byol","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"17","runtime":"JBOSSEAP|8-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8-java21"}]}}},{"displayText":"Red - Hat JBoss EAP 8.1 update 0.1","value":"8.1.0.1","stackSettings":{"linuxContainerSettings":{"java17Runtime":"JBOSSEAP|8.1.0.1-java17_byol","java21Runtime":"JBOSSEAP|8.1.0.1-java21_byol","runtimes":[{"runtimeVersion":"17","runtime":"JBOSSEAP|8.1.0.1-java17_byol"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.1.0.1-java21_byol"}]}}}]},{"displayText":"Red - Hat JBoss EAP 8.0","value":"jbosseap8.0","minorVersions":[{"displayText":"Red - Hat JBoss EAP 8.0","value":"8.0","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8-java11","java17Runtime":"JBOSSEAP|8-java17","java21Runtime":"JBOSSEAP|8-java21","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8-java21"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 9.1","value":"8.0.9.1","stackSettings":{"linuxContainerSettings":{"isHidden":true,"java11Runtime":"JBOSSEAP|8.0.9.1-java11","java17Runtime":"JBOSSEAP|8.0.9.1-java17","java21Runtime":"JBOSSEAP|8.0.9.1-java21","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.9.1-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.9.1-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.0.9.1-java21"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 8","value":"8.0.8","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.8-java11","java17Runtime":"JBOSSEAP|8.0.8-java17","java21Runtime":"JBOSSEAP|8.0.8-java21","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.8-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.8-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.0.8-java21"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 7","value":"8.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.7-java11","java17Runtime":"JBOSSEAP|8.0.7-java17","java21Runtime":"JBOSSEAP|8.0.7-java21","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.7-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.7-java17"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.0.7-java21"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 5.1","value":"8.0.5.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.5.1-java11","java17Runtime":"JBOSSEAP|8.0.5.1-java17","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.5.1-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.5.1-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 4.1","value":"8.0.4.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.4.1-java11","java17Runtime":"JBOSSEAP|8.0.4.1-java17","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.4.1-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.4.1-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 3","value":"8.0.3","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.3-java11","java17Runtime":"JBOSSEAP|8.0.3-java17","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.3-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.3-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 2.1","value":"8.0.2.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.2.1-java11","java17Runtime":"JBOSSEAP|8.0.2.1-java17","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.2.1-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.2.1-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 1","value":"8.0.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.1-java11","java17Runtime":"JBOSSEAP|8.0.1-java17","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.1-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.1-java17"}]}}}]},{"displayText":"Red - Hat JBoss EAP 8.0 BYO License","value":"jbosseap8.0_byol","minorVersions":[{"displayText":"Red - Hat JBoss EAP 8.0 BYO License","value":"8.0","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8-java11_byol","java17Runtime":"JBOSSEAP|8-java17_byol","java21Runtime":"JBOSSEAP|8-java21_byol","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8-java17_byol"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8-java21_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 9.1","value":"8.0.9.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.9.1-java11_byol","java17Runtime":"JBOSSEAP|8.0.9.1-java17_byol","java21Runtime":"JBOSSEAP|8.0.9.1-java21_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.9.1-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.9.1-java17_byol"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.0.9.1-java21_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 7","value":"8.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.7-java11_byol","java17Runtime":"JBOSSEAP|8.0.7-java17_byol","java21Runtime":"JBOSSEAP|8.0.7-java21_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.7-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.7-java17_byol"},{"runtimeVersion":"21","runtime":"JBOSSEAP|8.0.7-java21_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 5.1","value":"8.0.5.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.5.1-java11_byol","java17Runtime":"JBOSSEAP|8.0.5.1-java17_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.5.1-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.5.1-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 4.1 BYO License","value":"8.0.4.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.4.1-java11_byol","java17Runtime":"JBOSSEAP|8.0.4.1-java17_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.4.1-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.4.1-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 8 update 3 BYO License","value":"8.0.3","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.3-java11_byol","java17Runtime":"JBOSSEAP|8.0.3-java17_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.3-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.3-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 8.0 update 2.1 BYO License","value":"8.0.2","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.2-java11_byol","java17Runtime":"JBOSSEAP|8.0.2-java17_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.2-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.2-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 8 update 1 BYO License","value":"8.0.1","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JBOSSEAP|8.0.1-java11_byol","java17Runtime":"JBOSSEAP|8.0.1-java17_byol","runtimes":[{"runtimeVersion":"11","runtime":"JBOSSEAP|8.0.1-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|8.0.1-java17_byol"}]}}}]},{"displayText":"Red - Hat JBoss EAP 7","value":"jbosseap","minorVersions":[{"displayText":"Red Hat - JBoss EAP 7","value":"7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7-java8","java11Runtime":"JBOSSEAP|7-java11","java17Runtime":"JBOSSEAP|7-java17","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.23","value":"7.4.23","stackSettings":{"linuxContainerSettings":{"isHidden":true,"java8Runtime":"JBOSSEAP|7.4.23-java8","java11Runtime":"JBOSSEAP|7.4.23-java11","java17Runtime":"JBOSSEAP|7.4.23-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.23-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.23-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.23-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.22","value":"7.4.22","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.22-java8","java11Runtime":"JBOSSEAP|7.4.22-java11","java17Runtime":"JBOSSEAP|7.4.22-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.22-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.22-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.22-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.21","value":"7.4.21","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.21-java8","java11Runtime":"JBOSSEAP|7.4.21-java11","java17Runtime":"JBOSSEAP|7.4.21-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.21-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.21-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.21-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.20","value":"7.4.20","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.20-java8","java11Runtime":"JBOSSEAP|7.4.20-java11","java17Runtime":"JBOSSEAP|7.4.20-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.20-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.20-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.20-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.18","value":"7.4.18","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.18-java8","java11Runtime":"JBOSSEAP|7.4.18-java11","java17Runtime":"JBOSSEAP|7.4.18-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.18-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.18-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.18-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.17","value":"7.4.17","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.17-java8","java11Runtime":"JBOSSEAP|7.4.17-java11","java17Runtime":"JBOSSEAP|7.4.17-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.17-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.17-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.17-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.16","value":"7.4.16","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.16-java8","java11Runtime":"JBOSSEAP|7.4.16-java11","java17Runtime":"JBOSSEAP|7.4.16-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.16-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.16-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.16-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.13","value":"7.4.13","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.13-java8","java11Runtime":"JBOSSEAP|7.4.13-java11","java17Runtime":"JBOSSEAP|7.4.13-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.13-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.13-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.13-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.7","value":"7.4.7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.7-java8","java11Runtime":"JBOSSEAP|7.4.7-java11","java17Runtime":"JBOSSEAP|7.4.7-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.7-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.7-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.7-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.5","value":"7.4.5","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.5-java8","java11Runtime":"JBOSSEAP|7.4.5-java11","java17Runtime":"JBOSSEAP|7.4.5-java17","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.5-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.5-java11"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.5-java17"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.2","value":"7.4.2","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.2-java8","java11Runtime":"JBOSSEAP|7.4.2-java11","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.2-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.2-java11"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.1","value":"7.4.1","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.1-java8","java11Runtime":"JBOSSEAP|7.4.1-java11","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.1-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.1-java11"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.0","value":"7.4.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.0-java8","java11Runtime":"JBOSSEAP|7.4.0-java11","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.0-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.0-java11"}]}}},{"displayText":"Red - Hat JBoss EAP 7.3.10","value":"7.3.10","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3.10-java8","java11Runtime":"JBOSSEAP|7.3.10-java11","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.3.10-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.3.10-java11"}]}}},{"displayText":"Red - Hat JBoss EAP 7.3.9","value":"7.3.9","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3.9-java8","java11Runtime":"JBOSSEAP|7.3.9-java11","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.3.9-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.3.9-java11"}]}}},{"displayText":"Red - Hat JBoss EAP 7.3","value":"7.3","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3-java8","java11Runtime":"JBOSSEAP|7.3-java11","isAutoUpdate":true,"isHidden":true,"runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.3-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.3-java11"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4","value":"7.4","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4-java8","java11Runtime":"JBOSSEAP|7.4-java11","isAutoUpdate":true,"isHidden":true,"runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4-java8"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4-java11"}]}}},{"displayText":"JBoss - EAP 7.2","value":"7.2.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.2-java8","isDeprecated":true,"runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.2-java8"}]}}}]},{"displayText":"Red - Hat JBoss EAP 7 BYO License","value":"jbosseap7_byol","minorVersions":[{"displayText":"Red - Hat JBoss EAP 7 BYO License","value":"7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7-java8_byol","java11Runtime":"JBOSSEAP|7-java11_byol","java17Runtime":"JBOSSEAP|7-java17_byol","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.23","value":"7.4.23","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.23-java8_byol","java11Runtime":"JBOSSEAP|7.4.23-java11_byol","java17Runtime":"JBOSSEAP|7.4.23-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.23-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.23-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.23-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.22","value":"7.4.22","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.22-java8_byol","java11Runtime":"JBOSSEAP|7.4.22-java11_byol","java17Runtime":"JBOSSEAP|7.4.22-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.22-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.22-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.22-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.21 BYO License","value":"7.4.21","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.21-java8_byol","java11Runtime":"JBOSSEAP|7.4.21-java11_byol","java17Runtime":"JBOSSEAP|7.4.21-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.21-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.21-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.21-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.20 BYO License","value":"7.4.20","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.20-java8_byol","java11Runtime":"JBOSSEAP|7.4.20-java11_byol","java17Runtime":"JBOSSEAP|7.4.20-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.20-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.20-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.20-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.18 BYO License","value":"7.4.18","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.18-java8_byol","java11Runtime":"JBOSSEAP|7.4.18-java11_byol","java17Runtime":"JBOSSEAP|7.4.18-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.18-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.18-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.18-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.16 BYO License","value":"7.4.16","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.16-java8_byol","java11Runtime":"JBOSSEAP|7.4.16-java11_byol","java17Runtime":"JBOSSEAP|7.4.16-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.16-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.16-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.16-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.13 BYO License","value":"7.4.13","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.13-java8_byol","java11Runtime":"JBOSSEAP|7.4.13-java11_byol","java17Runtime":"JBOSSEAP|7.4.13-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.13-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.13-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.13-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.7 BYO License","value":"7.4.7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.7-java8_byol","java11Runtime":"JBOSSEAP|7.4.7-java11_byol","java17Runtime":"JBOSSEAP|7.4.7-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.7-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.7-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.7-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.5 BYO License","value":"7.4.5","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.5-java8_byol","java11Runtime":"JBOSSEAP|7.4.5-java11_byol","java17Runtime":"JBOSSEAP|7.4.5-java17_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.5-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.5-java11_byol"},{"runtimeVersion":"17","runtime":"JBOSSEAP|7.4.5-java17_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.2 BYO License","value":"7.4.2","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.2-java8_byol","java11Runtime":"JBOSSEAP|7.4.2-java11_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.2-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.2-java11_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.1 BYO License","value":"7.4.1","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.1-java8_byol","java11Runtime":"JBOSSEAP|7.4.1-java11_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.1-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.1-java11_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.4.0 BYO License","value":"7.4.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.4.0-java8_byol","java11Runtime":"JBOSSEAP|7.4.0-java11_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.4.0-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.4.0-java11_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.3.10 BYO License","value":"7.3.10","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3.10-java8_byol","java11Runtime":"JBOSSEAP|7.3.10-java11_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.3.10-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.3.10-java11_byol"}]}}},{"displayText":"Red - Hat JBoss EAP 7.3.9 BYO License","value":"7.3.9","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3.9-java8_byol","java11Runtime":"JBOSSEAP|7.3.9-java11_byol","runtimes":[{"runtimeVersion":"8","runtime":"JBOSSEAP|7.3.9-java8_byol"},{"runtimeVersion":"11","runtime":"JBOSSEAP|7.3.9-java11_byol"}]}}}]},{"displayText":"Apache - Tomcat 11.0","value":"tomcat11.0","minorVersions":[{"displayText":"Apache - Tomcat 11.0","value":"11.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java25Runtime":"TOMCAT|11.0-java25","java21Runtime":"TOMCAT|11.0-java21","java17Runtime":"TOMCAT|11.0-java17","java11Runtime":"TOMCAT|11.0-java11","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|11.0-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|11.0-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|11.0-java25"}]}}},{"displayText":"Apache - Tomcat 11.0.15","value":"11.0.15","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.15","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|11.0-java11","java17Runtime":"TOMCAT|11.0.15-java17","java21Runtime":"TOMCAT|11.0.15-java21","java25Runtime":"TOMCAT|11.0.15-java25","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|11.0-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|11.0.15-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.15-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|11.0.15-java25"}]}}},{"displayText":"Apache - Tomcat 11.0.11","value":"11.0.11","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.11","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.11-java17","java21Runtime":"TOMCAT|11.0.11-java21","java25Runtime":"TOMCAT|11.0.11-java25","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.11-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.11-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|11.0.11-java25"}]}}},{"displayText":"Apache - Tomcat 11.0.9","value":"11.0.9","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.9","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.9-java17","java21Runtime":"TOMCAT|11.0.9-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.9-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.9-java21"}]}}},{"displayText":"Apache - Tomcat 11.0.8","value":"11.0.8","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.8","isHidden":true,"runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.8-java17","java21Runtime":"TOMCAT|11.0.8-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.8-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.8-java21"}]}}},{"displayText":"Apache - Tomcat 11.0.7","value":"11.0.7","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.7","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"isHidden":true,"java17Runtime":"TOMCAT|11.0.7-java17","java21Runtime":"TOMCAT|11.0.7-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.7-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.7-java21"}]}}},{"displayText":"Apache - Tomcat 11.0.6","value":"11.0.6","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.6","isHidden":true,"runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.6-java17","java21Runtime":"TOMCAT|11.0.6-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.6-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.6-java21"}]}}},{"displayText":"Apache - Tomcat 11.0.5","value":"11.0.5","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.5","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.5-java17","java21Runtime":"TOMCAT|11.0.5-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.5-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.5-java21"}]}}},{"displayText":"Apache - Tomcat 11.0.4","value":"11.0.4","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.4","isHidden":true,"runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.4-java17","java21Runtime":"TOMCAT|11.0.4-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.4-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.4-java21"}]}}},{"displayText":"Apache - Tomcat 11.0.2","value":"11.0.2","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.2","runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.2-java17","java21Runtime":"TOMCAT|11.0.2-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.2-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.2-java21"}]}}},{"displayText":"Apache - Tomcat 11.0.1","value":"11.0.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"11.0.1","isHidden":true,"runtimes":[{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|11.0.1-java17","java21Runtime":"TOMCAT|11.0.1-java21","runtimes":[{"runtimeVersion":"17","runtime":"TOMCAT|11.0.1-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|11.0.1-java21"}]}}}]},{"displayText":"Apache - Tomcat 10.1","value":"tomcat10.1","minorVersions":[{"displayText":"Apache - Tomcat 10.1","value":"10.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java25Runtime":"TOMCAT|10.1-java25","java21Runtime":"TOMCAT|10.1-java21","java17Runtime":"TOMCAT|10.1-java17","java11Runtime":"TOMCAT|10.1-java11","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|10.1-java25"}]}}},{"displayText":"Apache - Tomcat 10.1.50","value":"10.1.50","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.50","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.50-java11","java17Runtime":"TOMCAT|10.1.50-java17","java21Runtime":"TOMCAT|10.1.50-java21","java25Runtime":"TOMCAT|10.1.50-java25","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.50-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.50-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.50-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|10.1.50-java25"}]}}},{"displayText":"Apache - Tomcat 10.1.46","value":"10.1.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.46","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.46-java11","java17Runtime":"TOMCAT|10.1.46-java17","java21Runtime":"TOMCAT|10.1.46-java21","java25Runtime":"TOMCAT|10.1.46-java25","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.46-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.46-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.46-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|10.1.46-java25"}]}}},{"displayText":"Apache - Tomcat 10.1.43","value":"10.1.43","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.43","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.43-java11","java17Runtime":"TOMCAT|10.1.43-java17","java21Runtime":"TOMCAT|10.1.43-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.43-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.43-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.43-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.42","value":"10.1.42","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.42","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.42-java11","java17Runtime":"TOMCAT|10.1.42-java17","java21Runtime":"TOMCAT|10.1.42-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.42-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.42-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.42-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.41","value":"10.1.41","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.41","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"isHidden":true,"java11Runtime":"TOMCAT|10.1.41-java11","java17Runtime":"TOMCAT|10.1.41-java17","java21Runtime":"TOMCAT|10.1.41-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.41-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.41-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.41-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.40","value":"10.1.40","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.40","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.40-java11","java17Runtime":"TOMCAT|10.1.40-java17","java21Runtime":"TOMCAT|10.1.40-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.40-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.40-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.40-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.39","value":"10.1.39","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.39","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.39-java11","java17Runtime":"TOMCAT|10.1.39-java17","java21Runtime":"TOMCAT|10.1.39-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.39-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.39-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.39-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.36","value":"10.1.36","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.36","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.36-java11","java17Runtime":"TOMCAT|10.1.36-java17","java21Runtime":"TOMCAT|10.1.36-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.36-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.36-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.36-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.34","value":"10.1.34","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.34","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.34-java11","java17Runtime":"TOMCAT|10.1.34-java17","java21Runtime":"TOMCAT|10.1.34-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.34-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.34-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.34-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.33","value":"10.1.33","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.33","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.33-java11","java17Runtime":"TOMCAT|10.1.33-java17","java21Runtime":"TOMCAT|10.1.33-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.33-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.33-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.33-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.31","value":"10.1.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.31","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.31-java11","java17Runtime":"TOMCAT|10.1.31-java17","java21Runtime":"TOMCAT|10.1.31-java21","isHidden":true,"runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.31-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.31-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.31-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.28","value":"10.1.28","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.28","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.28-java11","java17Runtime":"TOMCAT|10.1.28-java17","java21Runtime":"TOMCAT|10.1.28-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.28-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.28-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.28-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.25","value":"10.1.25","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.25","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.25-java11","java17Runtime":"TOMCAT|10.1.25-java17","java21Runtime":"TOMCAT|10.1.25-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.25-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.25-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.25-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.23","value":"10.1.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.23","isHidden":true,"runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.23-java11","java17Runtime":"TOMCAT|10.1.23-java17","java21Runtime":"TOMCAT|10.1.23-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.23-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.23-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.23-java21"}]}}},{"displayText":"Apache - Tomcat 10.1.16","value":"10.1.16","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.1.16","runtimes":[{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|10.1.16-java11","java17Runtime":"TOMCAT|10.1.16-java17","java21Runtime":"TOMCAT|10.1.16-java21","runtimes":[{"runtimeVersion":"11","runtime":"TOMCAT|10.1.16-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.1.16-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|10.1.16-java21"}]}}}]},{"displayText":"Apache - Tomcat 10.0","value":"tomcat10.0","minorVersions":[{"displayText":"Apache - Tomcat 10.0","value":"10.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0","isAutoUpdate":true,"endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java17Runtime":"TOMCAT|10.0-java17","java11Runtime":"TOMCAT|10.0-java11","java8Runtime":"TOMCAT|10.0-jre8","isAutoUpdate":true,"endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0-jre8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0-java17"}]}}},{"displayText":"Apache - Tomcat 10.0.27","value":"10.0.27","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0.27","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|10.0.27-java8","java11Runtime":"TOMCAT|10.0.27-java11","java17Runtime":"TOMCAT|10.0.27-java17","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0.27-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0.27-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0.27-java17"}]}}},{"displayText":"Apache - Tomcat 10.0.23","value":"10.0.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0.23","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|10.0.23-java8","java11Runtime":"TOMCAT|10.0.23-java11","java17Runtime":"TOMCAT|10.0.23-java17","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0.23-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0.23-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0.23-java17"}]}}},{"displayText":"Apache - Tomcat 10.0.21","value":"10.0.21","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0.21","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|10.0.21-java8","java11Runtime":"TOMCAT|10.0.21-java11","java17Runtime":"TOMCAT|10.0.21-java17","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0.21-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0.21-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0.21-java17"}]}}},{"displayText":"Apache - Tomcat 10.0.20","value":"10.0.20","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0.20","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|10.0.20-java8","java11Runtime":"TOMCAT|10.0.20-java11","java17Runtime":"TOMCAT|10.0.20-java17","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0.20-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0.20-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0.20-java17"}]}}},{"displayText":"Apache - Tomcat 10.0.12","value":"10.0.12","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"10.0.12","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|10.0.12-java8","java11Runtime":"TOMCAT|10.0.12-java11","java17Runtime":"TOMCAT|10.0.12-java17","endOfLifeDate":"2022-10-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|10.0.12-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|10.0.12-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|10.0.12-java17"}]}}}]},{"displayText":"Apache - Tomcat 9.0","value":"tomcat9.0","minorVersions":[{"displayText":"Apache Tomcat - 9.0","value":"9.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java25Runtime":"TOMCAT|9.0-java25","java21Runtime":"TOMCAT|9.0-java21","java17Runtime":"TOMCAT|9.0-java17","java11Runtime":"TOMCAT|9.0-java11","java8Runtime":"TOMCAT|9.0-jre8","isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0-jre8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|9.0-java25"}]}}},{"displayText":"Apache - Tomcat 9.0.113","value":"9.0.113","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.113","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.113-java8","java11Runtime":"TOMCAT|9.0.113-java11","java17Runtime":"TOMCAT|9.0.113-java17","java21Runtime":"TOMCAT|9.0.113-java21","java25Runtime":"TOMCAT|9.0.113-java25","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.113-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.113-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.113-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.113-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|9.0.113-java25"}]}}},{"displayText":"Apache - Tomcat 9.0.109","value":"9.0.109","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.109","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"},{"runtimeVersion":"25"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.109-java8","java11Runtime":"TOMCAT|9.0.109-java11","java17Runtime":"TOMCAT|9.0.109-java17","java21Runtime":"TOMCAT|9.0.109-java21","java25Runtime":"TOMCAT|9.0.109-java25","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.109-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.109-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.109-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.109-java21"},{"runtimeVersion":"25","runtime":"TOMCAT|9.0.109-java25"}]}}},{"displayText":"Apache - Tomcat 9.0.107","value":"9.0.107","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.107","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.107-java8","java11Runtime":"TOMCAT|9.0.107-java11","java17Runtime":"TOMCAT|9.0.107-java17","java21Runtime":"TOMCAT|9.0.107-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.107-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.107-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.107-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.107-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.106","value":"9.0.106","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.106","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.106-java8","java11Runtime":"TOMCAT|9.0.106-java11","java17Runtime":"TOMCAT|9.0.106-java17","java21Runtime":"TOMCAT|9.0.106-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.106-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.106-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.106-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.106-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.105","value":"9.0.105","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.105","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"isHidden":true,"java8Runtime":"TOMCAT|9.0.105-java8","java11Runtime":"TOMCAT|9.0.105-java11","java17Runtime":"TOMCAT|9.0.105-java17","java21Runtime":"TOMCAT|9.0.105-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.105-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.105-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.105-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.105-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.104","value":"9.0.104","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.104","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.104-java8","java11Runtime":"TOMCAT|9.0.104-java11","java17Runtime":"TOMCAT|9.0.104-java17","java21Runtime":"TOMCAT|9.0.104-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.104-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.104-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.104-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.104-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.102","value":"9.0.102","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.102","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.102-java8","java11Runtime":"TOMCAT|9.0.102-java11","java17Runtime":"TOMCAT|9.0.102-java17","java21Runtime":"TOMCAT|9.0.102-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.102-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.102-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.102-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.102-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.100","value":"9.0.100","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.100","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.100-java8","java11Runtime":"TOMCAT|9.0.100-java11","java17Runtime":"TOMCAT|9.0.100-java17","java21Runtime":"TOMCAT|9.0.100-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.100-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.100-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.100-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.100-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.98","value":"9.0.98","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.98","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.98-java8","java11Runtime":"TOMCAT|9.0.98-java11","java17Runtime":"TOMCAT|9.0.98-java17","java21Runtime":"TOMCAT|9.0.98-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.98-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.98-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.98-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.98-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.97","value":"9.0.97","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.97","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.97-java8","java11Runtime":"TOMCAT|9.0.97-java11","java17Runtime":"TOMCAT|9.0.97-java17","java21Runtime":"TOMCAT|9.0.97-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.97-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.97-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.97-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.97-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.96","value":"9.0.97","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.96","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.96-java8","java11Runtime":"TOMCAT|9.0.96-java11","java17Runtime":"TOMCAT|9.0.96-java17","java21Runtime":"TOMCAT|9.0.96-java21","isHidden":true,"runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.96-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.96-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.96-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.96-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.93","value":"9.0.93","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.93","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.93-java8","java11Runtime":"TOMCAT|9.0.93-java11","java17Runtime":"TOMCAT|9.0.93-java17","java21Runtime":"TOMCAT|9.0.93-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.93-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.93-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.93-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.93-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.91","value":"9.0.91","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.91","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.91-java8","java11Runtime":"TOMCAT|9.0.91-java11","java17Runtime":"TOMCAT|9.0.91-java17","java21Runtime":"TOMCAT|9.0.91-java21","isHidden":true,"runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.91-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.91-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.91-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.91-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.90","value":"9.0.90","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.90","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.90-java8","java11Runtime":"TOMCAT|9.0.90-java11","java17Runtime":"TOMCAT|9.0.90-java17","java21Runtime":"TOMCAT|9.0.90-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.90-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.90-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.90-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.90-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.88","value":"9.0.88","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.88","isHidden":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.88-java8","java11Runtime":"TOMCAT|9.0.88-java11","java17Runtime":"TOMCAT|9.0.88-java17","java21Runtime":"TOMCAT|9.0.88-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.88-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.88-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.88-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.88-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.83","value":"9.0.83","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.83","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.83-java8","java11Runtime":"TOMCAT|9.0.83-java11","java17Runtime":"TOMCAT|9.0.83-java17","java21Runtime":"TOMCAT|9.0.83-java21","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.83-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.83-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.83-java17"},{"runtimeVersion":"21","runtime":"TOMCAT|9.0.83-java21"}]}}},{"displayText":"Apache - Tomcat 9.0.65","value":"9.0.65","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.65","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.65-java8","java11Runtime":"TOMCAT|9.0.65-java11","java17Runtime":"TOMCAT|9.0.65-java17","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.65-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.65-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.65-java17"}]}}},{"displayText":"Apache - Tomcat 9.0.63","value":"9.0.63","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.63","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.63-java8","java11Runtime":"TOMCAT|9.0.63-java11","java17Runtime":"TOMCAT|9.0.63-java17","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.63-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.63-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.63-java17"}]}}},{"displayText":"Apache - Tomcat 9.0.62","value":"9.0.62","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.62","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.62-java8","java11Runtime":"TOMCAT|9.0.62-java11","java17Runtime":"TOMCAT|9.0.62-java17","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.62-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.62-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.62-java17"}]}}},{"displayText":"Apache - Tomcat 9.0.54","value":"9.0.54","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.54","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.54-java8","java11Runtime":"TOMCAT|9.0.54-java11","java17Runtime":"TOMCAT|9.0.54-java17","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.54-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.54-java11"},{"runtimeVersion":"17","runtime":"TOMCAT|9.0.54-java17"}]}}},{"displayText":"Apache - Tomcat 9.0.52","value":"9.0.52","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.52","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.52-java8","java11Runtime":"TOMCAT|9.0.52-java11","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.52-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.52-java11"}]}}},{"displayText":"Apache - Tomcat 9.0.46","value":"9.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.46","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.46-java8","java11Runtime":"TOMCAT|9.0.46-java11","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.46-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.46-java11"}]}}},{"displayText":"Apache - Tomcat 9.0.41","value":"9.0.41","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.41-java8","java11Runtime":"TOMCAT|9.0.41-java11","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.41-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.41-java11"}]}}},{"displayText":"Apache - Tomcat 9.0.38","value":"9.0.38","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.38","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 9.0.37","value":"9.0.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.37","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.37-java11","java8Runtime":"TOMCAT|9.0.37-java8","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.37-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.37-java11"}]}}},{"displayText":"Apache - Tomcat 9.0.33","value":"9.0.33","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.33-java11","java8Runtime":"TOMCAT|9.0.33-java8","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.33-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.33-java11"}]}}},{"displayText":"Apache - Tomcat 9.0.31","value":"9.0.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.31","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 9.0.27","value":"9.0.27","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.27","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 9.0.21","value":"9.0.21","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.21","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 9.0.20","value":"9.0.20","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.20-java11","java8Runtime":"TOMCAT|9.0.20-java8","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|9.0.20-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|9.0.20-java11"}]}}},{"displayText":"Apache - Tomcat 9.0.14","value":"9.0.14","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.14","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 9.0.12","value":"9.0.12","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.12","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 9.0.8","value":"9.0.8","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.8","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 9.0.0","value":"9.0.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.0","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"Apache - Tomcat 8.5","value":"tomcat8.5","minorVersions":[{"displayText":"Apache Tomcat - 8.5","value":"8.5","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5","isAutoUpdate":true,"endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5-java11","java8Runtime":"TOMCAT|8.5-jre8","isAutoUpdate":true,"endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5-jre8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5-java11"}]}}},{"displayText":"Apache - Tomcat 8.5.100","value":"8.5.100","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.100-java8","java11Runtime":"TOMCAT|8.5.100-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.100-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.100-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.100","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.96","value":"8.5.96","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.96-java8","java11Runtime":"TOMCAT|8.5.96-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.96-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.96-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.96","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.82","value":"8.5.82","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.82-java8","java11Runtime":"TOMCAT|8.5.82-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.82-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.82-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.82","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.79","value":"8.5.79","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.79-java8","java11Runtime":"TOMCAT|8.5.79-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.79-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.79-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.79","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.78","value":"8.5.78","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.78-java8","java11Runtime":"TOMCAT|8.5.78-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.78-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.78-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.78","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.72","value":"8.5.72","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.72-java8","java11Runtime":"TOMCAT|8.5.72-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.72-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.72-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.72","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.69","value":"8.5.69","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.69-java8","java11Runtime":"TOMCAT|8.5.69-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.69-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.69-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.69","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.66","value":"8.5.66","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.66-java8","java11Runtime":"TOMCAT|8.5.66-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.66-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.66-java11"}]},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.66","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.61","value":"8.5.61","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.61-java8","java11Runtime":"TOMCAT|8.5.61-java11","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.61-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.61-java11"}]}}},{"displayText":"Apache - Tomcat 8.5.58","value":"8.5.58","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.58","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.57","value":"8.5.57","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.57","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.57-java11","java8Runtime":"TOMCAT|8.5.57-java8","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.57-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.57-java11"}]}}},{"displayText":"Apache - Tomcat 8.5.53","value":"8.5.53","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.53-java11","java8Runtime":"TOMCAT|8.5.53-java8","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.53-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.53-java11"}]}}},{"displayText":"Apache - Tomcat 8.5.51","value":"8.5.51","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.51","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.47","value":"8.5.47","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.47","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.42","value":"8.5.42","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.42","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.41","value":"8.5.41","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.41-java11","java8Runtime":"TOMCAT|8.5.41-java8","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8","runtime":"TOMCAT|8.5.41-java8"},{"runtimeVersion":"11","runtime":"TOMCAT|8.5.41-java11"}]}}},{"displayText":"Apache - Tomcat 8.5.37","value":"8.5.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.37","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.34","value":"8.5.34","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.34","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.31","value":"8.5.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.31","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.20","value":"8.5.20","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.20","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.5.6","value":"8.5.6","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.6","endOfLifeDate":"2024-03-31T00:00:00Z","runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"Apache - Tomcat 8.0","value":"tomcat8.0","minorVersions":[{"displayText":"Apache Tomcat - 8.0","value":"8.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0","isAutoUpdate":true,"isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.0.53","value":"8.0.53","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.53","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.0.46","value":"8.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.46","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 8.0.23","value":"8.0.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.23","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"Apache - Tomcat 7.0","value":"tomcat7.0","minorVersions":[{"displayText":"Apache Tomcat - 7.0","value":"7.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0","isAutoUpdate":true,"isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 7.0.94","value":"7.0.94","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.94","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 7.0.81","value":"7.0.81","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.81","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 7.0.62","value":"7.0.62","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.62","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Apache - Tomcat 7.0.50","value":"7.0.50","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.50","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"Jetty - 9.3","value":"jetty9.3","minorVersions":[{"displayText":"Jetty 9.3","value":"9.3","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3","isAutoUpdate":true,"isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Jetty - 9.3.25","value":"9.3.25","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.25","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Jetty - 9.3.13","value":"9.3.13","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.13","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"Jetty - 9.1","value":"jetty9.1","minorVersions":[{"displayText":"Jetty 9.1","value":"9.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1","isAutoUpdate":true,"isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}},{"displayText":"Jetty - 9.1.0","value":"9.1.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1.0","isDeprecated":true,"runtimes":[{"runtimeVersion":"8"},{"runtimeVersion":"11"},{"runtimeVersion":"17"},{"runtimeVersion":"21"}]}}}]},{"displayText":"WildFly - 14","value":"wildfly14","minorVersions":[{"displayText":"WildFly 14","value":"14","stackSettings":{"linuxContainerSettings":{"java8Runtime":"WILDFLY|14-jre8","isDeprecated":true,"isAutoUpdate":true,"runtimes":[{"runtimeVersion":"8","runtime":"WILDFLY|14-jre8"}]}}},{"displayText":"WildFly - 14.0.1","value":"14.0.1","stackSettings":{"linuxContainerSettings":{"isDeprecated":true,"java8Runtime":"WILDFLY|14.0.1-java8","runtimes":[{"runtimeVersion":"8","runtime":"WILDFLY|14.0.1-java8"}]}}}]}]}},{"id":null,"name":"staticsite","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"HTML - (Static Content)","value":"staticsite","preferredOs":"linux","majorVersions":[{"displayText":"HTML - (Static Content)","value":"1","minorVersions":[{"displayText":"HTML (Static - Content)","value":"1.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"STATICSITE|1.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"gitHubActionSettings":{"isSupported":false}}}}]}]}},{"id":null,"name":"go","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Go","value":"go","preferredOs":"linux","majorVersions":[{"displayText":"Go - 1","value":"go1","minorVersions":[{"displayText":"Go 1.19 (Experimental)","value":"go1.19","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"GO|1.19","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"isHidden":false,"isEarlyAccess":false}}},{"displayText":"Go - 1.18 (Experimental)","value":"go1.18","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"GO|1.18","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"supportedFeatures":{"disableSsh":true},"appSettingsDictionary":{"ApplicationInsightsAgent_EXTENSION_VERSION":"~3"},"isHidden":false,"isEarlyAccess":false,"isDeprecated":true}}}]}]}}],"nextLink":null,"id":null}' - headers: - cache-control: - - no-cache - content-length: - - '188189' - content-type: - - application/json - date: - - Mon, 22 Jun 2026 17:56:18 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-operation-identifier: - - '' - x-msedge-ref: - - 'Ref A: B936FF28D4C145A4A8BA28FA28DD5E9D Ref B: SN4AA2022301017 Ref C: 2026-06-22T17:56:19Z' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"location": "West Europe", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003", - "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": - "v4.6", "linuxFxVersion": "NODE|22-lts", "appSettings": [], "alwaysOn": true, - "localMySqlEnabled": false, "http20Enabled": true, "http20ProxyFlag": 0}, "scmSiteAlsoStopped": - false, "httpsOnly": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - webapp create - Connection: - - keep-alive - Content-Length: - - '493' - Content-Type: - - application/json - ParameterSetName: - - -g -n --plan --runtime - User-Agent: - - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-status000002?api-version=2024-11-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-status000002","name":"webapp-status000002","type":"Microsoft.Web/sites","kind":"app,linux","location":"West - Europe","properties":{"name":"webapp-status000002","state":"Running","hostNames":["webapp-status000002.azurewebsites.net"],"webSpace":"clitest.rg000001-WestEuropewebspace-Linux","selfLink":"https://waws-prod-am2-845.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestEuropewebspace-Linux/sites/webapp-status000002","repositorySiteName":"webapp-status000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"siteScopedCertificatesEnabled":false,"afdEnabled":false,"enabledHostNames":["webapp-status000002.azurewebsites.net","webapp-status000002.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":"NODE|22-lts"},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"webapp-status000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"virtualIPv6":null,"thumbprint":null,"certificateResourceId":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-status000002.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"virtualIPv6":null,"thumbprint":null,"certificateResourceId":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"hostNamePrivateStates":[],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-status000003","reserved":true,"isXenon":false,"hyperV":false,"sandboxType":null,"lastModifiedTimeUtc":"2026-06-22T17:56:22.2666667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","dnsConfiguration":{},"containerAllocationSubnet":null,"useContainerLocalhostBindings":null,"outboundVnetRouting":{"allTraffic":false,"applicationTraffic":false,"contentShareTraffic":false,"imagePullTraffic":false,"backupRestoreTraffic":false,"managedIdentityTraffic":false},"legacyServiceEndpointTrafficEvaluation":null,"siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","windowsFxVersion":null,"sandboxType":null,"windowsConfiguredStacks":null,"requestTracingEnabled":null,"remoteDebuggingEnabled":null,"remoteDebuggingVersion":null,"httpLoggingEnabled":null,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":null,"detailedErrorLoggingEnabled":null,"publishingUsername":null,"publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":null,"managedPipelineMode":null,"virtualApplications":null,"winAuthAdminState":null,"winAuthTenantState":null,"customAppPoolIdentityAdminState":null,"customAppPoolIdentityTenantState":null,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":null,"routingRules":null,"experiments":null,"limits":null,"autoHealEnabled":null,"autoHealRules":null,"tracingOptions":null,"vnetName":null,"vnetRouteAllEnabled":null,"vnetPrivatePortsCount":null,"publicNetworkAccess":null,"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":null,"managedServiceIdentityId":null,"xManagedServiceIdentityId":null,"keyVaultReferenceIdentity":null,"ipSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":2147483647,"name":"Allow - all","description":"Allow all access"}],"ipSecurityRestrictionsDefaultAction":null,"scmIpSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":2147483647,"name":"Allow - all","description":"Allow all access"}],"scmIpSecurityRestrictionsDefaultAction":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":false,"minTlsVersion":null,"minTlsCipherSuite":null,"scmMinTlsCipherSuite":null,"supportedTlsCipherSuites":null,"scmSupportedTlsCipherSuites":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":null,"elasticWebAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null,"storageType":null,"sitePrivateLinkHostEnabled":null,"clusteringEnabled":false,"webJobsEnabled":false},"functionAppConfig":null,"daprConfig":null,"aiIntegration":null,"deploymentId":"webapp-status000002","slotName":null,"trafficManagerHostNames":null,"sku":"Standard","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientAffinityProxyEnabled":false,"useQueryStringAffinity":false,"blockPathTraversal":false,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"clientCertExclusionEndPoints":null,"hostNamesDisabled":false,"ipMode":"IPv4","domainVerificationIdentifiers":null,"customDomainVerificationId":"2F7B81DDDAE96D2410D356B4CFF039C0B73A564388117D18AF81EC552C057092","kind":"app,linux","managedEnvironmentId":null,"workloadProfileName":null,"resourceConfig":null,"inboundIpAddress":"20.105.216.146","possibleInboundIpAddresses":"20.105.216.146","inboundIpv6Address":"2603:1020:206:8::d2","possibleInboundIpv6Addresses":"2603:1020:206:8::d2","ftpUsername":"webapp-status000002\\$webapp-status000002","ftpsHostName":"ftps://waws-prod-am2-845.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.101.16.194,52.157.236.53,20.93.251.173,20.103.232.140,20.238.174.202,20.50.250.45,20.103.47.131,20.67.3.24,20.238.248.83,20.23.26.104,52.142.235.151,98.64.52.89,20.105.216.146","possibleOutboundIpAddresses":"20.101.16.194,52.157.236.53,20.93.251.173,20.103.232.140,20.238.174.202,20.50.250.45,20.103.47.131,20.67.3.24,20.238.248.83,20.23.26.104,52.142.235.151,98.64.52.89,20.71.9.29,20.73.139.26,20.31.214.173,52.157.218.154,20.73.127.131,20.8.220.124,40.74.3.152,51.105.238.121,20.82.33.9,20.31.251.47,51.105.151.190,20.76.158.113,51.124.55.59,20.76.49.206,4.175.103.251,52.157.226.216,20.86.237.155,20.238.197.78,20.105.216.146","outboundIpv6Addresses":"2603:1020:203:1f::102,2603:1020:203:15::43,2603:1020:203:b::12b,2603:1020:203:d::f9,2603:1020:203:9::105,2603:1020:203:a::128,2603:1020:203:14::7c,2603:1020:203:12::e1,2603:1020:203:13::176,2603:1020:203:1f::f9,2603:1020:203:18::13f,2603:1020:203:12::f8,2603:1020:206:8::d2,2603:10e1:100:2::1469:d892,2603:1020:206:7::d2,2603:10e1:100:2::1469:f353","possibleOutboundIpv6Addresses":"2603:1020:203:1f::102,2603:1020:203:15::43,2603:1020:203:b::12b,2603:1020:203:d::f9,2603:1020:203:9::105,2603:1020:203:a::128,2603:1020:203:14::7c,2603:1020:203:12::e1,2603:1020:203:13::176,2603:1020:203:1f::f9,2603:1020:203:18::13f,2603:1020:203:12::f8,2603:1020:201:f::79,2603:1020:203:1f::fc,2603:1020:203:16::106,2603:1020:203:12::fa,2603:1020:203:c::115,2603:1020:203:12::fc,2603:1020:203:18::140,2603:1020:203:f::ee,2603:1020:201:e::2,2603:1020:203:c::166,2603:1020:203:10::8e,2603:1020:203:1e::e8,2603:1020:203:b::130,2603:1020:203:a::12e,2603:1020:203:a::154,2603:1020:203:f::129,2603:1020:203:8::11,2603:1020:203:c::16a,2603:1020:206:8::d2,2603:10e1:100:2::1469:d892,2603:1020:206:7::d2,2603:10e1:100:2::1469:f353","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-am2-845","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-status000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":true,"endToEndEncryptionEnabled":false,"functionsRuntimeAdminIsolationEnabled":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"publicNetworkAccess":"Enabled","buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServicePlatformLogs,ScanLogs,AppServiceAuthenticationLogs,AppServiceAuditLogs,AppServiceIPSecAuditLogs","inFlightFeatures":null,"storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned","autoGeneratedDomainNameLabelScope":null,"privateLinkIdentifiers":null,"sshEnabled":null,"maintenanceEnabled":false}}' - headers: - cache-control: - - no-cache - content-length: - - '9120' - content-type: - - application/json - date: - - Mon, 22 Jun 2026 17:56:43 GMT - etag: - - '"1DD0270701D2315"' - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-operation-identifier: - - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=662529f8-d039-4bcc-9a54-78fd767d9bdf/westeurope/440633cf-81d3-4d90-be0b-ee54ae613867 - x-ms-ratelimit-remaining-subscription-resource-requests: - - '99' - x-msedge-ref: - - 'Ref A: B6338422FAB249889B39724516DD9EE0 Ref B: SN4AA2022305035 Ref C: 2026-06-22T17:56:19Z' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"format": "WebDeploy"}' - headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - webapp create - Connection: - - keep-alive - Content-Length: - - '23' - Content-Type: - - application/json - ParameterSetName: - - -g -n --plan --runtime - User-Agent: - - AZURECLI/2.86.0 azsdk-python-core/1.39.0 Python/3.14.0 (Windows-11-10.0.26100-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-status000002/publishxml?api-version=2024-11-01 - response: - body: - string: - headers: - cache-control: - - no-cache - content-length: - - '1418' - content-type: - - application/xml - date: - - Mon, 22 Jun 2026 17:56:43 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-operation-identifier: - - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=662529f8-d039-4bcc-9a54-78fd767d9bdf/westeurope/f809392e-6cfa-4852-96b8-6c5b3b1e0024 - x-ms-ratelimit-remaining-subscription-resource-requests: - - '199' - x-msedge-ref: - - 'Ref A: 8D14FDAEAE374B6C810F8005F19314F0 Ref B: SN4AA2022302029 Ref C: 2026-06-22T17:56:43Z' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, zstd - CommandName: - - webapp status - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.14.0 (Windows-11-10.0.26100-SP0) AZURECLI/2.86.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-status000002/siteStatus?api-version=2024-11-01 - response: - body: - string: '{"id":null,"name":"webapp-status000002","type":"Microsoft.Web/sites","location":"West - Europe","properties":[{"instanceId":"620a8bfd12e4843dcc11b7e2a7bc86e73b03ad742d71cdd204057eb46ff95fcc","state":"Starting","action":"WaitingForSiteWarmUpProbeSuccess","lastError":"","lastErrorDetails":"","lastErrorTimestamp":"0001-01-01T00:00:00","details":"Pinging - warmup path to ensure container is ready to receive requests.","detailsLevel":"INFO"}]}' - headers: - cache-control: - - no-cache - content-length: - - '438' - content-type: - - application/json - date: - - Mon, 22 Jun 2026 17:56:48 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-cache: - - CONFIG_NOCACHE - x-content-type-options: - - nosniff - x-ms-operation-identifier: - - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=662529f8-d039-4bcc-9a54-78fd767d9bdf/westeurope/81db469b-d264-4e4b-903f-f46213437b78 - x-ms-ratelimit-remaining-subscription-global-reads: - - '16499' - x-msedge-ref: - - 'Ref A: 710A781C1EF74326A608C94FCB4484CF Ref B: SN4AA2022304037 Ref C: 2026-06-22T17:56:45Z' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -version: 1 diff --git a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py index 84bed34d01c..9e99bef8136 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py @@ -340,26 +340,6 @@ def test_create_names_are_substrings(self, resource_group_one, resource_group_tw ]) -class WebappStatusScenarioTest(ScenarioTest): - @AllowLargeResponse() - @ResourceGroupPreparer(location=WINDOWS_ASP_LOCATION_WEBAPP) - def test_webapp_status(self, resource_group): - webapp_name = self.create_random_name(prefix='webapp-status', length=24) - plan = self.create_random_name(prefix='plan-status', length=24) - self.cmd('appservice plan create -g {} -n {} --sku S1 --is-linux'.format(resource_group, plan)) - self.cmd('webapp create -g {} -n {} --plan {} --runtime "NODE|22-lts"'.format(resource_group, webapp_name, plan), checks=[ - JMESPathCheck('name', webapp_name) - ]) - - # Site Runtime Status aggregated across all running instances of the app - status = self.cmd('webapp status -g {} -n {}'.format(resource_group, webapp_name)).get_output_in_json() - instances = status['properties'] - self.assertTrue(isinstance(instances, list)) - for instance in instances: - self.assertIn('instanceId', instance) - self.assertIn('state', instance) - - class BackupRestoreTest(ScenarioTest): @AllowLargeResponse() @ResourceGroupPreparer(parameter_name='resource_group', location=WINDOWS_ASP_LOCATION_WEBAPP) diff --git a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py index 423010c4e05..0e5b68720eb 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py @@ -39,9 +39,7 @@ list_startup_logs, show_startup_log, troubleshoot_status, - create_webapp, - show_webapp_status) -from azure.cli.command_modules.appservice.commands import transform_webapp_status_output + create_webapp) # pylint: disable=line-too-long from azure.cli.core.profiles import ResourceType @@ -1035,13 +1033,13 @@ def test_troubleshoot_status_all_instances(self, requests_get_mock, send_raw_req {'a3f1b': 'lw0sdlwk0008PB', 'b4d22': 'lw1sdlwk0009EF'}))), mock.MagicMock(json=mock.MagicMock(return_value=self._arm_response(arm_items))), ] - # Real KuduLite response is a list with the summary nested under "Startup". + # Real KuduLite response is a single list with one entry per instance. a3f1b_startup = {'Successful': 1, 'Failed': 0} b4d22_startup = {'Successful': 0, 'Failed': 3} - requests_get_mock.side_effect = [ - self._make_response(200, json_data=[{'InstanceId': 'lw0sdlwk0008PB', 'Startup': a3f1b_startup}]), - self._make_response(200, json_data=[{'InstanceId': 'lw1sdlwk0009EF', 'Startup': b4d22_startup}]), - ] + requests_get_mock.return_value = self._make_response(200, json_data=[ + {'InstanceId': 'lw0sdlwk0008PB', 'Startup': a3f1b_startup}, + {'InstanceId': 'lw1sdlwk0009EF', 'Startup': b4d22_startup}, + ]) result = troubleshoot_status(self.cmd, 'myRG', 'myApp') @@ -1057,13 +1055,12 @@ def test_troubleshoot_status_all_instances(self, requests_get_mock, send_raw_req 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000' '/resourceGroups/myRG/providers/Microsoft.Web/sites/myApp/siteStatus?api-version=2025-05-01', ]) - # One startup-summary call per instance, filtered by machine name. - self.assertEqual(requests_get_mock.call_count, 2) - called_urls = [call_args.args[0] for call_args in requests_get_mock.call_args_list] - self.assertEqual(called_urls, [ - 'https://myapp.scm.azurewebsites.net/api/startuplogs/summary?instance=lw0sdlwk0008PB', - 'https://myapp.scm.azurewebsites.net/api/startuplogs/summary?instance=lw1sdlwk0009EF', - ]) + # Single unfiltered SCM call returns every instance in one response. + requests_get_mock.assert_called_once_with( + 'https://myapp.scm.azurewebsites.net/api/startuplogs/summary', + headers={'Authorization': 'Bearer token'}, + timeout=30, + ) @mock.patch('azure.cli.command_modules.appservice.custom.get_scm_site_headers', return_value={'Authorization': 'Bearer token'}) @@ -1102,6 +1099,7 @@ def test_troubleshoot_status_single_instance(self, requests_get_mock, send_raw_r requests_get_mock.assert_called_once_with( 'https://myapp.scm.azurewebsites.net/api/startuplogs/summary?instance=lw0sdlwk0007AB', headers={'Authorization': 'Bearer token'}, + timeout=30, ) @mock.patch('azure.cli.command_modules.appservice.custom.get_scm_site_headers', @@ -1209,6 +1207,35 @@ def test_troubleshoot_status_raises_on_windows(self): troubleshoot_status(self.cmd, 'myRG', 'myWindowsApp') self.assertIn('Linux', str(cm.exception)) + @mock.patch('azure.cli.command_modules.appservice.custom.get_scm_site_headers', + return_value={'Authorization': 'Bearer token'}) + @mock.patch('azure.cli.command_modules.appservice.custom._get_scm_url', + return_value='https://myapp.scm.azurewebsites.net') + @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') + @mock.patch('requests.get') + @mock.patch('azure.cli.command_modules.appservice.custom._render_troubleshoot_status') + def test_troubleshoot_status_report_flag_renders_and_returns_none( + self, render_mock, requests_get_mock, send_raw_request_mock, + _scm_url_mock, _headers_mock): + """With --report, command calls the renderer and returns None (no structured payload).""" + arm_item = {'instanceId': '7c2d9', 'state': 'Running'} + send_raw_request_mock.side_effect = [ + mock.MagicMock(json=mock.MagicMock(return_value=self._instances_payload( + {'7c2d9': 'lw0sdlwk0007AB'}))), + mock.MagicMock(json=mock.MagicMock(return_value=self._arm_response(arm_item))), + ] + requests_get_mock.return_value = self._make_response( + 200, json_data=[{'InstanceId': 'lw0sdlwk0007AB', + 'Startup': {'Successful': 1, 'Failed': 0}}]) + + result = troubleshoot_status(self.cmd, 'myRG', 'myApp', report=True) + + self.assertIsNone(result) + render_mock.assert_called_once() + rendered_payload = render_mock.call_args.args[0] + self.assertEqual(rendered_payload['name'], 'myApp') + self.assertEqual(rendered_payload['instances'][0]['instanceId'], '7c2d9') + class TestRuntimeFailedHintMocked(unittest.TestCase): """Tests that the TIP hint appears in RuntimeFailed and timeout errors.""" @@ -1278,121 +1305,6 @@ def test_timeout_includes_startup_log_hint(self, send_raw_mock, time_mock, self.assertIn('Timeout', error_msg) -class TestWebappStatusMocked(unittest.TestCase): - - def setUp(self): - self.cmd = _get_test_cmd() - self.cmd.cli_ctx.cloud.endpoints.resource_manager = 'https://management.azure.com' - self.cmd.cli_ctx.invocation = mock.MagicMock() - self.cmd.cli_ctx.invocation.data = {} - - @staticmethod - def _status_response(): - return { - 'id': '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG' - '/providers/Microsoft.Web/sites/myApp', - 'name': 'myApp', - 'type': 'Microsoft.Web/sites', - 'location': 'East US', - 'properties': [ - { - 'instanceId': '6d3f0a2b8e5c4d1fb97a3c6e2f4a1b09', - 'state': 'Started', - 'action': 'SiteStarted', - 'lastError': 'StaleError', - 'lastErrorDetails': 'Previously failed to start', - 'lastErrorTimestamp': '2026-06-01T00:00:00Z', - 'details': 'Operation completed', - 'detailsLevel': 'Information' - }, - { - 'instanceId': 'f29b7c145ad8e63b0a1f8d4c5e9b2a70', - 'state': 'Starting', - 'action': 'PullingImage', - 'lastError': 'ImagePullFailed', - 'lastErrorDetails': 'Manifest not found', - 'lastErrorTimestamp': '2026-06-02T00:00:00Z', - 'details': 'Pulling container image', - 'detailsLevel': 'Warning' - } - ] - } - - @mock.patch('azure.cli.core.commands.client_factory.get_subscription_id', return_value='00000000-0000-0000-0000-000000000000') - @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') - def test_show_webapp_status_builds_url(self, send_raw_request_mock, _get_subscription_id_mock): - send_raw_request_mock.return_value.json.return_value = self._status_response() - - result = show_webapp_status(self.cmd, 'myRG', 'myApp') - - self.assertEqual(result, self._status_response()) - send_raw_request_mock.assert_called_once_with( - self.cmd.cli_ctx, - 'GET', - 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000' - '/resourceGroups/myRG/providers/Microsoft.Web/sites/myApp/siteStatus?api-version=2025-05-01' - ) - - @mock.patch('azure.cli.core.commands.client_factory.get_subscription_id', return_value='00000000-0000-0000-0000-000000000000') - @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') - def test_show_webapp_status_filters_slot_instance(self, send_raw_request_mock, _get_subscription_id_mock): - instance_response = { - 'name': 'myApp', - 'type': 'Microsoft.Web/sites', - 'properties': self._status_response()['properties'][1] - } - send_raw_request_mock.return_value.json.return_value = instance_response - - result = show_webapp_status(self.cmd, 'myRG', 'myApp', slot='staging', - instance='f29b7c145ad8e63b0a1f8d4c5e9b2a70') - - self.assertEqual(result, instance_response) - send_raw_request_mock.assert_called_once_with( - self.cmd.cli_ctx, - 'GET', - 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000' - '/resourceGroups/myRG/providers/Microsoft.Web/sites/myApp/slots/staging' - '/siteStatus/f29b7c145ad8e63b0a1f8d4c5e9b2a70?api-version=2025-05-01' - ) - - @mock.patch('azure.cli.core.commands.client_factory.get_subscription_id', return_value='00000000-0000-0000-0000-000000000000') - @mock.patch('azure.cli.command_modules.appservice.custom.send_raw_request') - def test_show_webapp_status_raises_for_missing_instance(self, send_raw_request_mock, _get_subscription_id_mock): - error = HttpResponseError(message='Not found') - error.status_code = 404 - send_raw_request_mock.side_effect = error - - with self.assertRaises(ResourceNotFoundError): - show_webapp_status(self.cmd, 'myRG', 'myApp', instance='missing-instance') - - def test_transform_webapp_status_output_shows_errors(self): - rows = transform_webapp_status_output(self._status_response()) - - self.assertEqual(rows[0]['InstanceId'], '6d3f0a2b8e5c4d1fb97a3c6e2f4a1b09') - self.assertEqual(rows[0]['State'], 'Started') - self.assertEqual(rows[0]['Action'], 'SiteStarted') - self.assertEqual(rows[0]['LastError'], 'StaleError') - self.assertEqual(rows[0]['LastErrorDetails'], 'Previously failed to start') - self.assertEqual(rows[0]['LastErrorTimestamp'], '2026-06-01T00:00:00Z') - self.assertEqual(rows[0]['Details'], 'Operation completed') - self.assertEqual(rows[0]['DetailsLevel'], 'Information') - self.assertEqual(rows[1]['LastError'], 'ImagePullFailed') - self.assertEqual(rows[1]['LastErrorDetails'], 'Manifest not found') - - def test_transform_webapp_status_output_omits_error_columns_when_no_error(self): - healthy = { - 'properties': [ - {'instanceId': '6d3f0a2b8e5c4d1fb97a3c6e2f4a1b09', 'state': 'Started', 'action': 'None', - 'lastError': None, 'lastErrorDetails': None, 'lastErrorTimestamp': None, - 'details': 'Site is running', 'detailsLevel': 'INFO'} - ] - } - rows = transform_webapp_status_output(healthy) - - self.assertEqual(list(rows[0].keys()), - ['InstanceId', 'State', 'Action', 'Details', 'DetailsLevel']) - - class FakedResponse: # pylint: disable=too-few-public-methods def __init__(self, status_code): self.status_code = status_code From fd869fa945440dde721453d3a74cf61c4ee2674a Mon Sep 17 00:00:00 2001 From: Amber Amos Date: Wed, 1 Jul 2026 11:29:13 -0700 Subject: [PATCH 3/3] updates based on json field change --- .../cli/command_modules/appservice/custom.py | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/appservice/custom.py b/src/azure-cli/azure/cli/command_modules/appservice/custom.py index a21d153677f..1ba3bf8330e 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/custom.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/custom.py @@ -6812,17 +6812,25 @@ def _outcome_style(outcome): def _count_style(count, kind): - """Style for a numeric count. kind='failed' -> ERROR when > 0; 'successful' -> SUCCESS when > 0.""" + """Style for a numeric count. kind='failed' -> ERROR when > 0; 'successful' -> SUCCESS when > 0. + Accepts either an int/str integer (e.g. 3, "3") or a KuduLite capped-count + string like "50+" (parsed as the leading integer for the > 0 test).""" from azure.cli.core.style import Style + text = str(count) try: - n = int(count) + n = int(text) except (TypeError, ValueError): - return Style.PRIMARY, str(count) + # Handle capped forms like "50+" — parse the leading digits. + import re as _re + m = _re.match(r'\d+', text) + n = int(m.group(0)) if m else None + if n is None: + return Style.PRIMARY, text if kind == 'failed' and n > 0: - return Style.ERROR, str(n) + return Style.ERROR, text if kind == 'successful' and n > 0: - return Style.SUCCESS, str(n) - return Style.PRIMARY, str(n) + return Style.SUCCESS, text + return Style.PRIMARY, text def _short_id(instance_id):