Microsoft Azure Policy Insights Client Library for Python providing comprehensive Azure Policy services management.
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Policy States operations enable querying and summarizing policy compliance states across different Azure scopes. These operations provide detailed compliance information and support triggering policy evaluations.
def list_query_results_for_management_group(
policy_states_resource: str,
management_group_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> ItemPaged[PolicyStatesQueryResults]{ .api }
Query policy states for a management group.
Parameters:
policy_states_resource: Resource type ("default" or "latest")management_group_name: Management group namequery_options: Optional query parameters (top, filter, orderby, select, from, to, apply)Returns: Paginated collection of PolicyState objects
def list_query_results_for_subscription(
policy_states_resource: str,
subscription_id: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> ItemPaged[PolicyStatesQueryResults]{ .api }
Query policy states for a subscription.
Parameters:
policy_states_resource: Resource type ("default" or "latest")subscription_id: Azure subscription IDquery_options: Optional query parametersReturns: Paginated collection of PolicyState objects
def list_query_results_for_resource_group(
policy_states_resource: str,
subscription_id: str,
resource_group_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> ItemPaged[PolicyStatesQueryResults]{ .api }
Query policy states for a resource group.
Parameters:
policy_states_resource: Resource type ("default" or "latest")subscription_id: Azure subscription IDresource_group_name: Resource group namequery_options: Optional query parametersReturns: Paginated collection of PolicyState objects
def list_query_results_for_resource(
policy_states_resource: str,
resource_id: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> ItemPaged[PolicyStatesQueryResults]{ .api }
Query policy states for a specific resource.
Parameters:
policy_states_resource: Resource type ("default" or "latest")resource_id: Full Azure resource IDquery_options: Optional query parametersReturns: Paginated collection of PolicyState objects
def list_query_results_for_policy_set_definition(
policy_states_resource: str,
subscription_id: str,
policy_set_definition_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> ItemPaged[PolicyStatesQueryResults]{ .api }
Query policy states for a policy set definition.
Parameters:
policy_states_resource: Resource type ("default" or "latest")subscription_id: Azure subscription IDpolicy_set_definition_name: Policy set definition namequery_options: Optional query parametersReturns: Paginated collection of PolicyState objects
def list_query_results_for_policy_definition(
policy_states_resource: str,
subscription_id: str,
policy_definition_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> ItemPaged[PolicyStatesQueryResults]{ .api }
Query policy states for a policy definition.
Parameters:
policy_states_resource: Resource type ("default" or "latest")subscription_id: Azure subscription IDpolicy_definition_name: Policy definition namequery_options: Optional query parametersReturns: Paginated collection of PolicyState objects
def list_query_results_for_subscription_level_policy_assignment(
policy_states_resource: str,
subscription_id: str,
policy_assignment_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> ItemPaged[PolicyStatesQueryResults]{ .api }
Query policy states for a subscription-level policy assignment.
Parameters:
policy_states_resource: Resource type ("default" or "latest")subscription_id: Azure subscription IDpolicy_assignment_name: Policy assignment namequery_options: Optional query parametersReturns: Paginated collection of PolicyState objects
def list_query_results_for_resource_group_level_policy_assignment(
policy_states_resource: str,
subscription_id: str,
resource_group_name: str,
policy_assignment_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> ItemPaged[PolicyStatesQueryResults]{ .api }
Query policy states for a resource group-level policy assignment.
Parameters:
policy_states_resource: Resource type ("default" or "latest")subscription_id: Azure subscription IDresource_group_name: Resource group namepolicy_assignment_name: Policy assignment namequery_options: Optional query parametersReturns: Paginated collection of PolicyState objects
def summarize_for_management_group(
management_group_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> SummarizeResults{ .api }
Summarize policy states for a management group.
Parameters:
management_group_name: Management group namequery_options: Optional query parametersReturns: SummarizeResults object with compliance summary
def summarize_for_subscription(
subscription_id: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> SummarizeResults{ .api }
Summarize policy states for a subscription.
Parameters:
subscription_id: Azure subscription IDquery_options: Optional query parametersReturns: SummarizeResults object with compliance summary
def summarize_for_resource_group(
subscription_id: str,
resource_group_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> SummarizeResults{ .api }
Summarize policy states for a resource group.
Parameters:
subscription_id: Azure subscription IDresource_group_name: Resource group namequery_options: Optional query parametersReturns: SummarizeResults object with compliance summary
def summarize_for_resource(
resource_id: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> SummarizeResults{ .api }
Summarize policy states for a specific resource.
Parameters:
resource_id: Full Azure resource IDquery_options: Optional query parametersReturns: SummarizeResults object with compliance summary
def summarize_for_policy_set_definition(
subscription_id: str,
policy_set_definition_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> SummarizeResults{ .api }
Summarize policy states for a policy set definition.
Parameters:
subscription_id: Azure subscription IDpolicy_set_definition_name: Policy set definition namequery_options: Optional query parametersReturns: SummarizeResults object with compliance summary
def summarize_for_policy_definition(
subscription_id: str,
policy_definition_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> SummarizeResults{ .api }
Summarize policy states for a policy definition.
Parameters:
subscription_id: Azure subscription IDpolicy_definition_name: Policy definition namequery_options: Optional query parametersReturns: SummarizeResults object with compliance summary
def summarize_for_subscription_level_policy_assignment(
subscription_id: str,
policy_assignment_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> SummarizeResults{ .api }
Summarize policy states for a subscription-level policy assignment.
Parameters:
subscription_id: Azure subscription IDpolicy_assignment_name: Policy assignment namequery_options: Optional query parametersReturns: SummarizeResults object with compliance summary
def summarize_for_resource_group_level_policy_assignment(
subscription_id: str,
resource_group_name: str,
policy_assignment_name: str,
query_options: Optional[QueryOptions] = None,
**kwargs
) -> SummarizeResults{ .api }
Summarize policy states for a resource group-level policy assignment.
Parameters:
subscription_id: Azure subscription IDresource_group_name: Resource group namepolicy_assignment_name: Policy assignment namequery_options: Optional query parametersReturns: SummarizeResults object with compliance summary
def begin_trigger_subscription_evaluation(
subscription_id: str,
**kwargs
) -> LROPoller[None]{ .api }
Trigger policy evaluation for a subscription (long-running operation).
Parameters:
subscription_id: Azure subscription IDReturns: LROPoller for monitoring operation progress
def begin_trigger_resource_group_evaluation(
subscription_id: str,
resource_group_name: str,
**kwargs
) -> LROPoller[None]{ .api }
Trigger policy evaluation for a resource group (long-running operation).
Parameters:
subscription_id: Azure subscription IDresource_group_name: Resource group nameReturns: LROPoller for monitoring operation progress
class PolicyState:
timestamp: Optional[datetime.datetime]
resource_id: Optional[str]
policy_assignment_id: Optional[str]
policy_definition_id: Optional[str]
effective_parameters: Optional[str]
is_compliant: Optional[bool]
subscription_id: Optional[str]
resource_type: Optional[str]
resource_location: Optional[str]
resource_group: Optional[str]
resource_tags: Optional[str]
policy_assignment_name: Optional[str]
policy_assignment_owner: Optional[str]
policy_assignment_parameters: Optional[str]
policy_assignment_scope: Optional[str]
policy_definition_name: Optional[str]
policy_definition_action: Optional[str]
policy_definition_category: Optional[str]
policy_set_definition_id: Optional[str]
policy_set_definition_name: Optional[str]
policy_set_definition_owner: Optional[str]
policy_set_definition_category: Optional[str]
policy_set_definition_parameters: Optional[str]
management_group_ids: Optional[str]
policy_definition_reference_id: Optional[str]
compliance_state: Optional[str]
policy_evaluation_details: Optional[PolicyEvaluationDetails]
policy_definition_group_names: Optional[List[str]]
components: Optional[List[ComponentStateDetails]]
policy_definition_version: Optional[str]
policy_set_definition_version: Optional[str]
policy_assignment_version: Optional[str]{ .api }
class QueryOptions:
top: Optional[int]
filter: Optional[str]
orderby: Optional[str]
select: Optional[str]
from_property: Optional[datetime.datetime]
to: Optional[datetime.datetime]
apply: Optional[str]
expand: Optional[str]{ .api }
class SummarizeResults:
odata_context: Optional[str]
odata_count: Optional[int]
value: Optional[List[Summary]]{ .api }
class PolicyStatesResource(str, Enum):
DEFAULT = "default"
LATEST = "latest"{ .api }
# Query latest policy states for subscription with filtering
query_options = QueryOptions(
filter="isCompliant eq false",
top=100,
orderby="timestamp desc"
)
policy_states = client.policy_states.list_query_results_for_subscription(
policy_states_resource=PolicyStatesResource.LATEST,
subscription_id=subscription_id,
query_options=query_options
)
for state in policy_states:
print(f"Resource: {state.resource_id}, Compliant: {state.is_compliant}")# Trigger subscription evaluation
poller = client.policy_states.begin_trigger_subscription_evaluation(
subscription_id=subscription_id
)
# Wait for completion
result = poller.result() # This will block until completion
print("Policy evaluation completed")
# Or poll for status
while not poller.done():
print("Evaluation in progress...")
time.sleep(30)# Get compliance summary for resource group
summary = client.policy_states.summarize_for_resource_group(
subscription_id=subscription_id,
resource_group_name="my-resource-group"
)
print(f"Total resources: {summary.odata_count}")
for summary_item in summary.value:
print(f"Policy: {summary_item}")Install with Tessl CLI
npx tessl i tessl/pypi-azure-mgmt-policyinsights