Ändern Sie die IP-Einstellungen mit Python in ACL von conoha

Grundsätzlich werden nur Sicherheitsgruppenregeln hinzugefügt und aktualisiert. Daher ist es eine Bedingung, dass bereits eine Sicherheitsgruppe für das Ziel festgelegt wurde.

Eine kleine Erklärung

Code

set_acl.py


#!/usr/bin/env python
import requests
import json
import os

class set_rule():

        def __init__(self): #Initialisieren
                my_ip = ""
                my_token = ""
                my_rule =""

        def set_data(self,rule): #Satz von Sicherheitsgruppen-ID, Token und aktueller IP
                self.my_rule = rule
                with open('my_ip.txt','r') as f:
                        self.my_ip = f.read()

                with open('my_token.txt','r') as f:
                        self.my_token = f.read()

        def remove(self): #Löschen Sie alte Registrierungsinformationen
                rule_data = ''
                rule_flug = os.path.exists("./my_rule.txt")

                if rule_flug: #Nicht löschen, wenn die Datei nicht vorhanden ist
                        with open('my_rule.txt', 'r') as f:
                                rule_data = f.read()
                        url='https://networking.tyo1.conoha.io/v2.0/security-group-rules/'+rule_data
                        header={'Accept':'application/json','X-Auth-Token':''}
                        header['X-Auth-Token']=self.my_token
                        r = requests.delete(url,headers=header)
                        print "delete_rule_data="+rule_data

                if rule_flug == False:
                        print "no_rule_data"

        def set_ip(self): #Regel zur Sicherheitsgruppe hinzufügen Einstellung, um die TCP-Kommunikation von einer externen angegebenen IP-Adresse ohne Portbeschränkung zuzulassen
                url = "https://networking.tyo1.conoha.io/v2.0/security-group-rules"
                header = {'Accept':'application/json','X-Auth-Token':''}
                header['X-Auth-Token']=self.my_token
                data = {"security_group_rule":{"direction": "ingress","ethertype": "IPv4","security_group_id":"","protocol":"tcp" ,"remote_ip_prefix":""}}
                data["security_group_rule"]["security_group_id"]=self.my_rule
                data["security_group_rule"]["remote_ip_prefix"]=self.my_ip

                r = requests.post(url,data=json.dumps(data),headers=header)

                with open('rule_data.json','w') as f:
                        f.write(r.text)

                with open('rule_data.json','r') as f:
                        jsonData = json.loads(f.read())

                with open('my_rule.txt','w') as f: #Regel-ID aufzeichnen
                        f.write(jsonData["security_group_rule"]["id"])
                        print "set_rule="+jsonData["security_group_rule"]["id"]

def set_rule_main(group): #Hauptverarbeitung
        groupid = group
        rule_setter = set_rule()
        rule_setter.set_data(groupid)
        rule_setter.remove()
        rule_setter.set_ip()


if __name__ == '__main__':
        set_rule_main("Sicherheitsgruppen-ID")

Nur für Updates: Token abrufen und IP abrufen und diesmal Importieren Sie das Skript von und verwenden Sie es für die Stapelverarbeitung.

Anwendungsbeispiel

set_acl_main.py


#!/usr/bin/env python
import ip
import get_token
import set_acl

get_ip_url = "http://www.axisnetworks.biz/tools/gip/"
user = 'XXXXXX'
key = 'XXXXXX'
tenantId = 'XXXXXXX'
security_group = "XXXXXXXXX"

if __name__ == '__main__':
        ip.ip_get(get_ip_url)
        get_token.token_get_main(user,key,tenantId)
        set_acl.set_rule_main(security_group)

Ich hatte meine Heim-IP in der ACL festgelegt, aber als mein Heim-Router neu gestartet wurde, änderte sich die IP und es war zu diesem Zeitpunkt schwierig, sie zurückzusetzen. Deshalb habe ich sie erstellt, aber als ich kürzlich die Leitung geändert habe, war es fast so Es wird nicht mehr benötigt.

Recommended Posts

Ändern Sie die IP-Einstellungen mit Python in ACL von conoha
Ändern Sie die Python 64-Bit-Umgebung mit Anaconda in eine 32-Bit-Umgebung
So legen Sie Attribute mit Mock of Python fest
Memo mit Python mit HiveServer2 von EMR verbunden
[Kapitel 5] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 2] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 4] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Stellen Sie mit Python eine Verbindung zu BigQuery her
Zeichnen Sie die globale IP mit Python auf
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
[Python] Ändere den Typ mit Pandas
Ändern Sie die Wiederholungseinstellungen mit boto3
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
So ändern Sie die Python-Version
Ich habe versucht, die Entropie des Bildes mit Python zu finden
[Python] Ändern Sie die Cache-Steuerung von Objekten, die in den Cloud-Speicher hochgeladen wurden
Ich möchte eine andere Version von Python mit pyvenv angeben
Einstellungen zum Eingeben und Debuggen des Inhalts der Bibliothek mit VS-Code
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Webanwendung mit Python3.3.1 + Flasche (1) - Ändern Sie die Vorlagen-Engine in jinja2
[Raspi4; Einführung in den Sound] Stabile Aufzeichnung der Toneingabe mit Python ♪
Versuchen Sie Juniper JUNOS PyEz (Python-Bibliothek) Memo 3 ~ Ändern Sie die Einstellungen mit PyEz ~
Ändern Sie die Einstellungen eines Knotens in einem Superknoten mit dem Python-Skript SPSS Modeler
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Aktiviert, um PNG mit Pillow of Python in JPG zu konvertieren
Python: So verwenden Sie Async mit
IPynb-Bewertungssystem mit TA von Introduction to Programming (Python)
So ändern Sie die Protokollstufe von Azure SDK für Python
Link, um mit Python zu beginnen
[Python] Mit Python in eine CSV-Datei schreiben
So ändern Sie Djangos SQLite3, das mit nur einer grafischen Benutzeroberfläche überall auf Python hochgeladen wurde
Versuchen Sie, Facebook mit Python zu betreiben
Ausgabe in eine CSV-Datei mit Python
Ändern Sie die Standardcodierung von Python in utf-8
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Beispiel zur Verwendung nach OAuth-Authentifizierung der BOX-API mit Python
Fühlen Sie sich frei, das Legendenlabel mit Seaborn in Python zu ändern
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Erste Schritte mit Python Grundlagen von Python
Konvertieren Sie die Liste mit Python in DataFrame
MP3 → WAV-Konvertierung mit Python
Schwanzrekursion mit Python2 durchführen
Erste Schritte mit Python
Ich habe versucht zu beheben "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren"
Lebensspiel mit Python! (Conways Spiel des Lebens)
Was tun mit PYTHON Release?
10 Funktionen von "Sprache mit Batterie" Python
So berechnen Sie das Datum mit Python
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
Implementierung der Dyxtra-Methode durch Python
Verschieben Sie Daten mit Python Change / Delete (Writer und Reader) nach LDAP.
Mit Python 3 einfach auf Twitter posten
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern