diff --git a/gso/products/product_blocks/iptrunk.py b/gso/products/product_blocks/iptrunk.py index bab3f4494fd0f40063eecbdc260652f62a6df9f2..3eb992d189955e52ea7ee3fce27c55658fd98f1c 100644 --- a/gso/products/product_blocks/iptrunk.py +++ b/gso/products/product_blocks/iptrunk.py @@ -85,20 +85,21 @@ class IptrunkBlockProvisioning(IptrunkBlockInactive, lifecycle=[SubscriptionLife class IptrunkBlock(IptrunkBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]): """A trunk that's currently deployed in the network.""" + #: GÉANT service ID associated with this trunk. geant_s_sid: str - """GÉANT service ID associated with this trunk. """ + #: A human-readable description of this trunk. iptrunk_description: str - """A human-readable description of this trunk.""" + #: The type of trunk, can be either dark fibre or leased capacity. iptrunk_type: IptrunkType - """The type of trunk, can be either dark fibre or leased capacity.""" + #: The speed of the trunk, measured per interface associated with it. iptrunk_speed: str # FIXME: should be of PhyPortCapacity type - """The speed of the trunk, measured per interface associated with it.""" + #: The minimum amount of links the trunk should consist of. iptrunk_minimum_links: int - """The minimum amount of links the trunk should consist of.""" + #: The :term:`IS-IS` metric of this link iptrunk_isis_metric: int - """The :term:`IS-IS` metric of this link""" + #: The IPv4 network used for this trunk. iptrunk_ipv4_network: ipaddress.IPv4Network - """The IPv4 network used for this trunk.""" + #: The IPv6 network used for this trunk. iptrunk_ipv6_network: ipaddress.IPv6Network - """The IPv6 network used for this trunk.""" + #: The two sides that the trunk is connected to. iptrunk_sides: IptrunkSides[IptrunkSideBlock] diff --git a/gso/products/product_blocks/router.py b/gso/products/product_blocks/router.py index 731da45f1e9a4ddb576f762a78cdf2b7aa7446c3..58cf1d3602ffe3a10bc226f71064c88286a0bbf4 100644 --- a/gso/products/product_blocks/router.py +++ b/gso/products/product_blocks/router.py @@ -68,29 +68,29 @@ class RouterBlockProvisioning(RouterBlockInactive, lifecycle=[SubscriptionLifecy class RouterBlock(RouterBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]): """A router that's currently deployed in the network.""" + #: :term:`FQDN` of a router. router_fqdn: str - """:term:`FQDN` of a router.""" + #: The port of the terminal server that this router is connected to. Used to offer out of band access. router_ts_port: PortNumber - """The port of the terminal server that this router is connected to. Used to offer out of band access.""" + #: Whether this router should be accessed through the terminal server, or through its loopback address. router_access_via_ts: bool - """Whether this router should be accessed through the terminal server, or through its loopback address.""" + #: The IPv4 loopback address of the router. router_lo_ipv4_address: ipaddress.IPv4Address - """The IPv4 loopback address of the router.""" + #: The IPv6 loopback address of the router. router_lo_ipv6_address: ipaddress.IPv6Address - """The IPv6 loopback address of the router.""" + #: The :term:`ISO` :term:`NET` of the router, used for :term:`IS-IS` support. router_lo_iso_address: str - """The :term:`ISO` :term:`NET` of the router, used for :term:`IS-IS` support.""" + #: The SI IPv4 network of the router. router_si_ipv4_network: ipaddress.IPv4Network | None - """The SI IPv4 network of the router.""" + #: The IAS LT IPv4 network of the router. router_ias_lt_ipv4_network: ipaddress.IPv4Network | None - """The IAS LT IPv4 network of the router.""" + #: The IAS LT IPv6 network of the router. router_ias_lt_ipv6_network: ipaddress.IPv6Network | None - """The IAS LT IPv6 network of the router.""" + #: The vendor of the router, can be any of the values defined in :class:`RouterVendor`. router_vendor: RouterVendor - """The vendor of the router, can be any of the values defined in :class:`RouterVendor`.""" + #: The role of the router, which can be any of the values defined in :class:`RouterRole`. router_role: RouterRole - """The role of the router, which can be any of the values defined in :class:`RouterRole`.""" + #: The :class:`Site` that this router resides in. Both physically and computationally. router_site: SiteBlock - """The :class:`Site` that this router resides in. Both physically and computationally.""" + #: The router is going to have a LT interface between inet0 and IAS router_is_ias_connected: bool - """The router is going to have a LT interface between inet0 and IAS""" diff --git a/gso/products/product_blocks/site.py b/gso/products/product_blocks/site.py index 25eb144e1a7539f5f224325b429dcb924a7f74ef..74f4cf25dd1266424e222f301439a0a9f3dde694 100644 --- a/gso/products/product_blocks/site.py +++ b/gso/products/product_blocks/site.py @@ -51,27 +51,27 @@ class SiteBlockProvisioning(SiteBlockInactive, lifecycle=[SubscriptionLifecycle. class SiteBlock(SiteBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]): """A site that's currently available for routers and services to be hosted at.""" + #: The name of the site, that will dictate part of the :term:`FQDN` of routers that are hosted at this site. For + #: example: ``router.X.Y.geant.net``, where X denotes the name of the site. site_name: str - """The name of the site, that will dictate part of the :term:`FQDN` of routers that are hosted at this site. For - example: ``router.X.Y.geant.net``, where X denotes the name of the site.""" + #: The city at which the site is located. site_city: str - """The city at which the site is located.""" + #: The country in which the site is located. site_country: str - """The country in which the site is located.""" + #: The code of the corresponding country. This is also used for the :term:`FQDN`, following the example given for + #: the site name, the country code would end up in the Y position. site_country_code: str - """The code of the corresponding country. This is also used for the :term:`FQDN`, following the example given for - the site name, the country code would end up in the Y position.""" + #: The latitude of the site, used for :term:`SNMP` purposes. site_latitude: LatitudeCoordinate - """The latitude of the site, used for :term:`SNMP` purposes.""" + #: Similar to the latitude, the longitude of a site. site_longitude: LongitudeCoordinate - """Similar to the latitude, the longitude of a site.""" + #: The internal ID used within GÉANT to denote a site. site_internal_id: int - """The internal ID used within GÉANT to denote a site.""" + #: The :term:`BGP` community ID of a site, used to advertise routes learned at this site. site_bgp_community_id: int - """The :term:`BGP` community ID of a site, used to advertise routes learned at this site.""" + #: The tier of a site, as described in :class:`SiteTier`. site_tier: SiteTier - """The tier of a site, as described in :class:`SiteTier`.""" + #: The address of the terminal server that this router is connected to. The terminal server provides out of band + #: access. This is required in case a link goes down, or when a router is initially added to the network and it + #: does not have any IP trunks connected to it yet. site_ts_address: str | None = None - """The address of the terminal server that this router is connected to. The terminal server provides out of band - access. This is required in case a link goes down, or when a router is initially added to the network and it does - not have any IP trunks connected to it yet."""