diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/_peering_management_client.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/_peering_management_client.py index fabd77f8a74b..7bdf62382f29 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/_peering_management_client.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/_peering_management_client.py @@ -14,6 +14,7 @@ from ._configuration import PeeringManagementClientConfiguration from .operations import PeeringManagementClientOperationsMixin +from .operations import CdnPeeringPrefixesOperations from .operations import LegacyPeeringsOperations from .operations import Operations from .operations import PeerAsnsOperations @@ -21,6 +22,7 @@ from .operations import RegisteredAsnsOperations from .operations import RegisteredPrefixesOperations from .operations import PeeringsOperations +from .operations import ReceivedRoutesOperations from .operations import PeeringServiceCountriesOperations from .operations import PeeringServiceLocationsOperations from .operations import PrefixesOperations @@ -35,6 +37,8 @@ class PeeringManagementClient(PeeringManagementClientOperationsMixin, SDKClient) :ivar config: Configuration for client. :vartype config: PeeringManagementClientConfiguration + :ivar cdn_peering_prefixes: CdnPeeringPrefixes operations + :vartype cdn_peering_prefixes: azure.mgmt.peering.operations.CdnPeeringPrefixesOperations :ivar legacy_peerings: LegacyPeerings operations :vartype legacy_peerings: azure.mgmt.peering.operations.LegacyPeeringsOperations :ivar operations: Operations operations @@ -49,6 +53,8 @@ class PeeringManagementClient(PeeringManagementClientOperationsMixin, SDKClient) :vartype registered_prefixes: azure.mgmt.peering.operations.RegisteredPrefixesOperations :ivar peerings: Peerings operations :vartype peerings: azure.mgmt.peering.operations.PeeringsOperations + :ivar received_routes: ReceivedRoutes operations + :vartype received_routes: azure.mgmt.peering.operations.ReceivedRoutesOperations :ivar peering_service_countries: PeeringServiceCountries operations :vartype peering_service_countries: azure.mgmt.peering.operations.PeeringServiceCountriesOperations :ivar peering_service_locations: PeeringServiceLocations operations @@ -75,10 +81,12 @@ def __init__( super(PeeringManagementClient, self).__init__(self.config.credentials, self.config) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self.api_version = '2020-01-01-preview' + self.api_version = '2021-01-01' self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) + self.cdn_peering_prefixes = CdnPeeringPrefixesOperations( + self._client, self.config, self._serialize, self._deserialize) self.legacy_peerings = LegacyPeeringsOperations( self._client, self.config, self._serialize, self._deserialize) self.operations = Operations( @@ -93,6 +101,8 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.peerings = PeeringsOperations( self._client, self.config, self._serialize, self._deserialize) + self.received_routes = ReceivedRoutesOperations( + self._client, self.config, self._serialize, self._deserialize) self.peering_service_countries = PeeringServiceCountriesOperations( self._client, self.config, self._serialize, self._deserialize) self.peering_service_locations = PeeringServiceLocationsOperations( diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/__init__.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/__init__.py index d6b96d971a13..54a81a9b77f8 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/__init__.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/__init__.py @@ -11,10 +11,12 @@ try: from ._models_py3 import BgpSession + from ._models_py3 import CdnPeeringPrefix from ._models_py3 import CheckServiceProviderAvailabilityInput from ._models_py3 import ContactDetail from ._models_py3 import DirectConnection from ._models_py3 import DirectPeeringFacility + from ._models_py3 import ErrorDetail from ._models_py3 import ErrorResponse, ErrorResponseException from ._models_py3 import ExchangeConnection from ._models_py3 import ExchangePeeringFacility @@ -28,6 +30,7 @@ from ._models_py3 import PeeringLocationPropertiesExchange from ._models_py3 import PeeringPropertiesDirect from ._models_py3 import PeeringPropertiesExchange + from ._models_py3 import PeeringReceivedRoute from ._models_py3 import PeeringRegisteredAsn from ._models_py3 import PeeringRegisteredPrefix from ._models_py3 import PeeringService @@ -43,10 +46,12 @@ from ._models_py3 import SubResource except (SyntaxError, ImportError): from ._models import BgpSession + from ._models import CdnPeeringPrefix from ._models import CheckServiceProviderAvailabilityInput from ._models import ContactDetail from ._models import DirectConnection from ._models import DirectPeeringFacility + from ._models import ErrorDetail from ._models import ErrorResponse, ErrorResponseException from ._models import ExchangeConnection from ._models import ExchangePeeringFacility @@ -60,6 +65,7 @@ from ._models import PeeringLocationPropertiesExchange from ._models import PeeringPropertiesDirect from ._models import PeeringPropertiesExchange + from ._models import PeeringReceivedRoute from ._models import PeeringRegisteredAsn from ._models import PeeringRegisteredPrefix from ._models import PeeringService @@ -73,10 +79,12 @@ from ._models import Resource from ._models import ResourceTags from ._models import SubResource +from ._paged_models import CdnPeeringPrefixPaged from ._paged_models import OperationPaged from ._paged_models import PeerAsnPaged from ._paged_models import PeeringLocationPaged from ._paged_models import PeeringPaged +from ._paged_models import PeeringReceivedRoutePaged from ._paged_models import PeeringRegisteredAsnPaged from ._paged_models import PeeringRegisteredPrefixPaged from ._paged_models import PeeringServiceCountryPaged @@ -103,10 +111,12 @@ __all__ = [ 'BgpSession', + 'CdnPeeringPrefix', 'CheckServiceProviderAvailabilityInput', 'ContactDetail', 'DirectConnection', 'DirectPeeringFacility', + 'ErrorDetail', 'ErrorResponse', 'ErrorResponseException', 'ExchangeConnection', 'ExchangePeeringFacility', @@ -120,6 +130,7 @@ 'PeeringLocationPropertiesExchange', 'PeeringPropertiesDirect', 'PeeringPropertiesExchange', + 'PeeringReceivedRoute', 'PeeringRegisteredAsn', 'PeeringRegisteredPrefix', 'PeeringService', @@ -133,12 +144,14 @@ 'Resource', 'ResourceTags', 'SubResource', + 'CdnPeeringPrefixPaged', 'PeeringPaged', 'OperationPaged', 'PeerAsnPaged', 'PeeringLocationPaged', 'PeeringRegisteredAsnPaged', 'PeeringRegisteredPrefixPaged', + 'PeeringReceivedRoutePaged', 'PeeringServiceCountryPaged', 'PeeringServiceLocationPaged', 'PeeringServicePrefixPaged', diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_models.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_models.py index 28e68392fdaf..f4214b5c1e77 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_models.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_models.py @@ -91,6 +91,95 @@ def __init__(self, **kwargs): self.md5_authentication_key = kwargs.get('md5_authentication_key', None) +class Resource(Model): + """The ARM resource class. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the resource. + :vartype name: str + :ivar id: The ID of the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + + +class CdnPeeringPrefix(Resource): + """The CDN peering prefix. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the resource. + :vartype name: str + :ivar id: The ID of the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + :ivar prefix: The prefix. + :vartype prefix: str + :ivar azure_region: The Azure region. + :vartype azure_region: str + :ivar azure_service: The Azure service. + :vartype azure_service: str + :ivar is_primary_region: The flag that indicates whether or not this is + the primary region. + :vartype is_primary_region: bool + :ivar bgp_community: The BGP Community + :vartype bgp_community: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'prefix': {'readonly': True}, + 'azure_region': {'readonly': True}, + 'azure_service': {'readonly': True}, + 'is_primary_region': {'readonly': True}, + 'bgp_community': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'azure_region': {'key': 'properties.azureRegion', 'type': 'str'}, + 'azure_service': {'key': 'properties.azureService', 'type': 'str'}, + 'is_primary_region': {'key': 'properties.isPrimaryRegion', 'type': 'bool'}, + 'bgp_community': {'key': 'properties.bgpCommunity', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(CdnPeeringPrefix, self).__init__(**kwargs) + self.prefix = None + self.azure_region = None + self.azure_service = None + self.is_primary_region = None + self.bgp_community = None + + class CheckServiceProviderAvailabilityInput(Model): """Class for CheckServiceProviderAvailabilityInput. @@ -125,7 +214,7 @@ class ContactDetail(Model): """The contact detail class. :param role: The role of the contact. Possible values include: 'Noc', - 'Policy', 'Technical', 'Service', 'Other' + 'Policy', 'Technical', 'Service', 'Escalation', 'Other' :type role: str or ~azure.mgmt.peering.models.Role :param email: The e-mail address of the contact. :type email: str @@ -165,6 +254,9 @@ class DirectConnection(Model): :param use_for_peering_service: The flag that indicates whether or not the connection is used for peering service. :type use_for_peering_service: bool + :ivar microsoft_tracking_id: The ID used within Microsoft's peering + provisioning system to track the connection + :vartype microsoft_tracking_id: str :param peering_db_facility_id: The PeeringDB.com ID of the facility at which the connection has to be set up. :type peering_db_facility_id: int @@ -185,6 +277,7 @@ class DirectConnection(Model): _validation = { 'provisioned_bandwidth_in_mbps': {'readonly': True}, + 'microsoft_tracking_id': {'readonly': True}, 'connection_state': {'readonly': True}, 'error_message': {'readonly': True}, } @@ -194,6 +287,7 @@ class DirectConnection(Model): 'provisioned_bandwidth_in_mbps': {'key': 'provisionedBandwidthInMbps', 'type': 'int'}, 'session_address_provider': {'key': 'sessionAddressProvider', 'type': 'str'}, 'use_for_peering_service': {'key': 'useForPeeringService', 'type': 'bool'}, + 'microsoft_tracking_id': {'key': 'microsoftTrackingId', 'type': 'str'}, 'peering_db_facility_id': {'key': 'peeringDBFacilityId', 'type': 'int'}, 'connection_state': {'key': 'connectionState', 'type': 'str'}, 'bgp_session': {'key': 'bgpSession', 'type': 'BgpSession'}, @@ -207,6 +301,7 @@ def __init__(self, **kwargs): self.provisioned_bandwidth_in_mbps = None self.session_address_provider = kwargs.get('session_address_provider', None) self.use_for_peering_service = kwargs.get('use_for_peering_service', None) + self.microsoft_tracking_id = None self.peering_db_facility_id = kwargs.get('peering_db_facility_id', None) self.connection_state = None self.bgp_session = kwargs.get('bgp_session', None) @@ -244,8 +339,8 @@ def __init__(self, **kwargs): self.peering_db_facility_link = kwargs.get('peering_db_facility_link', None) -class ErrorResponse(Model): - """The error response that indicates why an operation has failed. +class ErrorDetail(Model): + """The error detail that describes why an operation has failed. Variables are only populated by the server, and will be ignored when sending a request. @@ -267,11 +362,27 @@ class ErrorResponse(Model): } def __init__(self, **kwargs): - super(ErrorResponse, self).__init__(**kwargs) + super(ErrorDetail, self).__init__(**kwargs) self.code = None self.message = None +class ErrorResponse(Model): + """The error response that indicates why an operation has failed. + + :param error: The error detail that describes why an operation has failed. + :type error: ~azure.mgmt.peering.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + class ErrorResponseException(HttpOperationError): """Server responsed with exception of type: 'ErrorResponse'. @@ -451,39 +562,6 @@ def __init__(self, **kwargs): self.description = None -class Resource(Model): - """The ARM resource class. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: The name of the resource. - :vartype name: str - :ivar id: The ID of the resource. - :vartype id: str - :ivar type: The type of the resource. - :vartype type: str - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Resource, self).__init__(**kwargs) - self.name = None - self.id = None - self.type = None - - class PeerAsn(Resource): """The essential information related to the peer's ASN. @@ -789,6 +867,63 @@ def __init__(self, **kwargs): self.peer_asn = kwargs.get('peer_asn', None) +class PeeringReceivedRoute(Model): + """The properties that define a received route. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar prefix: The prefix. + :vartype prefix: str + :ivar next_hop: The next hop for the prefix. + :vartype next_hop: str + :ivar as_path: The AS path for the prefix. + :vartype as_path: str + :ivar origin_as_validation_state: The origin AS change information for the + prefix. + :vartype origin_as_validation_state: str + :ivar rpki_validation_state: The RPKI validation state for the prefix and + origin AS that's listed in the AS path. + :vartype rpki_validation_state: str + :ivar trust_anchor: The authority which holds the Route Origin + Authorization record for the prefix, if any. + :vartype trust_anchor: str + :ivar received_timestamp: The received timestamp associated with the + prefix. + :vartype received_timestamp: str + """ + + _validation = { + 'prefix': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'as_path': {'readonly': True}, + 'origin_as_validation_state': {'readonly': True}, + 'rpki_validation_state': {'readonly': True}, + 'trust_anchor': {'readonly': True}, + 'received_timestamp': {'readonly': True}, + } + + _attribute_map = { + 'prefix': {'key': 'prefix', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'origin_as_validation_state': {'key': 'originAsValidationState', 'type': 'str'}, + 'rpki_validation_state': {'key': 'rpkiValidationState', 'type': 'str'}, + 'trust_anchor': {'key': 'trustAnchor', 'type': 'str'}, + 'received_timestamp': {'key': 'receivedTimestamp', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PeeringReceivedRoute, self).__init__(**kwargs) + self.prefix = None + self.next_hop = None + self.as_path = None + self.origin_as_validation_state = None + self.rpki_validation_state = None + self.trust_anchor = None + self.received_timestamp = None + + class PeeringRegisteredAsn(Resource): """The customer's ASN that is registered by the peering service provider. @@ -913,15 +1048,21 @@ class PeeringService(Resource): :vartype type: str :param sku: The SKU that defines the type of the peering service. :type sku: ~azure.mgmt.peering.models.PeeringServiceSku - :param peering_service_location: The PeeringServiceLocation of the - Customer. + :param peering_service_location: The location (state/province) of the + customer. :type peering_service_location: str - :param peering_service_provider: The MAPS Provider Name. + :param peering_service_provider: The name of the service provider. :type peering_service_provider: str :ivar provisioning_state: The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState + :param provider_primary_peering_location: The primary peering + (Microsoft/service provider) location to be used for customer traffic. + :type provider_primary_peering_location: str + :param provider_backup_peering_location: The backup peering + (Microsoft/service provider) location to be used for customer traffic. + :type provider_backup_peering_location: str :param location: Required. The location of the resource. :type location: str :param tags: The resource tags. @@ -944,6 +1085,8 @@ class PeeringService(Resource): 'peering_service_location': {'key': 'properties.peeringServiceLocation', 'type': 'str'}, 'peering_service_provider': {'key': 'properties.peeringServiceProvider', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'provider_primary_peering_location': {'key': 'properties.providerPrimaryPeeringLocation', 'type': 'str'}, + 'provider_backup_peering_location': {'key': 'properties.providerBackupPeeringLocation', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } @@ -954,6 +1097,8 @@ def __init__(self, **kwargs): self.peering_service_location = kwargs.get('peering_service_location', None) self.peering_service_provider = kwargs.get('peering_service_provider', None) self.provisioning_state = None + self.provider_primary_peering_location = kwargs.get('provider_primary_peering_location', None) + self.provider_backup_peering_location = kwargs.get('provider_backup_peering_location', None) self.location = kwargs.get('location', None) self.tags = kwargs.get('tags', None) @@ -1159,6 +1304,9 @@ class PeeringServiceProvider(Resource): :vartype type: str :param service_provider_name: The name of the service provider. :type service_provider_name: str + :param peering_locations: The list of locations at which the service + provider peers with Microsoft. + :type peering_locations: list[str] """ _validation = { @@ -1172,11 +1320,13 @@ class PeeringServiceProvider(Resource): 'id': {'key': 'id', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'service_provider_name': {'key': 'properties.serviceProviderName', 'type': 'str'}, + 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, } def __init__(self, **kwargs): super(PeeringServiceProvider, self).__init__(**kwargs) self.service_provider_name = kwargs.get('service_provider_name', None) + self.peering_locations = kwargs.get('peering_locations', None) class PeeringServiceSku(Model): diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_models_py3.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_models_py3.py index 7cfe4f0969cd..db1444527f08 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_models_py3.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_models_py3.py @@ -91,6 +91,95 @@ def __init__(self, *, session_prefix_v4: str=None, session_prefix_v6: str=None, self.md5_authentication_key = md5_authentication_key +class Resource(Model): + """The ARM resource class. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the resource. + :vartype name: str + :ivar id: The ID of the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + + +class CdnPeeringPrefix(Resource): + """The CDN peering prefix. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the resource. + :vartype name: str + :ivar id: The ID of the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + :ivar prefix: The prefix. + :vartype prefix: str + :ivar azure_region: The Azure region. + :vartype azure_region: str + :ivar azure_service: The Azure service. + :vartype azure_service: str + :ivar is_primary_region: The flag that indicates whether or not this is + the primary region. + :vartype is_primary_region: bool + :ivar bgp_community: The BGP Community + :vartype bgp_community: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'prefix': {'readonly': True}, + 'azure_region': {'readonly': True}, + 'azure_service': {'readonly': True}, + 'is_primary_region': {'readonly': True}, + 'bgp_community': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'prefix': {'key': 'properties.prefix', 'type': 'str'}, + 'azure_region': {'key': 'properties.azureRegion', 'type': 'str'}, + 'azure_service': {'key': 'properties.azureService', 'type': 'str'}, + 'is_primary_region': {'key': 'properties.isPrimaryRegion', 'type': 'bool'}, + 'bgp_community': {'key': 'properties.bgpCommunity', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(CdnPeeringPrefix, self).__init__(**kwargs) + self.prefix = None + self.azure_region = None + self.azure_service = None + self.is_primary_region = None + self.bgp_community = None + + class CheckServiceProviderAvailabilityInput(Model): """Class for CheckServiceProviderAvailabilityInput. @@ -125,7 +214,7 @@ class ContactDetail(Model): """The contact detail class. :param role: The role of the contact. Possible values include: 'Noc', - 'Policy', 'Technical', 'Service', 'Other' + 'Policy', 'Technical', 'Service', 'Escalation', 'Other' :type role: str or ~azure.mgmt.peering.models.Role :param email: The e-mail address of the contact. :type email: str @@ -165,6 +254,9 @@ class DirectConnection(Model): :param use_for_peering_service: The flag that indicates whether or not the connection is used for peering service. :type use_for_peering_service: bool + :ivar microsoft_tracking_id: The ID used within Microsoft's peering + provisioning system to track the connection + :vartype microsoft_tracking_id: str :param peering_db_facility_id: The PeeringDB.com ID of the facility at which the connection has to be set up. :type peering_db_facility_id: int @@ -185,6 +277,7 @@ class DirectConnection(Model): _validation = { 'provisioned_bandwidth_in_mbps': {'readonly': True}, + 'microsoft_tracking_id': {'readonly': True}, 'connection_state': {'readonly': True}, 'error_message': {'readonly': True}, } @@ -194,6 +287,7 @@ class DirectConnection(Model): 'provisioned_bandwidth_in_mbps': {'key': 'provisionedBandwidthInMbps', 'type': 'int'}, 'session_address_provider': {'key': 'sessionAddressProvider', 'type': 'str'}, 'use_for_peering_service': {'key': 'useForPeeringService', 'type': 'bool'}, + 'microsoft_tracking_id': {'key': 'microsoftTrackingId', 'type': 'str'}, 'peering_db_facility_id': {'key': 'peeringDBFacilityId', 'type': 'int'}, 'connection_state': {'key': 'connectionState', 'type': 'str'}, 'bgp_session': {'key': 'bgpSession', 'type': 'BgpSession'}, @@ -207,6 +301,7 @@ def __init__(self, *, bandwidth_in_mbps: int=None, session_address_provider=None self.provisioned_bandwidth_in_mbps = None self.session_address_provider = session_address_provider self.use_for_peering_service = use_for_peering_service + self.microsoft_tracking_id = None self.peering_db_facility_id = peering_db_facility_id self.connection_state = None self.bgp_session = bgp_session @@ -244,8 +339,8 @@ def __init__(self, *, address: str=None, direct_peering_type=None, peering_db_fa self.peering_db_facility_link = peering_db_facility_link -class ErrorResponse(Model): - """The error response that indicates why an operation has failed. +class ErrorDetail(Model): + """The error detail that describes why an operation has failed. Variables are only populated by the server, and will be ignored when sending a request. @@ -267,11 +362,27 @@ class ErrorResponse(Model): } def __init__(self, **kwargs) -> None: - super(ErrorResponse, self).__init__(**kwargs) + super(ErrorDetail, self).__init__(**kwargs) self.code = None self.message = None +class ErrorResponse(Model): + """The error response that indicates why an operation has failed. + + :param error: The error detail that describes why an operation has failed. + :type error: ~azure.mgmt.peering.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + class ErrorResponseException(HttpOperationError): """Server responsed with exception of type: 'ErrorResponse'. @@ -451,39 +562,6 @@ def __init__(self, **kwargs) -> None: self.description = None -class Resource(Model): - """The ARM resource class. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: The name of the resource. - :vartype name: str - :ivar id: The ID of the resource. - :vartype id: str - :ivar type: The type of the resource. - :vartype type: str - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(Resource, self).__init__(**kwargs) - self.name = None - self.id = None - self.type = None - - class PeerAsn(Resource): """The essential information related to the peer's ASN. @@ -789,6 +867,63 @@ def __init__(self, *, connections=None, peer_asn=None, **kwargs) -> None: self.peer_asn = peer_asn +class PeeringReceivedRoute(Model): + """The properties that define a received route. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar prefix: The prefix. + :vartype prefix: str + :ivar next_hop: The next hop for the prefix. + :vartype next_hop: str + :ivar as_path: The AS path for the prefix. + :vartype as_path: str + :ivar origin_as_validation_state: The origin AS change information for the + prefix. + :vartype origin_as_validation_state: str + :ivar rpki_validation_state: The RPKI validation state for the prefix and + origin AS that's listed in the AS path. + :vartype rpki_validation_state: str + :ivar trust_anchor: The authority which holds the Route Origin + Authorization record for the prefix, if any. + :vartype trust_anchor: str + :ivar received_timestamp: The received timestamp associated with the + prefix. + :vartype received_timestamp: str + """ + + _validation = { + 'prefix': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'as_path': {'readonly': True}, + 'origin_as_validation_state': {'readonly': True}, + 'rpki_validation_state': {'readonly': True}, + 'trust_anchor': {'readonly': True}, + 'received_timestamp': {'readonly': True}, + } + + _attribute_map = { + 'prefix': {'key': 'prefix', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'origin_as_validation_state': {'key': 'originAsValidationState', 'type': 'str'}, + 'rpki_validation_state': {'key': 'rpkiValidationState', 'type': 'str'}, + 'trust_anchor': {'key': 'trustAnchor', 'type': 'str'}, + 'received_timestamp': {'key': 'receivedTimestamp', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(PeeringReceivedRoute, self).__init__(**kwargs) + self.prefix = None + self.next_hop = None + self.as_path = None + self.origin_as_validation_state = None + self.rpki_validation_state = None + self.trust_anchor = None + self.received_timestamp = None + + class PeeringRegisteredAsn(Resource): """The customer's ASN that is registered by the peering service provider. @@ -913,15 +1048,21 @@ class PeeringService(Resource): :vartype type: str :param sku: The SKU that defines the type of the peering service. :type sku: ~azure.mgmt.peering.models.PeeringServiceSku - :param peering_service_location: The PeeringServiceLocation of the - Customer. + :param peering_service_location: The location (state/province) of the + customer. :type peering_service_location: str - :param peering_service_provider: The MAPS Provider Name. + :param peering_service_provider: The name of the service provider. :type peering_service_provider: str :ivar provisioning_state: The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' :vartype provisioning_state: str or ~azure.mgmt.peering.models.ProvisioningState + :param provider_primary_peering_location: The primary peering + (Microsoft/service provider) location to be used for customer traffic. + :type provider_primary_peering_location: str + :param provider_backup_peering_location: The backup peering + (Microsoft/service provider) location to be used for customer traffic. + :type provider_backup_peering_location: str :param location: Required. The location of the resource. :type location: str :param tags: The resource tags. @@ -944,16 +1085,20 @@ class PeeringService(Resource): 'peering_service_location': {'key': 'properties.peeringServiceLocation', 'type': 'str'}, 'peering_service_provider': {'key': 'properties.peeringServiceProvider', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'provider_primary_peering_location': {'key': 'properties.providerPrimaryPeeringLocation', 'type': 'str'}, + 'provider_backup_peering_location': {'key': 'properties.providerBackupPeeringLocation', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, location: str, sku=None, peering_service_location: str=None, peering_service_provider: str=None, tags=None, **kwargs) -> None: + def __init__(self, *, location: str, sku=None, peering_service_location: str=None, peering_service_provider: str=None, provider_primary_peering_location: str=None, provider_backup_peering_location: str=None, tags=None, **kwargs) -> None: super(PeeringService, self).__init__(**kwargs) self.sku = sku self.peering_service_location = peering_service_location self.peering_service_provider = peering_service_provider self.provisioning_state = None + self.provider_primary_peering_location = provider_primary_peering_location + self.provider_backup_peering_location = provider_backup_peering_location self.location = location self.tags = tags @@ -1159,6 +1304,9 @@ class PeeringServiceProvider(Resource): :vartype type: str :param service_provider_name: The name of the service provider. :type service_provider_name: str + :param peering_locations: The list of locations at which the service + provider peers with Microsoft. + :type peering_locations: list[str] """ _validation = { @@ -1172,11 +1320,13 @@ class PeeringServiceProvider(Resource): 'id': {'key': 'id', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'service_provider_name': {'key': 'properties.serviceProviderName', 'type': 'str'}, + 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, } - def __init__(self, *, service_provider_name: str=None, **kwargs) -> None: + def __init__(self, *, service_provider_name: str=None, peering_locations=None, **kwargs) -> None: super(PeeringServiceProvider, self).__init__(**kwargs) self.service_provider_name = service_provider_name + self.peering_locations = peering_locations class PeeringServiceSku(Model): diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_paged_models.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_paged_models.py index 525770f4a3ef..abb88efd5118 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_paged_models.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_paged_models.py @@ -12,6 +12,19 @@ from msrest.paging import Paged +class CdnPeeringPrefixPaged(Paged): + """ + A paging container for iterating over a list of :class:`CdnPeeringPrefix ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[CdnPeeringPrefix]'} + } + + def __init__(self, *args, **kwargs): + + super(CdnPeeringPrefixPaged, self).__init__(*args, **kwargs) class PeeringPaged(Paged): """ A paging container for iterating over a list of :class:`Peering ` object @@ -90,6 +103,19 @@ class PeeringRegisteredPrefixPaged(Paged): def __init__(self, *args, **kwargs): super(PeeringRegisteredPrefixPaged, self).__init__(*args, **kwargs) +class PeeringReceivedRoutePaged(Paged): + """ + A paging container for iterating over a list of :class:`PeeringReceivedRoute ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PeeringReceivedRoute]'} + } + + def __init__(self, *args, **kwargs): + + super(PeeringReceivedRoutePaged, self).__init__(*args, **kwargs) class PeeringServiceCountryPaged(Paged): """ A paging container for iterating over a list of :class:`PeeringServiceCountry ` object diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_peering_management_client_enums.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_peering_management_client_enums.py index 53bea817c995..afcb1d4d3129 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_peering_management_client_enums.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/models/_peering_management_client_enums.py @@ -109,6 +109,7 @@ class Role(str, Enum): policy = "Policy" technical = "Technical" service = "Service" + escalation = "Escalation" other = "Other" diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/__init__.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/__init__.py index fd6e41d5445e..7a88e6687c4e 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/__init__.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/__init__.py @@ -9,6 +9,7 @@ # regenerated. # -------------------------------------------------------------------------- +from ._cdn_peering_prefixes_operations import CdnPeeringPrefixesOperations from ._legacy_peerings_operations import LegacyPeeringsOperations from ._operations import Operations from ._peer_asns_operations import PeerAsnsOperations @@ -16,6 +17,7 @@ from ._registered_asns_operations import RegisteredAsnsOperations from ._registered_prefixes_operations import RegisteredPrefixesOperations from ._peerings_operations import PeeringsOperations +from ._received_routes_operations import ReceivedRoutesOperations from ._peering_service_countries_operations import PeeringServiceCountriesOperations from ._peering_service_locations_operations import PeeringServiceLocationsOperations from ._prefixes_operations import PrefixesOperations @@ -24,6 +26,7 @@ from ._peering_management_client_operations import PeeringManagementClientOperationsMixin __all__ = [ + 'CdnPeeringPrefixesOperations', 'LegacyPeeringsOperations', 'Operations', 'PeerAsnsOperations', @@ -31,6 +34,7 @@ 'RegisteredAsnsOperations', 'RegisteredPrefixesOperations', 'PeeringsOperations', + 'ReceivedRoutesOperations', 'PeeringServiceCountriesOperations', 'PeeringServiceLocationsOperations', 'PrefixesOperations', diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_cdn_peering_prefixes_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_cdn_peering_prefixes_operations.py new file mode 100644 index 000000000000..e7e25c7ce800 --- /dev/null +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_cdn_peering_prefixes_operations.py @@ -0,0 +1,108 @@ +# 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 .. import models + + +class CdnPeeringPrefixesOperations(object): + """CdnPeeringPrefixesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: The client API version. Constant value: "2021-01-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-01-01" + + self.config = config + + def list( + self, peering_location, custom_headers=None, raw=False, **operation_config): + """Lists all of the advertised prefixes for the specified peering + location. + + :param peering_location: The peering location. + :type peering_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 CdnPeeringPrefix + :rtype: + ~azure.mgmt.peering.models.CdnPeeringPrefixPaged[~azure.mgmt.peering.models.CdnPeeringPrefix] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.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['peeringLocation'] = self._serialize.query("peering_location", peering_location, 'str') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.CdnPeeringPrefixPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Peering/cdnPeeringPrefixes'} diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_legacy_peerings_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_legacy_peerings_operations.py index e2391ffba1c9..289389ad1e2b 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_legacy_peerings_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_legacy_peerings_operations.py @@ -24,7 +24,7 @@ class LegacyPeeringsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_operations.py index 193b6b2ab538..b6e491832b39 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_operations.py @@ -24,7 +24,7 @@ class Operations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peer_asns_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peer_asns_operations.py index fa965792817c..cabf66efa62c 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peer_asns_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peer_asns_operations.py @@ -24,7 +24,7 @@ class PeerAsnsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_locations_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_locations_operations.py index c2b71cd7b1b4..d9f7355af3b5 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_locations_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_locations_operations.py @@ -24,7 +24,7 @@ class PeeringLocationsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_countries_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_countries_operations.py index 239997bd1df2..a27ec00f6a8a 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_countries_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_countries_operations.py @@ -24,7 +24,7 @@ class PeeringServiceCountriesOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_locations_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_locations_operations.py index 21bb6997cc78..3eb169d8aecb 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_locations_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_locations_operations.py @@ -24,7 +24,7 @@ class PeeringServiceLocationsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_providers_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_providers_operations.py index 85e334e0ca6c..6c777db31ae3 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_providers_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_service_providers_operations.py @@ -24,7 +24,7 @@ class PeeringServiceProvidersOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_services_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_services_operations.py index 107dfc1d9f7b..2a637bb75869 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_services_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peering_services_operations.py @@ -24,7 +24,7 @@ class PeeringServicesOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peerings_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peerings_operations.py index d45dfc85bdab..bd511b73c38e 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peerings_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_peerings_operations.py @@ -24,7 +24,7 @@ class PeeringsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_prefixes_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_prefixes_operations.py index 1f3b5bb27d6b..983f02c6e188 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_prefixes_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_prefixes_operations.py @@ -24,7 +24,7 @@ class PrefixesOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_received_routes_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_received_routes_operations.py new file mode 100644 index 000000000000..8c817acff282 --- /dev/null +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_received_routes_operations.py @@ -0,0 +1,136 @@ +# 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 .. import models + + +class ReceivedRoutesOperations(object): + """ReceivedRoutesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: The client API version. Constant value: "2021-01-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-01-01" + + self.config = config + + def list_by_peering( + self, resource_group_name, peering_name, prefix=None, as_path=None, origin_as_validation_state=None, rpki_validation_state=None, skip_token=None, custom_headers=None, raw=False, **operation_config): + """Lists the prefixes received over the specified peering under the given + subscription and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param prefix: The optional prefix that can be used to filter the + routes. + :type prefix: str + :param as_path: The optional AS path that can be used to filter the + routes. + :type as_path: str + :param origin_as_validation_state: The optional origin AS validation + state that can be used to filter the routes. + :type origin_as_validation_state: str + :param rpki_validation_state: The optional RPKI validation state that + can be used to filter the routes. + :type rpki_validation_state: str + :param skip_token: The optional page continuation token that is used + in the event of paginated result. + :type skip_token: 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 PeeringReceivedRoute + :rtype: + ~azure.mgmt.peering.models.PeeringReceivedRoutePaged[~azure.mgmt.peering.models.PeeringReceivedRoute] + :raises: + :class:`ErrorResponseException` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_peering.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_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 = {} + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if as_path is not None: + query_parameters['asPath'] = self._serialize.query("as_path", as_path, 'str') + if origin_as_validation_state is not None: + query_parameters['originAsValidationState'] = self._serialize.query("origin_as_validation_state", origin_as_validation_state, 'str') + if rpki_validation_state is not None: + query_parameters['rpkiValidationState'] = self._serialize.query("rpki_validation_state", rpki_validation_state, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + 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) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.PeeringReceivedRoutePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_peering.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/receivedRoutes'} diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_registered_asns_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_registered_asns_operations.py index b413f0151b09..4fcf24c2bc07 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_registered_asns_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_registered_asns_operations.py @@ -24,7 +24,7 @@ class RegisteredAsnsOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config diff --git a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_registered_prefixes_operations.py b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_registered_prefixes_operations.py index b9d8fab0ef8c..cee884f5a1ec 100644 --- a/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_registered_prefixes_operations.py +++ b/sdk/peering/azure-mgmt-peering/azure/mgmt/peering/operations/_registered_prefixes_operations.py @@ -24,7 +24,7 @@ class RegisteredPrefixesOperations(object): :param config: Configuration of service client. :param serializer: An object model serializer. :param deserializer: An object model deserializer. - :ivar api_version: The client API version. Constant value: "2020-01-01-preview". + :ivar api_version: The client API version. Constant value: "2021-01-01". """ models = models @@ -34,7 +34,7 @@ def __init__(self, client, config, serializer, deserializer): self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-01-01-preview" + self.api_version = "2021-01-01" self.config = config