Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def __init__(
super(ResourceGraphClient, self).__init__(self.config.credentials, self.config)

client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
self.api_version = '2019-04-01'
self.api_version = '2021-03-01'
self._serialize = Serializer(client_models)
self._deserialize = Deserializer(client_models)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -296,8 +296,8 @@ class FacetResult(Facet):
:type total_records: long
:param count: Required. Number of records returned in the facet response.
:type count: int
:param data: Required. A table containing the desired facets. Only present
if the facet is valid.
:param data: Required. A JObject array or Table containing the desired
facets. Only present if the facet is valid.
:type data: object
"""

Expand Down Expand Up @@ -382,9 +382,12 @@ class QueryRequest(Model):

All required parameters must be populated in order to send to Azure.

:param subscriptions: Required. Azure subscriptions against which to
execute the query.
:param subscriptions: Azure subscriptions against which to execute the
query.
:type subscriptions: list[str]
:param management_groups: Azure management groups against which to execute
the query. Example: [ 'mg1', 'mg2' ]
:type management_groups: list[str]
:param query: Required. The resources query.
:type query: str
:param options: The query evaluation options
Expand All @@ -395,12 +398,12 @@ class QueryRequest(Model):
"""

_validation = {
'subscriptions': {'required': True},
'query': {'required': True},
}

_attribute_map = {
'subscriptions': {'key': 'subscriptions', 'type': '[str]'},
'management_groups': {'key': 'managementGroups', 'type': '[str]'},
'query': {'key': 'query', 'type': 'str'},
'options': {'key': 'options', 'type': 'QueryRequestOptions'},
'facets': {'key': 'facets', 'type': '[FacetRequest]'},
Expand All @@ -409,6 +412,7 @@ class QueryRequest(Model):
def __init__(self, **kwargs):
super(QueryRequest, self).__init__(**kwargs)
self.subscriptions = kwargs.get('subscriptions', None)
self.management_groups = kwargs.get('management_groups', None)
self.query = kwargs.get('query', None)
self.options = kwargs.get('options', None)
self.facets = kwargs.get('facets', None)
Expand All @@ -427,8 +431,14 @@ class QueryRequestOptions(Model):
Overrides the next page offset when ```$skipToken``` property is present.
:type skip: int
:param result_format: Defines in which format query result returned.
Possible values include: 'table', 'objectArray'
Possible values include: 'table', 'objectArray'. Default value:
"objectArray" .
:type result_format: str or ~azure.mgmt.resourcegraph.models.ResultFormat
:param allow_partial_scopes: Only applicable for tenant and management
group level queries to decide whether to allow partial scopes for result
in case the number of subscriptions exceed allowed limits. Default value:
False .
:type allow_partial_scopes: bool
"""

_validation = {
Expand All @@ -441,14 +451,16 @@ class QueryRequestOptions(Model):
'top': {'key': '$top', 'type': 'int'},
'skip': {'key': '$skip', 'type': 'int'},
'result_format': {'key': 'resultFormat', 'type': 'ResultFormat'},
'allow_partial_scopes': {'key': 'allowPartialScopes', 'type': 'bool'},
}

def __init__(self, **kwargs):
super(QueryRequestOptions, self).__init__(**kwargs)
self.skip_token = kwargs.get('skip_token', None)
self.top = kwargs.get('top', None)
self.skip = kwargs.get('skip', None)
self.result_format = kwargs.get('result_format', None)
self.result_format = kwargs.get('result_format', "objectArray")
self.allow_partial_scopes = kwargs.get('allow_partial_scopes', False)


class QueryResponse(Model):
Expand All @@ -468,10 +480,10 @@ class QueryResponse(Model):
:type result_truncated: str or
~azure.mgmt.resourcegraph.models.ResultTruncated
:param skip_token: When present, the value can be passed to a subsequent
query call (together with the same query and subscriptions used in the
current request) to retrieve the next page of data.
query call (together with the same query and scopes used in the current
request) to retrieve the next page of data.
:type skip_token: str
:param data: Required. Query output in tabular format.
:param data: Required. Query output in JObject array or Table format.
:type data: object
:param facets: Query facets.
:type facets: list[~azure.mgmt.resourcegraph.models.Facet]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -296,8 +296,8 @@ class FacetResult(Facet):
:type total_records: long
:param count: Required. Number of records returned in the facet response.
:type count: int
:param data: Required. A table containing the desired facets. Only present
if the facet is valid.
:param data: Required. A JObject array or Table containing the desired
facets. Only present if the facet is valid.
:type data: object
"""

Expand Down Expand Up @@ -382,9 +382,12 @@ class QueryRequest(Model):

All required parameters must be populated in order to send to Azure.

:param subscriptions: Required. Azure subscriptions against which to
execute the query.
:param subscriptions: Azure subscriptions against which to execute the
query.
:type subscriptions: list[str]
:param management_groups: Azure management groups against which to execute
the query. Example: [ 'mg1', 'mg2' ]
:type management_groups: list[str]
:param query: Required. The resources query.
:type query: str
:param options: The query evaluation options
Expand All @@ -395,20 +398,21 @@ class QueryRequest(Model):
"""

_validation = {
'subscriptions': {'required': True},
'query': {'required': True},
}

_attribute_map = {
'subscriptions': {'key': 'subscriptions', 'type': '[str]'},
'management_groups': {'key': 'managementGroups', 'type': '[str]'},
'query': {'key': 'query', 'type': 'str'},
'options': {'key': 'options', 'type': 'QueryRequestOptions'},
'facets': {'key': 'facets', 'type': '[FacetRequest]'},
}

def __init__(self, *, subscriptions, query: str, options=None, facets=None, **kwargs) -> None:
def __init__(self, *, query: str, subscriptions=None, management_groups=None, options=None, facets=None, **kwargs) -> None:
super(QueryRequest, self).__init__(**kwargs)
self.subscriptions = subscriptions
self.management_groups = management_groups
self.query = query
self.options = options
self.facets = facets
Expand All @@ -427,8 +431,14 @@ class QueryRequestOptions(Model):
Overrides the next page offset when ```$skipToken``` property is present.
:type skip: int
:param result_format: Defines in which format query result returned.
Possible values include: 'table', 'objectArray'
Possible values include: 'table', 'objectArray'. Default value:
"objectArray" .
:type result_format: str or ~azure.mgmt.resourcegraph.models.ResultFormat
:param allow_partial_scopes: Only applicable for tenant and management
group level queries to decide whether to allow partial scopes for result
in case the number of subscriptions exceed allowed limits. Default value:
False .
:type allow_partial_scopes: bool
"""

_validation = {
Expand All @@ -441,14 +451,16 @@ class QueryRequestOptions(Model):
'top': {'key': '$top', 'type': 'int'},
'skip': {'key': '$skip', 'type': 'int'},
'result_format': {'key': 'resultFormat', 'type': 'ResultFormat'},
'allow_partial_scopes': {'key': 'allowPartialScopes', 'type': 'bool'},
}

def __init__(self, *, skip_token: str=None, top: int=None, skip: int=None, result_format=None, **kwargs) -> None:
def __init__(self, *, skip_token: str=None, top: int=None, skip: int=None, result_format="objectArray", allow_partial_scopes: bool=False, **kwargs) -> None:
super(QueryRequestOptions, self).__init__(**kwargs)
self.skip_token = skip_token
self.top = top
self.skip = skip
self.result_format = result_format
self.allow_partial_scopes = allow_partial_scopes


class QueryResponse(Model):
Expand All @@ -468,10 +480,10 @@ class QueryResponse(Model):
:type result_truncated: str or
~azure.mgmt.resourcegraph.models.ResultTruncated
:param skip_token: When present, the value can be passed to a subsequent
query call (together with the same query and subscriptions used in the
current request) to retrieve the next page of data.
query call (together with the same query and scopes used in the current
request) to retrieve the next page of data.
:type skip_token: str
:param data: Required. Query output in tabular format.
:param data: Required. Query output in JObject array or Table format.
:type data: object
:param facets: Query facets.
:type facets: list[~azure.mgmt.resourcegraph.models.Facet]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

import uuid
from msrest.pipeline import ClientRawResponse
from msrestazure.azure_exceptions import CloudError

from .. import models

Expand All @@ -25,7 +24,7 @@ class Operations(object):
:param config: Configuration of service client.
:param serializer: An object model serializer.
:param deserializer: An object model deserializer.
:ivar api_version: API version. Constant value: "2019-04-01".
:ivar api_version: Api Version. Constant value: "2021-03-01".
"""

models = models
Expand All @@ -35,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.api_version = "2019-04-01"
self.api_version = "2021-03-01"

self.config = config

Expand All @@ -51,7 +50,8 @@ def list(
:return: An iterator like instance of Operation
:rtype:
~azure.mgmt.resourcegraph.models.OperationPaged[~azure.mgmt.resourcegraph.models.Operation]
:raises: :class:`CloudError<msrestazure.azure_exceptions.CloudError>`
:raises:
:class:`ErrorResponseException<azure.mgmt.resourcegraph.models.ErrorResponseException>`
"""
def prepare_request(next_link=None):
if not next_link:
Expand Down Expand Up @@ -86,9 +86,7 @@ def internal_paging(next_link=None):
response = self._client.send(request, stream=False, **operation_config)

if response.status_code not in [200]:
exp = CloudError(response)
exp.request_id = response.headers.get('x-ms-request-id')
raise exp
raise models.ErrorResponseException(self._deserialize, response)

return response

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
# --------------------------------------------------------------------------

from msrest.pipeline import ClientRawResponse
from msrestazure.azure_exceptions import CloudError
from .. import models
import uuid

Expand All @@ -19,8 +18,8 @@ class ResourceGraphClientOperationsMixin(object):

def resources(
self, query, custom_headers=None, raw=False, **operation_config):
"""Queries the resources managed by Azure Resource Manager for all
subscriptions specified in the request.
"""Queries the resources managed by Azure Resource Manager for scopes
specified in the request.

:param query: Request specifying query and its options.
:type query: ~azure.mgmt.resourcegraph.models.QueryRequest
Expand Down