CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-azure-mgmt-policyinsights

Microsoft Azure Policy Insights Client Library for Python providing comprehensive Azure Policy services management.

Pending

Quality

Pending

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

Overview
Eval results
Files

policy-metadata.mddocs/

Policy Metadata Operations

Overview

Policy Metadata operations enable querying and accessing policy metadata including built-in policy definitions, categories, and detailed policy information for governance and compliance workflows.

Core Functionality

Query Operations

list

def list(
    query_options: Optional[QueryOptions] = None,
    **kwargs
) -> ItemPaged[SlimPolicyMetadata]

{ .api }

List policy metadata resources.

Parameters:

  • query_options: Optional query parameters (top, filter, orderby, select)

Returns: Paginated collection of SlimPolicyMetadata objects

get_resource

def get_resource(
    resource_name: str,
    **kwargs
) -> PolicyMetadata

{ .api }

Get a specific policy metadata resource.

Parameters:

  • resource_name: Name of the policy metadata resource

Returns: PolicyMetadata object with full details

Related Types

PolicyMetadata

class PolicyMetadata:
    id: Optional[str]
    type: Optional[str]
    name: Optional[str]
    properties: Optional[PolicyMetadataProperties]

{ .api }

PolicyMetadataProperties

class PolicyMetadataProperties:
    metadata_id: Optional[str]
    category: Optional[str]
    title: Optional[str]
    owner: Optional[str]
    additional_content_url: Optional[str]
    requirements: Optional[List[str]]
    description: Optional[str]

{ .api }

SlimPolicyMetadata

class SlimPolicyMetadata:
    id: Optional[str]
    type: Optional[str]
    name: Optional[str]
    properties: Optional[PolicyMetadataSlimProperties]

{ .api }

PolicyMetadataSlimProperties

class PolicyMetadataSlimProperties:
    metadata_id: Optional[str]
    category: Optional[str]
    title: Optional[str]
    owner: Optional[str]
    additional_content_url: Optional[str]

{ .api }

PolicyMetadataCollection

class PolicyMetadataCollection:
    value: Optional[List[PolicyMetadata]]
    next_link: Optional[str]

{ .api }

Usage Examples

List All Policy Metadata

# List all available policy metadata
metadata_list = client.policy_metadata.list()

for metadata in metadata_list:
    print(f"ID: {metadata.name}")
    print(f"Category: {metadata.properties.category}")
    print(f"Title: {metadata.properties.title}")
    print(f"Owner: {metadata.properties.owner}")
    print("---")

Filter Policy Metadata by Category

from azure.mgmt.policyinsights.models import QueryOptions

# Filter metadata by specific category
query_options = QueryOptions(
    filter="properties/category eq 'Security'",
    top=20
)

security_metadata = client.policy_metadata.list(query_options)

print("Security-related policy metadata:")
for metadata in security_metadata:
    print(f"- {metadata.properties.title}")
    if metadata.properties.additional_content_url:
        print(f"  Documentation: {metadata.properties.additional_content_url}")

Get Detailed Policy Metadata

# Get full details for a specific policy metadata resource
metadata = client.policy_metadata.get_resource(
    resource_name="NIST_SP_800-53_R4_AC-1"
)

print(f"Title: {metadata.properties.title}")
print(f"Category: {metadata.properties.category}")
print(f"Description: {metadata.properties.description}")
print(f"Owner: {metadata.properties.owner}")

if metadata.properties.requirements:
    print("Requirements:")
    for requirement in metadata.properties.requirements:
        print(f"  - {requirement}")

if metadata.properties.additional_content_url:
    print(f"Additional Content: {metadata.properties.additional_content_url}")

Search Policy Metadata by Title

# Search for metadata containing specific terms
query_options = QueryOptions(
    filter="contains(properties/title, 'encryption')",
    orderby="properties/title"
)

encryption_metadata = client.policy_metadata.list(query_options)

print("Encryption-related policies:")
for metadata in encryption_metadata:
    print(f"- {metadata.properties.title}")
    print(f"  Category: {metadata.properties.category}")
    print(f"  ID: {metadata.name}")

Browse by Owner

# List metadata by owner (e.g., Microsoft)
query_options = QueryOptions(
    filter="properties/owner eq 'Microsoft'",
    select="name,properties/title,properties/category",
    top=50
)

microsoft_metadata = client.policy_metadata.list(query_options)

# Group by category
categories = {}
for metadata in microsoft_metadata:
    category = metadata.properties.category or "Other"
    if category not in categories:
        categories[category] = []
    categories[category].append(metadata.properties.title)

for category, titles in categories.items():
    print(f"\n{category}:")
    for title in sorted(titles):
        print(f"  - {title}")

Get Compliance Framework Metadata

# Find metadata for specific compliance frameworks
frameworks = ["NIST", "CIS", "PCI", "HIPAA", "SOX"]

for framework in frameworks:
    query_options = QueryOptions(
        filter=f"contains(properties/title, '{framework}')"
    )
    
    framework_metadata = client.policy_metadata.list(query_options)
    metadata_list = list(framework_metadata)
    
    print(f"\n{framework} Framework ({len(metadata_list)} policies):")
    for metadata in metadata_list:
        print(f"  - {metadata.properties.title}")

Install with Tessl CLI

npx tessl i tessl/pypi-azure-mgmt-policyinsights

docs

index.md

policy-events.md

policy-metadata.md

policy-restrictions.md

policy-states.md

policy-tracked-resources.md

remediations.md

tile.json