def list_query_results_for_subscription_wrapper( self, credentials, subscription_id, policy_assignment_name ): """ :param credentials: :param subscription_id: :param policy_assignment_name: :return: """ query = QueryOptions(filter="IsCompliant eq false") policy_client = PolicyInsightsClient(credentials=credentials, base_url=None) try: summary_results = policy_client.policy_states.list_query_results_for_subscription( "latest", subscription_id=subscription_id, policy_definition_name=policy_assignment_name, custom_headers=None, raw=False, ) except QueryFailureException: summary_results = None return summary_results
def summarize_policy_states(cmd, client, management_group_name=None, resource_group_name=None, resource=None, namespace=None, resource_type_parent=None, resource_type=None, policy_set_definition_name=None, policy_definition_name=None, policy_assignment_name=None, from_value=None, to_value=None, top_value=None, filter_clause=None): from azure.mgmt.policyinsights.models import QueryOptions query_options = QueryOptions(top=top_value, from_property=from_value, to=to_value, filter=filter_clause) subscription_id = get_subscription_id(cmd.cli_ctx) if policy_assignment_name: if resource_group_name: summary = client.summarize_for_resource_group_level_policy_assignment( subscription_id, resource_group_name, policy_assignment_name, query_options) else: summary = client.summarize_for_subscription_level_policy_assignment( subscription_id, policy_assignment_name, query_options) elif policy_definition_name: summary = client.summarize_for_policy_definition( subscription_id, policy_definition_name, query_options) elif policy_set_definition_name: summary = client.summarize_for_policy_set_definition( subscription_id, policy_set_definition_name, query_options) elif resource: resource = _build_resource_id(subscription_id, resource, resource_group_name, namespace, resource_type_parent, resource_type) summary = client.summarize_for_resource(resource, query_options) elif resource_group_name: summary = client.summarize_for_resource_group(subscription_id, resource_group_name, query_options) elif management_group_name: summary = client.summarize_for_management_group( management_group_name, query_options) else: summary = client.summarize_for_subscription(subscription_id, query_options) return summary.value[0]
def list_policy_metadata(cmd, client, top_value=None): # pylint: disable=unused-argument if top_value is not None: from azure.mgmt.policyinsights.models import QueryOptions page_iter = client.list(QueryOptions(top=top_value)) results = [] while len(results) < top_value: try: results.extend(list(page_iter.advance_page())) except StopIteration: break return results[:top_value] return list(client.list())
def list_policy_events(cmd, client, management_group_name=None, resource_group_name=None, resource=None, namespace=None, resource_type_parent=None, resource_type=None, policy_set_definition_name=None, policy_definition_name=None, policy_assignment_name=None, from_value=None, to_value=None, order_by_clause=None, select_clause=None, top_value=None, filter_clause=None, apply_clause=None): from azure.mgmt.policyinsights.models import QueryOptions query_options = QueryOptions(top=top_value, order_by=order_by_clause, select=select_clause, from_property=from_value, to=to_value, filter=filter_clause, apply=apply_clause) subscription_id = get_subscription_id(cmd.cli_ctx) if policy_assignment_name: if resource_group_name: events = client.list_query_results_for_resource_group_level_policy_assignment( subscription_id, resource_group_name, policy_assignment_name, query_options) else: events = client.list_query_results_for_subscription_level_policy_assignment( subscription_id, policy_assignment_name, query_options) elif policy_definition_name: events = client.list_query_results_for_policy_definition( subscription_id, policy_definition_name, query_options) elif policy_set_definition_name: events = client.list_query_results_for_policy_set_definition( subscription_id, policy_set_definition_name, query_options) elif resource: if not is_valid_resource_id(resource): if resource_type_parent: resource_type_parent = _remove_leading_and_trailing_slash( resource_type_parent) resource_type = "{}/{}".format(resource_type_parent, resource_type) resource = resource_id(subscription=subscription_id, resource_group=resource_group_name, namespace=namespace, type=resource_type, name=resource) events = client.list_query_results_for_resource( resource, query_options) elif resource_group_name: events = client.list_query_results_for_resource_group( subscription_id, resource_group_name, query_options) elif management_group_name: events = client.list_query_results_for_management_group( management_group_name, query_options) else: events = client.list_query_results_for_subscription( subscription_id, query_options) return events.value