Skip to main content
Glama

IX-API MCP Server

models.py285 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]

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ag2-mcp-servers/ix-api'

If you have feedback or need assistance with the MCP directory API, please join our Discord server