Skip to content

Commit 49dcd45

Browse files
AutorestCIlmazuel
authored andcommitted
[AutoPR] resourcegraph/resource-manager (Azure#5657)
* Generated from e078f3fe1143736efce35f23670223dbb821a358 (Azure#5535) Adding enum generation * Delete incorrect folder * ChangeLog * Tests update after allowing to return JsonArray as result (Fixing text for PR: Azure#5657) (Azure#5953) * Tests update * Aligning spaces
1 parent 14d1d60 commit 49dcd45

12 files changed

+140
-49
lines changed

sdk/resources/azure-mgmt-resourcegraph/HISTORY.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
Release History
44
===============
55

6+
1.1.0 (2019-06-11)
7+
++++++++++++++++++
8+
9+
- Result format can be table or objectArray
10+
611
1.0.0 (2019-03-28)
712
++++++++++++++++++
813

sdk/resources/azure-mgmt-resourcegraph/azure/mgmt/resourcegraph/models/__init__.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
from .facet_request_options_py3 import FacetRequestOptions
1515
from .facet_request_py3 import FacetRequest
1616
from .query_request_py3 import QueryRequest
17-
from .column_py3 import Column
18-
from .table_py3 import Table
1917
from .facet_py3 import Facet
2018
from .query_response_py3 import QueryResponse
19+
from .column_py3 import Column
20+
from .table_py3 import Table
2121
from .facet_result_py3 import FacetResult
2222
from .error_details_py3 import ErrorDetails
2323
from .facet_error_py3 import FacetError
@@ -30,10 +30,10 @@
3030
from .facet_request_options import FacetRequestOptions
3131
from .facet_request import FacetRequest
3232
from .query_request import QueryRequest
33-
from .column import Column
34-
from .table import Table
3533
from .facet import Facet
3634
from .query_response import QueryResponse
35+
from .column import Column
36+
from .table import Table
3737
from .facet_result import FacetResult
3838
from .error_details import ErrorDetails
3939
from .facet_error import FacetError
@@ -43,6 +43,7 @@
4343
from .operation import Operation
4444
from .operation_paged import OperationPaged
4545
from .resource_graph_client_enums import (
46+
ResultFormat,
4647
FacetSortOrder,
4748
ResultTruncated,
4849
ColumnDataType,
@@ -53,10 +54,10 @@
5354
'FacetRequestOptions',
5455
'FacetRequest',
5556
'QueryRequest',
56-
'Column',
57-
'Table',
5857
'Facet',
5958
'QueryResponse',
59+
'Column',
60+
'Table',
6061
'FacetResult',
6162
'ErrorDetails',
6263
'FacetError',
@@ -65,6 +66,7 @@
6566
'OperationDisplay',
6667
'Operation',
6768
'OperationPaged',
69+
'ResultFormat',
6870
'FacetSortOrder',
6971
'ResultTruncated',
7072
'ColumnDataType',

sdk/resources/azure-mgmt-resourcegraph/azure/mgmt/resourcegraph/models/facet_result.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class FacetResult(Facet):
3030
:type count: int
3131
:param data: Required. A table containing the desired facets. Only present
3232
if the facet is valid.
33-
:type data: ~azure.mgmt.resourcegraph.models.Table
33+
:type data: object
3434
"""
3535

3636
_validation = {
@@ -46,7 +46,7 @@ class FacetResult(Facet):
4646
'result_type': {'key': 'resultType', 'type': 'str'},
4747
'total_records': {'key': 'totalRecords', 'type': 'long'},
4848
'count': {'key': 'count', 'type': 'int'},
49-
'data': {'key': 'data', 'type': 'Table'},
49+
'data': {'key': 'data', 'type': 'object'},
5050
}
5151

5252
def __init__(self, **kwargs):

sdk/resources/azure-mgmt-resourcegraph/azure/mgmt/resourcegraph/models/facet_result_py3.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class FacetResult(Facet):
3030
:type count: int
3131
:param data: Required. A table containing the desired facets. Only present
3232
if the facet is valid.
33-
:type data: ~azure.mgmt.resourcegraph.models.Table
33+
:type data: object
3434
"""
3535

3636
_validation = {
@@ -46,7 +46,7 @@ class FacetResult(Facet):
4646
'result_type': {'key': 'resultType', 'type': 'str'},
4747
'total_records': {'key': 'totalRecords', 'type': 'long'},
4848
'count': {'key': 'count', 'type': 'int'},
49-
'data': {'key': 'data', 'type': 'Table'},
49+
'data': {'key': 'data', 'type': 'object'},
5050
}
5151

5252
def __init__(self, *, expression: str, total_records: int, count: int, data, **kwargs) -> None:

sdk/resources/azure-mgmt-resourcegraph/azure/mgmt/resourcegraph/models/query_request_options.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ class QueryRequestOptions(Model):
2424
:param skip: The number of rows to skip from the beginning of the results.
2525
Overrides the next page offset when ```$skipToken``` property is present.
2626
:type skip: int
27+
:param result_format: Defines in which format query result returned.
28+
Possible values include: 'table', 'objectArray'
29+
:type result_format: str or ~azure.mgmt.resourcegraph.models.ResultFormat
2730
"""
2831

2932
_validation = {
@@ -35,10 +38,12 @@ class QueryRequestOptions(Model):
3538
'skip_token': {'key': '$skipToken', 'type': 'str'},
3639
'top': {'key': '$top', 'type': 'int'},
3740
'skip': {'key': '$skip', 'type': 'int'},
41+
'result_format': {'key': 'resultFormat', 'type': 'ResultFormat'},
3842
}
3943

4044
def __init__(self, **kwargs):
4145
super(QueryRequestOptions, self).__init__(**kwargs)
4246
self.skip_token = kwargs.get('skip_token', None)
4347
self.top = kwargs.get('top', None)
4448
self.skip = kwargs.get('skip', None)
49+
self.result_format = kwargs.get('result_format', None)

sdk/resources/azure-mgmt-resourcegraph/azure/mgmt/resourcegraph/models/query_request_options_py3.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ class QueryRequestOptions(Model):
2424
:param skip: The number of rows to skip from the beginning of the results.
2525
Overrides the next page offset when ```$skipToken``` property is present.
2626
:type skip: int
27+
:param result_format: Defines in which format query result returned.
28+
Possible values include: 'table', 'objectArray'
29+
:type result_format: str or ~azure.mgmt.resourcegraph.models.ResultFormat
2730
"""
2831

2932
_validation = {
@@ -35,10 +38,12 @@ class QueryRequestOptions(Model):
3538
'skip_token': {'key': '$skipToken', 'type': 'str'},
3639
'top': {'key': '$top', 'type': 'int'},
3740
'skip': {'key': '$skip', 'type': 'int'},
41+
'result_format': {'key': 'resultFormat', 'type': 'ResultFormat'},
3842
}
3943

40-
def __init__(self, *, skip_token: str=None, top: int=None, skip: int=None, **kwargs) -> None:
44+
def __init__(self, *, skip_token: str=None, top: int=None, skip: int=None, result_format=None, **kwargs) -> None:
4145
super(QueryRequestOptions, self).__init__(**kwargs)
4246
self.skip_token = skip_token
4347
self.top = top
4448
self.skip = skip
49+
self.result_format = result_format

sdk/resources/azure-mgmt-resourcegraph/azure/mgmt/resourcegraph/models/query_response.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class QueryResponse(Model):
3333
current request) to retrieve the next page of data.
3434
:type skip_token: str
3535
:param data: Required. Query output in tabular format.
36-
:type data: ~azure.mgmt.resourcegraph.models.Table
36+
:type data: object
3737
:param facets: Query facets.
3838
:type facets: list[~azure.mgmt.resourcegraph.models.Facet]
3939
"""
@@ -50,7 +50,7 @@ class QueryResponse(Model):
5050
'count': {'key': 'count', 'type': 'long'},
5151
'result_truncated': {'key': 'resultTruncated', 'type': 'ResultTruncated'},
5252
'skip_token': {'key': '$skipToken', 'type': 'str'},
53-
'data': {'key': 'data', 'type': 'Table'},
53+
'data': {'key': 'data', 'type': 'object'},
5454
'facets': {'key': 'facets', 'type': '[Facet]'},
5555
}
5656

sdk/resources/azure-mgmt-resourcegraph/azure/mgmt/resourcegraph/models/query_response_py3.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class QueryResponse(Model):
3333
current request) to retrieve the next page of data.
3434
:type skip_token: str
3535
:param data: Required. Query output in tabular format.
36-
:type data: ~azure.mgmt.resourcegraph.models.Table
36+
:type data: object
3737
:param facets: Query facets.
3838
:type facets: list[~azure.mgmt.resourcegraph.models.Facet]
3939
"""
@@ -50,7 +50,7 @@ class QueryResponse(Model):
5050
'count': {'key': 'count', 'type': 'long'},
5151
'result_truncated': {'key': 'resultTruncated', 'type': 'ResultTruncated'},
5252
'skip_token': {'key': '$skipToken', 'type': 'str'},
53-
'data': {'key': 'data', 'type': 'Table'},
53+
'data': {'key': 'data', 'type': 'object'},
5454
'facets': {'key': 'facets', 'type': '[Facet]'},
5555
}
5656

sdk/resources/azure-mgmt-resourcegraph/azure/mgmt/resourcegraph/models/resource_graph_client_enums.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
from enum import Enum
1313

1414

15+
class ResultFormat(str, Enum):
16+
17+
table = "table"
18+
object_array = "objectArray"
19+
20+
1521
class FacetSortOrder(str, Enum):
1622

1723
asc = "asc"

sdk/resources/azure-mgmt-resourcegraph/azure/mgmt/resourcegraph/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
# regenerated.
1010
# --------------------------------------------------------------------------
1111

12-
VERSION = "1.0.0"
12+
VERSION = "1.1.0"
1313

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
interactions:
2+
- request:
3+
body: 'b''b\''b\\\''b\\\\\\\''{"subscriptions": ["00000000-0000-0000-0000-000000000000"],
4+
"query": "project id, tags, properties | limit 2", "options": {"resultFormat":
5+
"objectArray"}}\\\\\\\''\\\''\'''''
6+
headers:
7+
Accept:
8+
- application/json
9+
Accept-Encoding:
10+
- gzip, deflate
11+
Connection:
12+
- keep-alive
13+
Content-Length:
14+
- '154'
15+
Content-Type:
16+
- application/json; charset=utf-8
17+
User-Agent:
18+
- python/3.6.0 (Windows-10-10.0.18362-SP0) msrest/0.6.6 msrest_azure/0.6.0 azure-mgmt-resourcegraph/1.1.0
19+
Azure-SDK-For-Python
20+
accept-language:
21+
- en-US
22+
method: POST
23+
uri: https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2019-04-01
24+
response:
25+
body: {string: '{"totalRecords":2,"count":2,"data":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zarttest1faaede5-14b9-43b9-8836-3b8df81aa6f2/providers/Microsoft.StreamAnalytics/streamingjobs/zarttest28000000","tags":{},"properties":{"provisioningState":"Succeeded","sku":{"name":"Standard"},"eventsLateArrivalMaxDelayInSeconds":5,"createdDate":"2018-07-26T01:17:29.3470000Z","compatibilityLevel":"1.0","outputErrorPolicy":"Stop","dataLocale":"en-US","jobState":"Created","package":null,"jobType":"Cloud","jobId":"00000000-0000-0000-0000-000000000000"}},{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/newzarttestefd4b1a7-6480-40bb-bac5-f23376ebb04d/providers/Microsoft.Storage/storageAccounts/zarttest9b000000","tags":{},"properties":{"provisioningState":"Succeeded","creationTime":"2018-08-04T19:23:48.4690000Z","supportsHttpsTrafficOnly":true,"trustedDirectories":["72f988bf-86f1-41af-91ab-2d7cd011db47"],"primaryEndpoints":{"blob":"https://zarttest9b000000.blob.core.windows.net/","file":"https://zarttest9b000000.file.core.windows.net/","table":"https://zarttest9b000000.table.core.windows.net/","queue":"https://zarttest9b000000.queue.core.windows.net/"},"statusOfPrimary":"available","primaryLocation":"eastus","networkAcls":{"virtualNetworkRules":[],"defaultAction":"Allow","ipRules":[],"bypass":"AzureServices"},"encryption":{"services":{},"keySource":"Microsoft.Storage"}}}],"facets":[],"resultTruncated":"false"}'}
26+
headers:
27+
cache-control: [no-cache]
28+
content-length: ['1679']
29+
content-type: [application/json; charset=utf-8]
30+
date: ['Wed, 29 Aug 2018 02:06:58 GMT']
31+
expires: ['-1']
32+
pragma: [no-cache]
33+
server: [Microsoft-HTTPAPI/2.0]
34+
strict-transport-security: [max-age=31536000; includeSubDomains]
35+
transfer-encoding: [chunked]
36+
vary: [Accept-Encoding]
37+
x-content-type-options: [nosniff]
38+
x-ms-ratelimit-remaining-tenant-writes: ['1198']
39+
status: {code: 200, message: OK}
40+
version: 1

sdk/resources/azure-mgmt-resourcegraph/tests/test_mgmt_resourcegraph.py

Lines changed: 61 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,50 @@ def test_resources_basic_query(self):
3939
self.assertEqual(len(query_response.facets), 0)
4040

4141
# Data columns
42-
self.assertIsNotNone(query_response.data.columns)
43-
self.assertEqual(len(query_response.data.columns), 3)
44-
self.assertIsNotNone(query_response.data.columns[0].name)
45-
self.assertIsNotNone(query_response.data.columns[1].name)
46-
self.assertIsNotNone(query_response.data.columns[2].name)
47-
self.assertEqual(query_response.data.columns[0].type, ColumnDataType.string)
48-
self.assertEqual(query_response.data.columns[1].type, ColumnDataType.object_enum)
49-
self.assertEqual(query_response.data.columns[2].type, ColumnDataType.object_enum)
42+
self.assertIsNotNone(query_response.data['columns'])
43+
self.assertEqual(len(query_response.data['columns']), 3)
44+
self.assertIsNotNone(query_response.data["columns"][0]["name"])
45+
self.assertIsNotNone(query_response.data["columns"][1]["name"])
46+
self.assertIsNotNone(query_response.data["columns"][2]["name"])
47+
self.assertEqual(query_response.data["columns"][0]["type"], ColumnDataType.string)
48+
self.assertEqual(query_response.data["columns"][1]["type"], ColumnDataType.object_enum)
49+
self.assertEqual(query_response.data["columns"][2]["type"], ColumnDataType.object_enum)
5050

5151
# Data rows
52-
self.assertIsNotNone(query_response.data.rows)
53-
self.assertEqual(len(query_response.data.rows), 2)
54-
self.assertEqual(len(query_response.data.rows[0]), 3)
55-
self.assertIsInstance(query_response.data.rows[0][0], six.string_types)
56-
self.assertIsInstance(query_response.data.rows[0][1], dict)
57-
self.assertIsInstance(query_response.data.rows[0][2], dict)
52+
self.assertIsNotNone(query_response.data["rows"])
53+
self.assertEqual(len(query_response.data["rows"]), 2)
54+
self.assertEqual(len(query_response.data["rows"][0]), 3)
55+
self.assertIsInstance(query_response.data["rows"][0][0], six.string_types)
56+
self.assertIsInstance(query_response.data["rows"][0][1], dict)
57+
self.assertIsInstance(query_response.data["rows"][0][2], dict)
58+
59+
def test_resources_basic_query_object_array(self):
60+
query = QueryRequest(
61+
query='project id, tags, properties | limit 2',
62+
subscriptions=[self.settings.SUBSCRIPTION_ID],
63+
options=QueryRequestOptions(
64+
result_format=ResultFormat.object_array
65+
)
66+
)
67+
68+
query_response = self.resourcegraph_client.resources(query)
69+
70+
# Top-level response fields
71+
self.assertEqual(query_response.count, 2)
72+
self.assertEqual(query_response.total_records, 2)
73+
self.assertIsNone(query_response.skip_token)
74+
self.assertEqual(query_response.result_truncated, ResultTruncated.false)
75+
self.assertIsNotNone(query_response.data)
76+
self.assertIsNotNone(query_response.facets)
77+
self.assertEqual(len(query_response.facets), 0)
78+
79+
# Data
80+
self.assertIsNotNone(query_response.data)
81+
self.assertEqual(len(query_response.data), 2)
82+
self.assertEqual(len(query_response.data[0]), 3)
83+
self.assertIsInstance(query_response.data[0]['id'], six.string_types)
84+
self.assertIsInstance(query_response.data[0]['tags'], dict)
85+
self.assertIsInstance(query_response.data[0]['properties'], dict)
5886

5987
def test_resources_query_options(self):
6088
query = QueryRequest(
@@ -79,16 +107,16 @@ def test_resources_query_options(self):
79107
self.assertEqual(len(query_response.facets), 0)
80108

81109
# Data columns
82-
self.assertIsNotNone(query_response.data.columns)
83-
self.assertEqual(len(query_response.data.columns), 1)
84-
self.assertIsNotNone(query_response.data.columns[0].name)
85-
self.assertEqual(query_response.data.columns[0].type, ColumnDataType.string)
110+
self.assertIsNotNone(query_response.data["columns"])
111+
self.assertEqual(len(query_response.data["columns"]), 1)
112+
self.assertIsNotNone(query_response.data["columns"][0]["name"])
113+
self.assertEqual(query_response.data["columns"][0]["type"], ColumnDataType.string)
86114

87115
# Data rows
88-
self.assertIsNotNone(query_response.data.rows)
89-
self.assertEqual(len(query_response.data.rows), 4)
90-
self.assertEqual(len(query_response.data.rows[0]), 1)
91-
self.assertIsInstance(query_response.data.rows[0][0], six.string_types)
116+
self.assertIsNotNone(query_response.data["rows"])
117+
self.assertEqual(len(query_response.data["rows"]), 4)
118+
self.assertEqual(len(query_response.data["rows"][0]), 1)
119+
self.assertIsInstance(query_response.data["rows"][0][0], six.string_types)
92120

93121
def test_resources_facet_query(self):
94122
facet_expression0 = 'location'
@@ -133,19 +161,19 @@ def test_resources_facet_query(self):
133161
self.assertEqual(query_response.facets[0].count, 4)
134162

135163
# Successful facet columns
136-
self.assertIsNotNone(query_response.facets[0].data.columns)
137-
self.assertEqual(len(query_response.facets[0].data.columns), 2)
138-
self.assertIsNotNone(query_response.facets[0].data.columns[0].name)
139-
self.assertIsNotNone(query_response.facets[0].data.columns[1].name)
140-
self.assertEqual(query_response.facets[0].data.columns[0].type, ColumnDataType.string)
141-
self.assertEqual(query_response.facets[0].data.columns[1].type, ColumnDataType.integer)
164+
self.assertIsNotNone(query_response.facets[0].data["columns"])
165+
self.assertEqual(len(query_response.facets[0].data["columns"]), 2)
166+
self.assertIsNotNone(query_response.facets[0].data["columns"][0]["name"])
167+
self.assertIsNotNone(query_response.facets[0].data["columns"][1]["name"])
168+
self.assertEqual(query_response.facets[0].data["columns"][0]["type"], ColumnDataType.string)
169+
self.assertEqual(query_response.facets[0].data["columns"][1]["type"], ColumnDataType.integer)
142170

143171
# Successful facet rows
144-
self.assertIsNotNone(query_response.facets[0].data.rows)
145-
self.assertEqual(len(query_response.facets[0].data.rows), 4)
146-
self.assertEqual(len(query_response.facets[0].data.rows[0]), 2)
147-
self.assertIsInstance(query_response.facets[0].data.rows[0][0], six.string_types)
148-
self.assertIsInstance(query_response.facets[0].data.rows[0][1], six.integer_types)
172+
self.assertIsNotNone(query_response.facets[0].data["rows"])
173+
self.assertEqual(len(query_response.facets[0].data["rows"]), 4)
174+
self.assertEqual(len(query_response.facets[0].data["rows"][0]), 2)
175+
self.assertIsInstance(query_response.facets[0].data["rows"][0][0], six.string_types)
176+
self.assertIsInstance(query_response.facets[0].data["rows"][0][1], six.integer_types)
149177

150178
# Failed facet
151179
self.assertIsInstance(query_response.facets[1], FacetError)

0 commit comments

Comments
 (0)