diff --git a/azure-mgmt-network/azure/mgmt/network/network_management_client.py b/azure-mgmt-network/azure/mgmt/network/network_management_client.py index 1eb654379088..6d7424263de0 100644 --- a/azure-mgmt-network/azure/mgmt/network/network_management_client.py +++ b/azure-mgmt-network/azure/mgmt/network/network_management_client.py @@ -325,6 +325,19 @@ def application_security_groups(self): raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def available_delegations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`AvailableDelegationsOperations` + """ + api_version = self._get_api_version('available_delegations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import AvailableDelegationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def available_endpoint_services(self): """Instance depends on the API version: @@ -368,6 +381,19 @@ def available_endpoint_services(self): raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def available_resource_group_delegations(self): + """Instance depends on the API version: + + * 2018-08-01: :class:`AvailableResourceGroupDelegationsOperations` + """ + api_version = self._get_api_version('available_resource_group_delegations') + if api_version == '2018-08-01': + from .v2018_08_01.operations import AvailableResourceGroupDelegationsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def azure_firewall_fqdn_tags(self): """Instance depends on the API version: diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/__init__.py index 670793ff7cc6..faf9e712d292 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/__init__.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/__init__.py @@ -30,6 +30,7 @@ from .public_ip_address_py3 import PublicIPAddress from .ip_configuration_py3 import IPConfiguration from .resource_navigation_link_py3 import ResourceNavigationLink + from .delegation_py3 import Delegation from .subnet_py3 import Subnet from .frontend_ip_configuration_py3 import FrontendIPConfiguration from .virtual_network_tap_py3 import VirtualNetworkTap @@ -72,6 +73,7 @@ from .application_gateway_ssl_predefined_policy_py3 import ApplicationGatewaySslPredefinedPolicy from .resource_py3 import Resource from .tags_object_py3 import TagsObject + from .available_delegation_py3 import AvailableDelegation from .azure_firewall_ip_configuration_py3 import AzureFirewallIPConfiguration from .azure_firewall_rc_action_py3 import AzureFirewallRCAction from .azure_firewall_application_rule_protocol_py3 import AzureFirewallApplicationRuleProtocol @@ -275,6 +277,7 @@ from .public_ip_address import PublicIPAddress from .ip_configuration import IPConfiguration from .resource_navigation_link import ResourceNavigationLink + from .delegation import Delegation from .subnet import Subnet from .frontend_ip_configuration import FrontendIPConfiguration from .virtual_network_tap import VirtualNetworkTap @@ -317,6 +320,7 @@ from .application_gateway_ssl_predefined_policy import ApplicationGatewaySslPredefinedPolicy from .resource import Resource from .tags_object import TagsObject + from .available_delegation import AvailableDelegation from .azure_firewall_ip_configuration import AzureFirewallIPConfiguration from .azure_firewall_rc_action import AzureFirewallRCAction from .azure_firewall_application_rule_protocol import AzureFirewallApplicationRuleProtocol @@ -502,6 +506,7 @@ from .application_gateway_paged import ApplicationGatewayPaged from .application_gateway_ssl_predefined_policy_paged import ApplicationGatewaySslPredefinedPolicyPaged from .application_security_group_paged import ApplicationSecurityGroupPaged +from .available_delegation_paged import AvailableDelegationPaged from .azure_firewall_paged import AzureFirewallPaged from .azure_firewall_fqdn_tag_paged import AzureFirewallFqdnTagPaged from .ddos_protection_plan_paged import DdosProtectionPlanPaged @@ -657,6 +662,7 @@ 'PublicIPAddress', 'IPConfiguration', 'ResourceNavigationLink', + 'Delegation', 'Subnet', 'FrontendIPConfiguration', 'VirtualNetworkTap', @@ -699,6 +705,7 @@ 'ApplicationGatewaySslPredefinedPolicy', 'Resource', 'TagsObject', + 'AvailableDelegation', 'AzureFirewallIPConfiguration', 'AzureFirewallRCAction', 'AzureFirewallApplicationRuleProtocol', @@ -884,6 +891,7 @@ 'ApplicationGatewayPaged', 'ApplicationGatewaySslPredefinedPolicyPaged', 'ApplicationSecurityGroupPaged', + 'AvailableDelegationPaged', 'AzureFirewallPaged', 'AzureFirewallFqdnTagPaged', 'DdosProtectionPlanPaged', diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/available_delegation.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/available_delegation.py new file mode 100644 index 000000000000..71c61ffa9624 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/available_delegation.py @@ -0,0 +1,46 @@ +# 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 AvailableDelegation(Model): + """The serviceName of an AvailableDelegation indicates a possible delegation + for a subnet. + + :param name: The name of the AvailableDelegation resource. + :type name: str + :param id: A unique identifier of the AvailableDelegation resource. + :type id: str + :param type: Resource type. + :type type: str + :param service_name: The name of the service and resource + :type service_name: str + :param actions: Describes the actions permitted to the service upon + delegation + :type actions: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'actions': {'key': 'actions', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AvailableDelegation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.type = kwargs.get('type', None) + self.service_name = kwargs.get('service_name', None) + self.actions = kwargs.get('actions', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/available_delegation_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/available_delegation_paged.py new file mode 100644 index 000000000000..dbf7c7817882 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/available_delegation_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 AvailableDelegationPaged(Paged): + """ + A paging container for iterating over a list of :class:`AvailableDelegation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AvailableDelegation]'} + } + + def __init__(self, *args, **kwargs): + + super(AvailableDelegationPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/available_delegation_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/available_delegation_py3.py new file mode 100644 index 000000000000..c5e8ae7405b5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/available_delegation_py3.py @@ -0,0 +1,46 @@ +# 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 AvailableDelegation(Model): + """The serviceName of an AvailableDelegation indicates a possible delegation + for a subnet. + + :param name: The name of the AvailableDelegation resource. + :type name: str + :param id: A unique identifier of the AvailableDelegation resource. + :type id: str + :param type: Resource type. + :type type: str + :param service_name: The name of the service and resource + :type service_name: str + :param actions: Describes the actions permitted to the service upon + delegation + :type actions: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'service_name': {'key': 'serviceName', 'type': 'str'}, + 'actions': {'key': 'actions', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, id: str=None, type: str=None, service_name: str=None, actions=None, **kwargs) -> None: + super(AvailableDelegation, self).__init__(**kwargs) + self.name = name + self.id = id + self.type = type + self.service_name = service_name + self.actions = actions diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/delegation.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/delegation.py new file mode 100644 index 000000000000..b9db5da4add2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/delegation.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 .sub_resource import SubResource + + +class Delegation(SubResource): + """Details the service to which the subnet is delegated. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param service_name: The name of the service to whom the subnet should be + delegated (e.g. Microsoft.Sql/servers) + :type service_name: str + :param actions: Describes the actions permitted to the service upon + delegation + :type actions: list[str] + :ivar provisioning_state: The provisioning state of the resource. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a subnet. This + name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'actions': {'key': 'properties.actions', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Delegation, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + self.actions = kwargs.get('actions', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/delegation_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/delegation_py3.py new file mode 100644 index 000000000000..d374f9d48282 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/delegation_py3.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 .sub_resource_py3 import SubResource + + +class Delegation(SubResource): + """Details the service to which the subnet is delegated. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param service_name: The name of the service to whom the subnet should be + delegated (e.g. Microsoft.Sql/servers) + :type service_name: str + :param actions: Describes the actions permitted to the service upon + delegation + :type actions: list[str] + :ivar provisioning_state: The provisioning state of the resource. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a subnet. This + name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'actions': {'key': 'properties.actions', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, service_name: str=None, actions=None, name: str=None, etag: str=None, **kwargs) -> None: + super(Delegation, self).__init__(id=id, **kwargs) + self.service_name = service_name + self.actions = actions + self.provisioning_state = None + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/subnet.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/subnet.py index 53982cdfdde7..28f430953354 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/subnet.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/subnet.py @@ -47,6 +47,12 @@ class Subnet(SubResource): external resources using subnet. :type resource_navigation_links: list[~azure.mgmt.network.v2018_08_01.models.ResourceNavigationLink] + :param delegations: Gets an array of references to the delegations on the + subnet. + :type delegations: list[~azure.mgmt.network.v2018_08_01.models.Delegation] + :ivar purpose: A read-only string identifying the intention of use for + this subnet based on delegations and other user-defined properties. + :vartype purpose: str :param provisioning_state: The provisioning state of the resource. :type provisioning_state: str :param name: The name of the resource that is unique within a resource @@ -59,6 +65,7 @@ class Subnet(SubResource): _validation = { 'ip_configurations': {'readonly': True}, + 'purpose': {'readonly': True}, } _attribute_map = { @@ -72,6 +79,8 @@ class Subnet(SubResource): 'interface_endpoints': {'key': 'properties.interfaceEndpoints', 'type': '[SubResource]'}, 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, + 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, + 'purpose': {'key': 'properties.purpose', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, @@ -88,6 +97,8 @@ def __init__(self, **kwargs): self.interface_endpoints = kwargs.get('interface_endpoints', None) self.ip_configurations = None self.resource_navigation_links = kwargs.get('resource_navigation_links', None) + self.delegations = kwargs.get('delegations', None) + self.purpose = None self.provisioning_state = kwargs.get('provisioning_state', None) self.name = kwargs.get('name', None) self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/subnet_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/subnet_py3.py index cb04284ba326..4b031287a027 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/subnet_py3.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/models/subnet_py3.py @@ -47,6 +47,12 @@ class Subnet(SubResource): external resources using subnet. :type resource_navigation_links: list[~azure.mgmt.network.v2018_08_01.models.ResourceNavigationLink] + :param delegations: Gets an array of references to the delegations on the + subnet. + :type delegations: list[~azure.mgmt.network.v2018_08_01.models.Delegation] + :ivar purpose: A read-only string identifying the intention of use for + this subnet based on delegations and other user-defined properties. + :vartype purpose: str :param provisioning_state: The provisioning state of the resource. :type provisioning_state: str :param name: The name of the resource that is unique within a resource @@ -59,6 +65,7 @@ class Subnet(SubResource): _validation = { 'ip_configurations': {'readonly': True}, + 'purpose': {'readonly': True}, } _attribute_map = { @@ -72,12 +79,14 @@ class Subnet(SubResource): 'interface_endpoints': {'key': 'properties.interfaceEndpoints', 'type': '[SubResource]'}, 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, + 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, + 'purpose': {'key': 'properties.purpose', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, } - def __init__(self, *, id: str=None, address_prefix: str=None, address_prefixes=None, network_security_group=None, route_table=None, service_endpoints=None, service_endpoint_policies=None, interface_endpoints=None, resource_navigation_links=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + def __init__(self, *, id: str=None, address_prefix: str=None, address_prefixes=None, network_security_group=None, route_table=None, service_endpoints=None, service_endpoint_policies=None, interface_endpoints=None, resource_navigation_links=None, delegations=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: super(Subnet, self).__init__(id=id, **kwargs) self.address_prefix = address_prefix self.address_prefixes = address_prefixes @@ -88,6 +97,8 @@ def __init__(self, *, id: str=None, address_prefix: str=None, address_prefixes=N self.interface_endpoints = interface_endpoints self.ip_configurations = None self.resource_navigation_links = resource_navigation_links + self.delegations = delegations + self.purpose = None self.provisioning_state = provisioning_state self.name = name self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/network_management_client.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/network_management_client.py index 260b4d056999..4dc7d0d23875 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/network_management_client.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/network_management_client.py @@ -20,6 +20,8 @@ import uuid from .operations.application_gateways_operations import ApplicationGatewaysOperations from .operations.application_security_groups_operations import ApplicationSecurityGroupsOperations +from .operations.available_delegations_operations import AvailableDelegationsOperations +from .operations.available_resource_group_delegations_operations import AvailableResourceGroupDelegationsOperations from .operations.azure_firewalls_operations import AzureFirewallsOperations from .operations.azure_firewall_fqdn_tags_operations import AzureFirewallFqdnTagsOperations from .operations.ddos_protection_plans_operations import DdosProtectionPlansOperations @@ -123,6 +125,10 @@ class NetworkManagementClient(SDKClient): :vartype application_gateways: azure.mgmt.network.v2018_08_01.operations.ApplicationGatewaysOperations :ivar application_security_groups: ApplicationSecurityGroups operations :vartype application_security_groups: azure.mgmt.network.v2018_08_01.operations.ApplicationSecurityGroupsOperations + :ivar available_delegations: AvailableDelegations operations + :vartype available_delegations: azure.mgmt.network.v2018_08_01.operations.AvailableDelegationsOperations + :ivar available_resource_group_delegations: AvailableResourceGroupDelegations operations + :vartype available_resource_group_delegations: azure.mgmt.network.v2018_08_01.operations.AvailableResourceGroupDelegationsOperations :ivar azure_firewalls: AzureFirewalls operations :vartype azure_firewalls: azure.mgmt.network.v2018_08_01.operations.AzureFirewallsOperations :ivar azure_firewall_fqdn_tags: AzureFirewallFqdnTags operations @@ -260,6 +266,10 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.application_security_groups = ApplicationSecurityGroupsOperations( self._client, self.config, self._serialize, self._deserialize) + self.available_delegations = AvailableDelegationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_resource_group_delegations = AvailableResourceGroupDelegationsOperations( + self._client, self.config, self._serialize, self._deserialize) self.azure_firewalls = AzureFirewallsOperations( self._client, self.config, self._serialize, self._deserialize) self.azure_firewall_fqdn_tags = AzureFirewallFqdnTagsOperations( diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/operations/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/operations/__init__.py index c74e9c1eb801..b80501c6478f 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/operations/__init__.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/operations/__init__.py @@ -11,6 +11,8 @@ from .application_gateways_operations import ApplicationGatewaysOperations from .application_security_groups_operations import ApplicationSecurityGroupsOperations +from .available_delegations_operations import AvailableDelegationsOperations +from .available_resource_group_delegations_operations import AvailableResourceGroupDelegationsOperations from .azure_firewalls_operations import AzureFirewallsOperations from .azure_firewall_fqdn_tags_operations import AzureFirewallFqdnTagsOperations from .ddos_protection_plans_operations import DdosProtectionPlansOperations @@ -71,6 +73,8 @@ __all__ = [ 'ApplicationGatewaysOperations', 'ApplicationSecurityGroupsOperations', + 'AvailableDelegationsOperations', + 'AvailableResourceGroupDelegationsOperations', 'AzureFirewallsOperations', 'AzureFirewallFqdnTagsOperations', 'DdosProtectionPlansOperations', diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/operations/available_delegations_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/operations/available_delegations_operations.py new file mode 100644 index 000000000000..157ae9cc9502 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/operations/available_delegations_operations.py @@ -0,0 +1,106 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailableDelegationsOperations(object): + """AvailableDelegationsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2018-08-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-08-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """Gets all of the available subnet delegations for this subscription in + this region. + + :param location: The location of the subnet. + :type location: 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 AvailableDelegation + :rtype: + ~azure.mgmt.network.v2018_08_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2018_08_01.models.AvailableDelegation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableDelegations'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_08_01/operations/available_resource_group_delegations_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/operations/available_resource_group_delegations_operations.py new file mode 100644 index 000000000000..2b42c17a6d3c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_08_01/operations/available_resource_group_delegations_operations.py @@ -0,0 +1,109 @@ +# 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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class AvailableResourceGroupDelegationsOperations(object): + """AvailableResourceGroupDelegationsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2018-08-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-08-01" + + self.config = config + + def list( + self, location, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all of the available subnet delegations for this resource group in + this region. + + :param location: The location of the domain name. + :type location: str + :param resource_group_name: The name of the resource group. + :type resource_group_name: 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 AvailableDelegation + :rtype: + ~azure.mgmt.network.v2018_08_01.models.AvailableDelegationPaged[~azure.mgmt.network.v2018_08_01.models.AvailableDelegation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.AvailableDelegationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations'}