def test_search_available_phone_numbers_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient( endpoint, credential, http_logging_policy=get_http_logging_policy() ) capabilities = PhoneNumberCapabilities( calling = PhoneNumberCapabilityType.INBOUND, sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND ) poller = phone_number_client.begin_search_available_phone_numbers( self.country_code, PhoneNumberType.TOLL_FREE, PhoneNumberAssignmentType.APPLICATION, capabilities, polling = True ) assert poller.result()
async def test_update_phone_number_capabilities_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = async_create_token_credential() phone_number_client = PhoneNumbersClient( endpoint, credential, http_logging_policy=get_http_logging_policy() ) async with phone_number_client: current_phone_number = await phone_number_client.get_purchased_phone_number(self.phone_number) calling_capabilities = PhoneNumberCapabilityType.INBOUND if current_phone_number.capabilities.calling == PhoneNumberCapabilityType.OUTBOUND else PhoneNumberCapabilityType.OUTBOUND sms_capabilities = PhoneNumberCapabilityType.INBOUND_OUTBOUND if current_phone_number.capabilities.sms == PhoneNumberCapabilityType.OUTBOUND else PhoneNumberCapabilityType.OUTBOUND poller = await phone_number_client.begin_update_phone_number_capabilities( self.phone_number, sms_capabilities, calling_capabilities, polling = True ) assert await poller.result() assert poller.status() == PhoneNumberOperationStatus.SUCCEEDED.value
def test_purchase_phone_number_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient(endpoint, credential) capabilities = PhoneNumberCapabilities( calling=PhoneNumberCapabilityType.INBOUND, sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND) search_poller = phone_number_client.begin_search_available_phone_numbers( self.country_code, PhoneNumberType.TOLL_FREE, PhoneNumberAssignmentType.APPLICATION, capabilities, polling=True) phone_number_to_buy = search_poller.result() purchase_poller = phone_number_client.begin_purchase_phone_numbers( phone_number_to_buy.search_id, polling=True) purchase_poller.result() release_poller = phone_number_client.begin_release_phone_number( phone_number_to_buy.phone_numbers[0]) assert release_poller.status( ) == PhoneNumberOperationStatus.SUCCEEDED.value
def test_get_purchased_phone_number_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient(endpoint, credential) phone_number = phone_number_client.get_purchased_phone_number(self.phone_number) assert phone_number.phone_number == self.phone_number
FILE: managed_identity_authentication_sample.py DESCRIPTION: This sample demonstrates how to authenticate the PhoneNumbersClient using managed identity USAGE: python managed_identity_authentication_sample.py Set the environment variables with your own values before running the sample: 1) AZURE_COMMUNICATION_SERVICE_CONNECTION_STRING - The connection string of your Azure Communication Service resource 2) AZURE_CLIENT_ID - The id of your registered Azure Active Directory application 3) AZURE_CLIENT_SECRET - A client secret created for your registered AAD aplication 4) AZURE_TENANT_ID - The tenant in which this application can be found """ import os from azure.communication.phonenumbers import PhoneNumbersClient from azure.communication.phonenumbers._shared.utils import parse_connection_str from azure.identity import DefaultAzureCredential connection_str = os.getenv('AZURE_COMMUNICATION_SERVICE_CONNECTION_STRING') endpoint, _ = parse_connection_str(connection_str) phone_numbers_client = PhoneNumbersClient(endpoint, DefaultAzureCredential()) def list_purchased_phone_numbers_using_managed_identity(): purchased_phone_numbers = phone_numbers_client.list_purchased_phone_numbers() print('Purchased phone numbers:') for acquired_phone_number in purchased_phone_numbers: print(acquired_phone_number.phone_number) if __name__ == '__main__': list_purchased_phone_numbers_using_managed_identity()
def test_list_acquired_phone_numbers_from_managed_identity(self): endpoint, access_key = parse_connection_str(self.connection_str) credential = create_token_credential() phone_number_client = PhoneNumbersClient(endpoint, credential) phone_numbers = phone_number_client.list_acquired_phone_numbers() assert phone_numbers.next()