コード例 #1
0
    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
コード例 #2
0
ファイル: custom.py プロジェクト: yongjie917/azure-cli
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]
コード例 #3
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())
コード例 #4
0
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