Puncte:1

Nu pot enumera toate imaginile

drapel cn

Încerc să enumerez toate imaginile care poartă numele Ansible*.

Dacă îl pot scoate, îl pot folosi pentru a curăța AMI-urile mele care sunt create în timpul activității de corecție. Îl încerc prin documentul de automatizare SSM. mai jos este codul pe care il am.

descriere: Acest document este pentru a elimina AMI
schemaVersion: '0.3'
assumeRole: „{{ AutomationAssumeRole }}”
pași principali:
  - nume: getImageId
    acțiune: „aws:executeAwsApi”
    intrări:
      Serviciu: ec2
      Api: DescribeImages
      Filtre:
        - Nume: „nume”
          Valori:
            - „Ansible*”
    iesiri:
      - Nume: ImageId
        Selector: „$.Images[0].ImageId”
        Tip: șir

aici, Selector: „$.Images[0].ImageId” oferă doar primul ID de imagine din listă. Îl pot obține dacă pot da ceva de genul Selector: „$.Images[*].ImageId”, dar acest lucru nu este acceptat de documentul SSM.

poate cineva sa ma ajute va rog cu asta. tot ce vreau este, vreau să listez toate imaginile cu ID-ul AMI.

PS: am scriptul shell și python care face treaba. dar caut documentul AWS SSM Automation din cauza rolurilor și a restricțiilor de politică

Puncte:0
drapel cn

Din teste rapide, nu sunt sigur că poți.

Totuși, puteți face acest lucru pe CLI, așa că poate puteți utiliza boto3 bibliotecă și faceți-o ca script Python prin intermediul executeScript automatizare?

Comanda CLI care funcționează:

aws ec2 describe-images --owners amazon --filters „Nume=nume,Valori=amzn*” --interogare „Imagini[*].Nume” --output json

Actualizați:

Iată un document de automatizare care rulează scriptul Python:

descriere: Obține toate AMI-urile deținute de Amazon.
schemaVersion: '0.3'
assumeRole: „{{ AutomationAssumeRole }}”
pași principali:
  - nume: GetAMIs
    acțiune: „aws:executeScript”
    intrări:
      Timp de rulare: python3.6
      Handler: script_handler
      Script: |-
        import boto3
        import json
        def script_handler(evenimente, context):
          ec2_client = boto3.client('ec2', region_name='eu-west-2')
          imagini = ec2_client.describe_images(Owners=['amazon'],Filters=[{'Name':'name','Values':['amzn*']}])
          prieteni = []
          pentru imagine în imagini['Imagini']:
            amis.append(imagine['ImageId'])
          ieșire = {"AMI-uri": amis[:10]}
          ieșire de întoarcere
    descriere: primește primele 10 AMI-uri Amazon folosind boto3
    iesiri:
      - Selector: $.Payload.AMIs
        Nume: AMI-uri
        Tip: StringList
    timeoutSecunde: 120

Asigurați-vă că schimbați lucruri precum regiunea, șirul de căutare etc.

Raj R avatar
drapel cn
da, am scriptul shell și python care face treaba. dar caut documentul AWS SSM Automation din cauza rolurilor și a restricțiilor de politică
drapel cn
Puteți crea un document de automatizare care rulează un script în python. Este prima opțiune pentru „Tipul de acțiune” în vizualizarea Builder sau `aws:executeScript` în vizualizarea editor.
drapel cn
Nu, rulează în AWS și va folosi rolul pe care îl atribuiți automatizării atunci când o executați.
Raj R avatar
drapel cn
botocore.exceptions.NoCredentialsError: Nu se pot localiza acreditările NoCredentialsError - Nu se pot localiza acreditările aceasta este eroarea pe care o primesc
drapel cn
Înlocuiți valoarea pentru `assumeRole` cu ARN-ul rolului dvs. de automatizare de la IAM.
Raj R avatar
drapel cn
mulțumesc mult. funcționează. am incercat asta de o saptamana. toate au eșuat din cauza acestui rol IAM. acum totul eliberat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.