from datetime import datetime
from typing import Optional
from pydantic import StrictStr, Field, StrictInt, conlist
from sinch.domains.numbers.models.v1.internal.base import (
BaseModelConfigurationResponse,
)
from sinch.domains.numbers.models.v1.shared import Money, SmsConfiguration
from sinch.domains.numbers.models.v1.types import (
CapabilityType,
NumberType,
VoiceConfiguration,
)
[docs]
class ActiveNumber(BaseModelConfigurationResponse):
phone_number: Optional[StrictStr] = Field(
default=None,
alias="phoneNumber",
description="Phone number in E.164 format with leading '+'. Example: '+12025550134'.",
)
project_id: Optional[StrictStr] = Field(default=None, alias="projectId")
display_name: Optional[StrictStr] = Field(
default=None, alias="displayName"
)
region_code: Optional[StrictStr] = Field(
default=None,
alias="regionCode",
description="ISO 3166-1 alpha-2 country code. Example: US, GB or SE.",
)
type: Optional[NumberType] = Field(default=None)
capabilities: Optional[conlist(CapabilityType)] = Field(default=None)
money: Optional[Money] = Field(default=None)
payment_interval_months: Optional[StrictInt] = Field(
default=None, alias="paymentIntervalMonths"
)
next_charge_date: Optional[datetime] = Field(
default=None, alias="nextChargeDate"
)
expire_at: Optional[datetime] = Field(default=None, alias="expireAt")
sms_configuration: Optional[SmsConfiguration] = Field(
default=None, alias="smsConfiguration"
)
voice_configuration: Optional[VoiceConfiguration] = Field(
default=None, alias="voiceConfiguration"
)
event_destination_target: Optional[StrictStr] = Field(
default=None, alias="callbackUrl"
)