Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Groupe de sécurité | Créer (révision requise)
Créez un groupe de sécurité et associez-le éventuellement aux ressources AWS.
Classification complète : Déploiement | Composants de pile avancés | Groupe de sécurité | Créer (révision requise)
Détails du type de modification
Modifier l'identifiant du type |
ct-1oxx2g2d7hc90 |
Version actuelle |
2.0 |
Durée d'exécution prévue |
240 minutes |
Approbation AWS |
Obligatoire |
Approbation du client |
Non requis si l'expéditeur est soumis |
Mode d'exécution |
Manuelle |
Informations supplémentaires
Créer un groupe de sécurité (révision requise)
Capture d'écran de ce type de modification dans la console AMS :
Comment cela fonctionne :
Accédez à la page Créer une RFC : Dans le volet de navigation de gauche de la console AMS, cliquez RFCspour ouvrir la page de RFCs liste, puis cliquez sur Créer une RFC.
Choisissez un type de modification (CT) populaire dans la vue Parcourir les types de modification par défaut, ou sélectionnez un CT dans la vue Choisir par catégorie.
Parcourir par type de modification : vous pouvez cliquer sur un CT populaire dans la zone de création rapide pour ouvrir immédiatement la page Run RFC. Notez que vous ne pouvez pas choisir une ancienne version CT avec création rapide.
Pour trier CTs, utilisez la zone Tous les types de modifications dans l'affichage Carte ou Tableau. Dans l'une ou l'autre vue, sélectionnez un CT, puis cliquez sur Créer une RFC pour ouvrir la page Exécuter une RFC. Le cas échéant, une option Créer avec une ancienne version apparaît à côté du bouton Créer une RFC.
Choisissez par catégorie : sélectionnez une catégorie, une sous-catégorie, un article et une opération et la zone de détails du CT s'ouvre avec une option permettant de créer avec une ancienne version, le cas échéant. Cliquez sur Créer une RFC pour ouvrir la page Exécuter une RFC.
Sur la page Run RFC, ouvrez la zone de nom du CT pour voir la boîte de détails du CT. Un sujet est requis (il est renseigné pour vous si vous choisissez votre CT dans la vue Parcourir les types de modification). Ouvrez la zone de configuration supplémentaire pour ajouter des informations sur le RFC.
Dans la zone Configuration de l'exécution, utilisez les listes déroulantes disponibles ou entrez des valeurs pour les paramètres requis. Pour configurer les paramètres d'exécution facultatifs, ouvrez la zone de configuration supplémentaire.
Lorsque vous avez terminé, cliquez sur Exécuter. S'il n'y a aucune erreur, la page RFC créée avec succès s'affiche avec les détails de la RFC soumise et le résultat d'exécution initial.
Ouvrez la zone Paramètres d'exécution pour voir les configurations que vous avez soumises. Actualisez la page pour mettre à jour l'état d'exécution de la RFC. Vous pouvez éventuellement annuler la RFC ou en créer une copie à l'aide des options en haut de la page.
Comment cela fonctionne :
Utilisez soit le Inline Create (vous émettez une
create-rfccommande avec tous les paramètres RFC et d'exécution inclus), soit le Template Create (vous créez deux fichiers JSON, un pour les paramètres RFC et un pour les paramètres d'exécution) et émettez lacreate-rfccommande avec les deux fichiers en entrée. Les deux méthodes sont décrites ici.Soumettez la
aws amscm submit-rfc --rfc-idcommande RFC : avec l'ID RFC renvoyé.IDSurveillez la
aws amscm get-rfc --rfc-idcommande RFC :.ID
Pour vérifier la version du type de modification, utilisez cette commande :
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
Note
Vous pouvez utiliser n'importe quel CreateRfc paramètre avec n'importe quelle RFC, qu'ils fassent ou non partie du schéma du type de modification. Par exemple, pour recevoir des notifications lorsque le statut de la RFC change, ajoutez cette ligne --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" aux paramètres RFC de la demande (et non aux paramètres d'exécution). Pour obtenir la liste de tous les CreateRfc paramètres, consultez le manuel AMS Change Management API Reference.
CRÉATION EN LIGNE :
Émettez la commande create RFC avec les paramètres d'exécution fournis en ligne (évitez les guillemets lorsque vous fournissez des paramètres d'exécution en ligne), puis soumettez l'ID RFC renvoyé. Par exemple, vous pouvez remplacer le contenu par quelque chose comme ceci :
aws --profile saml amscm create-rfc --change-type-id "ct-1oxx2g2d7hc90" --change-type-version "2.0" --title "Test-SG-RR" --execution-parameters "{\"Description\":\"Test-SG-RR\", \"Name\":\"Test-SG-IC\", \"InboundRules\":{\"Protocol\":\"TCP\", \"PortRange\":\"49152-65535\, \"Source\":\"203.0.113.5/32\"}, \"OutboundRules\":{\"Protocol\":\"TCP\", \"PortRange\":\"49152-65535\, \"Destination\":\"203.0.113.5/32\"}}"
CRÉATION D'UN MODÈLE :
Afficher le schéma JSON des paramètres d'exécution pour ce type de modification dans un fichier ; cet exemple le nomme CreateSgRrParams .json.
aws amscm get-change-type-version --change-type-id "ct-1oxx2g2d7hc90" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateSgRrParams.jsonModifiez et enregistrez le CreateSgRrParams fichier. Par exemple, vous pouvez remplacer le contenu par quelque chose comme ceci :
{ "Description": "SG-Create-With-Review", "Name": "My-SG", "VpcId": "vpc-12345abc", "InboundRules": { "Protocol": "TRAFFIC_PROTOCOL", "PortRange": "PORT_RANGE", "Source": "TRAFFIC_SOURCE" }, "OutboundRules": { "Protocol": "TRAFFIC_PROTOCOL", "PortRange": "PORT_RANGE", "Destination": "TRAFFIC_DESTINATION" } }Exportez le fichier JSON du modèle RFC dans un fichier nommé CreateSgRrRfc .json :
aws amscm create-rfc --generate-cli-skeleton > CreateSgRrRfc.jsonModifiez et enregistrez le fichier CreateSgRrRfc .json. Par exemple, vous pouvez remplacer le contenu par quelque chose comme ceci :
{ "ChangeTypeVersion": "2.0", "ChangeTypeId": "ct-1oxx2g2d7hc90", "Title": "SG-Create-RR-RFC" }Créez la RFC en spécifiant le CreateSgRrRfc fichier et le CreateSgRrParams fichier :
aws amscm create-rfc --cli-input-json file://CreateSgRrRfc.json --execution-parameters file://CreateSgRrParams.jsonVous recevez l'identifiant de la nouvelle RFC dans la réponse et pouvez l'utiliser pour soumettre et surveiller la RFC. Tant que vous ne l'avez pas soumise, la RFC reste en cours d'édition et ne démarre pas.
Note
Il existe un type de modification automatique pour créer un groupe de sécurité, Deployment | Advanced stack components | Security group | Create (aucune révision requise) (ct-3pc215bnwb6p7) qui fournit des options pour les règles d'entrée et de sortie TCP et ICMP. Si ces règles sont adéquates, le type de modification Create (auto) s'exécutera plus rapidement que ce type de modification. Pour plus de détails, voir Groupe de sécurité | Créer.
Note
Une fois le groupe de sécurité créé, utilisez Security Group | Associate pour associer le groupe de sécurité à vos ressources AMS. Pour supprimer un groupe de sécurité, il doit être associé à des ressources.
Note
Les règles sortantes ne sont pas obligatoires ; toutefois, si elles ne sont pas spécifiées, une « règle 127.0.0.1/32 Blackhole » est utilisée, ce qui signifie que la ressource ne pourra communiquer qu'avec elle-même et non avec d'autres ressources. Vous pouvez voir cette règle de sortie par défaut lorsque vous utilisez la console AMS, mais pas lorsque vous utilisez l'API/CLI AMS.
Il s'agit d'un type de modification « nécessitant une révision » (un opérateur AMS doit examiner et exécuter le CT), ce qui signifie que l'exécution de la RFC peut prendre plus de temps et que vous devrez peut-être communiquer avec AMS via l'option de correspondance de la page de détails du RFC. De plus, si vous planifiez une RFC de type « révision requise », veillez à prévoir au moins 24 heures. Si l'approbation n'a pas lieu avant l'heure de début prévue, la RFC est automatiquement rejetée.
Pour en savoir plus sur les groupes de sécurité AWS et la création de groupes de sécurité, consultez le document de référence sur les règles des groupes de sécurité. Cette page peut vous aider à déterminer les règles que vous souhaitez et, surtout, comment nommer votre groupe de sécurité. Il est donc intuitif de le choisir lors de la création d'autres ressources. Consultez également les groupes EC2 de sécurité Amazon Security Groups for Linux Instances, les groupes and/or de sécurité pour votre VPC.
Pour mieux comprendre la sécurité générale d'AWS, consultez les meilleures pratiques en matière de sécurité, d'identité et de conformité
Une fois le groupe de sécurité créé, utilisez Security Group | Associate pour associer le groupe de sécurité à vos ressources AMS. Pour supprimer un groupe de sécurité, il doit être associé à des ressources.
Paramètres d'entrée d'exécution
Pour des informations détaillées sur les paramètres d'entrée d'exécution, consultezSchéma pour le type de modification ct-1oxx2g2d7hc90.
Exemple : paramètres obligatoires
{ "VpcId": "vpc-12345abc", "Name": "app1-webserver", "Description": "App1 group", "InboundRules": [], "OutboundRules": [] }
Exemple : tous les paramètres
{ "VpcId": "vpc-1234abcd", "Name": "app1-webserver", "Description": "App1 group", "AssociatedResources": [ "i-1234abcd", "i-234abcd1", "i-34abcd12", "i-4abcd123", "i-abcd1234", "i-1234567890abcdefg", "i-234567890abcdefg1", "i-34567890abcdefg12", "i-4567890abcdefg123", "i-567890abcdefg1234" ], "InboundRules": [ { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "TCP", "PortRange":"80", "Source": "192.168.0.0/16", "Description": "Client1" } ], "OutboundRules": [ { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" }, { "Protocol": "ALL", "PortRange": "ALL", "Destination": "192.168.0.0/16", "Description": "Client1" } ], "Priority": "Medium", "Tags": [ { "Key": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV", "Value": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst" }, { "Key": "B", "Value": "bb" }, { "Key": "C", "Value": "cc" }, { "Key": "D", "Value": "dd" }, { "Key": "E", "Value": "ee" }, { "Key": "F", "Value": "ff" }, { "Key": "G", "Value": "gg" }, { "Key": "H", "Value": "hh" }, { "Key": "I", "Value": "ii" }, { "Key": "J", "Value": "jj" }, { "Key": "K", "Value": "kk" }, { "Key": "L", "Value": "ll" }, { "Key": "M", "Value": "mm" }, { "Key": "N", "Value": "nn" }, { "Key": "O", "Value": "oo" }, { "Key": "P", "Value": "pp" }, { "Key": "Q", "Value": "qq" }, { "Key": "R", "Value": "rr" }, { "Key": "S", "Value": "ss" }, { "Key": "T", "Value": "tt" }, { "Key": "U", "Value": "uu" }, { "Key": "V", "Value": "vv" }, { "Key": "W", "Value": "ww" }, { "Key": "X", "Value": "xx" }, { "Key": "Y", "Value": "yy" }, { "Key": "Z", "Value": "zz" }, { "Key": "a", "Value": "aa" }, { "Key": "b", "Value": "bb" }, { "Key": "c", "Value": "cc" }, { "Key": "d", "Value": "dd" }, { "Key": "e", "Value": "ee" }, { "Key": "f", "Value": "ff" }, { "Key": "g", "Value": "gg" }, { "Key": "h", "Value": "hh" }, { "Key": "i", "Value": "ii" }, { "Key": "j", "Value": "jj" }, { "Key": "k", "Value": "kk" }, { "Key": "l", "Value": "ll" }, { "Key": "m", "Value": "mm" }, { "Key": "n", "Value": "nn" }, { "Key": "o", "Value": "oo" }, { "Key": "p", "Value": "pp" }, { "Key": "q", "Value": "qq" }, { "Key": "r", "Value": "rr" }, { "Key": "s", "Value": "ss" }, { "Key": "t", "Value": "tt" }, { "Key": "u", "Value": "uu" }, { "Key": "v", "Value": "vv" }, { "Key": "w", "Value": "ww" }, { "Key": "x", "Value": "xx" } ] }