साल्टस्टैक - पायथन एपीआई

नमक अपने सभी आदेशों को प्रोग्रामेटिक एक्सेस प्रदान करता है। साल्ट सिस्टम के हर हिस्से के लिए नमक अलग-अलग मॉड्यूल प्रदान करता है। आइए हम अजगर एपीआई की मूल बातें जानें और इस अध्याय में मूल नमक आदेश कैसे चलाएं।

विन्यास

salt.config मॉड्यूल का उपयोग नमक कॉन्फ़िगरेशन विवरण तक पहुंचने के लिए किया जाता है।

import salt.config
opts = salt.config.client_config('/etc/salt/master')

यहां ही client_config नमक कॉन्फ़िगरेशन फ़ाइल पढ़ता है और कॉन्फ़िगरेशन विवरण को शब्दकोश के रूप में देता है।

लोडर

salt.loader मॉड्यूल का उपयोग प्रत्येक मॉड्यूल को नमक में लोड करने के लिए किया जाता है जैसे कि अनाज, minions, आदि।

import salt.loader
opts = salt.config.minion_config('/etc/salt/minion')
grains = salt.loader.grains(opts)

यहाँ, grains नमक प्रणाली में अनाज के विवरण को पढ़ता है और उसे वापस करता है।

क्लाइंट मॉड्यूल

salt.client मॉड्यूल का उपयोग नमक, नमक-कॉल और नमक-एसएसएच कमांड को प्रोग्रामेटिक रूप से निष्पादित करने के लिए किया जाता है।

सबसे महत्वपूर्ण अजगर वर्ग इस प्रकार हैं -

  • salt.client.LocalClient
  • salt.client.Caller
  • salt.client.ssh.client.SSHClient

अधिकांश क्लाइंट मॉड्यूल द्वारा प्रदान किया गया मुख्य कार्य है cmd। यह फ़ंक्शन सीएलआई विकल्पों को लपेटता है और इसे निष्पादित करता है, जो कमांड लाइन के समान है और पायथन डेटा संरचनाओं के रूप में परिणाम देता है।

LocalClient

लोकलक्लाइंट का उपयोग मास्टर से नमक के मिनियन तक कमांड भेजने और मास्टर को परिणाम वापस करने के लिए किया जाता है।

import salt.client

local = salt.client.LocalClient()
local.cmd('*', 'test.ping')

यह निम्नलिखित उत्पादन करेगा output -

{'minion1': True, 'minion2': True }

कोलर

कॉलर को चलाने के लिए उपयोग किया जाता है salt-call प्रोग्रामेटिक रूप से और परिणाम लौटाएं।

import salt.client
caller = salt.client.Caller()
caller.cmd('test.ping')

यह निम्नलिखित उत्पादन करेगा output -

True

SSHClient

SSHCient का उपयोग चलाने के लिए किया जाता है salt-ssh प्रोग्रामेटिक रूप से और परिणाम लौटाएं।

import salt.client.ssh.client
ssh = salt.client.ssh.client.SSHClient()
ssh.cmd('*', 'test.ping')

यह निम्नलिखित उत्पादन करेगा output -

{'minion1': True, 'minion2': True }

CloudClient

नमक.क्लाउड मॉड्यूल का उपयोग प्रोग्रामेटिक रूप से नमक-क्लाउड कमांड को निष्पादित करने के लिए किया जाता है।

client = salt.cloud.CloudClient(path = '/etc/salt/cloud')

क्लाउड मॉड्यूल VMs बनाने के लिए फ़ंक्शन प्रदान करता है (बनाएँ), VMs को नष्ट करने के लिए (नष्ट), एक क्लाउड प्रदाता (list_images) द्वारा प्रदान की गई छवियों की सूची, एक क्लाउड प्रदाता (list_locations) के सूची स्थानों, एक क्लाउड प्रदाता की सूची मशीन आकार (list_sizes), आदि।