2015-12-16 6 views
0

Ceci est ma JSON de awscli Je veux xxxxxxxx.cloudfront.net utilisant Origin DomainName example1.com avec requête AWS cli uniquement. {Je connais ce filtrage avec jq, awk et cut, grep}.AWS requête cli pour se rendre à CloudFront "Domain Name" avec le nom d'origine spécifique

"DistributionList": { 
    "Items": [ 
     { 
      "WebACLId": "", 
      "Origins": { 
       "Items": [ 
        { 
         "OriginPath": "", 
         "CustomOriginConfig": { 
          "OriginProtocolPolicy": "http-only", 
          "HTTPPort": 80, 
          "HTTPSPort": 443 
         }, 
         "Id": "DNS for Media Delivery", 
         "DomainName": "example1.com" 
        } 
       ], 
       "Quantity": 1 
      }, 
      "DomainName": "xxxxxxxx.cloudfront.net", 
     }, 
     { 
      "WebACLId": "", 
      "Origins": { 
       "Items": [ 
        { 
         "OriginPath": "", 
         "CustomOriginConfig": { 
          "OriginProtocolPolicy": "http-only", 
          "HTTPPort": 80, 
          "HTTPSPort": 443 
         }, 
         "Id": "DNS for Media Delivery", 
         "DomainName": "example2.com" 
        } 
       ], 
       "Quantity": 1 
      }, 
      "DomainName": "yyyyyyyyyy.cloudfront.net", 
     }, 
     ] 
    } 
+0

Vous avez donc besoin de passer du temps avec l'option '--filter' avec aws cli. – BMW

+0

Je ne pense pas que les filtres sont disponibles avec cloudfront pour AWS CLI – Abhijit

Répondre

1

Comme paramètre AWS CLI --query fonctionne au-dessus de JMESPath vous pouvez construire des filtres impressionnants. réponse à votre question sera:

--query "DistributionList.Items[].{DomainName: DomainName, OriginDomainName: Origins.Items[0].DomainName}[?contains(OriginDomainName, 'example1.com')] | [0]" 

et vous retourner:

{ 
    "DomainName": "xxxxxxxx.cloudfront.net", 
    "OriginDomainName": "example1.com" 
} 

post-scriptum J'espère que ça va aider quelqu'un.

+0

qui était super utile. Peut-il seulement sortir le nom de domaine ainsi la sortie finale est juste '" xxxxxxxx.cloudfront.net "' – supersan

+1

@supersan sure, change juste '... | [0] '=>' ... | [0] .DomainName' –