Skip to content

Le champ icon_id n'est pas mis à jour lors d'un Import visant un logical-server, ni en mettant à jour par un call API #1766

@dschartz

Description

@dschartz

Step pour reproduire:

exporter les logical servers part le point import, puis changer l'icone sur ine icon bien présente ( ajoutée par modification d'un asset par l'UI

Faire un réimport du fichier modifié.

Le même phénomène peut être reproduit en utilisant l'api
par un code similaire
---snip
def get_logical_server(headers, server_id):
"""Get full logical-server object by id (needed for safe updates)."""
url = f"{API_URL}/logical-servers/{server_id}"
response = requests.get(
url,
headers=headers,
proxies={"http": None, "https": None},
verify=False,
timeout=30,
)
print(f"GET /logical-servers/{server_id}:", response.status_code)
response.raise_for_status()

data = response.json()
return data.get("data", data)

def update_virtual_server_icon(headers, server_id, new_icon_id):
"""Update icon_id for a specific virtual server."""

obj = get_logical_server(headers, server_id)
obj["icon_id"] = new_icon_id

print(f"replace IconID {new_icon_id}:", obj["icon_id"])

url = f"{API_URL}/logical-servers/{server_id}"
put_headers = dict(headers)
put_headers["Content-Type"] = "application/json"
response = requests.put(url, json=obj, headers=headers,proxies={"http": None, "https": None}, verify=False)

print(f"PUT /logical-servers/{server_id}:", response.status_code)
if response.status_code == 422:
    # Show validation error details from Mercator
    try:
        print("Validation error:", response.json())
    except ValueError:
        print("Validation error (raw):", response.text)

response.raise_for_status()
return response.json()

---snip

Le code retour de l'appel Api est 200, mais l'icon_id n'est pas changé ( vérifié par export )

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions