From 051f4c8f93541b921e8c119d455c4b6db7b40c19 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Fri, 5 Jan 2018 22:53:33 +0000 Subject: [PATCH] Generated from 9c8629c40c9a103b1a67e5d3dc99306b7fe036ea --- .../graphrbac/graph_rbac_management_client.py | 2 +- .../azure/graphrbac/models/__init__.py | 6 + .../azure/graphrbac/models/aad_object.py | 8 +- .../azure/graphrbac/models/ad_group.py | 33 +- .../azure/graphrbac/models/application.py | 33 +- .../application_add_owner_parameters.py | 41 +++ .../models/application_create_parameters.py | 8 +- .../models/application_update_parameters.py | 8 +- .../check_group_membership_parameters.py | 8 +- .../models/check_group_membership_result.py | 8 +- .../graphrbac/models/directory_object.py | 58 ++++ .../models/directory_object_paged.py | 27 ++ .../azure/graphrbac/models/domain.py | 8 +- .../models/get_objects_parameters.py | 8 +- .../azure/graphrbac/models/graph_error.py | 1 + .../models/group_add_member_parameters.py | 8 +- .../models/group_create_parameters.py | 8 +- .../group_get_member_groups_parameters.py | 8 +- .../azure/graphrbac/models/key_credential.py | 8 +- .../key_credentials_update_parameters.py | 1 + .../graphrbac/models/password_credential.py | 8 +- .../password_credentials_update_parameters.py | 1 + .../graphrbac/models/password_profile.py | 8 +- .../models/required_resource_access.py | 8 +- .../azure/graphrbac/models/resource_access.py | 8 +- .../graphrbac/models/service_principal.py | 33 +- .../service_principal_create_parameters.py | 8 +- .../azure/graphrbac/models/sign_in_name.py | 8 +- .../azure/graphrbac/models/user.py | 45 ++- .../azure/graphrbac/models/user_base.py | 8 +- .../models/user_create_parameters.py | 8 +- .../user_get_member_groups_parameters.py | 8 +- .../models/user_update_parameters.py | 8 +- .../operations/applications_operations.py | 155 ++++++++- .../operations/domains_operations.py | 6 +- .../graphrbac/operations/groups_operations.py | 56 +-- .../operations/objects_operations.py | 6 +- .../service_principals_operations.py | 88 ++++- .../graphrbac/operations/users_operations.py | 21 +- azure-graphrbac/azure/graphrbac/version.py | 2 +- azure-graphrbac/build.json | 318 ++++++++++++++---- 41 files changed, 924 insertions(+), 177 deletions(-) create mode 100644 azure-graphrbac/azure/graphrbac/models/application_add_owner_parameters.py create mode 100644 azure-graphrbac/azure/graphrbac/models/directory_object.py create mode 100644 azure-graphrbac/azure/graphrbac/models/directory_object_paged.py diff --git a/azure-graphrbac/azure/graphrbac/graph_rbac_management_client.py b/azure-graphrbac/azure/graphrbac/graph_rbac_management_client.py index f588875a9db5..02faf9b63169 100644 --- a/azure-graphrbac/azure/graphrbac/graph_rbac_management_client.py +++ b/azure-graphrbac/azure/graphrbac/graph_rbac_management_client.py @@ -47,7 +47,7 @@ def __init__( super(GraphRbacManagementClientConfiguration, self).__init__(base_url) - self.add_user_agent('graphrbacmanagementclient/{}'.format(VERSION)) + self.add_user_agent('azure-graphrbac/{}'.format(VERSION)) self.add_user_agent('Azure-SDK-For-Python') self.credentials = credentials diff --git a/azure-graphrbac/azure/graphrbac/models/__init__.py b/azure-graphrbac/azure/graphrbac/models/__init__.py index f0d758a105c6..caea550daabe 100644 --- a/azure-graphrbac/azure/graphrbac/models/__init__.py +++ b/azure-graphrbac/azure/graphrbac/models/__init__.py @@ -10,6 +10,7 @@ # -------------------------------------------------------------------------- from .graph_error import GraphError, GraphErrorException +from .directory_object import DirectoryObject from .key_credential import KeyCredential from .password_credential import PasswordCredential from .resource_access import ResourceAccess @@ -17,6 +18,7 @@ from .application_create_parameters import ApplicationCreateParameters from .application_update_parameters import ApplicationUpdateParameters from .application import Application +from .application_add_owner_parameters import ApplicationAddOwnerParameters from .key_credentials_update_parameters import KeyCredentialsUpdateParameters from .password_credentials_update_parameters import PasswordCredentialsUpdateParameters from .aad_object import AADObject @@ -39,6 +41,7 @@ from .domain import Domain from .aad_object_paged import AADObjectPaged from .application_paged import ApplicationPaged +from .directory_object_paged import DirectoryObjectPaged from .key_credential_paged import KeyCredentialPaged from .password_credential_paged import PasswordCredentialPaged from .ad_group_paged import ADGroupPaged @@ -52,6 +55,7 @@ __all__ = [ 'GraphError', 'GraphErrorException', + 'DirectoryObject', 'KeyCredential', 'PasswordCredential', 'ResourceAccess', @@ -59,6 +63,7 @@ 'ApplicationCreateParameters', 'ApplicationUpdateParameters', 'Application', + 'ApplicationAddOwnerParameters', 'KeyCredentialsUpdateParameters', 'PasswordCredentialsUpdateParameters', 'AADObject', @@ -81,6 +86,7 @@ 'Domain', 'AADObjectPaged', 'ApplicationPaged', + 'DirectoryObjectPaged', 'KeyCredentialPaged', 'PasswordCredentialPaged', 'ADGroupPaged', diff --git a/azure-graphrbac/azure/graphrbac/models/aad_object.py b/azure-graphrbac/azure/graphrbac/models/aad_object.py index b53e1120d4b3..88c08b0c6f15 100644 --- a/azure-graphrbac/azure/graphrbac/models/aad_object.py +++ b/azure-graphrbac/azure/graphrbac/models/aad_object.py @@ -18,6 +18,9 @@ class AADObject(Model): Variables are only populated by the server, and will be ignored when sending a request. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param object_id: The ID of the object. :type object_id: str :param object_type: The type of AAD object. @@ -73,6 +76,7 @@ class AADObject(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'object_id': {'key': 'objectId', 'type': 'str'}, 'object_type': {'key': 'objectType', 'type': 'str'}, 'display_name': {'key': 'displayName', 'type': 'str'}, @@ -93,7 +97,9 @@ class AADObject(Model): 'homepage': {'key': 'homepage', 'type': 'str'}, } - def __init__(self, object_id=None, object_type=None, display_name=None, user_principal_name=None, mail=None, mail_enabled=None, security_enabled=None, sign_in_name=None, service_principal_names=None, user_type=None): + def __init__(self, additional_properties=None, object_id=None, object_type=None, display_name=None, user_principal_name=None, mail=None, mail_enabled=None, security_enabled=None, sign_in_name=None, service_principal_names=None, user_type=None): + super(AADObject, self).__init__() + self.additional_properties = additional_properties self.object_id = object_id self.object_type = object_type self.display_name = display_name diff --git a/azure-graphrbac/azure/graphrbac/models/ad_group.py b/azure-graphrbac/azure/graphrbac/models/ad_group.py index 965d66498a48..57f69c6002c9 100644 --- a/azure-graphrbac/azure/graphrbac/models/ad_group.py +++ b/azure-graphrbac/azure/graphrbac/models/ad_group.py @@ -9,15 +9,24 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model +from .directory_object import DirectoryObject -class ADGroup(Model): +class ADGroup(DirectoryObject): """Active Directory group information. - :param object_id: The object ID. - :type object_id: str - :param object_type: The object type. + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar object_id: The object ID. + :vartype object_id: str + :ivar deletion_timestamp: The time at which the directory object was + deleted. + :vartype deletion_timestamp: datetime + :param object_type: Constant filled by server. :type object_type: str :param display_name: The display name of the group. :type display_name: str @@ -27,17 +36,25 @@ class ADGroup(Model): :type mail: str """ + _validation = { + 'object_id': {'readonly': True}, + 'deletion_timestamp': {'readonly': True}, + 'object_type': {'required': True}, + } + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'object_id': {'key': 'objectId', 'type': 'str'}, + 'deletion_timestamp': {'key': 'deletionTimestamp', 'type': 'iso-8601'}, 'object_type': {'key': 'objectType', 'type': 'str'}, 'display_name': {'key': 'displayName', 'type': 'str'}, 'security_enabled': {'key': 'securityEnabled', 'type': 'bool'}, 'mail': {'key': 'mail', 'type': 'str'}, } - def __init__(self, object_id=None, object_type=None, display_name=None, security_enabled=None, mail=None): - self.object_id = object_id - self.object_type = object_type + def __init__(self, additional_properties=None, display_name=None, security_enabled=None, mail=None): + super(ADGroup, self).__init__(additional_properties=additional_properties) self.display_name = display_name self.security_enabled = security_enabled self.mail = mail + self.object_type = 'Group' diff --git a/azure-graphrbac/azure/graphrbac/models/application.py b/azure-graphrbac/azure/graphrbac/models/application.py index 0289aeee02f5..d19afa746795 100644 --- a/azure-graphrbac/azure/graphrbac/models/application.py +++ b/azure-graphrbac/azure/graphrbac/models/application.py @@ -9,15 +9,24 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model +from .directory_object import DirectoryObject -class Application(Model): +class Application(DirectoryObject): """Active Directory application information. - :param object_id: The object ID. - :type object_id: str - :param object_type: The object type. + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar object_id: The object ID. + :vartype object_id: str + :ivar deletion_timestamp: The time at which the directory object was + deleted. + :vartype deletion_timestamp: datetime + :param object_type: Constant filled by server. :type object_type: str :param app_id: The application ID. :type app_id: str @@ -39,8 +48,16 @@ class Application(Model): :type oauth2_allow_implicit_flow: bool """ + _validation = { + 'object_id': {'readonly': True}, + 'deletion_timestamp': {'readonly': True}, + 'object_type': {'required': True}, + } + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'object_id': {'key': 'objectId', 'type': 'str'}, + 'deletion_timestamp': {'key': 'deletionTimestamp', 'type': 'iso-8601'}, 'object_type': {'key': 'objectType', 'type': 'str'}, 'app_id': {'key': 'appId', 'type': 'str'}, 'app_permissions': {'key': 'appPermissions', 'type': '[str]'}, @@ -52,9 +69,8 @@ class Application(Model): 'oauth2_allow_implicit_flow': {'key': 'oauth2AllowImplicitFlow', 'type': 'bool'}, } - def __init__(self, object_id=None, object_type=None, app_id=None, app_permissions=None, available_to_other_tenants=None, display_name=None, identifier_uris=None, reply_urls=None, homepage=None, oauth2_allow_implicit_flow=None): - self.object_id = object_id - self.object_type = object_type + def __init__(self, additional_properties=None, app_id=None, app_permissions=None, available_to_other_tenants=None, display_name=None, identifier_uris=None, reply_urls=None, homepage=None, oauth2_allow_implicit_flow=None): + super(Application, self).__init__(additional_properties=additional_properties) self.app_id = app_id self.app_permissions = app_permissions self.available_to_other_tenants = available_to_other_tenants @@ -63,3 +79,4 @@ def __init__(self, object_id=None, object_type=None, app_id=None, app_permission self.reply_urls = reply_urls self.homepage = homepage self.oauth2_allow_implicit_flow = oauth2_allow_implicit_flow + self.object_type = 'Application' diff --git a/azure-graphrbac/azure/graphrbac/models/application_add_owner_parameters.py b/azure-graphrbac/azure/graphrbac/models/application_add_owner_parameters.py new file mode 100644 index 000000000000..ea47f287e952 --- /dev/null +++ b/azure-graphrbac/azure/graphrbac/models/application_add_owner_parameters.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class ApplicationAddOwnerParameters(Model): + """Request parameters for adding a owner to an application. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :param url: A owner object URL, such as + "https://graph.windows.net/0b1f9851-1bf0-433f-aec3-cb9272f093dc/directoryObjects/f260bbc4-c254-447b-94cf-293b5ec434dd", + where "0b1f9851-1bf0-433f-aec3-cb9272f093dc" is the tenantId and + "f260bbc4-c254-447b-94cf-293b5ec434dd" is the objectId of the owner (user, + application, servicePrincipal, group) to be added. + :type url: str + """ + + _validation = { + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__(self, url, additional_properties=None): + super(ApplicationAddOwnerParameters, self).__init__() + self.additional_properties = additional_properties + self.url = url diff --git a/azure-graphrbac/azure/graphrbac/models/application_create_parameters.py b/azure-graphrbac/azure/graphrbac/models/application_create_parameters.py index e0d45476fb20..6c397fb92ff6 100644 --- a/azure-graphrbac/azure/graphrbac/models/application_create_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/application_create_parameters.py @@ -15,6 +15,9 @@ class ApplicationCreateParameters(Model): """Request parameters for creating a new application. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param available_to_other_tenants: Whether the application is available to other tenants. :type available_to_other_tenants: bool @@ -49,6 +52,7 @@ class ApplicationCreateParameters(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'available_to_other_tenants': {'key': 'availableToOtherTenants', 'type': 'bool'}, 'display_name': {'key': 'displayName', 'type': 'str'}, 'homepage': {'key': 'homepage', 'type': 'str'}, @@ -60,7 +64,9 @@ class ApplicationCreateParameters(Model): 'required_resource_access': {'key': 'requiredResourceAccess', 'type': '[RequiredResourceAccess]'}, } - def __init__(self, available_to_other_tenants, display_name, identifier_uris, homepage=None, reply_urls=None, key_credentials=None, password_credentials=None, oauth2_allow_implicit_flow=None, required_resource_access=None): + def __init__(self, available_to_other_tenants, display_name, identifier_uris, additional_properties=None, homepage=None, reply_urls=None, key_credentials=None, password_credentials=None, oauth2_allow_implicit_flow=None, required_resource_access=None): + super(ApplicationCreateParameters, self).__init__() + self.additional_properties = additional_properties self.available_to_other_tenants = available_to_other_tenants self.display_name = display_name self.homepage = homepage diff --git a/azure-graphrbac/azure/graphrbac/models/application_update_parameters.py b/azure-graphrbac/azure/graphrbac/models/application_update_parameters.py index b0ccff265e98..a2ce3086fa1e 100644 --- a/azure-graphrbac/azure/graphrbac/models/application_update_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/application_update_parameters.py @@ -15,6 +15,9 @@ class ApplicationUpdateParameters(Model): """Request parameters for updating an existing application. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param available_to_other_tenants: Whether the application is available to other tenants :type available_to_other_tenants: bool @@ -43,6 +46,7 @@ class ApplicationUpdateParameters(Model): """ _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'available_to_other_tenants': {'key': 'availableToOtherTenants', 'type': 'bool'}, 'display_name': {'key': 'displayName', 'type': 'str'}, 'homepage': {'key': 'homepage', 'type': 'str'}, @@ -54,7 +58,9 @@ class ApplicationUpdateParameters(Model): 'required_resource_access': {'key': 'requiredResourceAccess', 'type': '[RequiredResourceAccess]'}, } - def __init__(self, available_to_other_tenants=None, display_name=None, homepage=None, identifier_uris=None, reply_urls=None, key_credentials=None, password_credentials=None, oauth2_allow_implicit_flow=None, required_resource_access=None): + def __init__(self, additional_properties=None, available_to_other_tenants=None, display_name=None, homepage=None, identifier_uris=None, reply_urls=None, key_credentials=None, password_credentials=None, oauth2_allow_implicit_flow=None, required_resource_access=None): + super(ApplicationUpdateParameters, self).__init__() + self.additional_properties = additional_properties self.available_to_other_tenants = available_to_other_tenants self.display_name = display_name self.homepage = homepage diff --git a/azure-graphrbac/azure/graphrbac/models/check_group_membership_parameters.py b/azure-graphrbac/azure/graphrbac/models/check_group_membership_parameters.py index 410a401a4271..4d5355f238c5 100644 --- a/azure-graphrbac/azure/graphrbac/models/check_group_membership_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/check_group_membership_parameters.py @@ -15,6 +15,9 @@ class CheckGroupMembershipParameters(Model): """Request parameters for IsMemberOf API call. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param group_id: The object ID of the group to check. :type group_id: str :param member_id: The object ID of the contact, group, user, or service @@ -28,10 +31,13 @@ class CheckGroupMembershipParameters(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'group_id': {'key': 'groupId', 'type': 'str'}, 'member_id': {'key': 'memberId', 'type': 'str'}, } - def __init__(self, group_id, member_id): + def __init__(self, group_id, member_id, additional_properties=None): + super(CheckGroupMembershipParameters, self).__init__() + self.additional_properties = additional_properties self.group_id = group_id self.member_id = member_id diff --git a/azure-graphrbac/azure/graphrbac/models/check_group_membership_result.py b/azure-graphrbac/azure/graphrbac/models/check_group_membership_result.py index 430b52391ec7..a27c56b5f520 100644 --- a/azure-graphrbac/azure/graphrbac/models/check_group_membership_result.py +++ b/azure-graphrbac/azure/graphrbac/models/check_group_membership_result.py @@ -15,6 +15,9 @@ class CheckGroupMembershipResult(Model): """Server response for IsMemberOf API call. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param value: True if the specified user, group, contact, or service principal has either direct or transitive membership in the specified group; otherwise, false. @@ -22,8 +25,11 @@ class CheckGroupMembershipResult(Model): """ _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'value': {'key': 'value', 'type': 'bool'}, } - def __init__(self, value=None): + def __init__(self, additional_properties=None, value=None): + super(CheckGroupMembershipResult, self).__init__() + self.additional_properties = additional_properties self.value = value diff --git a/azure-graphrbac/azure/graphrbac/models/directory_object.py b/azure-graphrbac/azure/graphrbac/models/directory_object.py new file mode 100644 index 000000000000..9683fe507471 --- /dev/null +++ b/azure-graphrbac/azure/graphrbac/models/directory_object.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class DirectoryObject(Model): + """Represents an Azure Active Directory object. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: Application, ADGroup, ServicePrincipal, User + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar object_id: The object ID. + :vartype object_id: str + :ivar deletion_timestamp: The time at which the directory object was + deleted. + :vartype deletion_timestamp: datetime + :param object_type: Constant filled by server. + :type object_type: str + """ + + _validation = { + 'object_id': {'readonly': True}, + 'deletion_timestamp': {'readonly': True}, + 'object_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + 'deletion_timestamp': {'key': 'deletionTimestamp', 'type': 'iso-8601'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + } + + _subtype_map = { + 'object_type': {'Application': 'Application', 'Group': 'ADGroup', 'ServicePrincipal': 'ServicePrincipal', 'User': 'User'} + } + + def __init__(self, additional_properties=None): + super(DirectoryObject, self).__init__() + self.additional_properties = additional_properties + self.object_id = None + self.deletion_timestamp = None + self.object_type = None diff --git a/azure-graphrbac/azure/graphrbac/models/directory_object_paged.py b/azure-graphrbac/azure/graphrbac/models/directory_object_paged.py new file mode 100644 index 000000000000..9afb9de28259 --- /dev/null +++ b/azure-graphrbac/azure/graphrbac/models/directory_object_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class DirectoryObjectPaged(Paged): + """ + A paging container for iterating over a list of :class:`DirectoryObject ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DirectoryObject]'} + } + + def __init__(self, *args, **kwargs): + + super(DirectoryObjectPaged, self).__init__(*args, **kwargs) diff --git a/azure-graphrbac/azure/graphrbac/models/domain.py b/azure-graphrbac/azure/graphrbac/models/domain.py index cd2fffec53e1..9bb56c43d843 100644 --- a/azure-graphrbac/azure/graphrbac/models/domain.py +++ b/azure-graphrbac/azure/graphrbac/models/domain.py @@ -18,6 +18,9 @@ class Domain(Model): Variables are only populated by the server, and will be ignored when sending a request. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :ivar authentication_type: the type of the authentication into the domain. :vartype authentication_type: str :ivar is_default: if this is the default domain in the tenant. @@ -36,13 +39,16 @@ class Domain(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, 'is_default': {'key': 'isDefault', 'type': 'bool'}, 'is_verified': {'key': 'isVerified', 'type': 'bool'}, 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, name): + def __init__(self, name, additional_properties=None): + super(Domain, self).__init__() + self.additional_properties = additional_properties self.authentication_type = None self.is_default = None self.is_verified = None diff --git a/azure-graphrbac/azure/graphrbac/models/get_objects_parameters.py b/azure-graphrbac/azure/graphrbac/models/get_objects_parameters.py index 222c4a45d610..eb0fb5333f13 100644 --- a/azure-graphrbac/azure/graphrbac/models/get_objects_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/get_objects_parameters.py @@ -15,6 +15,9 @@ class GetObjectsParameters(Model): """Request parameters for the GetObjectsByObjectIds API. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param object_ids: The requested object IDs. :type object_ids: list[str] :param types: The requested object types. @@ -29,12 +32,15 @@ class GetObjectsParameters(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'object_ids': {'key': 'objectIds', 'type': '[str]'}, 'types': {'key': 'types', 'type': '[str]'}, 'include_directory_object_references': {'key': 'includeDirectoryObjectReferences', 'type': 'bool'}, } - def __init__(self, include_directory_object_references, object_ids=None, types=None): + def __init__(self, include_directory_object_references, additional_properties=None, object_ids=None, types=None): + super(GetObjectsParameters, self).__init__() + self.additional_properties = additional_properties self.object_ids = object_ids self.types = types self.include_directory_object_references = include_directory_object_references diff --git a/azure-graphrbac/azure/graphrbac/models/graph_error.py b/azure-graphrbac/azure/graphrbac/models/graph_error.py index 0bfa9744e63d..4c7c3a0110ca 100644 --- a/azure-graphrbac/azure/graphrbac/models/graph_error.py +++ b/azure-graphrbac/azure/graphrbac/models/graph_error.py @@ -28,6 +28,7 @@ class GraphError(Model): } def __init__(self, code=None, message=None): + super(GraphError, self).__init__() self.code = code self.message = message diff --git a/azure-graphrbac/azure/graphrbac/models/group_add_member_parameters.py b/azure-graphrbac/azure/graphrbac/models/group_add_member_parameters.py index 92a68b2fe328..bccfccf03c8b 100644 --- a/azure-graphrbac/azure/graphrbac/models/group_add_member_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/group_add_member_parameters.py @@ -15,6 +15,9 @@ class GroupAddMemberParameters(Model): """Request parameters for adding a member to a group. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param url: A member object URL, such as "https://graph.windows.net/0b1f9851-1bf0-433f-aec3-cb9272f093dc/directoryObjects/f260bbc4-c254-447b-94cf-293b5ec434dd", where "0b1f9851-1bf0-433f-aec3-cb9272f093dc" is the tenantId and @@ -28,8 +31,11 @@ class GroupAddMemberParameters(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'url': {'key': 'url', 'type': 'str'}, } - def __init__(self, url): + def __init__(self, url, additional_properties=None): + super(GroupAddMemberParameters, self).__init__() + self.additional_properties = additional_properties self.url = url diff --git a/azure-graphrbac/azure/graphrbac/models/group_create_parameters.py b/azure-graphrbac/azure/graphrbac/models/group_create_parameters.py index c1b13ee46496..6eaf7ddcbe41 100644 --- a/azure-graphrbac/azure/graphrbac/models/group_create_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/group_create_parameters.py @@ -18,6 +18,9 @@ class GroupCreateParameters(Model): Variables are only populated by the server, and will be ignored when sending a request. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param display_name: Group display name :type display_name: str :ivar mail_enabled: Whether the group is mail-enabled. Must be false. This @@ -40,6 +43,7 @@ class GroupCreateParameters(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'display_name': {'key': 'displayName', 'type': 'str'}, 'mail_enabled': {'key': 'mailEnabled', 'type': 'bool'}, 'mail_nickname': {'key': 'mailNickname', 'type': 'str'}, @@ -50,6 +54,8 @@ class GroupCreateParameters(Model): security_enabled = True - def __init__(self, display_name, mail_nickname): + def __init__(self, display_name, mail_nickname, additional_properties=None): + super(GroupCreateParameters, self).__init__() + self.additional_properties = additional_properties self.display_name = display_name self.mail_nickname = mail_nickname diff --git a/azure-graphrbac/azure/graphrbac/models/group_get_member_groups_parameters.py b/azure-graphrbac/azure/graphrbac/models/group_get_member_groups_parameters.py index dcb598bd815b..27693c062e60 100644 --- a/azure-graphrbac/azure/graphrbac/models/group_get_member_groups_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/group_get_member_groups_parameters.py @@ -15,6 +15,9 @@ class GroupGetMemberGroupsParameters(Model): """Request parameters for GetMemberGroups API call. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param security_enabled_only: If true, only membership in security-enabled groups should be checked. Otherwise, membership in all groups should be checked. @@ -26,8 +29,11 @@ class GroupGetMemberGroupsParameters(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'security_enabled_only': {'key': 'securityEnabledOnly', 'type': 'bool'}, } - def __init__(self, security_enabled_only): + def __init__(self, security_enabled_only, additional_properties=None): + super(GroupGetMemberGroupsParameters, self).__init__() + self.additional_properties = additional_properties self.security_enabled_only = security_enabled_only diff --git a/azure-graphrbac/azure/graphrbac/models/key_credential.py b/azure-graphrbac/azure/graphrbac/models/key_credential.py index e94b90fe8a01..275d871796fc 100644 --- a/azure-graphrbac/azure/graphrbac/models/key_credential.py +++ b/azure-graphrbac/azure/graphrbac/models/key_credential.py @@ -15,6 +15,9 @@ class KeyCredential(Model): """Active Directory Key Credential information. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param start_date: Start date. :type start_date: datetime :param end_date: End date. @@ -31,6 +34,7 @@ class KeyCredential(Model): """ _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'start_date': {'key': 'startDate', 'type': 'iso-8601'}, 'end_date': {'key': 'endDate', 'type': 'iso-8601'}, 'value': {'key': 'value', 'type': 'str'}, @@ -39,7 +43,9 @@ class KeyCredential(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, start_date=None, end_date=None, value=None, key_id=None, usage=None, type=None): + def __init__(self, additional_properties=None, start_date=None, end_date=None, value=None, key_id=None, usage=None, type=None): + super(KeyCredential, self).__init__() + self.additional_properties = additional_properties self.start_date = start_date self.end_date = end_date self.value = value diff --git a/azure-graphrbac/azure/graphrbac/models/key_credentials_update_parameters.py b/azure-graphrbac/azure/graphrbac/models/key_credentials_update_parameters.py index ae0b68a1d799..9f0596127112 100644 --- a/azure-graphrbac/azure/graphrbac/models/key_credentials_update_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/key_credentials_update_parameters.py @@ -28,4 +28,5 @@ class KeyCredentialsUpdateParameters(Model): } def __init__(self, value): + super(KeyCredentialsUpdateParameters, self).__init__() self.value = value diff --git a/azure-graphrbac/azure/graphrbac/models/password_credential.py b/azure-graphrbac/azure/graphrbac/models/password_credential.py index c4615275cb74..d10a08a6cdf9 100644 --- a/azure-graphrbac/azure/graphrbac/models/password_credential.py +++ b/azure-graphrbac/azure/graphrbac/models/password_credential.py @@ -15,6 +15,9 @@ class PasswordCredential(Model): """Active Directory Password Credential information. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param start_date: Start date. :type start_date: datetime :param end_date: End date. @@ -26,13 +29,16 @@ class PasswordCredential(Model): """ _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'start_date': {'key': 'startDate', 'type': 'iso-8601'}, 'end_date': {'key': 'endDate', 'type': 'iso-8601'}, 'key_id': {'key': 'keyId', 'type': 'str'}, 'value': {'key': 'value', 'type': 'str'}, } - def __init__(self, start_date=None, end_date=None, key_id=None, value=None): + def __init__(self, additional_properties=None, start_date=None, end_date=None, key_id=None, value=None): + super(PasswordCredential, self).__init__() + self.additional_properties = additional_properties self.start_date = start_date self.end_date = end_date self.key_id = key_id diff --git a/azure-graphrbac/azure/graphrbac/models/password_credentials_update_parameters.py b/azure-graphrbac/azure/graphrbac/models/password_credentials_update_parameters.py index cdd32b017154..46f34f2f086a 100644 --- a/azure-graphrbac/azure/graphrbac/models/password_credentials_update_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/password_credentials_update_parameters.py @@ -28,4 +28,5 @@ class PasswordCredentialsUpdateParameters(Model): } def __init__(self, value): + super(PasswordCredentialsUpdateParameters, self).__init__() self.value = value diff --git a/azure-graphrbac/azure/graphrbac/models/password_profile.py b/azure-graphrbac/azure/graphrbac/models/password_profile.py index e906a6cb9e4e..ab79d5990cb4 100644 --- a/azure-graphrbac/azure/graphrbac/models/password_profile.py +++ b/azure-graphrbac/azure/graphrbac/models/password_profile.py @@ -15,6 +15,9 @@ class PasswordProfile(Model): """The password profile associated with a user. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param password: Password :type password: str :param force_change_password_next_login: Whether to force a password @@ -27,10 +30,13 @@ class PasswordProfile(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'password': {'key': 'password', 'type': 'str'}, 'force_change_password_next_login': {'key': 'forceChangePasswordNextLogin', 'type': 'bool'}, } - def __init__(self, password, force_change_password_next_login=None): + def __init__(self, password, additional_properties=None, force_change_password_next_login=None): + super(PasswordProfile, self).__init__() + self.additional_properties = additional_properties self.password = password self.force_change_password_next_login = force_change_password_next_login diff --git a/azure-graphrbac/azure/graphrbac/models/required_resource_access.py b/azure-graphrbac/azure/graphrbac/models/required_resource_access.py index 4ac8c69239d4..35e6dcf3624f 100644 --- a/azure-graphrbac/azure/graphrbac/models/required_resource_access.py +++ b/azure-graphrbac/azure/graphrbac/models/required_resource_access.py @@ -20,6 +20,9 @@ class RequiredResourceAccess(Model): application. The requiredResourceAccess property of the Application entity is a collection of ReqiredResourceAccess. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param resource_access: The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource. :type resource_access: list[~azure.graphrbac.models.ResourceAccess] @@ -34,10 +37,13 @@ class RequiredResourceAccess(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'resource_access': {'key': 'resourceAccess', 'type': '[ResourceAccess]'}, 'resource_app_id': {'key': 'resourceAppId', 'type': 'str'}, } - def __init__(self, resource_access, resource_app_id=None): + def __init__(self, resource_access, additional_properties=None, resource_app_id=None): + super(RequiredResourceAccess, self).__init__() + self.additional_properties = additional_properties self.resource_access = resource_access self.resource_app_id = resource_app_id diff --git a/azure-graphrbac/azure/graphrbac/models/resource_access.py b/azure-graphrbac/azure/graphrbac/models/resource_access.py index 5afa8a19dfdb..d06699c5739d 100644 --- a/azure-graphrbac/azure/graphrbac/models/resource_access.py +++ b/azure-graphrbac/azure/graphrbac/models/resource_access.py @@ -17,6 +17,9 @@ class ResourceAccess(Model): requires. The resourceAccess property of the RequiredResourceAccess type is a collection of ResourceAccess. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param id: The unique identifier for one of the OAuth2Permission or AppRole instances that the resource application exposes. :type id: str @@ -30,10 +33,13 @@ class ResourceAccess(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'id': {'key': 'id', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, id, type=None): + def __init__(self, id, additional_properties=None, type=None): + super(ResourceAccess, self).__init__() + self.additional_properties = additional_properties self.id = id self.type = type diff --git a/azure-graphrbac/azure/graphrbac/models/service_principal.py b/azure-graphrbac/azure/graphrbac/models/service_principal.py index 4ff1830e5ebd..37d9382b1c79 100644 --- a/azure-graphrbac/azure/graphrbac/models/service_principal.py +++ b/azure-graphrbac/azure/graphrbac/models/service_principal.py @@ -9,15 +9,24 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model +from .directory_object import DirectoryObject -class ServicePrincipal(Model): +class ServicePrincipal(DirectoryObject): """Active Directory service principal information. - :param object_id: The object ID. - :type object_id: str - :param object_type: The object type. + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar object_id: The object ID. + :vartype object_id: str + :ivar deletion_timestamp: The time at which the directory object was + deleted. + :vartype deletion_timestamp: datetime + :param object_type: Constant filled by server. :type object_type: str :param display_name: The display name of the service principal. :type display_name: str @@ -27,17 +36,25 @@ class ServicePrincipal(Model): :type service_principal_names: list[str] """ + _validation = { + 'object_id': {'readonly': True}, + 'deletion_timestamp': {'readonly': True}, + 'object_type': {'required': True}, + } + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'object_id': {'key': 'objectId', 'type': 'str'}, + 'deletion_timestamp': {'key': 'deletionTimestamp', 'type': 'iso-8601'}, 'object_type': {'key': 'objectType', 'type': 'str'}, 'display_name': {'key': 'displayName', 'type': 'str'}, 'app_id': {'key': 'appId', 'type': 'str'}, 'service_principal_names': {'key': 'servicePrincipalNames', 'type': '[str]'}, } - def __init__(self, object_id=None, object_type=None, display_name=None, app_id=None, service_principal_names=None): - self.object_id = object_id - self.object_type = object_type + def __init__(self, additional_properties=None, display_name=None, app_id=None, service_principal_names=None): + super(ServicePrincipal, self).__init__(additional_properties=additional_properties) self.display_name = display_name self.app_id = app_id self.service_principal_names = service_principal_names + self.object_type = 'ServicePrincipal' diff --git a/azure-graphrbac/azure/graphrbac/models/service_principal_create_parameters.py b/azure-graphrbac/azure/graphrbac/models/service_principal_create_parameters.py index c1b1faffd63f..54b49b0e2c8c 100644 --- a/azure-graphrbac/azure/graphrbac/models/service_principal_create_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/service_principal_create_parameters.py @@ -15,6 +15,9 @@ class ServicePrincipalCreateParameters(Model): """Request parameters for creating a new service principal. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param app_id: application Id :type app_id: str :param account_enabled: Whether the account is enabled @@ -32,13 +35,16 @@ class ServicePrincipalCreateParameters(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'app_id': {'key': 'appId', 'type': 'str'}, 'account_enabled': {'key': 'accountEnabled', 'type': 'bool'}, 'key_credentials': {'key': 'keyCredentials', 'type': '[KeyCredential]'}, 'password_credentials': {'key': 'passwordCredentials', 'type': '[PasswordCredential]'}, } - def __init__(self, app_id, account_enabled, key_credentials=None, password_credentials=None): + def __init__(self, app_id, account_enabled, additional_properties=None, key_credentials=None, password_credentials=None): + super(ServicePrincipalCreateParameters, self).__init__() + self.additional_properties = additional_properties self.app_id = app_id self.account_enabled = account_enabled self.key_credentials = key_credentials diff --git a/azure-graphrbac/azure/graphrbac/models/sign_in_name.py b/azure-graphrbac/azure/graphrbac/models/sign_in_name.py index 9588fa7f1bc7..eff41300e667 100644 --- a/azure-graphrbac/azure/graphrbac/models/sign_in_name.py +++ b/azure-graphrbac/azure/graphrbac/models/sign_in_name.py @@ -16,6 +16,9 @@ class SignInName(Model): """Contains information about a sign-in name of a local account user in an Azure Active Directory B2C tenant. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param type: A string value that can be used to classify user sign-in types in your directory, such as 'emailAddress' or 'userName'. :type type: str @@ -25,10 +28,13 @@ class SignInName(Model): """ _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'type': {'key': 'type', 'type': 'str'}, 'value': {'key': 'value', 'type': 'str'}, } - def __init__(self, type=None, value=None): + def __init__(self, additional_properties=None, type=None, value=None): + super(SignInName, self).__init__() + self.additional_properties = additional_properties self.type = type self.value = value diff --git a/azure-graphrbac/azure/graphrbac/models/user.py b/azure-graphrbac/azure/graphrbac/models/user.py index 83650f2a3570..bfe788dc93c9 100644 --- a/azure-graphrbac/azure/graphrbac/models/user.py +++ b/azure-graphrbac/azure/graphrbac/models/user.py @@ -9,12 +9,25 @@ # regenerated. # -------------------------------------------------------------------------- -from .user_base import UserBase +from .directory_object import DirectoryObject -class User(UserBase): +class User(DirectoryObject): """Active Directory user information. + Variables are only populated by the server, and will be ignored when + sending a request. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] + :ivar object_id: The object ID. + :vartype object_id: str + :ivar deletion_timestamp: The time at which the directory object was + deleted. + :vartype deletion_timestamp: datetime + :param object_type: Constant filled by server. + :type object_type: str :param immutable_id: This must be specified if you are using a federated domain for the user's userPrincipalName (UPN) property when creating a new user account. It is used to associate an on-premises Active Directory user @@ -43,15 +56,21 @@ class User(UserBase): :type mail_nickname: str :param mail: The primary email address of the user. :type mail: str - :param object_id: The object ID. - :type object_id: str - :param object_type: The object type. - :type object_type: str :param sign_in_names: The sign-in names of the user. :type sign_in_names: list[~azure.graphrbac.models.SignInName] """ + _validation = { + 'object_id': {'readonly': True}, + 'deletion_timestamp': {'readonly': True}, + 'object_type': {'required': True}, + } + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + 'deletion_timestamp': {'key': 'deletionTimestamp', 'type': 'iso-8601'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, 'immutable_id': {'key': 'immutableId', 'type': 'str'}, 'usage_location': {'key': 'usageLocation', 'type': 'str'}, 'given_name': {'key': 'givenName', 'type': 'str'}, @@ -62,18 +81,20 @@ class User(UserBase): 'user_principal_name': {'key': 'userPrincipalName', 'type': 'str'}, 'mail_nickname': {'key': 'mailNickname', 'type': 'str'}, 'mail': {'key': 'mail', 'type': 'str'}, - 'object_id': {'key': 'objectId', 'type': 'str'}, - 'object_type': {'key': 'objectType', 'type': 'str'}, 'sign_in_names': {'key': 'signInNames', 'type': '[SignInName]'}, } - def __init__(self, immutable_id=None, usage_location=None, given_name=None, surname=None, user_type=None, account_enabled=None, display_name=None, user_principal_name=None, mail_nickname=None, mail=None, object_id=None, object_type=None, sign_in_names=None): - super(User, self).__init__(immutable_id=immutable_id, usage_location=usage_location, given_name=given_name, surname=surname, user_type=user_type) + def __init__(self, additional_properties=None, immutable_id=None, usage_location=None, given_name=None, surname=None, user_type=None, account_enabled=None, display_name=None, user_principal_name=None, mail_nickname=None, mail=None, sign_in_names=None): + super(User, self).__init__(additional_properties=additional_properties) + self.immutable_id = immutable_id + self.usage_location = usage_location + self.given_name = given_name + self.surname = surname + self.user_type = user_type self.account_enabled = account_enabled self.display_name = display_name self.user_principal_name = user_principal_name self.mail_nickname = mail_nickname self.mail = mail - self.object_id = object_id - self.object_type = object_type self.sign_in_names = sign_in_names + self.object_type = 'User' diff --git a/azure-graphrbac/azure/graphrbac/models/user_base.py b/azure-graphrbac/azure/graphrbac/models/user_base.py index e611173433fd..ce960c2802cc 100644 --- a/azure-graphrbac/azure/graphrbac/models/user_base.py +++ b/azure-graphrbac/azure/graphrbac/models/user_base.py @@ -15,6 +15,9 @@ class UserBase(Model): """UserBase. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param immutable_id: This must be specified if you are using a federated domain for the user's userPrincipalName (UPN) property when creating a new user account. It is used to associate an on-premises Active Directory user @@ -36,6 +39,7 @@ class UserBase(Model): """ _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'immutable_id': {'key': 'immutableId', 'type': 'str'}, 'usage_location': {'key': 'usageLocation', 'type': 'str'}, 'given_name': {'key': 'givenName', 'type': 'str'}, @@ -43,7 +47,9 @@ class UserBase(Model): 'user_type': {'key': 'userType', 'type': 'str'}, } - def __init__(self, immutable_id=None, usage_location=None, given_name=None, surname=None, user_type=None): + def __init__(self, additional_properties=None, immutable_id=None, usage_location=None, given_name=None, surname=None, user_type=None): + super(UserBase, self).__init__() + self.additional_properties = additional_properties self.immutable_id = immutable_id self.usage_location = usage_location self.given_name = given_name diff --git a/azure-graphrbac/azure/graphrbac/models/user_create_parameters.py b/azure-graphrbac/azure/graphrbac/models/user_create_parameters.py index bb555c314afd..214a3fc6bf5c 100644 --- a/azure-graphrbac/azure/graphrbac/models/user_create_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/user_create_parameters.py @@ -15,6 +15,9 @@ class UserCreateParameters(UserBase): """Request parameters for creating a new work or school account user. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param immutable_id: This must be specified if you are using a federated domain for the user's userPrincipalName (UPN) property when creating a new user account. It is used to associate an on-premises Active Directory user @@ -58,6 +61,7 @@ class UserCreateParameters(UserBase): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'immutable_id': {'key': 'immutableId', 'type': 'str'}, 'usage_location': {'key': 'usageLocation', 'type': 'str'}, 'given_name': {'key': 'givenName', 'type': 'str'}, @@ -71,8 +75,8 @@ class UserCreateParameters(UserBase): 'mail': {'key': 'mail', 'type': 'str'}, } - def __init__(self, account_enabled, display_name, password_profile, user_principal_name, mail_nickname, immutable_id=None, usage_location=None, given_name=None, surname=None, user_type=None, mail=None): - super(UserCreateParameters, self).__init__(immutable_id=immutable_id, usage_location=usage_location, given_name=given_name, surname=surname, user_type=user_type) + def __init__(self, account_enabled, display_name, password_profile, user_principal_name, mail_nickname, additional_properties=None, immutable_id=None, usage_location=None, given_name=None, surname=None, user_type=None, mail=None): + super(UserCreateParameters, self).__init__(additional_properties=additional_properties, immutable_id=immutable_id, usage_location=usage_location, given_name=given_name, surname=surname, user_type=user_type) self.account_enabled = account_enabled self.display_name = display_name self.password_profile = password_profile diff --git a/azure-graphrbac/azure/graphrbac/models/user_get_member_groups_parameters.py b/azure-graphrbac/azure/graphrbac/models/user_get_member_groups_parameters.py index cccb9f6600f1..2aa519ad80c2 100644 --- a/azure-graphrbac/azure/graphrbac/models/user_get_member_groups_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/user_get_member_groups_parameters.py @@ -15,6 +15,9 @@ class UserGetMemberGroupsParameters(Model): """Request parameters for GetMemberGroups API call. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param security_enabled_only: If true, only membership in security-enabled groups should be checked. Otherwise, membership in all groups should be checked. @@ -26,8 +29,11 @@ class UserGetMemberGroupsParameters(Model): } _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'security_enabled_only': {'key': 'securityEnabledOnly', 'type': 'bool'}, } - def __init__(self, security_enabled_only): + def __init__(self, security_enabled_only, additional_properties=None): + super(UserGetMemberGroupsParameters, self).__init__() + self.additional_properties = additional_properties self.security_enabled_only = security_enabled_only diff --git a/azure-graphrbac/azure/graphrbac/models/user_update_parameters.py b/azure-graphrbac/azure/graphrbac/models/user_update_parameters.py index 1c2ac71132a7..06a097245b73 100644 --- a/azure-graphrbac/azure/graphrbac/models/user_update_parameters.py +++ b/azure-graphrbac/azure/graphrbac/models/user_update_parameters.py @@ -15,6 +15,9 @@ class UserUpdateParameters(UserBase): """Request parameters for updating an existing work or school account user. + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, object] :param immutable_id: This must be specified if you are using a federated domain for the user's userPrincipalName (UPN) property when creating a new user account. It is used to associate an on-premises Active Directory user @@ -48,6 +51,7 @@ class UserUpdateParameters(UserBase): """ _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, 'immutable_id': {'key': 'immutableId', 'type': 'str'}, 'usage_location': {'key': 'usageLocation', 'type': 'str'}, 'given_name': {'key': 'givenName', 'type': 'str'}, @@ -60,8 +64,8 @@ class UserUpdateParameters(UserBase): 'mail_nickname': {'key': 'mailNickname', 'type': 'str'}, } - def __init__(self, immutable_id=None, usage_location=None, given_name=None, surname=None, user_type=None, account_enabled=None, display_name=None, password_profile=None, user_principal_name=None, mail_nickname=None): - super(UserUpdateParameters, self).__init__(immutable_id=immutable_id, usage_location=usage_location, given_name=given_name, surname=surname, user_type=user_type) + def __init__(self, additional_properties=None, immutable_id=None, usage_location=None, given_name=None, surname=None, user_type=None, account_enabled=None, display_name=None, password_profile=None, user_principal_name=None, mail_nickname=None): + super(UserUpdateParameters, self).__init__(additional_properties=additional_properties, immutable_id=immutable_id, usage_location=usage_location, given_name=given_name, surname=surname, user_type=user_type) self.account_enabled = account_enabled self.display_name = display_name self.password_profile = password_profile diff --git a/azure-graphrbac/azure/graphrbac/operations/applications_operations.py b/azure-graphrbac/azure/graphrbac/operations/applications_operations.py index 5aa4cc31047c..a489a1550d7c 100644 --- a/azure-graphrbac/azure/graphrbac/operations/applications_operations.py +++ b/azure-graphrbac/azure/graphrbac/operations/applications_operations.py @@ -25,6 +25,8 @@ class ApplicationsOperations(object): :ivar api_version: Client API version. Constant value: "1.6". """ + models = models + def __init__(self, client, config, serializer, deserializer): self._client = client @@ -78,7 +80,7 @@ def create( # Construct and send request request = self._client.post(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [201]: raise models.GraphErrorException(self._deserialize, response) @@ -150,7 +152,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters) response = self._client.send( - request, header_parameters, **operation_config) + request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -207,7 +209,7 @@ def delete( # Construct and send request request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) @@ -257,7 +259,7 @@ def get( # Construct and send request request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -319,7 +321,142 @@ def patch( # Construct and send request request = self._client.patch(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [204]: + raise models.GraphErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def list_owners( + self, application_object_id, custom_headers=None, raw=False, **operation_config): + """Directory objects that are owners of the application. + + The owners are a set of non-admin users who are allowed to modify this + object. + + :param application_object_id: The object ID of the application for + which to get owners. + :type application_object_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DirectoryObject + :rtype: + ~azure.graphrbac.models.DirectoryObjectPaged[~azure.graphrbac.models.DirectoryObject] + :raises: + :class:`GraphErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = '/{tenantID}/applications/{applicationObjectId}/owners' + path_format_arguments = { + 'applicationObjectId': self._serialize.url("application_object_id", application_object_id, 'str'), + 'tenantID': self._serialize.url("self.config.tenant_id", self.config.tenant_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.GraphErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.DirectoryObjectPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DirectoryObjectPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + + def add_owner( + self, application_object_id, url, additional_properties=None, custom_headers=None, raw=False, **operation_config): + """Add an owner to an application. + + :param application_object_id: The object ID of the application to + which to add the owner. + :type application_object_id: str + :param url: A owner object URL, such as + "https://graph.windows.net/0b1f9851-1bf0-433f-aec3-cb9272f093dc/directoryObjects/f260bbc4-c254-447b-94cf-293b5ec434dd", + where "0b1f9851-1bf0-433f-aec3-cb9272f093dc" is the tenantId and + "f260bbc4-c254-447b-94cf-293b5ec434dd" is the objectId of the owner + (user, application, servicePrincipal, group) to be added. + :type url: str + :param additional_properties: Unmatched properties from the message + are deserialized this collection + :type additional_properties: dict[str, object] + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: None or ClientRawResponse if raw=true + :rtype: None or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`GraphErrorException` + """ + parameters = models.ApplicationAddOwnerParameters(additional_properties=additional_properties, url=url) + + # Construct URL + url = '/{tenantID}/applications/{applicationObjectId}/$links/owners' + path_format_arguments = { + 'applicationObjectId': self._serialize.url("application_object_id", application_object_id, 'str'), + 'tenantID': self._serialize.url("self.config.tenant_id", self.config.tenant_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct body + body_content = self._serialize.body(parameters, 'ApplicationAddOwnerParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) @@ -377,7 +514,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters) response = self._client.send( - request, header_parameters, **operation_config) + request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -442,7 +579,7 @@ def update_key_credentials( # Construct and send request request = self._client.patch(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) @@ -500,7 +637,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters) response = self._client.send( - request, header_parameters, **operation_config) + request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -565,7 +702,7 @@ def update_password_credentials( # Construct and send request request = self._client.patch(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) diff --git a/azure-graphrbac/azure/graphrbac/operations/domains_operations.py b/azure-graphrbac/azure/graphrbac/operations/domains_operations.py index 9f5984eec2e8..c54bc81edbba 100644 --- a/azure-graphrbac/azure/graphrbac/operations/domains_operations.py +++ b/azure-graphrbac/azure/graphrbac/operations/domains_operations.py @@ -26,6 +26,8 @@ class DomainsOperations(object): :ivar api_version: Client API version. Constant value: "1.6". """ + models = models + def __init__(self, client, config, serializer, deserializer): self._client = client @@ -84,7 +86,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters) response = self._client.send( - request, header_parameters, **operation_config) + request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: exp = CloudError(response) @@ -143,7 +145,7 @@ def get( # Construct and send request request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: exp = CloudError(response) diff --git a/azure-graphrbac/azure/graphrbac/operations/groups_operations.py b/azure-graphrbac/azure/graphrbac/operations/groups_operations.py index ea9ba917bf19..3b58ef252076 100644 --- a/azure-graphrbac/azure/graphrbac/operations/groups_operations.py +++ b/azure-graphrbac/azure/graphrbac/operations/groups_operations.py @@ -25,6 +25,8 @@ class GroupsOperations(object): :ivar api_version: Client API version. Constant value: "1.6". """ + models = models + def __init__(self, client, config, serializer, deserializer): self._client = client @@ -35,15 +37,13 @@ def __init__(self, client, config, serializer, deserializer): self.config = config def is_member_of( - self, group_id, member_id, custom_headers=None, raw=False, **operation_config): + self, parameters, custom_headers=None, raw=False, **operation_config): """Checks whether the specified user, group, contact, or service principal is a direct or transitive member of the specified group. - :param group_id: The object ID of the group to check. - :type group_id: str - :param member_id: The object ID of the contact, group, user, or - service principal to check for membership in the specified group. - :type member_id: str + :param parameters: The check group membership parameters. + :type parameters: + ~azure.graphrbac.models.CheckGroupMembershipParameters :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -55,8 +55,6 @@ def is_member_of( :raises: :class:`GraphErrorException` """ - parameters = models.CheckGroupMembershipParameters(group_id=group_id, member_id=member_id) - # Construct URL url = '/{tenantID}/isMemberOf' path_format_arguments = { @@ -84,7 +82,7 @@ def is_member_of( # Construct and send request request = self._client.post(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -144,7 +142,7 @@ def remove_member( # Construct and send request request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) @@ -154,7 +152,7 @@ def remove_member( return client_raw_response def add_member( - self, group_object_id, url, custom_headers=None, raw=False, **operation_config): + self, group_object_id, url, additional_properties=None, custom_headers=None, raw=False, **operation_config): """Add a member to a group. :param group_object_id: The object ID of the group to which to add the @@ -166,6 +164,9 @@ def add_member( "f260bbc4-c254-447b-94cf-293b5ec434dd" is the objectId of the member (user, application, servicePrincipal, group) to be added. :type url: str + :param additional_properties: Unmatched properties from the message + are deserialized this collection + :type additional_properties: dict[str, object] :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -176,7 +177,7 @@ def add_member( :raises: :class:`GraphErrorException` """ - parameters = models.GroupAddMemberParameters(url=url) + parameters = models.GroupAddMemberParameters(additional_properties=additional_properties, url=url) # Construct URL url = '/{tenantID}/groups/{groupObjectId}/$links/members' @@ -206,7 +207,7 @@ def add_member( # Construct and send request request = self._client.post(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) @@ -216,13 +217,11 @@ def add_member( return client_raw_response def create( - self, display_name, mail_nickname, custom_headers=None, raw=False, **operation_config): + self, parameters, custom_headers=None, raw=False, **operation_config): """Create a group in the directory. - :param display_name: Group display name - :type display_name: str - :param mail_nickname: Mail nickname - :type mail_nickname: str + :param parameters: The parameters for the group to create. + :type parameters: ~azure.graphrbac.models.GroupCreateParameters :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -234,8 +233,6 @@ def create( :raises: :class:`GraphErrorException` """ - parameters = models.GroupCreateParameters(display_name=display_name, mail_nickname=mail_nickname) - # Construct URL url = '/{tenantID}/groups' path_format_arguments = { @@ -263,7 +260,7 @@ def create( # Construct and send request request = self._client.post(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [201]: raise models.GraphErrorException(self._deserialize, response) @@ -335,7 +332,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters) response = self._client.send( - request, header_parameters, **operation_config) + request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -408,7 +405,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters) response = self._client.send( - request, header_parameters, **operation_config) + request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -467,7 +464,7 @@ def get( # Construct and send request request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -523,7 +520,7 @@ def delete( # Construct and send request request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) @@ -533,7 +530,7 @@ def delete( return client_raw_response def get_member_groups( - self, object_id, security_enabled_only, custom_headers=None, raw=False, **operation_config): + self, object_id, security_enabled_only, additional_properties=None, custom_headers=None, raw=False, **operation_config): """Gets a collection of object IDs of groups of which the specified group is a member. @@ -544,6 +541,9 @@ def get_member_groups( security-enabled groups should be checked. Otherwise, membership in all groups should be checked. :type security_enabled_only: bool + :param additional_properties: Unmatched properties from the message + are deserialized this collection + :type additional_properties: dict[str, object] :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -554,7 +554,7 @@ def get_member_groups( :raises: :class:`GraphErrorException` """ - parameters = models.GroupGetMemberGroupsParameters(security_enabled_only=security_enabled_only) + parameters = models.GroupGetMemberGroupsParameters(additional_properties=additional_properties, security_enabled_only=security_enabled_only) def internal_paging(next_link=None, raw=False): @@ -591,7 +591,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.post(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) diff --git a/azure-graphrbac/azure/graphrbac/operations/objects_operations.py b/azure-graphrbac/azure/graphrbac/operations/objects_operations.py index 8d03e5a48698..e48ff1cfd56a 100644 --- a/azure-graphrbac/azure/graphrbac/operations/objects_operations.py +++ b/azure-graphrbac/azure/graphrbac/operations/objects_operations.py @@ -26,6 +26,8 @@ class ObjectsOperations(object): :ivar api_version: Client API version. Constant value: "1.6". """ + models = models + def __init__(self, client, config, serializer, deserializer): self._client = client @@ -73,7 +75,7 @@ def get_current_user( # Construct and send request request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -145,7 +147,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.post(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [200]: exp = CloudError(response) diff --git a/azure-graphrbac/azure/graphrbac/operations/service_principals_operations.py b/azure-graphrbac/azure/graphrbac/operations/service_principals_operations.py index 93cfe990084d..64c13fbc8339 100644 --- a/azure-graphrbac/azure/graphrbac/operations/service_principals_operations.py +++ b/azure-graphrbac/azure/graphrbac/operations/service_principals_operations.py @@ -25,6 +25,8 @@ class ServicePrincipalsOperations(object): :ivar api_version: Client API version. Constant value: "1.6". """ + models = models + def __init__(self, client, config, serializer, deserializer): self._client = client @@ -79,7 +81,7 @@ def create( # Construct and send request request = self._client.post(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [201]: raise models.GraphErrorException(self._deserialize, response) @@ -151,7 +153,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters) response = self._client.send( - request, header_parameters, **operation_config) + request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -208,7 +210,7 @@ def delete( # Construct and send request request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) @@ -258,7 +260,7 @@ def get( # Construct and send request request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -274,6 +276,76 @@ def get( return deserialized + def list_owners( + self, object_id, custom_headers=None, raw=False, **operation_config): + """Directory objects that are owners of this service principal. + + The owners are a set of non-admin users who are allowed to modify this + object. + + :param object_id: The object ID of the service principal for which to + get owners. + :type object_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of DirectoryObject + :rtype: + ~azure.graphrbac.models.DirectoryObjectPaged[~azure.graphrbac.models.DirectoryObject] + :raises: + :class:`GraphErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = '/{tenantID}/servicePrincipals/{objectId}/owners' + path_format_arguments = { + 'objectId': self._serialize.url("object_id", object_id, 'str'), + 'tenantID': self._serialize.url("self.config.tenant_id", self.config.tenant_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.GraphErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.DirectoryObjectPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DirectoryObjectPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + def list_key_credentials( self, object_id, custom_headers=None, raw=False, **operation_config): """Get the keyCredentials associated with the specified service principal. @@ -324,7 +396,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters) response = self._client.send( - request, header_parameters, **operation_config) + request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -390,7 +462,7 @@ def update_key_credentials( # Construct and send request request = self._client.patch(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) @@ -448,7 +520,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters) response = self._client.send( - request, header_parameters, **operation_config) + request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -513,7 +585,7 @@ def update_password_credentials( # Construct and send request request = self._client.patch(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) diff --git a/azure-graphrbac/azure/graphrbac/operations/users_operations.py b/azure-graphrbac/azure/graphrbac/operations/users_operations.py index 993a36eb3800..2bc102a62532 100644 --- a/azure-graphrbac/azure/graphrbac/operations/users_operations.py +++ b/azure-graphrbac/azure/graphrbac/operations/users_operations.py @@ -25,6 +25,8 @@ class UsersOperations(object): :ivar api_version: Client API version. Constant value: "1.6". """ + models = models + def __init__(self, client, config, serializer, deserializer): self._client = client @@ -78,7 +80,7 @@ def create( # Construct and send request request = self._client.post(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [201]: raise models.GraphErrorException(self._deserialize, response) @@ -150,7 +152,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.get(url, query_parameters) response = self._client.send( - request, header_parameters, **operation_config) + request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -209,7 +211,7 @@ def get( # Construct and send request request = self._client.get(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) @@ -272,7 +274,7 @@ def update( # Construct and send request request = self._client.patch(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) @@ -322,7 +324,7 @@ def delete( # Construct and send request request = self._client.delete(url, query_parameters) - response = self._client.send(request, header_parameters, **operation_config) + response = self._client.send(request, header_parameters, stream=False, **operation_config) if response.status_code not in [204]: raise models.GraphErrorException(self._deserialize, response) @@ -332,7 +334,7 @@ def delete( return client_raw_response def get_member_groups( - self, object_id, security_enabled_only, custom_headers=None, raw=False, **operation_config): + self, object_id, security_enabled_only, additional_properties=None, custom_headers=None, raw=False, **operation_config): """Gets a collection that contains the object IDs of the groups of which the user is a member. @@ -343,6 +345,9 @@ def get_member_groups( security-enabled groups should be checked. Otherwise, membership in all groups should be checked. :type security_enabled_only: bool + :param additional_properties: Unmatched properties from the message + are deserialized this collection + :type additional_properties: dict[str, object] :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the deserialized response @@ -353,7 +358,7 @@ def get_member_groups( :raises: :class:`GraphErrorException` """ - parameters = models.UserGetMemberGroupsParameters(security_enabled_only=security_enabled_only) + parameters = models.UserGetMemberGroupsParameters(additional_properties=additional_properties, security_enabled_only=security_enabled_only) def internal_paging(next_link=None, raw=False): @@ -390,7 +395,7 @@ def internal_paging(next_link=None, raw=False): # Construct and send request request = self._client.post(url, query_parameters) response = self._client.send( - request, header_parameters, body_content, **operation_config) + request, header_parameters, body_content, stream=False, **operation_config) if response.status_code not in [200]: raise models.GraphErrorException(self._deserialize, response) diff --git a/azure-graphrbac/azure/graphrbac/version.py b/azure-graphrbac/azure/graphrbac/version.py index b60b0c493035..60bd31944182 100644 --- a/azure-graphrbac/azure/graphrbac/version.py +++ b/azure-graphrbac/azure/graphrbac/version.py @@ -9,5 +9,5 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "0.33.0" +VERSION = "1.6" diff --git a/azure-graphrbac/build.json b/azure-graphrbac/build.json index d5356f60b700..8a41382f14aa 100644 --- a/azure-graphrbac/build.json +++ b/azure-graphrbac/build.json @@ -4,63 +4,168 @@ "resolvedInfo": null, "packageMetadata": { "name": "@microsoft.azure/autorest-core", - "version": "2.0.4168", + "version": "2.0.4228", "engines": { "node": ">=7.10.0" }, "dependencies": {}, "optionalDependencies": {}, "devDependencies": { - "@microsoft.azure/async-io": "~1.0.22", - "@microsoft.azure/extension": "~1.2.12", "@types/commonmark": "^0.27.0", + "@types/js-yaml": "^3.10.0", "@types/jsonpath": "^0.1.29", - "@types/node": "^8.0.28", - "@types/pify": "0.0.28", + "@types/node": "^8.0.53", "@types/source-map": "^0.5.0", "@types/yargs": "^8.0.2", - "commonmark": "^0.27.0", - "file-url": "^2.0.2", - "get-uri": "^2.0.0", - "jsonpath": "^0.2.11", - "linq-es2015": "^2.4.25", - "mocha": "3.4.2", - "mocha-typescript": "1.1.5", - "pify": "^3.0.0", - "safe-eval": "^0.3.0", - "shx": "^0.2.2", - "source-map": "^0.5.6", - "source-map-support": "^0.4.15", - "strip-bom": "^3.0.0", - "typescript": "2.5.3", - "untildify": "^3.0.2", - "urijs": "^1.18.10", - "vscode-jsonrpc": "^3.3.1", - "yaml-ast-parser": "https://github.com/olydis/yaml-ast-parser/releases/download/0.0.34/yaml-ast-parser-0.0.34.tgz", - "yargs": "^8.0.2" + "@types/z-schema": "^3.16.31", + "dts-generator": "^2.1.0", + "mocha": "^4.0.1", + "mocha-typescript": "^1.1.7", + "shx": "0.2.2", + "static-link": "^0.2.3", + "vscode-jsonrpc": "^3.3.1" }, "bundleDependencies": false, "peerDependencies": {}, "deprecated": false, - "_resolved": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4168/node_modules/@microsoft.azure/autorest-core", - "_shasum": "33813111fc9bfa488bd600fbba48bc53cc9182c7", + "_resolved": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core", + "_shasum": "b3897b8615417aa07cf9113d4bd18862b32f82f8", "_shrinkwrap": null, - "bin": null, - "_id": "@microsoft.azure/autorest-core@2.0.4168", - "_from": "file:/root/.autorest/@microsoft.azure_autorest-core@2.0.4168/node_modules/@microsoft.azure/autorest-core", + "bin": { + "autorest-core": "./dist/app.js", + "autorest-language-service": "dist/language-service/language-service.js" + }, + "_id": "@microsoft.azure/autorest-core@2.0.4228", + "_from": "file:/root/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core", "_requested": { "type": "directory", "where": "/git-restapi", - "raw": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4168/node_modules/@microsoft.azure/autorest-core", - "rawSpec": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4168/node_modules/@microsoft.azure/autorest-core", - "saveSpec": "file:/root/.autorest/@microsoft.azure_autorest-core@2.0.4168/node_modules/@microsoft.azure/autorest-core", - "fetchSpec": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4168/node_modules/@microsoft.azure/autorest-core" + "raw": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core", + "rawSpec": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core", + "saveSpec": "file:/root/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core", + "fetchSpec": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core" }, - "_spec": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4168/node_modules/@microsoft.azure/autorest-core", - "_where": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4168/node_modules/@microsoft.azure/autorest-core" + "_spec": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core", + "_where": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core" }, "extensionManager": { "installationPath": "/root/.autorest", + "sharedLock": { + "name": "/root/.autorest", + "exclusiveLock": { + "name": "_root_.autorest.exclusive-lock", + "options": { + "port": 45234, + "host": "2130706813", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.exclusive-lock:45234" + }, + "busyLock": { + "name": "_root_.autorest.busy-lock", + "options": { + "port": 37199, + "host": "2130756895", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.busy-lock:37199" + }, + "personalLock": { + "name": "_root_.autorest.7332.511404814834.personal-lock", + "options": { + "port": 23368, + "host": "2130769235", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.7332.511404814834.personal-lock:23368" + }, + "file": "/tmp/_root_.autorest.lock" + }, + "dotnetPath": "/root/.dotnet" + }, + "installationPath": "/root/.autorest" + }, + { + "resolvedInfo": null, + "packageMetadata": { + "name": "@microsoft.azure/autorest-core", + "version": "2.0.4229", + "engines": { + "node": ">=7.10.0" + }, + "dependencies": {}, + "optionalDependencies": {}, + "devDependencies": { + "@types/commonmark": "^0.27.0", + "@types/js-yaml": "^3.10.0", + "@types/jsonpath": "^0.1.29", + "@types/node": "^8.0.53", + "@types/source-map": "^0.5.0", + "@types/yargs": "^8.0.2", + "@types/z-schema": "^3.16.31", + "dts-generator": "^2.1.0", + "mocha": "^4.0.1", + "mocha-typescript": "^1.1.7", + "shx": "0.2.2", + "static-link": "^0.2.3", + "vscode-jsonrpc": "^3.3.1" + }, + "bundleDependencies": false, + "peerDependencies": {}, + "deprecated": false, + "_resolved": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4229/node_modules/@microsoft.azure/autorest-core", + "_shasum": "c19c0ee74fe38c5197be2e965cd729a633166ae0", + "_shrinkwrap": null, + "bin": { + "autorest-core": "./dist/app.js", + "autorest-language-service": "dist/language-service/language-service.js" + }, + "_id": "@microsoft.azure/autorest-core@2.0.4229", + "_from": "file:/root/.autorest/@microsoft.azure_autorest-core@2.0.4229/node_modules/@microsoft.azure/autorest-core", + "_requested": { + "type": "directory", + "where": "/git-restapi", + "raw": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4229/node_modules/@microsoft.azure/autorest-core", + "rawSpec": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4229/node_modules/@microsoft.azure/autorest-core", + "saveSpec": "file:/root/.autorest/@microsoft.azure_autorest-core@2.0.4229/node_modules/@microsoft.azure/autorest-core", + "fetchSpec": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4229/node_modules/@microsoft.azure/autorest-core" + }, + "_spec": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4229/node_modules/@microsoft.azure/autorest-core", + "_where": "/root/.autorest/@microsoft.azure_autorest-core@2.0.4229/node_modules/@microsoft.azure/autorest-core" + }, + "extensionManager": { + "installationPath": "/root/.autorest", + "sharedLock": { + "name": "/root/.autorest", + "exclusiveLock": { + "name": "_root_.autorest.exclusive-lock", + "options": { + "port": 45234, + "host": "2130706813", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.exclusive-lock:45234" + }, + "busyLock": { + "name": "_root_.autorest.busy-lock", + "options": { + "port": 37199, + "host": "2130756895", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.busy-lock:37199" + }, + "personalLock": { + "name": "_root_.autorest.7332.511404814834.personal-lock", + "options": { + "port": 23368, + "host": "2130769235", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.7332.511404814834.personal-lock:23368" + }, + "file": "/tmp/_root_.autorest.lock" + }, "dotnetPath": "/root/.dotnet" }, "installationPath": "/root/.autorest" @@ -112,6 +217,37 @@ }, "extensionManager": { "installationPath": "/root/.autorest", + "sharedLock": { + "name": "/root/.autorest", + "exclusiveLock": { + "name": "_root_.autorest.exclusive-lock", + "options": { + "port": 45234, + "host": "2130706813", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.exclusive-lock:45234" + }, + "busyLock": { + "name": "_root_.autorest.busy-lock", + "options": { + "port": 37199, + "host": "2130756895", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.busy-lock:37199" + }, + "personalLock": { + "name": "_root_.autorest.7332.511404814834.personal-lock", + "options": { + "port": 23368, + "host": "2130769235", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.7332.511404814834.personal-lock:23368" + }, + "file": "/tmp/_root_.autorest.lock" + }, "dotnetPath": "/root/.dotnet" }, "installationPath": "/root/.autorest" @@ -120,12 +256,14 @@ "resolvedInfo": null, "packageMetadata": { "name": "@microsoft.azure/autorest.modeler", - "version": "2.1.22", + "version": "2.3.38", "dependencies": { "dotnet-2.0.0": "^1.4.4" }, "optionalDependencies": {}, "devDependencies": { + "@microsoft.azure/autorest.testserver": "2.3.1", + "autorest": "^2.0.4201", "coffee-script": "^1.11.1", "dotnet-sdk-2.0.0": "^1.4.4", "gulp": "^3.9.1", @@ -144,25 +282,56 @@ "bundleDependencies": false, "peerDependencies": {}, "deprecated": false, - "_resolved": "/root/.autorest/@microsoft.azure_autorest.modeler@2.1.22/node_modules/@microsoft.azure/autorest.modeler", - "_shasum": "ca425289fa38a210d279729048a4a91673f09c67", + "_resolved": "/root/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler", + "_shasum": "903bb77932e4ed1b8bc3b25cc39b167143494f6c", "_shrinkwrap": null, "bin": null, - "_id": "@microsoft.azure/autorest.modeler@2.1.22", - "_from": "file:/root/.autorest/@microsoft.azure_autorest.modeler@2.1.22/node_modules/@microsoft.azure/autorest.modeler", + "_id": "@microsoft.azure/autorest.modeler@2.3.38", + "_from": "file:/root/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler", "_requested": { "type": "directory", "where": "/git-restapi", - "raw": "/root/.autorest/@microsoft.azure_autorest.modeler@2.1.22/node_modules/@microsoft.azure/autorest.modeler", - "rawSpec": "/root/.autorest/@microsoft.azure_autorest.modeler@2.1.22/node_modules/@microsoft.azure/autorest.modeler", - "saveSpec": "file:/root/.autorest/@microsoft.azure_autorest.modeler@2.1.22/node_modules/@microsoft.azure/autorest.modeler", - "fetchSpec": "/root/.autorest/@microsoft.azure_autorest.modeler@2.1.22/node_modules/@microsoft.azure/autorest.modeler" + "raw": "/root/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler", + "rawSpec": "/root/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler", + "saveSpec": "file:/root/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler", + "fetchSpec": "/root/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler" }, - "_spec": "/root/.autorest/@microsoft.azure_autorest.modeler@2.1.22/node_modules/@microsoft.azure/autorest.modeler", - "_where": "/root/.autorest/@microsoft.azure_autorest.modeler@2.1.22/node_modules/@microsoft.azure/autorest.modeler" + "_spec": "/root/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler", + "_where": "/root/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler" }, "extensionManager": { "installationPath": "/root/.autorest", + "sharedLock": { + "name": "/root/.autorest", + "exclusiveLock": { + "name": "_root_.autorest.exclusive-lock", + "options": { + "port": 45234, + "host": "2130706813", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.exclusive-lock:45234" + }, + "busyLock": { + "name": "_root_.autorest.busy-lock", + "options": { + "port": 37199, + "host": "2130756895", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.busy-lock:37199" + }, + "personalLock": { + "name": "_root_.autorest.7332.511404814834.personal-lock", + "options": { + "port": 23368, + "host": "2130769235", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.7332.511404814834.personal-lock:23368" + }, + "file": "/tmp/_root_.autorest.lock" + }, "dotnetPath": "/root/.dotnet" }, "installationPath": "/root/.autorest" @@ -171,14 +340,14 @@ "resolvedInfo": null, "packageMetadata": { "name": "@microsoft.azure/autorest.python", - "version": "2.0.19", + "version": "2.1.34", "dependencies": { "dotnet-2.0.0": "^1.4.4" }, "optionalDependencies": {}, "devDependencies": { - "@microsoft.azure/autorest.testserver": "^1.9.0", - "autorest": "^2.0.0", + "@microsoft.azure/autorest.testserver": "^2.3.13", + "autorest": "^2.0.4203", "coffee-script": "^1.11.1", "dotnet-sdk-2.0.0": "^1.4.4", "gulp": "^3.9.1", @@ -197,25 +366,56 @@ "bundleDependencies": false, "peerDependencies": {}, "deprecated": false, - "_resolved": "/root/.autorest/@microsoft.azure_autorest.python@2.0.19/node_modules/@microsoft.azure/autorest.python", - "_shasum": "e069166c16fd903c8e1fdf9395b433f3043cb6e3", + "_resolved": "/root/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python", + "_shasum": "b58d7e0542e081cf410fdbcdf8c14acf9cee16a7", "_shrinkwrap": null, "bin": null, - "_id": "@microsoft.azure/autorest.python@2.0.19", - "_from": "file:/root/.autorest/@microsoft.azure_autorest.python@2.0.19/node_modules/@microsoft.azure/autorest.python", + "_id": "@microsoft.azure/autorest.python@2.1.34", + "_from": "file:/root/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python", "_requested": { "type": "directory", "where": "/git-restapi", - "raw": "/root/.autorest/@microsoft.azure_autorest.python@2.0.19/node_modules/@microsoft.azure/autorest.python", - "rawSpec": "/root/.autorest/@microsoft.azure_autorest.python@2.0.19/node_modules/@microsoft.azure/autorest.python", - "saveSpec": "file:/root/.autorest/@microsoft.azure_autorest.python@2.0.19/node_modules/@microsoft.azure/autorest.python", - "fetchSpec": "/root/.autorest/@microsoft.azure_autorest.python@2.0.19/node_modules/@microsoft.azure/autorest.python" + "raw": "/root/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python", + "rawSpec": "/root/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python", + "saveSpec": "file:/root/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python", + "fetchSpec": "/root/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python" }, - "_spec": "/root/.autorest/@microsoft.azure_autorest.python@2.0.19/node_modules/@microsoft.azure/autorest.python", - "_where": "/root/.autorest/@microsoft.azure_autorest.python@2.0.19/node_modules/@microsoft.azure/autorest.python" + "_spec": "/root/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python", + "_where": "/root/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python" }, "extensionManager": { "installationPath": "/root/.autorest", + "sharedLock": { + "name": "/root/.autorest", + "exclusiveLock": { + "name": "_root_.autorest.exclusive-lock", + "options": { + "port": 45234, + "host": "2130706813", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.exclusive-lock:45234" + }, + "busyLock": { + "name": "_root_.autorest.busy-lock", + "options": { + "port": 37199, + "host": "2130756895", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.busy-lock:37199" + }, + "personalLock": { + "name": "_root_.autorest.7332.511404814834.personal-lock", + "options": { + "port": 23368, + "host": "2130769235", + "exclusive": true + }, + "pipe": "/tmp/pipe__root_.autorest.7332.511404814834.personal-lock:23368" + }, + "file": "/tmp/_root_.autorest.lock" + }, "dotnetPath": "/root/.dotnet" }, "installationPath": "/root/.autorest"