Génération : instance v1
Contrat : instance.v1.yml
Modules écrits : 28, écartés : 2
Deux couvertures, et elles ne disent pas la même chose
Un seul chiffre ne suffit pas ici, et publier le plus flatteur en laissant croire qu’il désigne l’autre serait exactement le genre de maquillage que ce rapport existe pour empêcher.
ce qu’on mesure |
ratio |
ce que ça veut dire |
|---|---|---|
opérations Day-2 classées pour génération automatique |
97,5 % (39/40) |
aucune règle ne demande de les écrire à la main |
opérations Day-2 portées par un module que cette génération a écrit |
95,0 % (38/40) |
un module existe et les appelle |
Le second dépend du périmètre demandé autant que du générateur : un module hors périmètre et un module que le modèle refuse de construire comptent pareil ici, et se distinguent dans la section suivante, où chaque écart porte sa raison. C’est là que l’écart entre les deux ratios se lit en entier, module par module.
Ce qui est écrit
instance_dashboard_infoinstance_imageinstance_image_infoinstance_ipinstance_ip_actioninstance_ip_infoinstance_placement_groupinstance_placement_group_infoinstance_placement_group_server_infoinstance_security_groupinstance_security_group_infoinstance_security_group_ruleinstance_security_group_rule_infoinstance_serverinstance_server_actioninstance_server_compatible_type_infoinstance_server_infoinstance_server_private_nicinstance_server_private_nic_infoinstance_server_type_availability_infoinstance_server_type_infoinstance_server_user_data_infoinstance_snapshotinstance_snapshot_actioninstance_snapshot_infoinstance_volumeinstance_volume_infoinstance_volume_type_info
Ce qui est écarté, et pourquoi
Un module absent sans explication serait indiscernable d’un module oublié. Chaque écart porte sa raison.
raison |
modules |
|---|---|
classe WORKFLOW : aucun renderer à ce stade (1) |
|
instance_server_user_data : le contrat ne décrit aucun champ du corps de SetServerUserData, donc le module ne saurait pas quoi envoyer. Voir les limites du rapport : un |
|
Ce que le contrat ne dit pas
Rencontré au rendu, et signalé plutôt que comblé par une supposition.
action : 3 valeur(s) du contrat non exposées par override (backup, terminate, enable_routed_ip)
arch : aucune description dans le contrat, comblée par override
boot_type : aucune description dans le contrat, comblée par override
disable_ipv6 : paramètre du contrat masqué par override
dynamic_ip_required : aucune description dans le contrat, comblée par override
enable_ipv6 : aucune description dans le contrat, comblée par override
name : aucune description dans le contrat, comblée par override
name : paramètre du contrat masqué par override
organization : aucune description dans le contrat, comblée par override
private_nics : tableau sans type d’éléments dans le contrat,
strpar repliproject : aucune description dans le contrat, comblée par override
public : aucune description dans le contrat, comblée par override
public_ips : tableau sans type d’éléments dans le contrat,
strpar replisecurity_group : aucune description dans le contrat, comblée par override
security_group_rule_id : aucune description dans le contrat, comblée par override
server : aucune description dans le contrat, comblée par override
tags : aucune description dans le contrat, comblée par override
tags : exposé en liste, joint par des virgules (override)
tags : tableau sans type d’éléments dans le contrat,
strpar replivolumes : aucune description dans le contrat, comblée par override
volumes : paramètre du contrat masqué par override
Comment les modules de gestion comparent
Un module de gestion n’écrit que ce qui diffère, et « diffère » n’a pas le même sens pour un nom et pour une liste de tags. Le type décide ce qu’il peut ; le reste vient d’un override, avec sa raison.
ordered_listest un repli, pas une décision : le contrat ne dit ni l’ordre ni l’unicité d’un tableau. Un paramètre qui y tombe et que l’API réordonne rendrachangedà chaque exécution, et c’est ce compte qui rend la dette visible.stratégie
paramètres
id_list2
mapping3
ordered_list8
scalar36