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 9d6a67a860ff..5460c913190b 100644 --- a/azure-mgmt-network/azure/mgmt/network/network_management_client.py +++ b/azure-mgmt-network/azure/mgmt/network/network_management_client.py @@ -1516,6 +1516,19 @@ def public_ip_addresses(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 public_ip_prefixes(self): + """Instance depends on the API version: + + * 2018-07-01: :class:`PublicIPPrefixesOperations` + """ + api_version = self._get_api_version('public_ip_prefixes') + if api_version == '2018-07-01': + from .v2018_07_01.operations import PublicIPPrefixesOperations 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 route_filter_rules(self): """Instance depends on the API version: diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/__init__.py index 5dbefcc0eb66..8d3de9baf722 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/__init__.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/__init__.py @@ -33,6 +33,9 @@ from .public_ip_address_sku_py3 import PublicIPAddressSku from .public_ip_address_dns_settings_py3 import PublicIPAddressDnsSettings from .ip_tag_py3 import IpTag + from .public_ip_prefix_sku_py3 import PublicIPPrefixSku + from .referenced_public_ip_address_py3 import ReferencedPublicIpAddress + from .public_ip_prefix_py3 import PublicIPPrefix from .public_ip_address_py3 import PublicIPAddress from .ip_configuration_py3 import IPConfiguration from .resource_navigation_link_py3 import ResourceNavigationLink @@ -248,6 +251,9 @@ from .public_ip_address_sku import PublicIPAddressSku from .public_ip_address_dns_settings import PublicIPAddressDnsSettings from .ip_tag import IpTag + from .public_ip_prefix_sku import PublicIPPrefixSku + from .referenced_public_ip_address import ReferencedPublicIpAddress + from .public_ip_prefix import PublicIPPrefix from .public_ip_address import PublicIPAddress from .ip_configuration import IPConfiguration from .resource_navigation_link import ResourceNavigationLink @@ -466,6 +472,7 @@ from .connection_monitor_result_paged import ConnectionMonitorResultPaged from .operation_paged import OperationPaged from .public_ip_address_paged import PublicIPAddressPaged +from .public_ip_prefix_paged import PublicIPPrefixPaged from .route_filter_paged import RouteFilterPaged from .route_filter_rule_paged import RouteFilterRulePaged from .route_table_paged import RouteTablePaged @@ -499,6 +506,7 @@ SecurityRuleDirection, RouteNextHopType, PublicIPAddressSkuName, + PublicIPPrefixSkuName, ApplicationGatewayProtocol, ApplicationGatewayCookieBasedAffinity, ApplicationGatewayBackendHealthServerHealth, @@ -591,6 +599,9 @@ 'PublicIPAddressSku', 'PublicIPAddressDnsSettings', 'IpTag', + 'PublicIPPrefixSku', + 'ReferencedPublicIpAddress', + 'PublicIPPrefix', 'PublicIPAddress', 'IPConfiguration', 'ResourceNavigationLink', @@ -809,6 +820,7 @@ 'ConnectionMonitorResultPaged', 'OperationPaged', 'PublicIPAddressPaged', + 'PublicIPPrefixPaged', 'RouteFilterPaged', 'RouteFilterRulePaged', 'RouteTablePaged', @@ -841,6 +853,7 @@ 'SecurityRuleDirection', 'RouteNextHopType', 'PublicIPAddressSkuName', + 'PublicIPPrefixSkuName', 'ApplicationGatewayProtocol', 'ApplicationGatewayCookieBasedAffinity', 'ApplicationGatewayBackendHealthServerHealth', diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/ip_tag.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/ip_tag.py index b8690371226d..559dddc661d2 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/ip_tag.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/ip_tag.py @@ -13,7 +13,7 @@ class IpTag(Model): - """Contains the IpTag associated with the public IP address. + """Contains the IpTag associated with the object. :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. :type ip_tag_type: str diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/ip_tag_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/ip_tag_py3.py index fbb5338ff30e..2370c408761c 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/ip_tag_py3.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/ip_tag_py3.py @@ -13,7 +13,7 @@ class IpTag(Model): - """Contains the IpTag associated with the public IP address. + """Contains the IpTag associated with the object. :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. :type ip_tag_type: str diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/network_management_client_enums.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/network_management_client_enums.py index 4bcd75a97a07..2dea047096aa 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/network_management_client_enums.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/network_management_client_enums.py @@ -93,6 +93,11 @@ class PublicIPAddressSkuName(str, Enum): standard = "Standard" +class PublicIPPrefixSkuName(str, Enum): + + standard = "Standard" + + class ApplicationGatewayProtocol(str, Enum): http = "Http" diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_address.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_address.py index 5ca7f0d8becb..5581eb3e5414 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_address.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_address.py @@ -52,6 +52,10 @@ class PublicIPAddress(Resource): :param ip_address: The IP address associated with the public IP address resource. :type ip_address: str + :param public_ip_prefix: The Public IP Prefix this Public IP Address + should be allocated from. + :type public_ip_prefix: + ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix :param idle_timeout_in_minutes: The idle timeout of the public IP address. :type idle_timeout_in_minutes: int :param resource_guid: The resource GUID property of the public IP @@ -87,6 +91,7 @@ class PublicIPAddress(Resource): 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'PublicIPPrefix'}, 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, @@ -103,6 +108,7 @@ def __init__(self, **kwargs): self.dns_settings = kwargs.get('dns_settings', None) self.ip_tags = kwargs.get('ip_tags', None) self.ip_address = kwargs.get('ip_address', None) + self.public_ip_prefix = kwargs.get('public_ip_prefix', None) self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) self.resource_guid = kwargs.get('resource_guid', None) self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_address_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_address_py3.py index 1906a4e39cce..33d3adc327f1 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_address_py3.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_address_py3.py @@ -52,6 +52,10 @@ class PublicIPAddress(Resource): :param ip_address: The IP address associated with the public IP address resource. :type ip_address: str + :param public_ip_prefix: The Public IP Prefix this Public IP Address + should be allocated from. + :type public_ip_prefix: + ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix :param idle_timeout_in_minutes: The idle timeout of the public IP address. :type idle_timeout_in_minutes: int :param resource_guid: The resource GUID property of the public IP @@ -87,6 +91,7 @@ class PublicIPAddress(Resource): 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'PublicIPPrefix'}, 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, @@ -94,7 +99,7 @@ class PublicIPAddress(Resource): 'zones': {'key': 'zones', 'type': '[str]'}, } - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_allocation_method=None, public_ip_address_version=None, dns_settings=None, ip_tags=None, ip_address: str=None, idle_timeout_in_minutes: int=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, zones=None, **kwargs) -> None: + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_allocation_method=None, public_ip_address_version=None, dns_settings=None, ip_tags=None, ip_address: str=None, public_ip_prefix=None, idle_timeout_in_minutes: int=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, zones=None, **kwargs) -> None: super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) self.sku = sku self.public_ip_allocation_method = public_ip_allocation_method @@ -103,6 +108,7 @@ def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, pub self.dns_settings = dns_settings self.ip_tags = ip_tags self.ip_address = ip_address + self.public_ip_prefix = public_ip_prefix self.idle_timeout_in_minutes = idle_timeout_in_minutes self.resource_guid = resource_guid self.provisioning_state = provisioning_state diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix.py new file mode 100644 index 000000000000..425836cfd749 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix.py @@ -0,0 +1,98 @@ +# 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 .resource import Resource + + +class PublicIPPrefix(Resource): + """Public IP prefix resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP prefix SKU. + :type sku: ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefixSku + :param public_ip_address_version: The public IP address version. Possible + values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2018_07_01.models.IPVersion + :param ip_tags: The list of tags associated with the public IP prefix. + :type ip_tags: list[~azure.mgmt.network.v2018_07_01.models.IpTag] + :param prefix_length: The Length of the Public IP Prefix. + :type prefix_length: int + :param ip_prefix: The allocated Prefix + :type ip_prefix: str + :param public_ip_addresses: The list of all referenced PublicIPAddresses + :type public_ip_addresses: + list[~azure.mgmt.network.v2018_07_01.models.ReferencedPublicIpAddress] + :param idle_timeout_in_minutes: The idle timeout of the public IP prefix. + :type idle_timeout_in_minutes: int + :param resource_guid: The resource GUID property of the public IP prefix + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the Public IP prefix + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, + 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, + 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PublicIPPrefix, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.public_ip_address_version = kwargs.get('public_ip_address_version', None) + self.ip_tags = kwargs.get('ip_tags', None) + self.prefix_length = kwargs.get('prefix_length', None) + self.ip_prefix = kwargs.get('ip_prefix', None) + self.public_ip_addresses = kwargs.get('public_ip_addresses', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) + self.zones = kwargs.get('zones', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_paged.py new file mode 100644 index 000000000000..eca84093553c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_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 PublicIPPrefixPaged(Paged): + """ + A paging container for iterating over a list of :class:`PublicIPPrefix ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PublicIPPrefix]'} + } + + def __init__(self, *args, **kwargs): + + super(PublicIPPrefixPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_py3.py new file mode 100644 index 000000000000..29d86abb92c9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_py3.py @@ -0,0 +1,98 @@ +# 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 .resource_py3 import Resource + + +class PublicIPPrefix(Resource): + """Public IP prefix resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP prefix SKU. + :type sku: ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefixSku + :param public_ip_address_version: The public IP address version. Possible + values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2018_07_01.models.IPVersion + :param ip_tags: The list of tags associated with the public IP prefix. + :type ip_tags: list[~azure.mgmt.network.v2018_07_01.models.IpTag] + :param prefix_length: The Length of the Public IP Prefix. + :type prefix_length: int + :param ip_prefix: The allocated Prefix + :type ip_prefix: str + :param public_ip_addresses: The list of all referenced PublicIPAddresses + :type public_ip_addresses: + list[~azure.mgmt.network.v2018_07_01.models.ReferencedPublicIpAddress] + :param idle_timeout_in_minutes: The idle timeout of the public IP prefix. + :type idle_timeout_in_minutes: int + :param resource_guid: The resource GUID property of the public IP prefix + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the Public IP prefix + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, + 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, + 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_address_version=None, ip_tags=None, prefix_length: int=None, ip_prefix: str=None, public_ip_addresses=None, idle_timeout_in_minutes: int=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, zones=None, **kwargs) -> None: + super(PublicIPPrefix, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.public_ip_address_version = public_ip_address_version + self.ip_tags = ip_tags + self.prefix_length = prefix_length + self.ip_prefix = ip_prefix + self.public_ip_addresses = public_ip_addresses + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag + self.zones = zones diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_sku.py new file mode 100644 index 000000000000..d462fd131686 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_sku.py @@ -0,0 +1,30 @@ +# 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 PublicIPPrefixSku(Model): + """SKU of a public IP prefix. + + :param name: Name of a public IP prefix SKU. Possible values include: + 'Standard' + :type name: str or + ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefixSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPPrefixSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_sku_py3.py new file mode 100644 index 000000000000..84a889d84ae4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/public_ip_prefix_sku_py3.py @@ -0,0 +1,30 @@ +# 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 PublicIPPrefixSku(Model): + """SKU of a public IP prefix. + + :param name: Name of a public IP prefix SKU. Possible values include: + 'Standard' + :type name: str or + ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefixSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(PublicIPPrefixSku, self).__init__(**kwargs) + self.name = name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/referenced_public_ip_address.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/referenced_public_ip_address.py new file mode 100644 index 000000000000..76807023de75 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/referenced_public_ip_address.py @@ -0,0 +1,28 @@ +# 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 ReferencedPublicIpAddress(Model): + """ReferencedPublicIpAddress. + + :param id: The PublicIPAddress Reference + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ReferencedPublicIpAddress, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/referenced_public_ip_address_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/referenced_public_ip_address_py3.py new file mode 100644 index 000000000000..3d078b57123a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/models/referenced_public_ip_address_py3.py @@ -0,0 +1,28 @@ +# 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 ReferencedPublicIpAddress(Model): + """ReferencedPublicIpAddress. + + :param id: The PublicIPAddress Reference + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ReferencedPublicIpAddress, self).__init__(**kwargs) + self.id = id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/network_management_client.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/network_management_client.py index 854ccc2bbf9f..4b3d1d23c9da 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/network_management_client.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/network_management_client.py @@ -48,6 +48,7 @@ from .operations.connection_monitors_operations import ConnectionMonitorsOperations from .operations.operations import Operations from .operations.public_ip_addresses_operations import PublicIPAddressesOperations +from .operations.public_ip_prefixes_operations import PublicIPPrefixesOperations from .operations.route_filters_operations import RouteFiltersOperations from .operations.route_filter_rules_operations import RouteFilterRulesOperations from .operations.route_tables_operations import RouteTablesOperations @@ -170,6 +171,8 @@ class NetworkManagementClient(SDKClient): :vartype operations: azure.mgmt.network.v2018_07_01.operations.Operations :ivar public_ip_addresses: PublicIPAddresses operations :vartype public_ip_addresses: azure.mgmt.network.v2018_07_01.operations.PublicIPAddressesOperations + :ivar public_ip_prefixes: PublicIPPrefixes operations + :vartype public_ip_prefixes: azure.mgmt.network.v2018_07_01.operations.PublicIPPrefixesOperations :ivar route_filters: RouteFilters operations :vartype route_filters: azure.mgmt.network.v2018_07_01.operations.RouteFiltersOperations :ivar route_filter_rules: RouteFilterRules operations @@ -289,6 +292,8 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.public_ip_addresses = PublicIPAddressesOperations( self._client, self.config, self._serialize, self._deserialize) + self.public_ip_prefixes = PublicIPPrefixesOperations( + self._client, self.config, self._serialize, self._deserialize) self.route_filters = RouteFiltersOperations( self._client, self.config, self._serialize, self._deserialize) self.route_filter_rules = RouteFilterRulesOperations( diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/operations/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/operations/__init__.py index 7920434f1e6d..13391369898c 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/operations/__init__.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/operations/__init__.py @@ -39,6 +39,7 @@ from .connection_monitors_operations import ConnectionMonitorsOperations from .operations import Operations from .public_ip_addresses_operations import PublicIPAddressesOperations +from .public_ip_prefixes_operations import PublicIPPrefixesOperations from .route_filters_operations import RouteFiltersOperations from .route_filter_rules_operations import RouteFilterRulesOperations from .route_tables_operations import RouteTablesOperations @@ -90,6 +91,7 @@ 'ConnectionMonitorsOperations', 'Operations', 'PublicIPAddressesOperations', + 'PublicIPPrefixesOperations', 'RouteFiltersOperations', 'RouteFilterRulesOperations', 'RouteTablesOperations', diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_07_01/operations/public_ip_prefixes_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/operations/public_ip_prefixes_operations.py new file mode 100644 index 000000000000..632b245510de --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_07_01/operations/public_ip_prefixes_operations.py @@ -0,0 +1,522 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PublicIPPrefixesOperations(object): + """PublicIPPrefixesOperations 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-07-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-07-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_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') + + # Construct headers + header_parameters = {} + 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.delete(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, public_ip_prefix_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified public IP prefix. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the PublicIpPrefix. + :type public_ip_prefix_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + public_ip_prefix_name=public_ip_prefix_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + def get( + self, resource_group_name, public_ip_prefix_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified public IP prefix in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the PublicIPPrefx. + :type public_ip_prefix_name: str + :param expand: Expands referenced resources. + :type expand: 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: PublicIPPrefix or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # 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 + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + + def _create_or_update_initial( + self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_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') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'PublicIPPrefix') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PublicIPPrefix', response) + if response.status_code == 201: + deserialized = self._deserialize('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, public_ip_prefix_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a static or dynamic public IP prefix. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the public IP prefix. + :type public_ip_prefix_name: str + :param parameters: Parameters supplied to the create or update public + IP prefix operation. + :type parameters: + ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PublicIPPrefix or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + public_ip_prefix_name=public_ip_prefix_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + + def _update_tags_initial( + self, resource_group_name, public_ip_prefix_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpPrefixName': self._serialize.url("public_ip_prefix_name", public_ip_prefix_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') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + 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 + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, public_ip_prefix_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates public IP prefix tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_prefix_name: The name of the public IP prefix. + :type public_ip_prefix_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PublicIPPrefix or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + public_ip_prefix_name=public_ip_prefix_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PublicIPPrefix', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the public IP prefixes in a subscription. + + :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 PublicIPPrefix + :rtype: + ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all public IP prefixes in a resource group. + + :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 PublicIPPrefix + :rtype: + ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefixPaged[~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix] + :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 = { + '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.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PublicIPPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes'}