Ich habe einige Suche auf Stackoverflow und schaute durch die API, aber scheint nicht, um eine Antwort speziell zu finden. Ich erstelle einige Automatisierungsskripts in Python und frage mich, ob es eine Möglichkeit gibt, die primaryNetworkComponent
und die primaryBackendNetworkComponent
Paare und basierend auf Ort zu greifen? Es gibt die getVlans()
Methode, aber nicht sicher, welche VLANs zusammen gehen, wenn ich auf die GUI gehe. Gibt es keine Begrenzung für die Anzahl der Maschinen, die auf einem VLAN-Paar sein können? Wenn nicht, wäre es nur akzeptabel, den Router zu greifen und einfach die ersten 2 VLANs zu nehmen?Bestellung Softlayer Vlan Paare
Antwort
Das kann unter Skript helfen vlans von bestimmten Ort abzurufen:
"""
Retrieves vlans from specific location
Important manual pages:
http://sldn.softlayer.com/reference/services/SoftLayer_Account/getNetworkVlans
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Network_Vlan/
http://sldn.softlayer.com/article/object-Masks
http://sldn.softlayer.com/article/object-filters
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <[email protected]>
"""
import SoftLayer
# Your SoftLayer API username and key.
USERNAME = 'set me'
API_KEY = 'set me'
# Define location
datacenter = "Seoul 1"
# Declare the API client
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
# Declaring an object mask and object filter to get vlans from datacenter
objectMask = "mask[primaryRouter[datacenter], networkSpace]"
objectFilter = {"networkVlans": {"primaryRouter": {"datacenter": {"longName": {"operation": datacenter}}}}}
try:
# Getting the VLANs
vlans = client['SoftLayer_Account'].getNetworkVlans(mask=objectMask, filter=objectFilter)
# Print vlans
print("PRIMARY NETWORK COMPONENT")
for vlan in vlans:
if vlan['networkSpace'] == 'PUBLIC':
print("Id: %s Vlan Number: %s Primary Router: %s" % (vlan['id'], vlan['vlanNumber'], vlan['primaryRouter']['hostname']))
print("\nPRIMARY BACKEND NETWORK COMPONENT")
for vlan in vlans:
if vlan['networkSpace'] == 'PRIVATE':
print("Id: %s Vlan Number: %s Primary Router: %s" % (vlan['id'], vlan['vlanNumber'], vlan['primaryRouter']['hostname']))
except SoftLayer.SoftLayerAPIError as e:
print("Unable to get Vlans. faultCode=%s, faultString=%s"
% (e.faultCode, e.faultString))
Es gibt keine Grenze für die Anzahl der Server in einem öffentlichen vlan ist, aber es hängt von der verfügbaren IP-Adressen für private die gleiche Situation Vlán. Im Falle von privaten VLAN hat eine Grenze von 256 IP-Adressen.
Wenn der VLAN über eine Hardware-Firewall verfügt, hat er eine Beschränkung auf 30 Server (VSIs oder BMSs).
Es ist nicht möglich, die ersten vlans vom Router abzurufen, da dies eingeschränkt ist. Sie können nur die von Ihnen gekauften vlans abrufen.
Referenzen:
ich diesen Code habe
mask = 'id, hostname, domain, hardwareStatus, globalIdentifier, remoteManagementAccounts, primaryBackendIpAddress, primaryIpAddress'
hardware_list = mgr.list_hardware(mask=mask)
for hardware in hardware_list:
if "someGLobalID" == hardware['globalIdentifier']:
, in dem ich versuche, die globale Kennung zu erhalten, aber ich halte einen Schlüssel Fehler bekommen
Werden globale Bezeichner generiert, nachdem ein Auftrag abgeschlossen und im Bereitstellungsstatus ist?
Ich habe versucht, einen anderen Schlüssel wie Domain-Suche und es funktioniert
Ich habe eine neue Antwort, bitte, wenn Sie weitere Hilfe benötigen, lassen Sie es mich wissen –
Ich habe Erfolg mit dem folgenden Skript:
"""
List Hardware
Important manual pages:
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Hardware
https://github.com/softlayer/softlayer-python/blob/master/SoftLayer/managers/hardware.py
License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <[email protected]>
"""
import SoftLayer
# Your SoftLayer API username and key.
USERNAME = 'set me'
API_KEY = 'set me'
# Declare the API client
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
mgr = SoftLayer.HardwareManager(client)
globalIdentifier = '93e99548-bb97-4a18-b728-9c8ebba6s9e3'
try:
mask = 'id, hostname, domain, hardwareStatus, globalIdentifier, remoteManagementAccounts, primaryBackendIpAddress, primaryIpAddress'
hardware_list = mgr.list_hardware(mask=mask)
for hardware in hardware_list:
if globalIdentifier == hardware['globalIdentifier']:
print(hardware['globalIdentifier'])
except SoftLayer.SoftLayerAPIError as e:
print("Error. "
% (e.faultCode, e.faultString))
Sie haben Recht, werden die globalen Identifikatoren in der Reihenfolge Eingang erzeugt, aber sie werden an die Server angeschlossen, bis der Bereitstellungsprozess abgeschlossen ist. Es ist also notwendig zu warten, bis der Bereitstellungsprozess von einem Server beendet ist, um danach zu suchen.
- 1. Softlayer-API für VLAN-Trunk
- 2. Softlayer API: Private vlan bestellen
- 3. Softlayer VLAN-Zuordnung und Schutzoptionen
- 4. Unzureichende Ressourcen für Softlayer VLAN Ausgabe
- 5. Softlayer API: Bestellen Sie Virtual Server mit bestimmten VLAN
- 6. Teil der Softlayer-Massen-VMI-Bestellung wird trotz spezifizierter
- 7. Verknüpfen Sie einen Vlan in Softlayer mit Java
- 8. SoftLayer-API-Aufruf an Trunk-Vlan schlägt fehl
- 9. Nicht in der Lage, VLAN mit Softlayer api
- 10. Wie Subnetz zu einem VLAN auf Softlayer zuweisen?
- 11. Fehler bei der Bestellung im Softlayer
- 12. osFormatType Endurance Block Storage Bestellung Softlayer
- 13. VLAN-Annotationsinformationen
- 14. Vyatta Upgrade in Softlayer
- 15. Softlayer-API für die Bestellung von VMware-Lizenzen
- 16. Softlayer api: Ausnahme Die Lage dieser Bestellung ist ungültig
- 17. Die Preis-ID von 16 und 32 IP-Adresse primäre Subnetz auf dem vlan für Softlayer
- 18. Bestellinformation Softlayer Netscaler VPX über API
- 19. VLAN-Informationen mit NETLINK
- 20. Wählen Sie Available Vlans im Einkauf auf Softlayer
- 21. SoftLayer API: PHP-Beispielcode zur Überprüfung der Bestellung für Power 8-Server (Paket-ID 242) erforderlich
- 22. SoftLayer API - Wie bekomme ich Volume ID aus der JSON-Antwort von der Bestellung Teil
- 23. Softlayer-API - So überprüfen Sie, ob meine Bestellung akzeptiert wird oder nicht
- 24. Was gültige IOPS-Werte für die Bestellung von Dateispeicherung über die Softlayer API
- 25. Softlayer-API: Ausnahme: Ungültige Daten zur Bestellung der Eigenschaft: packageId. Paket (835) erfordert eine voreingestellte Konfiguration
- 26. VLAN taucht in UI auf, nicht API
- 27. Softlayer: Bereitstellen einer PEM-Datei für den Zugriff auf Server
- 28. Tricky Art Signatur für Paare reversed Paare
- 29. Erhalten Paare
- 30. Bestellung für Schlüsselwertpaare
vielen dank ruber! – Patrick