models.py•285 kB
# generated by fastapi-codegen:
# filename: openapi.yaml
# timestamp: 2025-06-29T03:55:29+00:00
from __future__ import annotations
from datetime import date, datetime
from enum import Enum
from typing import Any, Dict, List, Literal, Optional, Union
from pydantic import BaseModel, Field, RootModel, conint, constr
class State(Enum):
requested = 'requested'
allocated = 'allocated'
testing = 'testing'
production = 'production'
production_change_pending = 'production_change_pending'
decommission_requested = 'decommission_requested'
decommissioned = 'decommissioned'
archived = 'archived'
error = 'error'
operator = 'operator'
scheduled = 'scheduled'
class AddressPartial(BaseModel):
country: Optional[constr(max_length=2)] = Field(
None,
description='ISO 3166-1 alpha-2 country code, for example DE',
examples=['US'],
)
locality: Optional[constr(max_length=40)] = Field(
None,
description='The locality/city. For example, Mountain View.',
examples=['Mountain View'],
)
post_office_box_number: Optional[constr(max_length=80)] = Field(
None,
description='The post office box number for PO box addresses.',
examples=['2335232'],
)
postal_code: Optional[constr(max_length=24)] = Field(
None, description='A postal code. For example, 9404', examples=['9409']
)
region: Optional[constr(max_length=80)] = Field(
None, description='The region. For example, CA', examples=['CA']
)
street_address: Optional[constr(max_length=80)] = Field(
None,
description='The street address. For example, 1600 Amphitheatre Pkwy.',
examples=['1600 Amphitheatre Pkwy.'],
)
class AllowMemberJoiningRulePartial(BaseModel):
capacity_max: Optional[conint(ge=1)] = Field(
None,
description='An optional rate limit which has precedence over\nthe capacity set in the network service config.',
)
capacity_min: Optional[conint(ge=1)] = Field(
None,
description='Require an optional minimum capacity to join\nthe network service.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account to which access to the\nnetwork service should be granted or denied.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[str] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_service: Optional[str] = None
type: Literal['allow'] = Field(..., examples=['allow'])
class AllowMemberJoiningRuleRequestPartial(BaseModel):
capacity_max: Optional[conint(ge=1)] = Field(
None,
description='An optional rate limit which has precedence over\nthe capacity set in the network service config.',
)
capacity_min: Optional[conint(ge=1)] = Field(
None,
description='Require an optional minimum capacity to join\nthe network service.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account to which access to the\nnetwork service should be granted or denied.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_service: Optional[str] = None
type: Literal['allow'] = Field(..., examples=['allow'])
class AllowMemberJoiningRuleUpdatePartial(BaseModel):
capacity_max: Optional[conint(ge=1)] = Field(
None,
description='An optional rate limit which has precedence over\nthe capacity set in the network service config.',
)
capacity_min: Optional[conint(ge=1)] = Field(
None,
description='Require an optional minimum capacity to join\nthe network service.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account to which access to the\nnetwork service should be granted or denied.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
type: Literal['allow'] = Field(..., examples=['allow'])
class AuthTokenPartial(BaseModel):
access_token: Optional[str] = None
refresh_token: Optional[str] = None
class AuthTokenRequestPartial(BaseModel):
api_key: Optional[constr(min_length=16, max_length=16)] = None
api_secret: Optional[constr(min_length=86, max_length=86)] = None
class CancelablePartial(BaseModel):
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
decommission_at: Optional[date] = Field(
None,
description='The service will be decommissioned on this date.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
class CancellationPolicyPartial(BaseModel):
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.',
)
decommission_at: Optional[date] = Field(
None,
description='This field denotes the first possible cancellation\ndate of the service.',
)
class CancellationRequestPartial(BaseModel):
decommission_at: Optional[date] = Field(
None,
description='An optional date for scheduling the cancellation\nand service decommissioning.',
)
class DeliveryMethod(Enum):
dedicated = 'dedicated'
shared = 'shared'
class ProviderVlans(Enum):
single = 'single'
multi = 'multi'
class ResourceType(Enum):
connection = 'connection'
demarc = 'demarc'
network_service = 'network_service'
network_service_config = 'network_service_config'
class ServiceProviderWorkflow(Enum):
exchange_first = 'exchange_first'
provider_first = 'provider_first'
class CloudNetworkProductOfferingPartial(BaseModel):
bandwidth_max: Optional[conint(ge=0)] = Field(
None,
description='When not `null`, this value enforces a mandatory\nrate limit for all network service configs.',
)
bandwidth_min: Optional[conint(ge=0)] = Field(
None,
description='When configuring access to the network service, at least\nthis `capacity` must be provided.',
)
delivery_method: Optional[DeliveryMethod] = Field(
None,
description='The exchange delivers the service over a `shared` or `dedicated` NNI.',
)
display_name: Optional[constr(max_length=256)] = None
diversity: Optional[conint(ge=1)] = Field(
None,
description='The service can be delivered over multiple handovers from\nthe exchange to the `service_provider`.\nThe `diversity` denotes the number of handovers between the\nexchange and the service provider. A value of two signals a\nredundant service.\n\nOnly one network service configuration for each `handover` and\n`cloud_vlan` can be created.',
)
downgrade_allowed: Optional[bool] = Field(
None,
description='Indicates if the service can be migrated to\na lower bandwidth.',
)
handover_metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea`. The network service will be\naccessed from this metro area.\n',
examples=['met:29381993:NYC'],
)
handover_metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork`. The service will be accessed\nthrough the handover metro area network.\n',
examples=['191239810'],
)
id: Optional[constr(max_length=80)] = None
name: Optional[constr(max_length=160)] = Field(
None, description='Name of the product'
)
physical_port_speed: Optional[conint(ge=0)] = Field(
None,
description='If the service is dependent on the speed of\nthe physical port this field denotes the speed.',
)
provider_vlans: Optional[ProviderVlans] = Field(
None, description='The `NetworkService` provides `single` or `multi`ple vlans.'
)
resource_type: Optional[ResourceType] = Field(
None,
description='The resource type refers to an ix-api resource.\n',
examples=['network_service'],
)
service_metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea`. The service is delivered\nin this metro area.\n',
examples=['met:213913485:LON'],
)
service_metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork`.\nThe service is directly provided on the metro area network.\n',
examples=['9123843'],
)
service_provider: Optional[str] = Field(
None,
description='The name of the provider providing the service.\n',
examples=['AWS'],
)
service_provider_pop: Optional[constr(max_length=16)] = Field(
None,
description='The datacenter description of the partner NNI to the\nservice provider.\n',
examples=['INX6'],
)
service_provider_region: Optional[str] = Field(
None,
description='The service provider offers the network service for a\nspecific region.\n',
examples=['eu-central-1'],
)
service_provider_workflow: Optional[ServiceProviderWorkflow] = Field(
None,
description='When the workflow is `provider_first` the subscriber creates\na circuit with the cloud provider and provides a `cloud_key` for filtering\nthe product-offerings.\n\nIf the workflow is `exchange_first` the IX will create\nthe cloud circuit on the provider side.\n',
examples=['exchange_first'],
)
type: Literal['cloud_vc'] = Field(..., examples=['cloud_vc'])
upgrade_allowed: Optional[bool] = Field(
None,
description='Indicates if the service can be migrated to\na higher bandwidth.',
)
class CloudNetworkServiceRequestPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. When null,\nthe maximum capacity will be used.',
)
cloud_key: Optional[str] = None
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
product_offering: Optional[str] = None
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
type: Literal['cloud_vc'] = Field(..., examples=['cloud_vc'])
class LacpTimeout(Enum):
slow = 'slow'
fast = 'fast'
class Mode(Enum):
lag_lacp = 'lag_lacp'
lag_static = 'lag_static'
flex_ethernet = 'flex_ethernet'
standalone = 'standalone'
class OuterVlanEthertype(Enum):
field_0x8100 = '0x8100'
field_0x88a8 = '0x88a8'
field_0x9100 = '0x9100'
class VlanType(Enum):
port = 'port'
dot1q = 'dot1q'
qinq = 'qinq'
class ConnectionRequestPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
lacp_timeout: Optional[LacpTimeout] = Field(
None,
description='This sets the LACP Timeout mode. Both ends of the connections need\nto be configured the same.\n',
examples=['slow'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
mode: Optional[Mode] = Field(
None,
description='Sets the mode of the connection. The mode can be:\n\n- `lag_lacp`: connection is build as a LAG with LACP enabled\n- `lag_static`: connection is build as LAG with static configuration\n- `flex_ethernet`: connect is build as a FlexEthernet channel\n- `standalone`: only one port is allowed in this connection without\nany bundling.\n',
examples=['lag_lacp'],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
speed: Optional[conint(ge=0)] = Field(
None,
description='Shows the total bandwidth of the connection in Mbit/s.\n',
examples=[20000],
)
class ConnectionUpdatePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
lacp_timeout: Optional[LacpTimeout] = Field(
None,
description='This sets the LACP Timeout mode. Both ends of the connections need\nto be configured the same.\n',
examples=['slow'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
mode: Optional[Mode] = Field(
None,
description='Sets the mode of the connection. The mode can be:\n\n- `lag_lacp`: connection is build as a LAG with LACP enabled\n- `lag_static`: connection is build as LAG with static configuration\n- `flex_ethernet`: connect is build as a FlexEthernet channel\n- `standalone`: only one port is allowed in this connection without\nany bundling.\n',
examples=['lag_lacp'],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
speed: Optional[conint(ge=0)] = Field(
None,
description='Shows the total bandwidth of the connection in Mbit/s.\n',
examples=[20000],
)
class ConsumablePartial(BaseModel):
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
class ContactPartial(BaseModel):
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
email: Optional[constr(max_length=80)] = Field(
None,
description='The email of the legal company entity.\n',
examples=['info@moon-peer.net'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[str] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
name: Optional[constr(max_length=128)] = Field(
None,
description='A name of a person or an organisation',
examples=['Some A. Name'],
)
telephone: Optional[constr(max_length=40)] = Field(
None,
description='The telephone number in E.164 Phone Number Formatting',
examples=['+442071838750'],
)
class ContactRequestPartial(BaseModel):
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
email: Optional[constr(max_length=80)] = Field(
None,
description='The email of the legal company entity.\n',
examples=['info@moon-peer.net'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
name: Optional[constr(max_length=128)] = Field(
None,
description='A name of a person or an organisation',
examples=['Some A. Name'],
)
telephone: Optional[constr(max_length=40)] = Field(
None,
description='The telephone number in E.164 Phone Number Formatting',
examples=['+442071838750'],
)
class ContactUpdatePartial(BaseModel):
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
email: Optional[constr(max_length=80)] = Field(
None,
description='The email of the legal company entity.\n',
examples=['info@moon-peer.net'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
name: Optional[constr(max_length=128)] = Field(
None,
description='A name of a person or an organisation',
examples=['Some A. Name'],
)
telephone: Optional[constr(max_length=40)] = Field(
None,
description='The telephone number in E.164 Phone Number Formatting',
examples=['+442071838750'],
)
class ContactablePartial(BaseModel):
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
class DenyMemberJoiningRulePartial(BaseModel):
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account to which access to the\nnetwork service should be granted or denied.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[str] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_service: Optional[str] = None
type: Literal['deny'] = Field(..., examples=['deny'])
class DenyMemberJoiningRuleRequestPartial(BaseModel):
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account to which access to the\nnetwork service should be granted or denied.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_service: Optional[str] = None
type: Literal['deny'] = Field(..., examples=['deny'])
class DenyMemberJoiningRuleUpdatePartial(BaseModel):
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account to which access to the\nnetwork service should be granted or denied.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
type: Literal['deny'] = Field(..., examples=['deny'])
class DeviceCapabilityPartial(BaseModel):
availability: Optional[conint(ge=0, le=2147483647)] = Field(
None, description='Count of available ports on device\n', examples=[23]
)
max_lag: Optional[conint(ge=0, le=32767)] = Field(
None,
description='Maximum count of ports which can be bundled to a max_lag',
examples=[8],
)
media_type: Optional[constr(max_length=20)] = Field(
None,
description='The media type of the port (e.g. 1000BASE-LX, 10GBASE-LR, ...)\n',
examples=['1000BASE-LX'],
)
speed: Optional[int] = Field(
None, description='Speed of port in Mbit/s\n', examples=[1000]
)
class DeviceConnectionPartial(BaseModel):
capacity_max: Optional[conint(ge=0, le=2147483647)] = None
connected_device: Optional[str] = None
device: Optional[str] = None
id: Optional[constr(max_length=80)] = None
class EventPartial(BaseModel):
account: Optional[str] = None
payload: Optional[Dict[str, Any]] = None
serial: Optional[int] = None
timestamp: Optional[datetime] = None
type: Optional[str] = None
class ExchangeLanNetworkProductOfferingPartial(BaseModel):
bandwidth_max: Optional[conint(ge=0)] = Field(
None,
description='When not `null`, this value enforces a mandatory\nrate limit for all network service configs.',
)
bandwidth_min: Optional[conint(ge=0)] = Field(
None,
description='When configuring access to the network service, at least\nthis `capacity` must be provided.',
)
display_name: Optional[constr(max_length=256)] = None
downgrade_allowed: Optional[bool] = Field(
None,
description='Indicates if the service can be migrated to\na lower bandwidth.',
)
exchange_lan_network_service: Optional[str] = Field(
None, description='The id of the exchange lan network service.'
)
handover_metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea`. The network service will be\naccessed from this metro area.\n',
examples=['met:29381993:NYC'],
)
handover_metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork`. The service will be accessed\nthrough the handover metro area network.\n',
examples=['191239810'],
)
id: Optional[constr(max_length=80)] = None
name: Optional[constr(max_length=160)] = Field(
None, description='Name of the product'
)
physical_port_speed: Optional[conint(ge=0)] = Field(
None,
description='If the service is dependent on the speed of\nthe physical port this field denotes the speed.',
)
provider_vlans: Optional[ProviderVlans] = Field(
None, description='The `NetworkService` provides `single` or `multi`ple vlans.'
)
resource_type: Optional[ResourceType] = Field(
None,
description='The resource type refers to an ix-api resource.\n',
examples=['network_service'],
)
service_metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea`. The service is delivered\nin this metro area.\n',
examples=['met:213913485:LON'],
)
service_metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork`.\nThe service is directly provided on the metro area network.\n',
examples=['9123843'],
)
service_provider: Optional[str] = Field(
None,
description='The name of the provider providing the service.\n',
examples=['AWS'],
)
type: Literal['exchange_lan'] = Field(..., examples=['exchange_lan'])
upgrade_allowed: Optional[bool] = Field(
None,
description='Indicates if the service can be migrated to\na higher bandwidth.',
)
class ExternalReferencePartial(BaseModel):
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
class FacilityPartial(BaseModel):
address_country: Optional[constr(max_length=2)] = Field(
None,
description='ISO 3166-1 alpha-2 country code, for example DE\n',
examples=['US'],
)
address_locality: Optional[constr(max_length=80)] = Field(
None,
description='The locality/city. For example, Mountain View.',
examples=['Mountain View'],
)
address_region: Optional[constr(max_length=80)] = Field(
None, description='The region. For example, CA', examples=['CA']
)
id: Optional[constr(max_length=80)] = None
metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea` the DC is located in.\n',
examples=['met:93214980:BER'],
)
name: Optional[constr(max_length=80)] = Field(
None,
description='Name of the Datacenter as called by the operator\n',
examples=['Crater DC Moon 1'],
)
organisation_name: Optional[constr(max_length=80)] = Field(
None, description='Name of Datacenter operator\n', examples=['Moon Datacenters']
)
peeringdb_facility_id: Optional[conint(ge=0, le=2147483647)] = Field(
None,
description='[PeeringDB](https://www.peeringdb.com) facitlity ID,\ncan be extracted from the url https://www.peeringdb.com/fac/$id\n',
examples=[103],
)
pops: Optional[List[str]] = Field(
None, description='List of pops in the `Facility`.'
)
postal_code: Optional[constr(max_length=18)] = Field(
None, description='A postal code. For example, 9404', examples=['9409']
)
street_address: Optional[constr(max_length=80)] = Field(
None,
description='The street address. For example, 1600 Amphitheatre Pkwy.',
examples=['1600 Amphitheatre Pkwy.'],
)
class Status1(Enum):
pass_ = 'pass'
fail = 'fail'
warn = 'warn'
class HealthResponsePartial(BaseModel):
checks: Optional[Dict[str, Dict[str, str]]] = Field(
None,
description='The "checks" object MAY have a number of unique keys,\none for each logical downstream dependency or sub-component.\n\nSince each sub-component may be backed by several nodes\nwith varying health statuses, these keys point to arrays\nof objects. In case of a single-node sub-component\n(or if presence of nodes is not relevant), a single-element\narray SHOULD be used as the value, for consistency.\n\nPlease see\nhttps://tools.ietf.org/id/draft-inadarei-api-health-check-04.html#the-checks-object\nfor details.',
)
description: Optional[str] = Field(
None, description='A human-friendly description of the service.'
)
links: Optional[Dict[str, str]] = Field(
None,
description='Is an object containing link relations and URIs [RFC3986]\nfor external links that MAY contain more information about\nthe health of the endpoint.',
)
notes: Optional[List[str]] = Field(
None, description='Array of notes relevant to current state of health.'
)
output: Optional[str] = Field(
None, description='Raw error output, in case of "fail" or "warn" states.'
)
releaseId: Optional[str] = Field(
None,
description='Release version of the api implementation.\n',
examples=['1.23.0'],
)
serviceId: Optional[str] = Field(
None,
description='A unique identifier of the service, in the application scope.',
)
status: Optional[Status1] = Field(
None,
description='status indicates whether the service status is\nacceptable or not.',
)
version: Optional[str] = Field(
None, description='Public version of the service.\n', examples=['1']
)
class IXPSpecificFeatureFlagPartial(BaseModel):
description: Optional[constr(max_length=80)] = Field(
None,
description='The description of the feature flag.\n',
examples=['RPKI reject invalid filtering is available'],
)
name: Optional[constr(max_length=20)] = Field(
None, description='The name of the feature flag.\n', examples=['RPKI']
)
class ImplementationResponsePartial(BaseModel):
schema_version: Optional[str] = Field(
None,
description='Version of the implemented IX-API schema.\n',
examples=['2.0.0'],
)
service_version: Optional[str] = Field(
None, description='Version of the API service.\n', examples=['1.23.0']
)
supported_network_feature_config_types: Optional[List[str]] = Field(
None,
description='Array of supported network feature config types.\n',
examples=[['route_server']],
)
supported_network_feature_types: Optional[List[str]] = Field(
None,
description='Array of supported network feature types.\n',
examples=[['route_server']],
)
supported_network_service_config_types: Optional[List[str]] = Field(
None,
description='Array of supported network service config types.\n',
examples=[['exchange_lan', 'p2p_vc', 'cloud_vc']],
)
supported_network_service_types: Optional[List[str]] = Field(
None,
description='Array of network service types, supported by the IX.\n',
examples=[['exchange_lan', 'p2p_vc', 'cloud_vc']],
)
supported_operations: Optional[List[str]] = Field(
None,
description='Array of implemented operations of the ix-api schema.\n',
examples=[
['connections_list', 'connections_read', 'network_service_configs_create']
],
)
class InvoiceablePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
class IpAddressPartial(BaseModel):
address: Optional[str] = Field(
None,
description='IPv4 or IPv6 Address in the following format:\n- IPv4: [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation)\n- IPv6: hexadecimal colon separated notation\n',
examples=['23.142.52.0'],
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
fqdn: Optional[constr(max_length=100)] = None
id: Optional[constr(max_length=80)] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
prefix_length: Optional[conint(ge=0, le=128)] = Field(
None, description='The CIDR ip prefix length\n', examples=[23]
)
valid_not_after: Optional[datetime] = None
valid_not_before: Optional[datetime] = None
version: Optional[int] = Field(
None, description='The version of the internet protocol.\n', examples=[4]
)
class IpAddressRequestPartial(BaseModel):
address: Optional[str] = Field(
None,
description='IPv4 or IPv6 Address in the following format:\n- IPv4: [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation)\n- IPv6: hexadecimal colon separated notation\n',
examples=['23.142.52.0'],
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
fqdn: Optional[constr(max_length=100)] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
prefix_length: Optional[conint(ge=0, le=128)] = Field(
None, description='The CIDR ip prefix length\n', examples=[23]
)
valid_not_after: Optional[datetime] = None
valid_not_before: Optional[datetime] = None
version: Optional[int] = Field(
None, description='The version of the internet protocol.\n', examples=[4]
)
class IpAddressUpdatePartial(BaseModel):
address: Optional[str] = Field(
None,
description='IPv4 or IPv6 Address in the following format:\n- IPv4: [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation)\n- IPv6: hexadecimal colon separated notation\n',
examples=['23.142.52.0'],
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
fqdn: Optional[constr(max_length=100)] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
prefix_length: Optional[conint(ge=0, le=128)] = Field(
None, description='The CIDR ip prefix length\n', examples=[23]
)
valid_not_after: Optional[datetime] = None
valid_not_before: Optional[datetime] = None
version: Optional[int] = Field(
None, description='The version of the internet protocol.\n', examples=[4]
)
class MP2MPNetworkProductOfferingPartial(BaseModel):
bandwidth_max: Optional[conint(ge=0)] = Field(
None,
description='When not `null`, this value enforces a mandatory\nrate limit for all network service configs.',
)
bandwidth_min: Optional[conint(ge=0)] = Field(
None,
description='When configuring access to the network service, at least\nthis `capacity` must be provided.',
)
display_name: Optional[constr(max_length=256)] = None
downgrade_allowed: Optional[bool] = Field(
None,
description='Indicates if the service can be migrated to\na lower bandwidth.',
)
handover_metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea`. The network service will be\naccessed from this metro area.\n',
examples=['met:29381993:NYC'],
)
handover_metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork`. The service will be accessed\nthrough the handover metro area network.\n',
examples=['191239810'],
)
id: Optional[constr(max_length=80)] = None
name: Optional[constr(max_length=160)] = Field(
None, description='Name of the product'
)
physical_port_speed: Optional[conint(ge=0)] = Field(
None,
description='If the service is dependent on the speed of\nthe physical port this field denotes the speed.',
)
provider_vlans: Optional[ProviderVlans] = Field(
None, description='The `NetworkService` provides `single` or `multi`ple vlans.'
)
resource_type: Optional[ResourceType] = Field(
None,
description='The resource type refers to an ix-api resource.\n',
examples=['network_service'],
)
service_metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea`. The service is delivered\nin this metro area.\n',
examples=['met:213913485:LON'],
)
service_metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork`.\nThe service is directly provided on the metro area network.\n',
examples=['9123843'],
)
service_provider: Optional[str] = Field(
None,
description='The name of the provider providing the service.\n',
examples=['AWS'],
)
type: Literal['mp2mp_vc'] = Field(..., examples=['mp2mp_vc'])
upgrade_allowed: Optional[bool] = Field(
None,
description='Indicates if the service can be migrated to\na higher bandwidth.',
)
class MP2MPNetworkServiceRequestPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
name: Optional[constr(max_length=40)] = Field(
None, description='Name of the multi-point to multi-point\nvirtual circuit.'
)
product_offering: Optional[str] = None
public: Optional[bool] = Field(
False,
description='A public mp2mp network service can be joined\nby everyone on the exchange unless denied by\na member-joining-rule.\n\nPublic network services are visible to other\nmembers of the IXP, however only `name`, `type`,\n`product_offering`, `consuming_account` and\n`managing_account` are made available.\n\nOther required fields are redacted.',
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
type: Literal['mp2mp_vc'] = Field(..., examples=['mp2mp_vc'])
class MacAddressPartial(BaseModel):
address: Optional[str] = Field(
None,
description='Unicast MAC address, formatted hexadecimal values with colons.\n',
examples=['42:23:bc:8e:b8:b0'],
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[constr(max_length=80)] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
valid_not_after: Optional[datetime] = None
valid_not_before: Optional[datetime] = None
class MacAddressRequestPartial(BaseModel):
address: Optional[str] = Field(
None,
description='Unicast MAC address, formatted hexadecimal values with colons.\n',
examples=['42:23:bc:8e:b8:b0'],
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
valid_not_after: Optional[datetime] = None
valid_not_before: Optional[datetime] = None
class ManageablePartial(BaseModel):
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
class MemberJoiningRulePartial(
RootModel[Union[AllowMemberJoiningRulePartial, DenyMemberJoiningRulePartial]]
):
root: Union[AllowMemberJoiningRulePartial, DenyMemberJoiningRulePartial] = Field(
...,
description='Polymorphic Member Joining Rule',
discriminator='type',
title='MemberJoiningRule (partial)',
)
class MemberJoiningRuleRequestPartial(
RootModel[
Union[AllowMemberJoiningRuleRequestPartial, DenyMemberJoiningRuleRequestPartial]
]
):
root: Union[
AllowMemberJoiningRuleRequestPartial, DenyMemberJoiningRuleRequestPartial
] = Field(
...,
description='Polymorphic Member Joining Rule Request',
discriminator='type',
title='MemberJoiningRuleRequest (partial)',
)
class MemberJoiningRuleUpdatePartial(
RootModel[
Union[AllowMemberJoiningRuleUpdatePartial, DenyMemberJoiningRuleUpdatePartial]
]
):
root: Union[
AllowMemberJoiningRuleUpdatePartial, DenyMemberJoiningRuleUpdatePartial
] = Field(
...,
description='Polymorphic Member Joining Rule Update',
discriminator='type',
title='MemberJoiningRuleUpdate (partial)',
)
class MetroAreaNetworkPartial(BaseModel):
id: Optional[constr(max_length=80)] = None
metro_area: Optional[str] = Field(
None, description='The id of the metro area.\n', examples=['met:199399:FRA']
)
name: Optional[constr(max_length=32)] = Field(
None,
description='The name of the metro area network.\n',
examples=['MY-IX-FRA1'],
)
pops: Optional[List[str]] = Field(
None, description='List of pops in the metro area network.'
)
service_provider: Optional[constr(max_length=128)] = Field(
None,
description='The service provider is operating the network.\nUsually the exchange.\n',
examples=['MY-IX'],
)
class MetroAreaPartial(BaseModel):
display_name: Optional[constr(max_length=64)] = Field(
None,
description='The name of the metro area. Likely the same as the IATA code.\n',
examples=['FRA'],
)
facilities: Optional[List[str]] = Field(
None, description='List of facilities the metro area network.'
)
iata_code: Optional[constr(max_length=3)] = Field(
None,
description='The three letter IATA airport code for identiying the\nmetro area.\n',
examples=['FRA'],
)
id: Optional[constr(max_length=80)] = None
metro_area_networks: Optional[List[str]] = Field(
None, description='List of networks in the metro area.'
)
un_locode: Optional[constr(max_length=6)] = Field(
None,
description='The UN/LOCODE for identifying the metro area.\n',
examples=['DE FRA'],
)
class NetworkServiceChangeRequestPartial(BaseModel):
capacity: Optional[conint(ge=1)] = Field(
None,
description='The desired capacity of the service in Mbps.\n\nMust be within the range of `bandwidth_min` and\n`bandwidth_max` of the `ProductOffering`.\n\nWhen `null` the maximum capacity wil be used.',
)
product_offering: Optional[str] = Field(
None,
description='Migrate to a diffrent product offering. Please note, that\nthe offering only may differ in bandwidth.',
)
class OwnablePartial(BaseModel):
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
class P2MPNetworkProductOfferingPartial(BaseModel):
bandwidth_max: Optional[conint(ge=0)] = Field(
None,
description='When not `null`, this value enforces a mandatory\nrate limit for all network service configs.',
)
bandwidth_min: Optional[conint(ge=0)] = Field(
None,
description='When configuring access to the network service, at least\nthis `capacity` must be provided.',
)
display_name: Optional[constr(max_length=256)] = None
downgrade_allowed: Optional[bool] = Field(
None,
description='Indicates if the service can be migrated to\na lower bandwidth.',
)
handover_metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea`. The network service will be\naccessed from this metro area.\n',
examples=['met:29381993:NYC'],
)
handover_metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork`. The service will be accessed\nthrough the handover metro area network.\n',
examples=['191239810'],
)
id: Optional[constr(max_length=80)] = None
name: Optional[constr(max_length=160)] = Field(
None, description='Name of the product'
)
physical_port_speed: Optional[conint(ge=0)] = Field(
None,
description='If the service is dependent on the speed of\nthe physical port this field denotes the speed.',
)
provider_vlans: Optional[ProviderVlans] = Field(
None, description='The `NetworkService` provides `single` or `multi`ple vlans.'
)
resource_type: Optional[ResourceType] = Field(
None,
description='The resource type refers to an ix-api resource.\n',
examples=['network_service'],
)
service_metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea`. The service is delivered\nin this metro area.\n',
examples=['met:213913485:LON'],
)
service_metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork`.\nThe service is directly provided on the metro area network.\n',
examples=['9123843'],
)
service_provider: Optional[str] = Field(
None,
description='The name of the provider providing the service.\n',
examples=['AWS'],
)
type: Literal['p2mp_vc'] = Field(..., examples=['p2mp_vc'])
upgrade_allowed: Optional[bool] = Field(
None,
description='Indicates if the service can be migrated to\na higher bandwidth.',
)
class Role(Enum):
root = 'root'
leaf = 'leaf'
class P2MPNetworkServiceRequestPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
name: Optional[constr(max_length=40)] = Field(
None, description='Name of the point to multi-point virtual circuit.'
)
product_offering: Optional[str] = None
public: Optional[bool] = Field(
False,
description='A public p2mp network service can be joined\nby everyone on the exchange unless denied by\na member-joining-rule.\n\nPublic network services are visible to other\nmembers of the IXP, however only `name`, `type`,\n`product_offering`, `consuming_account` and\n`managing_account` are made\navailable.\n\nOther required fields are redacted.',
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
type: Literal['p2mp_vc'] = Field(..., examples=['p2mp_vc'])
class P2PNetworkProductOfferingPartial(BaseModel):
bandwidth_max: Optional[conint(ge=0)] = Field(
None,
description='When not `null`, this value enforces a mandatory\nrate limit for all network service configs.',
)
bandwidth_min: Optional[conint(ge=0)] = Field(
None,
description='When configuring access to the network service, at least\nthis `capacity` must be provided.',
)
display_name: Optional[constr(max_length=256)] = None
downgrade_allowed: Optional[bool] = Field(
None,
description='Indicates if the service can be migrated to\na lower bandwidth.',
)
handover_metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea`. The network service will be\naccessed from this metro area.\n',
examples=['met:29381993:NYC'],
)
handover_metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork`. The service will be accessed\nthrough the handover metro area network.\n',
examples=['191239810'],
)
id: Optional[constr(max_length=80)] = None
name: Optional[constr(max_length=160)] = Field(
None, description='Name of the product'
)
physical_port_speed: Optional[conint(ge=0)] = Field(
None,
description='If the service is dependent on the speed of\nthe physical port this field denotes the speed.',
)
provider_vlans: Optional[ProviderVlans] = Field(
None, description='The `NetworkService` provides `single` or `multi`ple vlans.'
)
resource_type: Optional[ResourceType] = Field(
None,
description='The resource type refers to an ix-api resource.\n',
examples=['network_service'],
)
service_metro_area: Optional[str] = Field(
None,
description='Id of the `MetroArea`. The service is delivered\nin this metro area.\n',
examples=['met:213913485:LON'],
)
service_metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork`.\nThe service is directly provided on the metro area network.\n',
examples=['9123843'],
)
service_provider: Optional[str] = Field(
None,
description='The name of the provider providing the service.\n',
examples=['AWS'],
)
type: Literal['p2p_vc'] = Field(..., examples=['p2p_vc'])
upgrade_allowed: Optional[bool] = Field(
None,
description='Indicates if the service can be migrated to\na higher bandwidth.',
)
class P2PNetworkServiceRequestPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
joining_member_account: Optional[str] = Field(
None,
description='The account of the B-side member joining the virtual circuit.\n',
examples=['231829'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
product_offering: Optional[str] = None
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
type: Literal['p2p_vc'] = Field(..., examples=['p2p_vc'])
class PointOfPresencePartial(BaseModel):
devices: Optional[List[str]] = None
facility: Optional[str] = None
id: Optional[constr(max_length=80)] = None
metro_area_network: Optional[str] = None
name: Optional[constr(max_length=40)] = None
class PortRequestPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
connection: Optional[str] = None
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
media_type: Optional[constr(max_length=20)] = Field(
None,
description="The media type of the interface.\nSee the device's capabilities to see what types\nare available.\n",
examples=['10GBASE-LR'],
)
pop: Optional[str] = Field(
None, description='Same as the `pop` of the `device`.\n', examples=['pop:2913']
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
speed: Optional[conint(ge=0)] = None
class PortUpdatePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
connection: Optional[str] = None
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
speed: Optional[conint(ge=0)] = None
class ProblemResponsePartial(BaseModel):
detail: Optional[str] = Field(
None,
description='A human-readable explanation specific to this\noccurrence of the problem.',
)
instance: Optional[str] = Field(
None,
description='A URI reference that identifies the specific\noccurrence of the problem. It may or may not yield\nfurther information if dereferenced.',
)
status: Optional[conint(ge=100)] = Field(
None,
description='The HTTP status code ([RFC7231], Section 6)\ngenerated by the origin server for this occurrence\nof the problem.',
)
title: Optional[str] = Field(
None,
description='A short, human-readable summary of the problem type.\n\nIt SHOULD NOT change from occurrence to\noccurrence of the problem, except for purposes\nof localization (e.g., using proactive content\nnegotiation; see [RFC7231], Section 3.4).\n',
examples=['Some fields have validation errors.'],
)
type: Optional[str] = Field(
None,
description='A URI reference (see RFC3986) that identifies the\nproblem type.\n\nThis specification encourages that, when\ndereferenced, it provide human-readable documentation\nfor the problem type (e.g., using HTML\n[W3C.REC-html5-20141028]).\n\nWhen this member is not present, its value is assumed\nto be "about:blank".\n',
examples=['about:blank'],
)
class ProductOfferingPartial(
RootModel[
Union[
ExchangeLanNetworkProductOfferingPartial,
P2PNetworkProductOfferingPartial,
MP2MPNetworkProductOfferingPartial,
P2MPNetworkProductOfferingPartial,
CloudNetworkProductOfferingPartial,
]
]
):
root: Union[
ExchangeLanNetworkProductOfferingPartial,
P2PNetworkProductOfferingPartial,
MP2MPNetworkProductOfferingPartial,
P2MPNetworkProductOfferingPartial,
CloudNetworkProductOfferingPartial,
] = Field(
...,
description='Polymorphic Product Offering',
discriminator='type',
title='ProductOffering (partial)',
)
class RateLimitedNetworkServiceConfigPartial(BaseModel):
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
class RefreshTokenRequestPartial(BaseModel):
refresh_token: Optional[str] = None
class RoleAssignmentPartial(BaseModel):
contact: Optional[str] = Field(
None,
description='The `id` of a contact the role is assigned to.\n',
examples=['contact:42b'],
)
id: Optional[str] = None
role: Optional[str] = Field(
None,
description='The `id` of a role the contact is assigned to.\n',
examples=['role:23'],
)
class RoleAssignmentRequestPartial(BaseModel):
contact: Optional[str] = Field(
None,
description='The `id` of a contact the role is assigned to.\n',
examples=['contact:42b'],
)
role: Optional[str] = Field(
None,
description='The `id` of a role the contact is assigned to.\n',
examples=['role:23'],
)
class RoleAssignmentUpdatePartial(BaseModel):
contact: Optional[str] = Field(
None,
description='The `id` of a contact the role is assigned to.\n',
examples=['contact:42b'],
)
role: Optional[str] = Field(
None,
description='The `id` of a role the contact is assigned to.\n',
examples=['role:23'],
)
class RolePartial(BaseModel):
id: Optional[str] = None
name: Optional[constr(max_length=80)] = Field(
None, description='The name of the role.\n', examples=['noc']
)
required_fields: Optional[List[constr(max_length=80)]] = Field(
None,
description='A list of required field names.\n',
examples=[['name', 'email']],
)
class RoleRequestPartial(BaseModel):
name: Optional[constr(max_length=80)] = Field(
None, description='The name of the role.\n', examples=['noc']
)
required_fields: Optional[List[constr(max_length=80)]] = Field(
None,
description='A list of required field names.\n',
examples=[['name', 'email']],
)
class RoleUpdatePartial(BaseModel):
name: Optional[constr(max_length=80)] = Field(
None, description='The name of the role.\n', examples=['noc']
)
required_fields: Optional[List[constr(max_length=80)]] = Field(
None,
description='A list of required field names.\n',
examples=[['name', 'email']],
)
class BgpSessionType(Enum):
active = 'active'
passive = 'passive'
class SessionMode(Enum):
public = 'public'
collector = 'collector'
class RouteServerNetworkFeatureConfigRequestPartial(BaseModel):
as_set_v4: Optional[constr(max_length=100)] = Field(
None,
description='AS-SET of the customer for IPv4 prefix filtering.\nThis is used to generate filters on the router servers.\n\nOnly valid referenced prefixes within the AS-SET\nare allowed inbound to the route server. All other routes are\nfiltered.\n\nThis field is *required* if the route server network feature only\nsupports the `af_inet` address family.\nIf multiple address families are supported, it is optional if the\n`as_set_v6` is provided.\n\nImportant: The format has to be: "AS-SET@IRR". IRR is the database\nwhere the AS-SET is registred. Typically used IRR\'s are RADB, RIPE,\nNTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC\n',
examples=['MOON-AS@RIPE'],
)
as_set_v6: Optional[constr(max_length=100)] = Field(
None,
description='AS-SET of the customer for IPv6. This is used to generate filters\non the router servers. Only valid referenced prefixes within\nthe AS-SET are allowed inbound to the route server.\nAll other routes are filtered.\n\nThis field is *required* if the route server network feature only\nsupports the `af_inet6` address family.\nIf multiple address families are supported, it is optional if the\n`as_set_v4` is provided.\n\nImportant: The format has to be: "AS-SET@IRR". IRR is the database\nwhere the AS-SET is registred. Typically used IRR\'s are RADB, RIPE,\nNTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC\n',
examples=['MOON-AS@RIPE'],
)
asn: Optional[conint(ge=0, le=4294967295)] = Field(
None, description='The ASN of the peer.\n', examples=[4200000023]
)
bgp_session_type: Optional[BgpSessionType] = Field(
None,
description='The session type describes which of the both parties will open the\nconnection. If set to passive, the customer router needs to open\nthe connection. If its set to active, the route server will open\nthe connection. The standard behavior on most exchanges is passive.\n',
examples=['passive'],
)
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
insert_ixp_asn: Optional[bool] = Field(
True,
description='Insert the ASN of the exchange into the AS path. This function is only\nused in special cases. In 99% of all cases, it should be false.\n',
)
ip: Optional[str] = Field(
None,
description='The BGP session will be established from this IP address.\nOnly IPs assigned to the corresponding network service\nconfig can be used.',
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
max_prefix_v4: Optional[conint(ge=0)] = Field(
None,
description='Announcing more than `max_prefix` IPv4 prefixes the bgp\nsession will be droped.\n',
examples=[5000],
)
max_prefix_v6: Optional[conint(ge=0)] = Field(
None,
description='Announcing more than `max_prefix` IPv6 prefixes the bgp\nsession will be droped.\n',
examples=[5000],
)
network_feature: Optional[str] = None
network_service_config: Optional[str] = None
password: Optional[constr(max_length=128)] = Field(
'',
description='The cleartext BGP session password',
examples=['bgp-session-test-23'],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
session_mode: Optional[SessionMode] = Field(
None,
description='Set the session mode with the routeserver.\n',
examples=['public'],
)
type: str = Field(..., examples=['route_server'])
class RouteServerNetworkFeatureConfigUpdatePartial(BaseModel):
as_set_v4: Optional[constr(max_length=100)] = Field(
None,
description='AS-SET of the customer for IPv4 prefix filtering.\nThis is used to generate filters on the router servers.\n\nOnly valid referenced prefixes within the AS-SET\nare allowed inbound to the route server. All other routes are\nfiltered.\n\nThis field is *required* if the route server network feature only\nsupports the `af_inet` address family.\nIf multiple address families are supported, it is optional if the\n`as_set_v6` is provided.\n\nImportant: The format has to be: "AS-SET@IRR". IRR is the database\nwhere the AS-SET is registred. Typically used IRR\'s are RADB, RIPE,\nNTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC\n',
examples=['MOON-AS@RIPE'],
)
as_set_v6: Optional[constr(max_length=100)] = Field(
None,
description='AS-SET of the customer for IPv6. This is used to generate filters\non the router servers. Only valid referenced prefixes within\nthe AS-SET are allowed inbound to the route server.\nAll other routes are filtered.\n\nThis field is *required* if the route server network feature only\nsupports the `af_inet6` address family.\nIf multiple address families are supported, it is optional if the\n`as_set_v4` is provided.\n\nImportant: The format has to be: "AS-SET@IRR". IRR is the database\nwhere the AS-SET is registred. Typically used IRR\'s are RADB, RIPE,\nNTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC\n',
examples=['MOON-AS@RIPE'],
)
asn: Optional[conint(ge=0, le=4294967295)] = Field(
None, description='The ASN of the peer.\n', examples=[4200000023]
)
bgp_session_type: Optional[BgpSessionType] = Field(
None,
description='The session type describes which of the both parties will open the\nconnection. If set to passive, the customer router needs to open\nthe connection. If its set to active, the route server will open\nthe connection. The standard behavior on most exchanges is passive.\n',
examples=['passive'],
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
insert_ixp_asn: Optional[bool] = Field(
True,
description='Insert the ASN of the exchange into the AS path. This function is only\nused in special cases. In 99% of all cases, it should be false.\n',
)
ip: Optional[str] = Field(
None,
description='The BGP session will be established from this IP address.\nOnly IPs assigned to the corresponding network service\nconfig can be used.',
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
max_prefix_v4: Optional[conint(ge=0)] = Field(
None,
description='Announcing more than `max_prefix` IPv4 prefixes the bgp\nsession will be droped.\n',
examples=[5000],
)
max_prefix_v6: Optional[conint(ge=0)] = Field(
None,
description='Announcing more than `max_prefix` IPv6 prefixes the bgp\nsession will be droped.\n',
examples=[5000],
)
password: Optional[constr(max_length=128)] = Field(
'',
description='The cleartext BGP session password',
examples=['bgp-session-test-23'],
)
session_mode: Optional[SessionMode] = Field(
None,
description='Set the session mode with the routeserver.\n',
examples=['public'],
)
type: str = Field(..., examples=['route_server'])
class AddressFamily(Enum):
af_inet = 'af_inet'
af_inet6 = 'af_inet6'
class AvailableBgpSessionType(Enum):
active = 'active'
passive = 'passive'
class StatusPartial(BaseModel):
attrs: Optional[Dict[str, Any]] = None
message: Optional[str] = None
severity: Optional[conint(ge=0, le=7)] = Field(
None,
description='We are using syslog severity levels: 0 = Emergency,\n1 = Alert, 2 = Critical, 3 = Error, 4 = Warning,\n5 = Notice, 6 = Informational, 7 = Debug.\n',
examples=[2],
)
tag: Optional[str] = None
timestamp: Optional[datetime] = None
class VlanEthertype(Enum):
field_0x8100 = '0x8100'
field_0x88a8 = '0x88a8'
field_0x9100 = '0x9100'
class VLanConfigDot1QPartial(BaseModel):
vlan: Optional[conint(ge=1, le=4094)] = Field(
None, description='A VLAN tag\n', examples=[23]
)
vlan_ethertype: Optional[VlanEthertype] = Field(
'0x8100', description='The ethertype of the vlan in hexadecimal notation.'
)
vlan_type: Literal['dot1q'] = Field(..., examples=['dot1q'])
class VLanConfigPortPartial(BaseModel):
vlan_type: Literal['port'] = Field(..., examples=['port'])
class VLanConfigQinQPartial(BaseModel):
inner_vlan: Optional[conint(ge=1, le=4094)] = Field(
None, description='The inner VLAN id.\n', examples=[200]
)
outer_vlan: Optional[conint(ge=1, le=4094)] = Field(
None, description='The outer VLAN id.\n', examples=[200]
)
outer_vlan_ethertype: Optional[OuterVlanEthertype] = Field(
'0x8100', description='The ethertype of the outer tag in hexadecimal notation.'
)
vlan_type: Literal['qinq'] = Field(..., examples=['dot1q'])
class VlanConfigPartial(
RootModel[
Union[VLanConfigDot1QPartial, VLanConfigQinQPartial, VLanConfigPortPartial]
]
):
root: Union[
VLanConfigDot1QPartial, VLanConfigQinQPartial, VLanConfigPortPartial
] = Field(
...,
description='The vlan configuration defines how the service\nis made available on the connection.',
discriminator='vlan_type',
title='VlanConfig (partial)',
)
class Type(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type1(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type2(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Id(RootModel[List[str]]):
root: List[str] = Field(..., examples=['id1,id2,id3'])
class Type3(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type4(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type5(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type6(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type7(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type8(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type9(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type10(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type11(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type12(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type13(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type14(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type15(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type16(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type17(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type18(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type19(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type20(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type21(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
https___errors_ix_api_net_v2_not_authenticated_html = (
'https://errors.ix-api.net/v2/not-authenticated.html'
)
class Type22(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type23(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
https___errors_ix_api_net_v2_not_authenticated_html = (
'https://errors.ix-api.net/v2/not-authenticated.html'
)
class Type24(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type25(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type26(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type27(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type28(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type29(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type30(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type31(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type32(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type33(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type34(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type35(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type36(Enum):
https___errors_ix_api_net_v2_unable_to_fulfill_html = (
'https://errors.ix-api.net/v2/unable-to-fulfill.html'
)
class Type37(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type38(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type39(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type40(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type41(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type42(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type43(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type44(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type45(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type46(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type47(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type48(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type49(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type50(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type51(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type52(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type53(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type54(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type55(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type56(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type57(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type58(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type59(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type60(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type61(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type62(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type63(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type64(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type65(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type66(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type67(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type68(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type69(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type70(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type71(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type72(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type73(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type74(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type75(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type76(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type77(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type78(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type79(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type80(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type81(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type82(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type83(Enum):
https___errors_ix_api_net_v2_unable_to_fulfill_html = (
'https://errors.ix-api.net/v2/unable-to-fulfill.html'
)
class Type84(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type85(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type86(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type87(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type88(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type89(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type90(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type91(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type92(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type93(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type94(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type95(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type96(Enum):
https___errors_ix_api_net_v2_unable_to_fulfill_html = (
'https://errors.ix-api.net/v2/unable-to-fulfill.html'
)
class Type97(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type98(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type99(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type100(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type101(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type102(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type103(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type104(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type105(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type106(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type107(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type108(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type109(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type110(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type111(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type112(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type113(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type114(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type115(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type116(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type117(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type118(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type119(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type120(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type121(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type122(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type123(Enum):
route_server = 'route_server'
class Type124(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type125(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type126(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type127(Enum):
route_server = 'route_server'
class Type128(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type129(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type130(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type131(Enum):
https___errors_ix_api_net_v2_unable_to_fulfill_html = (
'https://errors.ix-api.net/v2/unable-to-fulfill.html'
)
class Type132(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type133(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type134(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type135(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type136(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type137(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type138(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type139(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type140(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type141(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type142(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type143(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type144(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type145(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type146(Enum):
route_server = 'route_server'
class Type147(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type148(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type149(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type150(Enum):
route_server = 'route_server'
class Type151(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type152(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type153(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type154(Enum):
exchange_lan = 'exchange_lan'
p2p_vc = 'p2p_vc'
p2mp_vc = 'p2mp_vc'
mp2mp_vc = 'mp2mp_vc'
cloud_vc = 'cloud_vc'
class Type155(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type156(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type157(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type158(Enum):
exchange_lan = 'exchange_lan'
p2p_vc = 'p2p_vc'
p2mp_vc = 'p2mp_vc'
mp2mp_vc = 'mp2mp_vc'
cloud_vc = 'cloud_vc'
class Type159(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type160(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type161(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type162(Enum):
https___errors_ix_api_net_v2_cancellation_policy_error_html = (
'https://errors.ix-api.net/v2/cancellation-policy-error.html'
)
https___errors_ix_api_net_v2_unable_to_fulfill_html = (
'https://errors.ix-api.net/v2/unable-to-fulfill.html'
)
class Type163(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type164(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type165(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type166(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type167(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type168(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type169(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type170(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type171(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type172(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type173(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type174(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type175(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type176(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type177(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type178(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type179(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type180(Enum):
exchange_lan = 'exchange_lan'
p2p_vc = 'p2p_vc'
p2mp_vc = 'p2mp_vc'
mp2mp_vc = 'mp2mp_vc'
cloud_vc = 'cloud_vc'
class Type181(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type182(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type183(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type184(Enum):
exchange_lan = 'exchange_lan'
p2p_vc = 'p2p_vc'
p2mp_vc = 'p2mp_vc'
mp2mp_vc = 'mp2mp_vc'
cloud_vc = 'cloud_vc'
class Type185(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type186(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type187(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type188(Enum):
https___errors_ix_api_net_v2_cancellation_policy_error_html = (
'https://errors.ix-api.net/v2/cancellation-policy-error.html'
)
https___errors_ix_api_net_v2_unable_to_fulfill_html = (
'https://errors.ix-api.net/v2/unable-to-fulfill.html'
)
class Type189(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type190(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type191(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type192(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type193(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type194(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type195(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type196(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type197(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type198(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type199(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type200(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type201(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type202(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type203(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type204(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type205(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type206(Enum):
https___errors_ix_api_net_v2_unable_to_fulfill_html = (
'https://errors.ix-api.net/v2/unable-to-fulfill.html'
)
class Type207(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type208(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type209(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type210(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type211(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type212(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type213(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type214(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type215(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type216(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type217(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type218(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type219(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type220(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type221(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type222(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type223(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type224(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type225(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type226(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type227(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type228(Enum):
exchange_lan = 'exchange_lan'
p2p_vc = 'p2p_vc'
mp2mp_vc = 'mp2mp_vc'
p2mp_vc = 'p2mp_vc'
cloud_vc = 'cloud_vc'
class DowngradeAllowed(Enum):
true = 'true'
true_1 = 'true'
class UpgradeAllowed(Enum):
true = 'true'
false = 'false'
class ProductOfferingsGetResponse(RootModel[List[ProductOfferingPartial]]):
root: List[ProductOfferingPartial]
class Type229(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type230(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type231(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type232(Enum):
exchange_lan = 'exchange_lan'
p2p_vc = 'p2p_vc'
mp2mp_vc = 'mp2mp_vc'
p2mp_vc = 'p2mp_vc'
cloud_vc = 'cloud_vc'
class Type233(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type234(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type235(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type236(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
class Type237(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type238(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type239(Enum):
https___errors_ix_api_net_v2_validation_error_html = (
'https://errors.ix-api.net/v2/validation-error.html'
)
https___errors_ix_api_net_v2_unable_to_fulfill_html = (
'https://errors.ix-api.net/v2/unable-to-fulfill.html'
)
class Type240(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type241(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type242(Enum):
https___errors_ix_api_net_v2_unable_to_fulfill_html = (
'https://errors.ix-api.net/v2/unable-to-fulfill.html'
)
class Type243(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type244(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type245(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type246(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
class Type247(Enum):
https___errors_ix_api_net_v2_permission_denied_html = (
'https://errors.ix-api.net/v2/permission-denied.html'
)
class Type248(Enum):
https___errors_ix_api_net_v2_not_found_html = (
'https://errors.ix-api.net/v2/not-found.html'
)
class Type249(Enum):
https___errors_ix_api_net_v2_authentication_error_html = (
'https://errors.ix-api.net/v2/authentication-error.html'
)
https___errors_ix_api_net_v2_signature_expired_html = (
'https://errors.ix-api.net/v2/signature-expired.html'
)
Address = AddressPartial
class AllowMemberJoiningRule(AllowMemberJoiningRulePartial):
type: Literal['allow']
class AllowMemberJoiningRuleRequest(AllowMemberJoiningRuleRequestPartial):
type: Literal['allow']
class AllowMemberJoiningRuleUpdate(AllowMemberJoiningRuleUpdatePartial):
type: Literal['allow']
AuthToken = AuthTokenPartial
AuthTokenRequest = AuthTokenRequestPartial
class BillingInformationPartial(BaseModel):
address: Optional[Address] = None
name: Optional[constr(max_length=80)] = Field(
None,
description='Name of the organisation receiving invoices.\n',
examples=['Moonoc Network Services LLS.'],
)
vat_number: Optional[constr(min_length=2, max_length=20)] = Field(
None,
description='Value-added tax number, required for\neuropean reverse charge system.\n',
examples=['UK2300000042'],
)
Cancelable = CancelablePartial
CancellationPolicy = CancellationPolicyPartial
CancellationRequest = CancellationRequestPartial
class CloudNetworkProductOffering(CloudNetworkProductOfferingPartial):
type: Literal['cloud_vc']
class CloudNetworkServiceRequest(CloudNetworkServiceRequestPartial):
type: Literal['cloud_vc']
ConnectionRequest = ConnectionRequestPartial
ConnectionUpdate = ConnectionUpdatePartial
Consumable = ConsumablePartial
Contact = ContactPartial
ContactRequest = ContactRequestPartial
ContactUpdate = ContactUpdatePartial
Contactable = ContactablePartial
class DenyMemberJoiningRule(DenyMemberJoiningRulePartial):
type: Literal['deny']
class DenyMemberJoiningRuleRequest(DenyMemberJoiningRuleRequestPartial):
type: Literal['deny']
class DenyMemberJoiningRuleUpdate(DenyMemberJoiningRuleUpdatePartial):
type: Literal['deny']
DeviceCapability = DeviceCapabilityPartial
DeviceConnection = DeviceConnectionPartial
class DevicePartial(BaseModel):
capabilities: Optional[List[DeviceCapability]] = None
facility: Optional[str] = Field(
None,
description='Identifier of the facility where the device\nis physically based.',
)
id: Optional[constr(max_length=80)] = None
name: Optional[constr(max_length=180)] = Field(
None, description='Name of the device\n', examples=['edge2.moon.space-ix.net']
)
pop: Optional[str] = Field(
None, description='The `PointOfPresence` the device is in.'
)
Event = EventPartial
class ExchangeLanNetworkProductOffering(ExchangeLanNetworkProductOfferingPartial):
type: Literal['exchange_lan']
ExternalReference = ExternalReferencePartial
Facility = FacilityPartial
HealthResponse = HealthResponsePartial
IXPSpecificFeatureFlag = IXPSpecificFeatureFlagPartial
ImplementationResponse = ImplementationResponsePartial
Invoiceable = InvoiceablePartial
IpAddress = IpAddressPartial
IpAddressRequest = IpAddressRequestPartial
IpAddressUpdate = IpAddressUpdatePartial
class MP2MPNetworkProductOffering(MP2MPNetworkProductOfferingPartial):
type: Literal['mp2mp_vc']
class MP2MPNetworkServiceRequest(MP2MPNetworkServiceRequestPartial):
type: Literal['mp2mp_vc']
MacAddress = MacAddressPartial
MacAddressRequest = MacAddressRequestPartial
Manageable = ManageablePartial
class MemberJoiningRule(
RootModel[Union[AllowMemberJoiningRule, DenyMemberJoiningRule]]
):
root: Union[AllowMemberJoiningRule, DenyMemberJoiningRule] = Field(
...,
description='Polymorphic Member Joining Rule',
discriminator='type',
title='MemberJoiningRule',
)
class MemberJoiningRuleRequest(
RootModel[Union[AllowMemberJoiningRuleRequest, DenyMemberJoiningRuleRequest]]
):
root: Union[AllowMemberJoiningRuleRequest, DenyMemberJoiningRuleRequest] = Field(
...,
description='Polymorphic Member Joining Rule Request',
discriminator='type',
title='MemberJoiningRuleRequest',
)
class MemberJoiningRuleUpdate(
RootModel[Union[AllowMemberJoiningRuleUpdate, DenyMemberJoiningRuleUpdate]]
):
root: Union[AllowMemberJoiningRuleUpdate, DenyMemberJoiningRuleUpdate] = Field(
...,
description='Polymorphic Member Joining Rule Update',
discriminator='type',
title='MemberJoiningRuleUpdate',
)
MetroArea = MetroAreaPartial
MetroAreaNetwork = MetroAreaNetworkPartial
class NetworkFeatureConfigRequestPartial(
RootModel[RouteServerNetworkFeatureConfigRequestPartial]
):
root: RouteServerNetworkFeatureConfigRequestPartial = Field(
...,
description='Polymorphic Network Feature Config Request',
discriminator='type',
title='NetworkFeatureConfigRequest (partial)',
)
class NetworkFeatureConfigUpdatePartial(
RootModel[RouteServerNetworkFeatureConfigUpdatePartial]
):
root: RouteServerNetworkFeatureConfigUpdatePartial = Field(
...,
description='Polymorphic Network Feauture Config Update',
discriminator='type',
title='NetworkFeatureConfigUpdate (partial)',
)
NetworkServiceChangeRequest = NetworkServiceChangeRequestPartial
class NetworkServiceRequestPartial(
RootModel[
Union[
P2PNetworkServiceRequestPartial,
P2MPNetworkServiceRequestPartial,
MP2MPNetworkServiceRequestPartial,
CloudNetworkServiceRequestPartial,
]
]
):
root: Union[
P2PNetworkServiceRequestPartial,
P2MPNetworkServiceRequestPartial,
MP2MPNetworkServiceRequestPartial,
CloudNetworkServiceRequestPartial,
] = Field(
...,
description='Polymorphic Network Service Request',
discriminator='type',
title='NetworkServiceRequest (partial)',
)
Ownable = OwnablePartial
class P2MPNetworkProductOffering(P2MPNetworkProductOfferingPartial):
type: Literal['p2mp_vc']
class P2MPNetworkServiceRequest(P2MPNetworkServiceRequestPartial):
type: Literal['p2mp_vc']
class P2PNetworkProductOffering(P2PNetworkProductOfferingPartial):
type: Literal['p2p_vc']
class P2PNetworkServiceRequest(P2PNetworkServiceRequestPartial):
type: Literal['p2p_vc']
PointOfPresence = PointOfPresencePartial
PortRequest = PortRequestPartial
PortUpdate = PortUpdatePartial
ProblemResponse = ProblemResponsePartial
class ProductOffering(
RootModel[
Union[
ExchangeLanNetworkProductOffering,
P2PNetworkProductOffering,
MP2MPNetworkProductOffering,
P2MPNetworkProductOffering,
CloudNetworkProductOffering,
]
]
):
root: Union[
ExchangeLanNetworkProductOffering,
P2PNetworkProductOffering,
MP2MPNetworkProductOffering,
P2MPNetworkProductOffering,
CloudNetworkProductOffering,
] = Field(
...,
description='Polymorphic Product Offering',
discriminator='type',
title='ProductOffering',
)
RateLimitedNetworkServiceConfig = RateLimitedNetworkServiceConfigPartial
RefreshTokenRequest = RefreshTokenRequestPartial
Role3 = RolePartial
RoleAssignment = RoleAssignmentPartial
RoleAssignmentRequest = RoleAssignmentRequestPartial
RoleAssignmentUpdate = RoleAssignmentUpdatePartial
RoleRequest = RoleRequestPartial
RoleUpdate = RoleUpdatePartial
RouteServerNetworkFeatureConfigRequest = RouteServerNetworkFeatureConfigRequestPartial
RouteServerNetworkFeatureConfigUpdate = RouteServerNetworkFeatureConfigUpdatePartial
class RouteServerNetworkFeaturePartial(BaseModel):
address_families: Optional[List[AddressFamily]] = Field(
None,
description='When creating a route server feature config, remember\nto specify which address family or families to use:\n\nIf the route server network feature only supports `af_inet`,\nthen the `as_set_v4` in the network feature config is required.\n\nIf only `af_inet6` is supported, then the `as_set_v6` is required.\n\nIf both `af_inet` and `af_inet6` are supported, either\n`as_set_v4` or `as_set_v6` is required, but both can be provided\nin the network service config.\n',
examples=[['af_inet']],
)
asn: Optional[conint(ge=0)] = None
available_bgp_session_types: Optional[List[AvailableBgpSessionType]] = Field(
None,
description='The route server provides the following session modes.\n',
examples=[['passive']],
)
flags: Optional[List[IXPSpecificFeatureFlag]] = Field(
None,
description='A list of IXP specific feature flags. This can be used\nto see if e.g. RPKI hard filtering is available.',
)
fqdn: Optional[constr(max_length=80)] = Field(
None,
description='The FQDN of the route server.\n',
examples=['rs1.moon-ix.net'],
)
id: Optional[str] = None
ip_v4: Optional[str] = Field(
None,
description='IPv4 address in [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation)\nnotation.\n',
examples=['23.42.0.1'],
)
ip_v6: Optional[str] = Field(
None,
description='IPv6 address in hexadecimal colon separated notation.\n',
examples=['2001:23:42::1'],
)
looking_glass_url: Optional[str] = Field(
None,
description='The url of the looking glass.\n',
examples=['https://lg.moon-ix.net/rs1'],
)
name: Optional[constr(max_length=80)] = None
network_service: Optional[str] = None
nfc_required_contact_roles: Optional[List[str]] = Field(
None,
description='The configuration will require at least one of each of the\nspecified roles assigned to contacts.\n\nThe role assignments is associated with the network feature\nconfig through the `role_assignments` list property.',
)
required: Optional[bool] = None
session_mode: Optional[SessionMode] = Field(
None,
description='When creating a route server feature config, remember\nto specify the same session_mode as the route server.\n',
examples=['public'],
)
type: str = Field(..., examples=['route_server'])
Status = StatusPartial
class VLanConfigDot1Q(VLanConfigDot1QPartial):
vlan_type: Literal['dot1q']
class VLanConfigPort(VLanConfigPortPartial):
vlan_type: Literal['port']
class VLanConfigQinQ(VLanConfigQinQPartial):
vlan_type: Literal['qinq']
class VlanConfig(RootModel[Union[VLanConfigDot1Q, VLanConfigQinQ, VLanConfigPort]]):
root: Union[VLanConfigDot1Q, VLanConfigQinQ, VLanConfigPort] = Field(
...,
description='The vlan configuration defines how the service\nis made available on the connection.',
discriminator='vlan_type',
title='VlanConfig',
)
class AccountsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type] = None
class AccountsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type1] = None
class AccountsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type2] = None
class AccountsPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type3] = None
class AccountsPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type4] = None
class AccountsPostResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type5] = None
class AccountsIdDeleteResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type6] = None
class AccountsIdDeleteResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type7] = None
class AccountsIdDeleteResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type8] = None
class AccountsIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type9] = None
class AccountsIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type10] = None
class AccountsIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type11] = None
class AccountsIdPatchResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type12] = None
class AccountsIdPatchResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type13] = None
class AccountsIdPatchResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type14] = None
class AccountsIdPatchResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type15] = None
class AccountsIdPutResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type16] = None
class AccountsIdPutResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type17] = None
class AccountsIdPutResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type18] = None
class AccountsIdPutResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type19] = None
class AuthRefreshPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type20] = None
class AuthRefreshPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type21] = None
class AuthTokenPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type22] = None
class AuthTokenPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type23] = None
class ConnectionsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type24] = None
class ConnectionsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type25] = None
class ConnectionsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type26] = None
class ConnectionsIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type27] = None
class ConnectionsIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type28] = None
class ConnectionsIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type29] = None
class ContactsGetResponse(RootModel[List[Contact]]):
root: List[Contact]
class ContactsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type30] = None
class ContactsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type31] = None
class ContactsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type32] = None
class ContactsPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type33] = None
class ContactsPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type34] = None
class ContactsPostResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type35] = None
class ContactsIdDeleteResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Unable to fulfill your request.'])
type: Optional[Type36] = None
class ContactsIdDeleteResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type37] = None
class ContactsIdDeleteResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type38] = None
class ContactsIdDeleteResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type39] = None
class ContactsIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type40] = None
class ContactsIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type41] = None
class ContactsIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type42] = None
class ContactsIdPatchResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type43] = None
class ContactsIdPatchResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type44] = None
class ContactsIdPatchResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type45] = None
class ContactsIdPatchResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type46] = None
class ContactsIdPutResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type47] = None
class ContactsIdPutResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type48] = None
class ContactsIdPutResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type49] = None
class ContactsIdPutResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type50] = None
class DevicesGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type51] = None
class DevicesGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type52] = None
class DevicesGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type53] = None
class DevicesIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type54] = None
class DevicesIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type55] = None
class DevicesIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type56] = None
class FacilitiesGetResponse(RootModel[List[Facility]]):
root: List[Facility]
class FacilitiesGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type57] = None
class FacilitiesGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type58] = None
class FacilitiesGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type59] = None
class FacilitiesIdGetResponse(RootModel[List[Facility]]):
root: List[Facility]
class FacilitiesIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type60] = None
class FacilitiesIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type61] = None
class FacilitiesIdGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type62] = None
class IpsGetResponse(RootModel[List[IpAddress]]):
root: List[IpAddress]
class IpsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type63] = None
class IpsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type64] = None
class IpsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type65] = None
class IpsIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type66] = None
class IpsIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type67] = None
class IpsIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type68] = None
class IpsIdPatchResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type69] = None
class IpsIdPatchResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type70] = None
class IpsIdPatchResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type71] = None
class IpsIdPatchResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type72] = None
class IpsIdPutResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type73] = None
class IpsIdPutResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type74] = None
class IpsIdPutResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type75] = None
class IpsIdPutResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type76] = None
class MacsGetResponse(RootModel[List[MacAddress]]):
root: List[MacAddress]
class MacsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type77] = None
class MacsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type78] = None
class MacsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type79] = None
class MacsPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type80] = None
class MacsPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type81] = None
class MacsPostResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type82] = None
class MacsIdDeleteResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Unable to fulfill your request.'])
type: Optional[Type83] = None
class MacsIdDeleteResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type84] = None
class MacsIdDeleteResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type85] = None
class MacsIdDeleteResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type86] = None
class MacsIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type87] = None
class MacsIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type88] = None
class MacsIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type89] = None
class MemberJoiningRulesGetResponse(RootModel[List[MemberJoiningRule]]):
root: List[MemberJoiningRule]
class MemberJoiningRulesGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type90] = None
class MemberJoiningRulesGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type91] = None
class MemberJoiningRulesGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type92] = None
class MemberJoiningRulesPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type93] = None
class MemberJoiningRulesPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type94] = None
class MemberJoiningRulesPostResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type95] = None
class MemberJoiningRulesIdDeleteResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Unable to fulfill your request.'])
type: Optional[Type96] = None
class MemberJoiningRulesIdDeleteResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type97] = None
class MemberJoiningRulesIdDeleteResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type98] = None
class MemberJoiningRulesIdDeleteResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type99] = None
class MemberJoiningRulesIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type100] = None
class MemberJoiningRulesIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type101] = None
class MemberJoiningRulesIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type102] = None
class MemberJoiningRulesIdPatchResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type103] = None
class MemberJoiningRulesIdPatchResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type104] = None
class MemberJoiningRulesIdPatchResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type105] = None
class MemberJoiningRulesIdPatchResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type106] = None
class MemberJoiningRulesIdPutResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type107] = None
class MemberJoiningRulesIdPutResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type108] = None
class MemberJoiningRulesIdPutResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type109] = None
class MemberJoiningRulesIdPutResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type110] = None
class MetroAreaNetworksGetResponse(RootModel[List[MetroAreaNetwork]]):
root: List[MetroAreaNetwork]
class MetroAreaNetworksGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type111] = None
class MetroAreaNetworksGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type112] = None
class MetroAreaNetworksGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type113] = None
class MetroAreaNetworksIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type114] = None
class MetroAreaNetworksIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type115] = None
class MetroAreaNetworksIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type116] = None
class MetroAreasGetResponse(RootModel[List[MetroArea]]):
root: List[MetroArea]
class MetroAreasGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type117] = None
class MetroAreasGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type118] = None
class MetroAreasGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type119] = None
class MetroAreasIdGetResponse(RootModel[List[MetroArea]]):
root: List[MetroArea]
class MetroAreasIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type120] = None
class MetroAreasIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type121] = None
class MetroAreasIdGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type122] = None
class NetworkFeatureConfigsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type124] = None
class NetworkFeatureConfigsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type125] = None
class NetworkFeatureConfigsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type126] = None
class NetworkFeatureConfigsPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type128] = None
class NetworkFeatureConfigsPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type129] = None
class NetworkFeatureConfigsPostResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type130] = None
class NetworkFeatureConfigsIdDeleteResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Unable to fulfill your request.'])
type: Optional[Type131] = None
class NetworkFeatureConfigsIdDeleteResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type132] = None
class NetworkFeatureConfigsIdDeleteResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type133] = None
class NetworkFeatureConfigsIdDeleteResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type134] = None
class NetworkFeatureConfigsIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type135] = None
class NetworkFeatureConfigsIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type136] = None
class NetworkFeatureConfigsIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type137] = None
class NetworkFeatureConfigsIdPatchResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type138] = None
class NetworkFeatureConfigsIdPatchResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type139] = None
class NetworkFeatureConfigsIdPatchResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type140] = None
class NetworkFeatureConfigsIdPatchResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type141] = None
class NetworkFeatureConfigsIdPutResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type142] = None
class NetworkFeatureConfigsIdPutResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type143] = None
class NetworkFeatureConfigsIdPutResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type144] = None
class NetworkFeatureConfigsIdPutResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type145] = None
class NetworkFeaturesGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type147] = None
class NetworkFeaturesGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type148] = None
class NetworkFeaturesGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type149] = None
class NetworkFeaturesIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type151] = None
class NetworkFeaturesIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type152] = None
class NetworkFeaturesIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type153] = None
class NetworkServiceConfigsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type155] = None
class NetworkServiceConfigsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type156] = None
class NetworkServiceConfigsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type157] = None
class NetworkServiceConfigsPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type159] = None
class NetworkServiceConfigsPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type160] = None
class NetworkServiceConfigsPostResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type161] = None
class NetworkServiceConfigsIdDeleteResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(
None, examples=['Requested cancellation date outside of notice period.']
)
type: Optional[Type162] = None
charged_until: Optional[date] = Field(
None,
description='The date until the service is payed for.\nTypically `≥ decommission_at`.',
)
decommission_at: Optional[date] = Field(
None,
description='This field denotes the first possible cancellation\ndate of the service.\n\nSee the service `cancellation-policy` for details.',
)
class NetworkServiceConfigsIdDeleteResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type163] = None
class NetworkServiceConfigsIdDeleteResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type164] = None
class NetworkServiceConfigsIdDeleteResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type165] = None
class NetworkServiceConfigsIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type166] = None
class NetworkServiceConfigsIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type167] = None
class NetworkServiceConfigsIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type168] = None
class NetworkServiceConfigsIdPatchResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type169] = None
class NetworkServiceConfigsIdPatchResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type170] = None
class NetworkServiceConfigsIdPatchResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type171] = None
class NetworkServiceConfigsIdPatchResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type172] = None
class NetworkServiceConfigsIdPutResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type173] = None
class NetworkServiceConfigsIdPutResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type174] = None
class NetworkServiceConfigsIdPutResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type175] = None
class NetworkServiceConfigsIdPutResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type176] = None
class NetworkServiceConfigsIdCancellationPolicyGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type177] = None
class NetworkServiceConfigsIdCancellationPolicyGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type178] = None
class NetworkServiceConfigsIdCancellationPolicyGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type179] = None
class NetworkServicesGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type181] = None
class NetworkServicesGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type182] = None
class NetworkServicesGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type183] = None
class NetworkServicesPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type185] = None
class NetworkServicesPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type186] = None
class NetworkServicesPostResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type187] = None
class NetworkServicesIdDeleteResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(
None, examples=['Requested cancellation date outside of notice period.']
)
type: Optional[Type188] = None
charged_until: Optional[date] = Field(
None,
description='The date until the service is payed for.\nTypically `≥ decommission_at`.',
)
decommission_at: Optional[date] = Field(
None,
description='This field denotes the first possible cancellation\ndate of the service.\n\nSee the service `cancellation-policy` for details.',
)
class NetworkServicesIdDeleteResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type189] = None
class NetworkServicesIdDeleteResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type190] = None
class NetworkServicesIdDeleteResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type191] = None
class NetworkServicesIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type192] = None
class NetworkServicesIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type193] = None
class NetworkServicesIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type194] = None
class NetworkServicesIdPatchResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type195] = None
class NetworkServicesIdPatchResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type196] = None
class NetworkServicesIdPatchResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type197] = None
class NetworkServicesIdPatchResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type198] = None
class NetworkServicesIdPutResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type199] = None
class NetworkServicesIdPutResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type200] = None
class NetworkServicesIdPutResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type201] = None
class NetworkServicesIdPutResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type202] = None
class NetworkServicesIdCancellationPolicyGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type203] = None
class NetworkServicesIdCancellationPolicyGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type204] = None
class NetworkServicesIdCancellationPolicyGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type205] = None
class NetworkServicesIdChangeRequestDeleteResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Unable to fulfill your request.'])
type: Optional[Type206] = None
class NetworkServicesIdChangeRequestDeleteResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type207] = None
class NetworkServicesIdChangeRequestDeleteResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type208] = None
class NetworkServicesIdChangeRequestDeleteResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type209] = None
class NetworkServicesIdChangeRequestGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type210] = None
class NetworkServicesIdChangeRequestGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type211] = None
class NetworkServicesIdChangeRequestGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type212] = None
class NetworkServicesIdChangeRequestPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type213] = None
class NetworkServicesIdChangeRequestPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type214] = None
class NetworkServicesIdChangeRequestPostResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type215] = None
class PopsGetResponse(RootModel[List[PointOfPresence]]):
root: List[PointOfPresence]
class PopsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type216] = None
class PopsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type217] = None
class PopsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type218] = None
class PopsIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type219] = None
class PopsIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type220] = None
class PopsIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type221] = None
class PortsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type222] = None
class PortsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type223] = None
class PortsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type224] = None
class PortsIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type225] = None
class PortsIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type226] = None
class PortsIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type227] = None
class ProductOfferingsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type229] = None
class ProductOfferingsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type230] = None
class ProductOfferingsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type231] = None
class ProductOfferingsIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type233] = None
class ProductOfferingsIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type234] = None
class ProductOfferingsIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type235] = None
class RoleAssignmentsGetResponse(RootModel[List[RoleAssignment]]):
root: List[RoleAssignment]
class RoleAssignmentsGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type236] = None
class RoleAssignmentsGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type237] = None
class RoleAssignmentsGetResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type238] = None
class RoleAssignmentsPostResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Some fields did not validate.'])
type: Optional[Type239] = None
class RoleAssignmentsPostResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type240] = None
class RoleAssignmentsPostResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type241] = None
class RoleAssignmentsAssignmentIdDeleteResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[400])
title: Optional[Any] = Field(None, examples=['Unable to fulfill your request.'])
type: Optional[Type242] = None
class RoleAssignmentsAssignmentIdDeleteResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type243] = None
class RoleAssignmentsAssignmentIdDeleteResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type244] = None
class RoleAssignmentsAssignmentIdDeleteResponse3(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type245] = None
class RoleAssignmentsAssignmentIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type246] = None
class RoleAssignmentsAssignmentIdGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[403])
title: Optional[Any] = Field(
None, examples=['You do not have permission to perform this action.']
)
type: Optional[Type247] = None
class RoleAssignmentsAssignmentIdGetResponse2(ProblemResponse):
status: Optional[Any] = Field(None, examples=[404])
title: Optional[Any] = Field(None, examples=['Not found.'])
type: Optional[Type248] = None
class RolesGetResponse(RootModel[List[Role3]]):
root: List[Role3]
class RolesGetResponse1(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type249] = None
class RolesIdGetResponse(ProblemResponse):
status: Optional[Any] = Field(None, examples=[401])
title: Optional[Any] = Field(None, examples=['Authentication Credentials Invalid'])
type: Optional[Type249] = None
BillingInformation = BillingInformationPartial
class CloudNetworkServiceConfigPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
cloud_vlan: Optional[conint(ge=1, le=4094)] = Field(
None,
description='If the `provider_vlans` property of the `ProductOffering` is\n`multi`, a numeric value refers to a specific vlan on the service\nprovider side.\n\nOtherwise, if set to `null`, it refers to all unmatched\nvlan ids on the service provider side. (All vlan ids from the\nservice provider side are presented as tags within any vlans specified\nin `vlan_config`.)\n\nIf the `provider_vlans` property of the `ProductOffering` is `single`,\nthe `cloud_vlan` MUST be `null` or MUST NOT be provided.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
decommission_at: Optional[date] = Field(
None,
description='The service will be decommissioned on this date.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
handover: Optional[conint(ge=1)] = Field(
None,
description='The handover enumerates the connection and is\nrequired for checking diversity constraints.\n\nIt must be within `1 <= x <= network_service.diversity`.\n',
examples=[1],
)
id: Optional[constr(max_length=80)] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
network_service: Optional[str] = Field(
None, description='The id of the configured network service.'
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
type: Literal['cloud_vc'] = Field(..., examples=['cloud_vc'])
vlan_config: Optional[VlanConfig] = None
class CloudNetworkServiceConfigRequestPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
cloud_vlan: Optional[conint(ge=1, le=4094)] = Field(
None,
description='If the `provider_vlans` property of the `ProductOffering` is\n`multi`, a numeric value refers to a specific vlan on the service\nprovider side.\n\nOtherwise, if set to `null`, it refers to all unmatched\nvlan ids on the service provider side. (All vlan ids from the\nservice provider side are presented as tags within any vlans specified\nin `vlan_config`.)\n\nIf the `provider_vlans` property of the `ProductOffering` is `single`,\nthe `cloud_vlan` MUST be `null` or MUST NOT be provided.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
handover: Optional[conint(ge=1)] = Field(
None,
description='The handover enumerates the connection and is\nrequired for checking diversity constraints.\n\nIt must be within `1 <= x <= network_service.diversity`.\n',
examples=[1],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
network_service: Optional[str] = Field(
None, description='The id of the `NetworkService` to configure.'
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
type: Literal['cloud_vc'] = Field(..., examples=['cloud_vc'])
vlan_config: Optional[VlanConfig] = None
class CloudNetworkServiceConfigUpdatePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
cloud_vlan: Optional[conint(ge=1, le=4094)] = Field(
None,
description='If the `provider_vlans` property of the `ProductOffering` is\n`multi`, a numeric value refers to a specific vlan on the service\nprovider side.\n\nOtherwise, if set to `null`, it refers to all unmatched\nvlan ids on the service provider side. (All vlan ids from the\nservice provider side are presented as tags within any vlans specified\nin `vlan_config`.)\n\nIf the `provider_vlans` property of the `ProductOffering` is `single`,\nthe `cloud_vlan` MUST be `null` or MUST NOT be provided.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
handover: Optional[conint(ge=1)] = Field(
None,
description='The handover enumerates the connection and is\nrequired for checking diversity constraints.\n\nIt must be within `1 <= x <= network_service.diversity`.\n',
examples=[1],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
type: Literal['cloud_vc'] = Field(..., examples=['cloud_vc'])
vlan_config: Optional[VlanConfig] = None
class CloudNetworkServicePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. When null,\nthe maximum capacity will be used.',
)
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
cloud_key: Optional[str] = None
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
decommission_at: Optional[date] = Field(
None,
description='The service will be decommissioned on this date.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
diversity: Optional[conint(ge=1)] = Field(
None,
description='Same value as the corresponding `ProductOffering`.\n\nThe service can be delivered over multiple handovers from\nthe exchange to the `service_provider`.\n\nThe `diversity` denotes the number of handovers between the\nexchange and the service provider. A value of two signals a\nredundant service.\n\nOnly one network service configuration for each `handover` and\n`cloud_vlan` can be created.',
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[str] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
nsc_required_contact_roles: Optional[List[str]] = Field(
None,
description='The configuration will require at least one of each of the\nspecified roles assigned to contacts.\n\nThe `RoleAssignment` is associated through the\n`role_assignments` list property of the network service configuration.',
)
product_offering: Optional[str] = None
provider_ref: Optional[str] = Field(
None,
description='For a cloud network service with the exchange first\nworkflow, the `provider_ref` will be a reference\nto a resource of the cloud provider. (E.g. the UUID of\na virtual circuit.)\n\nThe `provider_ref` is managed by the exchange and its\nmeaning may vary between different cloud services.\n',
examples=['331050d5-76fb-498b-b72a-248520278fbd'],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
type: Literal['cloud_vc'] = Field(..., examples=['cloud_vc'])
class ConnectionPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[constr(max_length=80)] = None
lacp_timeout: Optional[LacpTimeout] = Field(
None,
description='This sets the LACP Timeout mode. Both ends of the connections need\nto be configured the same.\n',
examples=['slow'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
mode: Optional[Mode] = Field(
None,
description='Sets the mode of the connection. The mode can be:\n\n- `lag_lacp`: connection is build as a LAG with LACP enabled\n- `lag_static`: connection is build as LAG with static configuration\n- `flex_ethernet`: connect is build as a FlexEthernet channel\n- `standalone`: only one port is allowed in this connection without\nany bundling.\n',
examples=['lag_lacp'],
)
name: Optional[constr(max_length=80)] = None
outer_vlan_ethertypes: Optional[List[OuterVlanEthertype]] = Field(
None,
description='The ethertype of the outer tag in hexadecimal notation.\n',
examples=[['0x8100']],
)
ports: Optional[List[str]] = Field(
None,
description='References to the port belonging to this connection. Typically\nall ports within one connection are distributed over the same\ndevice.\n',
examples=[['ID23', '42', '5']],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
speed: Optional[conint(ge=0)] = Field(
None,
description='Shows the total bandwidth of the connection in Mbit/s.\n',
examples=[20000],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
vlan_types: Optional[List[VlanType]] = Field(
None,
description='A list of vlan config types you can configure using\nthis connection.',
)
Device = DevicePartial
class ExchangeLanNetworkServiceConfigPartial(BaseModel):
asns: Optional[List[conint(ge=0, le=4294967295)]] = None
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
decommission_at: Optional[date] = Field(
None,
description='The service will be decommissioned on this date.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[constr(max_length=80)] = None
ips: Optional[List[str]] = Field(
None,
description='A list of ip-address IDs.\n\nAllocation of IP Addresses might be deferred depending on\nthe IXP implementation. No assumption should be made.',
)
listed: Optional[bool] = Field(
None, description='The customer wants to be featured on the member list'
)
macs: Optional[List[str]] = Field(None, description='A list of mac-address IDs.')
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
network_service: Optional[str] = Field(
None, description='The id of the configured network service.'
)
product_offering: Optional[str] = Field(
None,
description='The product offering must match the type `exchange_lan`\nand must refer to the related network service through\nthe `exchange_lan_network_service` property.',
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
type: Literal['exchange_lan'] = Field(..., examples=['exchange_lan'])
vlan_config: Optional[VlanConfig] = None
class ExchangeLanNetworkServiceConfigRequestPartial(BaseModel):
asns: Optional[List[conint(ge=0, le=4294967295)]] = None
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
ips: Optional[List[str]] = Field(
None,
description='A list of ip-address IDs.\n\nAllocation of IP Addresses might be deferred depending on\nthe IXP implementation. No assumption should be made.',
)
listed: Optional[bool] = Field(
None, description='The customer wants to be featured on the member list'
)
macs: Optional[List[str]] = Field(None, description='A list of mac-address IDs.')
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
network_service: Optional[str] = Field(
None, description='The id of the `NetworkService` to configure.'
)
product_offering: Optional[str] = Field(
None,
description='The product offering must match the type `exchange_lan`\nand must refer to the related network service through\nthe `exchange_lan_network_service` property.',
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
type: Literal['exchange_lan'] = Field(..., examples=['exchange_lan'])
vlan_config: Optional[VlanConfig] = None
class ExchangeLanNetworkServiceConfigUpdatePartial(BaseModel):
asns: Optional[List[conint(ge=0, le=4294967295)]] = None
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
ips: Optional[List[str]] = Field(
None,
description='A list of ip-address IDs.\n\nAllocation of IP Addresses might be deferred depending on\nthe IXP implementation. No assumption should be made.',
)
listed: Optional[bool] = Field(
None, description='The customer wants to be featured on the member list'
)
macs: Optional[List[str]] = Field(None, description='A list of mac-address IDs.')
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
type: Literal['exchange_lan'] = Field(..., examples=['exchange_lan'])
vlan_config: Optional[VlanConfig] = None
class ExchangeLanNetworkServicePartial(BaseModel):
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[str] = None
ixfdb_ixid: Optional[int] = Field(None, description='id of ixfdb')
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
metro_area_network: Optional[str] = Field(
None,
description='Id of the `MetroAreaNetwork` where\nthe exchange lan network service is directly provided.\n\nSame as `service_metro_area_network` on the related\n`ProductOffering`.\n',
examples=['man:293225:LON2'],
)
name: Optional[constr(max_length=40)] = Field(
None,
description='Exchange-dependent service name, will be shown on the invoice.',
)
network_features: Optional[List[str]] = None
nsc_required_contact_roles: Optional[List[str]] = Field(
None,
description='The configuration will require at least one of each of the\nspecified roles assigned to contacts.\n\nThe `RoleAssignment` is associated through the\n`role_assignments` list property of the network service configuration.',
)
peeringdb_ixid: Optional[int] = Field(None, description='PeeringDB ixid')
product_offering: Optional[str] = Field(None, description='*deprecation notice*')
state: Optional[State] = None
status: Optional[List[Status]] = None
subnet_v4: Optional[str] = Field(
None,
description='IPv4 subnet in [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation)\nCIDR notation.\n',
examples=['23.142.52.0/21'],
)
subnet_v6: Optional[str] = Field(
None,
description='IPv6 subnet in hexadecimal colon separated CIDR notation.\n',
examples=['2001:23:42::/48'],
)
type: Literal['exchange_lan'] = Field(..., examples=['exchange_lan'])
class MP2MPNetworkServiceConfigPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
decommission_at: Optional[date] = Field(
None,
description='The service will be decommissioned on this date.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[constr(max_length=80)] = None
macs: Optional[List[str]] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
network_service: Optional[str] = Field(
None, description='The id of the configured network service.'
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
type: Literal['mp2mp_vc'] = Field(..., examples=['mp2mp_vc'])
vlan_config: Optional[VlanConfig] = None
class MP2MPNetworkServiceConfigRequestPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
macs: Optional[List[str]] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
network_service: Optional[str] = Field(
None, description='The id of the `NetworkService` to configure.'
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
type: Literal['mp2mp_vc'] = Field(..., examples=['mp2mp_vc'])
vlan_config: Optional[VlanConfig] = None
class MP2MPNetworkServiceConfigUpdatePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
macs: Optional[List[str]] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
type: str = Field(..., examples=['mp2mp_vc'])
vlan_config: Optional[VlanConfig] = None
class MP2MPNetworkServicePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
decommission_at: Optional[date] = Field(
None,
description='The service will be decommissioned on this date.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[str] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
member_joining_rules: Optional[List[str]] = None
name: Optional[constr(max_length=40)] = Field(
None, description='Name of the multi-point to multi-point\nvirtual circuit.'
)
network_features: Optional[List[str]] = None
nsc_required_contact_roles: Optional[List[str]] = Field(
None,
description='The configuration will require at least one of each of the\nspecified roles assigned to contacts.\n\nThe `RoleAssignment` is associated through the\n`role_assignments` list property of the network service configuration.',
)
product_offering: Optional[str] = None
public: Optional[bool] = Field(
False,
description='A public mp2mp network service can be joined\nby everyone on the exchange unless denied by\na member-joining-rule.\n\nPublic network services are visible to other\nmembers of the IXP, however only `name`, `type`,\n`product_offering`, `consuming_account` and\n`managing_account` are made available.\n\nOther required fields are redacted.',
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
type: Literal['mp2mp_vc'] = Field(..., examples=['mp2mp_vc'])
class NetworkFeatureConfigRequest(RootModel[RouteServerNetworkFeatureConfigRequest]):
root: RouteServerNetworkFeatureConfigRequest = Field(
...,
description='Polymorphic Network Feature Config Request',
discriminator='type',
title='NetworkFeatureConfigRequest',
)
class NetworkFeatureConfigUpdate(RootModel[RouteServerNetworkFeatureConfigUpdate]):
root: RouteServerNetworkFeatureConfigUpdate = Field(
...,
description='Polymorphic Network Feauture Config Update',
discriminator='type',
title='NetworkFeatureConfigUpdate',
)
class NetworkFeaturePartial(RootModel[RouteServerNetworkFeaturePartial]):
root: RouteServerNetworkFeaturePartial = Field(
...,
description='Polymorphic Network Feature',
discriminator='type',
title='NetworkFeature (partial)',
)
class NetworkServiceRequest(
RootModel[
Union[
P2PNetworkServiceRequest,
P2MPNetworkServiceRequest,
MP2MPNetworkServiceRequest,
CloudNetworkServiceRequest,
]
]
):
root: Union[
P2PNetworkServiceRequest,
P2MPNetworkServiceRequest,
MP2MPNetworkServiceRequest,
CloudNetworkServiceRequest,
] = Field(
...,
description='Polymorphic Network Service Request',
discriminator='type',
title='NetworkServiceRequest',
)
class P2MPNetworkServiceConfigPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
decommission_at: Optional[date] = Field(
None,
description='The service will be decommissioned on this date.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[constr(max_length=80)] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
network_service: Optional[str] = Field(
None, description='The id of the configured network service.'
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role: Optional[Role] = Field(
'leaf',
description='A `leaf` can only reach roots and is\nisolated from other leafs. A `root` can\nreach any other point in the virtual circuit\nincluding other roots.',
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
type: Literal['p2mp_vc'] = Field(..., examples=['p2mp_vc'])
vlan_config: Optional[VlanConfig] = None
class P2MPNetworkServiceConfigRequestPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
network_service: Optional[str] = Field(
None, description='The id of the `NetworkService` to configure.'
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role: Optional[Role] = Field(
'leaf',
description='A `leaf` can only reach roots and is\nisolated from other leafs. A `root` can\nreach any other point in the virtual circuit\nincluding other roots.',
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
type: Literal['p2mp_vc'] = Field(..., examples=['p2mp_vc'])
vlan_config: Optional[VlanConfig] = None
class P2MPNetworkServiceConfigUpdatePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role: Optional[Role] = Field(
'leaf',
description='A `leaf` can only reach roots and is\nisolated from other leafs. A `root` can\nreach any other point in the virtual circuit\nincluding other roots.',
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
type: str = Field(..., examples=['p2mp_vc'])
vlan_config: Optional[VlanConfig] = None
class P2MPNetworkServicePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
decommission_at: Optional[date] = Field(
None,
description='The service will be decommissioned on this date.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[str] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
member_joining_rules: Optional[List[str]] = None
name: Optional[constr(max_length=40)] = Field(
None, description='Name of the point to multi-point virtual circuit.'
)
network_features: Optional[List[str]] = None
nsc_required_contact_roles: Optional[List[str]] = Field(
None,
description='The configuration will require at least one of each of the\nspecified roles assigned to contacts.\n\nThe `RoleAssignment` is associated through the\n`role_assignments` list property of the network service configuration.',
)
product_offering: Optional[str] = None
public: Optional[bool] = Field(
False,
description='A public p2mp network service can be joined\nby everyone on the exchange unless denied by\na member-joining-rule.\n\nPublic network services are visible to other\nmembers of the IXP, however only `name`, `type`,\n`product_offering`, `consuming_account` and\n`managing_account` are made\navailable.\n\nOther required fields are redacted.',
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
type: Literal['p2mp_vc'] = Field(..., examples=['p2mp_vc'])
class P2PNetworkServiceConfigPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
decommission_at: Optional[date] = Field(
None,
description='The service will be decommissioned on this date.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[constr(max_length=80)] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
network_service: Optional[str] = Field(
None, description='The id of the configured network service.'
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
type: Literal['p2p_vc'] = Field(..., examples=['p2p_vc'])
vlan_config: Optional[VlanConfig] = None
class P2PNetworkServiceConfigRequestPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
network_service: Optional[str] = Field(
None, description='The id of the `NetworkService` to configure.'
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
type: Literal['p2p_vc'] = Field(..., examples=['p2p_vc'])
vlan_config: Optional[VlanConfig] = None
class P2PNetworkServiceConfigUpdatePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. If set to Null,\nthe maximum capacity will be used, i.e. the virtual circuit is\nnot rate-limited.\n\nAn exchange may choose to constrain the available capacity range\nof a `ProductOffering`.\n\nThat means, the service can consume up to the total bandwidth\nof the `Connection`.\n\nTypically the service is charged based on the capacity.',
)
connection: Optional[str] = Field(
None,
description='The id of the connection to use for this `NetworkServiceConfig`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
network_feature_configs: Optional[List[str]] = Field(
None,
description='A list of ids of `NetworkFeatureConfig`s.\n',
examples=[['12356', '43829']],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
type: Literal['p2p_vc'] = Field(..., examples=['p2p_vc'])
vlan_config: Optional[VlanConfig] = None
class P2PNetworkServicePartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
capacity: Optional[conint(ge=1)] = Field(
None,
description='The capacity of the service in Mbps. When null,\nthe maximum capacity will be used.',
)
charged_until: Optional[date] = Field(
None,
description='Your obligation to pay for the service will end on this date.\nTypically `≥ decommission_at`.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
decommission_at: Optional[date] = Field(
None,
description='The service will be decommissioned on this date.\n\nThis field is only used when\nthe state is `DECOMMISSION_REQUESTED` or\n`DECOMMISSIONED`.',
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[str] = None
joining_member_account: Optional[str] = Field(
None,
description='The account of the B-side member joining the virtual circuit.\n',
examples=['231829'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
nsc_required_contact_roles: Optional[List[str]] = Field(
None,
description='The configuration will require at least one of each of the\nspecified roles assigned to contacts.\n\nThe `RoleAssignment` is associated through the\n`role_assignments` list property of the network service configuration.',
)
product_offering: Optional[str] = None
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
type: Literal['p2p_vc'] = Field(..., examples=['p2p_vc'])
class PortPartial(BaseModel):
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
connection: Optional[str] = None
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
device: Optional[str] = Field(
None, description='The device the port.\n', examples=['device:29139871']
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[constr(max_length=80)] = None
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
media_type: Optional[constr(max_length=20)] = Field(
None,
description="The media type of the port.\nQuery the device's capabilities for available types.\n",
examples=['10GBASE-LR'],
)
name: Optional[constr(max_length=80)] = Field(
'', description='Name of the port (set by the exchange)'
)
pop: Optional[str] = Field(
None, description='Same as the `pop` of the `device`.\n', examples=['pop:2913']
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
speed: Optional[conint(ge=0)] = None
state: Optional[State] = None
status: Optional[List[Status]] = None
RouteServerNetworkFeature = RouteServerNetworkFeaturePartial
class RouteServerNetworkFeatureConfigPartial(BaseModel):
as_set_v4: Optional[constr(max_length=100)] = Field(
None,
description='AS-SET of the customer for IPv4 prefix filtering.\nThis is used to generate filters on the router servers.\n\nOnly valid referenced prefixes within the AS-SET\nare allowed inbound to the route server. All other routes are\nfiltered.\n\nThis field is *required* if the route server network feature only\nsupports the `af_inet` address family.\nIf multiple address families are supported, it is optional if the\n`as_set_v6` is provided.\n\nImportant: The format has to be: "AS-SET@IRR". IRR is the database\nwhere the AS-SET is registred. Typically used IRR\'s are RADB, RIPE,\nNTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC\n',
examples=['MOON-AS@RIPE'],
)
as_set_v6: Optional[constr(max_length=100)] = Field(
None,
description='AS-SET of the customer for IPv6. This is used to generate filters\non the router servers. Only valid referenced prefixes within\nthe AS-SET are allowed inbound to the route server.\nAll other routes are filtered.\n\nThis field is *required* if the route server network feature only\nsupports the `af_inet6` address family.\nIf multiple address families are supported, it is optional if the\n`as_set_v4` is provided.\n\nImportant: The format has to be: "AS-SET@IRR". IRR is the database\nwhere the AS-SET is registred. Typically used IRR\'s are RADB, RIPE,\nNTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC\n',
examples=['MOON-AS@RIPE'],
)
asn: Optional[conint(ge=0, le=4294967295)] = Field(
None, description='The ASN of the peer.\n', examples=[4200000023]
)
bgp_session_type: Optional[BgpSessionType] = Field(
None,
description='The session type describes which of the both parties will open the\nconnection. If set to passive, the customer router needs to open\nthe connection. If its set to active, the route server will open\nthe connection. The standard behavior on most exchanges is passive.\n',
examples=['passive'],
)
billing_account: Optional[str] = Field(
None,
description='An account requires billing_information to be used as a `billing_account`.',
)
consuming_account: Optional[str] = Field(
None,
description='The `id` of the account consuming a service.\n\nUsed to be `owning_customer`.\n',
examples=['2381982'],
)
contract_ref: Optional[constr(max_length=128)] = Field(
None,
description='A reference to a contract. If no specific contract is used, a default\nMAY be chosen by the implementer.\n',
examples=['contract:31824'],
)
external_ref: Optional[constr(max_length=128)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[constr(max_length=80)] = None
insert_ixp_asn: Optional[bool] = Field(
True,
description='Insert the ASN of the exchange into the AS path. This function is only\nused in special cases. In 99% of all cases, it should be false.\n',
)
ip: Optional[str] = Field(
None,
description='The BGP session will be established from this IP address.\nOnly IPs assigned to the corresponding network service\nconfig can be used.',
)
managing_account: Optional[str] = Field(
None,
description='The `id` of the account responsible for managing the service via\nthe API. A manager can read and update the state of entities.\n',
examples=['238189294'],
)
max_prefix_v4: Optional[conint(ge=0)] = Field(
None,
description='Announcing more than `max_prefix` IPv4 prefixes the bgp\nsession will be droped.\n',
examples=[5000],
)
max_prefix_v6: Optional[conint(ge=0)] = Field(
None,
description='Announcing more than `max_prefix` IPv6 prefixes the bgp\nsession will be droped.\n',
examples=[5000],
)
network_feature: Optional[str] = None
network_service_config: Optional[str] = None
password: Optional[constr(max_length=128)] = Field(
'',
description='The cleartext BGP session password',
examples=['bgp-session-test-23'],
)
purchase_order: Optional[constr(max_length=80)] = Field(
'',
description='Purchase Order ID which will be displayed on the invoice.\n',
examples=['Project: DC Moon'],
)
role_assignments: Optional[List[str]] = Field(
None,
description='A set of `RoleAssignment`s. See the documentation\non the specific `required_contact_roles`,\n`nfc_required_contact_roles` or `nsc_required_contact_roles`\non what `RoleAssignment`s to provide.\n',
examples=[['c-impl:123', 'c-noc:331']],
)
session_mode: Optional[SessionMode] = Field(
None,
description='Set the session mode with the routeserver.\n',
examples=['public'],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
type: str = Field(..., examples=['route_server'])
class StatefulPartial(BaseModel):
state: Optional[State] = None
status: Optional[List[Status]] = None
class DevicesGetResponse(RootModel[List[Device]]):
root: List[Device]
class AccountPartial(BaseModel):
address: Optional[Address] = None
billing_information: Optional[BillingInformation] = None
discoverable: Optional[bool] = Field(
False,
description='The account will be included for all members of the\nix in the list of accounts.\n\nOnly `id`, `name` and `present_in_metro_area_networks`\nare provided to other members.',
)
external_ref: Optional[constr(max_length=80)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
id: Optional[constr(max_length=80)] = None
legal_name: Optional[constr(max_length=80)] = Field(
None,
description="Legal name of the organisation.\nOnly required when it's different from the account name.\n",
examples=['Moon Network Services LLS.'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of a managing account. Can be used for creating\na customer hierachy.\n',
examples=['IX:Account:231'],
)
metro_area_network_presence: Optional[List[str]] = Field(
None,
description='Informal list of `MetroAreaNetwork` ids, indicating the\npresence to other accounts.\nThe list is maintained by the account and can be empty.\n',
examples=[['14021', '12939']],
)
name: Optional[constr(max_length=80)] = Field(
None,
description='Name of the account, how it gets represented\nin e.g. a "customers list".\n',
examples=['Moonpeer Inc.'],
)
state: Optional[State] = None
status: Optional[List[Status]] = None
class AccountRequestPartial(BaseModel):
address: Optional[Address] = None
billing_information: Optional[BillingInformation] = None
discoverable: Optional[bool] = Field(
False,
description='The account will be included for all members of the\nix in the list of accounts.\n\nOnly `id`, `name` and `present_in_metro_area_networks`\nare provided to other members.',
)
external_ref: Optional[constr(max_length=80)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
legal_name: Optional[constr(max_length=80)] = Field(
None,
description="Legal name of the organisation.\nOnly required when it's different from the account name.\n",
examples=['Moon Network Services LLS.'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of a managing account. Can be used for creating\na customer hierachy.\n',
examples=['IX:Account:231'],
)
metro_area_network_presence: Optional[List[str]] = Field(
[],
description='Informal list of `MetroAreaNetwork` ids, indicating the\npresence to other accounts.\nThe list is maintained by the account and can be empty.\n',
examples=[['14021', '12939']],
)
name: Optional[constr(max_length=80)] = Field(
None,
description='Name of the account, how it gets represented\nin e.g. a "customers list".\n',
examples=['Moonpeer Inc.'],
)
class AccountUpdatePartial(BaseModel):
address: Optional[Address] = None
billing_information: Optional[BillingInformation] = None
discoverable: Optional[bool] = Field(
False,
description='The account will be included for all members of the\nix in the list of accounts.\n\nOnly `id`, `name` and `present_in_metro_area_networks`\nare provided to other members.',
)
external_ref: Optional[constr(max_length=80)] = Field(
None,
description='Reference field, free to use for the API user.',
examples=['IX:Service:23042'],
)
legal_name: Optional[constr(max_length=80)] = Field(
None,
description="Legal name of the organisation.\nOnly required when it's different from the account name.\n",
examples=['Moon Network Services LLS.'],
)
managing_account: Optional[str] = Field(
None,
description='The `id` of a managing account. Can be used for creating\na customer hierachy.\n',
examples=['IX:Account:231'],
)
metro_area_network_presence: Optional[List[str]] = Field(
None,
description='Informal list of `MetroAreaNetwork` ids, indicating the\npresence to other accounts.\nThe list is maintained by the account and can be empty.\n',
examples=[['14021', '12939']],
)
name: Optional[constr(max_length=80)] = Field(
None,
description='Name of the account, how it gets represented\nin e.g. a "customers list".\n',
examples=['Moonpeer Inc.'],
)
class CloudNetworkService(CloudNetworkServicePartial):
type: Literal['cloud_vc']
class CloudNetworkServiceConfig(CloudNetworkServiceConfigPartial):
type: Literal['cloud_vc']
class CloudNetworkServiceConfigRequest(CloudNetworkServiceConfigRequestPartial):
type: Literal['cloud_vc']
class CloudNetworkServiceConfigUpdate(CloudNetworkServiceConfigUpdatePartial):
type: Literal['cloud_vc']
Connection = ConnectionPartial
class ExchangeLanNetworkService(ExchangeLanNetworkServicePartial):
type: Literal['exchange_lan']
class ExchangeLanNetworkServiceConfig(ExchangeLanNetworkServiceConfigPartial):
type: Literal['exchange_lan']
class ExchangeLanNetworkServiceConfigRequest(
ExchangeLanNetworkServiceConfigRequestPartial
):
type: Literal['exchange_lan']
class ExchangeLanNetworkServiceConfigUpdate(
ExchangeLanNetworkServiceConfigUpdatePartial
):
type: Literal['exchange_lan']
class MP2MPNetworkService(MP2MPNetworkServicePartial):
type: Literal['mp2mp_vc']
class MP2MPNetworkServiceConfig(MP2MPNetworkServiceConfigPartial):
type: Literal['mp2mp_vc']
class MP2MPNetworkServiceConfigRequest(MP2MPNetworkServiceConfigRequestPartial):
type: Literal['mp2mp_vc']
MP2MPNetworkServiceConfigUpdate = MP2MPNetworkServiceConfigUpdatePartial
class NetworkFeature(RootModel[RouteServerNetworkFeature]):
root: RouteServerNetworkFeature = Field(
...,
description='Polymorphic Network Feature',
discriminator='type',
title='NetworkFeature',
)
class NetworkFeatureConfigPartial(RootModel[RouteServerNetworkFeatureConfigPartial]):
root: RouteServerNetworkFeatureConfigPartial = Field(
...,
description='Polymorphic Network Feature Config',
discriminator='type',
title='NetworkFeatureConfig (partial)',
)
class NetworkServiceConfigPartial(
RootModel[
Union[
ExchangeLanNetworkServiceConfigPartial,
P2PNetworkServiceConfigPartial,
P2MPNetworkServiceConfigPartial,
MP2MPNetworkServiceConfigPartial,
CloudNetworkServiceConfigPartial,
]
]
):
root: Union[
ExchangeLanNetworkServiceConfigPartial,
P2PNetworkServiceConfigPartial,
P2MPNetworkServiceConfigPartial,
MP2MPNetworkServiceConfigPartial,
CloudNetworkServiceConfigPartial,
] = Field(
...,
description='Polymorphic Network Service Config',
discriminator='type',
title='NetworkServiceConfig (partial)',
)
class NetworkServiceConfigRequestPartial(
RootModel[
Union[
ExchangeLanNetworkServiceConfigRequestPartial,
P2PNetworkServiceConfigRequestPartial,
P2MPNetworkServiceConfigRequestPartial,
MP2MPNetworkServiceConfigRequestPartial,
CloudNetworkServiceConfigRequestPartial,
]
]
):
root: Union[
ExchangeLanNetworkServiceConfigRequestPartial,
P2PNetworkServiceConfigRequestPartial,
P2MPNetworkServiceConfigRequestPartial,
MP2MPNetworkServiceConfigRequestPartial,
CloudNetworkServiceConfigRequestPartial,
] = Field(
...,
description='Polymorhic Network Service Config Request',
discriminator='type',
title='NetworkServiceConfigRequest (partial)',
)
class NetworkServiceConfigUpdatePartial(
RootModel[
Union[
ExchangeLanNetworkServiceConfigUpdatePartial,
P2PNetworkServiceConfigUpdatePartial,
P2MPNetworkServiceConfigRequestPartial,
MP2MPNetworkServiceConfigRequestPartial,
CloudNetworkServiceConfigUpdatePartial,
]
]
):
root: Union[
ExchangeLanNetworkServiceConfigUpdatePartial,
P2PNetworkServiceConfigUpdatePartial,
P2MPNetworkServiceConfigRequestPartial,
MP2MPNetworkServiceConfigRequestPartial,
CloudNetworkServiceConfigUpdatePartial,
] = Field(
...,
description='Polymorphic Network Service Config',
discriminator='type',
title='NetworkServiceConfigUpdate (partial)',
)
class NetworkServiceDeleteResponsePartial(
RootModel[
Union[
P2PNetworkServicePartial,
P2MPNetworkServicePartial,
MP2MPNetworkServicePartial,
CloudNetworkServicePartial,
]
]
):
root: Union[
P2PNetworkServicePartial,
P2MPNetworkServicePartial,
MP2MPNetworkServicePartial,
CloudNetworkServicePartial,
] = Field(
...,
description='Polymorphic Network Service Request',
discriminator='type',
title='NetworkServiceDeleteResponse (partial)',
)
class NetworkServicePartial(
RootModel[
Union[
ExchangeLanNetworkServicePartial,
P2PNetworkServicePartial,
P2MPNetworkServicePartial,
MP2MPNetworkServicePartial,
CloudNetworkServicePartial,
]
]
):
root: Union[
ExchangeLanNetworkServicePartial,
P2PNetworkServicePartial,
P2MPNetworkServicePartial,
MP2MPNetworkServicePartial,
CloudNetworkServicePartial,
] = Field(
...,
description='Polymorphic Network Services',
discriminator='type',
title='NetworkService (partial)',
)
class P2MPNetworkService(P2MPNetworkServicePartial):
type: Literal['p2mp_vc']
class P2MPNetworkServiceConfig(P2MPNetworkServiceConfigPartial):
type: Literal['p2mp_vc']
class P2MPNetworkServiceConfigRequest(P2MPNetworkServiceConfigRequestPartial):
type: Literal['p2mp_vc']
P2MPNetworkServiceConfigUpdate = P2MPNetworkServiceConfigUpdatePartial
class P2PNetworkService(P2PNetworkServicePartial):
type: Literal['p2p_vc']
class P2PNetworkServiceConfig(P2PNetworkServiceConfigPartial):
type: Literal['p2p_vc']
class P2PNetworkServiceConfigRequest(P2PNetworkServiceConfigRequestPartial):
type: Literal['p2p_vc']
class P2PNetworkServiceConfigUpdate(P2PNetworkServiceConfigUpdatePartial):
type: Literal['p2p_vc']
Port = PortPartial
RouteServerNetworkFeatureConfig = RouteServerNetworkFeatureConfigPartial
Stateful = StatefulPartial
class ConnectionsGetResponse(RootModel[List[Connection]]):
root: List[Connection]
class NetworkFeaturesGetResponse(RootModel[List[NetworkFeature]]):
root: List[NetworkFeature]
class PortsGetResponse(RootModel[List[Port]]):
root: List[Port]
Account = AccountPartial
AccountRequest = AccountRequestPartial
AccountUpdate = AccountUpdatePartial
class NetworkFeatureConfig(RootModel[RouteServerNetworkFeatureConfig]):
root: RouteServerNetworkFeatureConfig = Field(
...,
description='Polymorphic Network Feature Config',
discriminator='type',
title='NetworkFeatureConfig',
)
class NetworkService(
RootModel[
Union[
ExchangeLanNetworkService,
P2PNetworkService,
P2MPNetworkService,
MP2MPNetworkService,
CloudNetworkService,
]
]
):
root: Union[
ExchangeLanNetworkService,
P2PNetworkService,
P2MPNetworkService,
MP2MPNetworkService,
CloudNetworkService,
] = Field(
...,
description='Polymorphic Network Services',
discriminator='type',
title='NetworkService',
)
class NetworkServiceConfig(
RootModel[
Union[
ExchangeLanNetworkServiceConfig,
P2PNetworkServiceConfig,
P2MPNetworkServiceConfig,
MP2MPNetworkServiceConfig,
CloudNetworkServiceConfig,
]
]
):
root: Union[
ExchangeLanNetworkServiceConfig,
P2PNetworkServiceConfig,
P2MPNetworkServiceConfig,
MP2MPNetworkServiceConfig,
CloudNetworkServiceConfig,
] = Field(
...,
description='Polymorphic Network Service Config',
discriminator='type',
title='NetworkServiceConfig',
)
class NetworkServiceConfigRequest(
RootModel[
Union[
ExchangeLanNetworkServiceConfigRequest,
P2PNetworkServiceConfigRequest,
P2MPNetworkServiceConfigRequest,
MP2MPNetworkServiceConfigRequest,
CloudNetworkServiceConfigRequest,
]
]
):
root: Union[
ExchangeLanNetworkServiceConfigRequest,
P2PNetworkServiceConfigRequest,
P2MPNetworkServiceConfigRequest,
MP2MPNetworkServiceConfigRequest,
CloudNetworkServiceConfigRequest,
] = Field(
...,
description='Polymorhic Network Service Config Request',
discriminator='type',
title='NetworkServiceConfigRequest',
)
class NetworkServiceConfigUpdate(
RootModel[
Union[
ExchangeLanNetworkServiceConfigUpdate,
P2PNetworkServiceConfigUpdate,
P2MPNetworkServiceConfigRequest,
MP2MPNetworkServiceConfigRequest,
CloudNetworkServiceConfigUpdate,
]
]
):
root: Union[
ExchangeLanNetworkServiceConfigUpdate,
P2PNetworkServiceConfigUpdate,
P2MPNetworkServiceConfigRequest,
MP2MPNetworkServiceConfigRequest,
CloudNetworkServiceConfigUpdate,
] = Field(
...,
description='Polymorphic Network Service Config',
discriminator='type',
title='NetworkServiceConfigUpdate',
)
class NetworkServiceDeleteResponse(
RootModel[
Union[
P2PNetworkService,
P2MPNetworkService,
MP2MPNetworkService,
CloudNetworkService,
]
]
):
root: Union[
P2PNetworkService, P2MPNetworkService, MP2MPNetworkService, CloudNetworkService
] = Field(
...,
description='Polymorphic Network Service Request',
discriminator='type',
title='NetworkServiceDeleteResponse',
)
class AccountsGetResponse(RootModel[List[Account]]):
root: List[Account]
class NetworkFeatureConfigsGetResponse(RootModel[List[NetworkFeatureConfig]]):
root: List[NetworkFeatureConfig]
class NetworkServiceConfigsGetResponse(RootModel[List[NetworkServiceConfig]]):
root: List[NetworkServiceConfig]
class NetworkServicesGetResponse(RootModel[List[NetworkService]]):
root: List[NetworkService]