| geant_s_sid | `str`| GÉANT service ID associated with this trunk. |
| `geant_s_sid` | `str` | GÉANT service ID associated with this trunk. |
| iptrunk_description | `str`| A human-readable description of this trunk. |
| `iptrunk_description` | `str` | A human-readable description of this trunk. |
| iptrunk_type | `IptrunkType`| 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. |
| iptrunk_speed | `str`| should be of PhyPortCapacity type The speed of the trunk, measured per interface associated with it. |
| `iptrunk_speed` | `str` | should be of PhyPortCapacity type The speed of the trunk, measured per interface associated with it. |
| iptrunk_minimum_links | `int`| The minimum amount of links the trunk should consist of. |
| `iptrunk_minimum_links` | `int` | The minimum amount of links the trunk should consist of. |
| iptrunk_isis_metric | `int`| The IS-IS metric of this link |
| `iptrunk_isis_metric` | `int` | The IS-IS metric of this link |
| iptrunk_ipv4_network | `IPv4Network`| The IPv4 network used for this trunk. |
| `iptrunk_ipv4_network` | `IPv4Network` | The IPv4 network used for this trunk. |
| iptrunk_ipv6_network | `IPv6Network`| The IPv6 network used for this trunk. |
| `iptrunk_ipv6_network` | `IPv6Network` | The IPv6 network used for this trunk. |
| iptrunk_side_node | `DeviceBlock`| The router that hosts the A side of the trunk. |
| `iptrunk_side_node` | `DeviceBlock` | The router that hosts the A side of the trunk. |
| iptrunk_side_ae_iface | `str`| The name of the interface on which the trunk connects. |
| `iptrunk_side_ae_iface` | `str` | The name of the interface on which the trunk connects. |
| iptrunk_side_ae_geant_a_sid | `str`| The service ID of the interface. |
| `iptrunk_side_ae_geant_a_sid` | `str` | The service ID of the interface. |
| iptrunk_side_ae_members | `list[str] = Field(default_factory=list)` | A list of interface members that make up the aggregated Ethernet interface. |
| `iptrunk_side_ae_members` | `list[str]` | A list of interface members that make up the aggregated Ethernet interface. |
| iptrunk_side_ae_members_description | `list[str] = Field(default_factory=list)` | The list of descriptions that describe the list of interface members. |
| `iptrunk_side_ae_members_description` | `list[str]` | The list of descriptions that describe the list of interface members. |
| `site_name` | `str` | The name of the site, that will dictate part of the FQDN of routers that are hosted at this site.<br/>For example: `router.X.Y.geant.net`, where X denotes the name of the site. |
| `site_city` | `str` | The city at which the site is located. |
| `site_country` | `str` | The country in which the site is located. |
| `site_country_code` | `str` | The code of the corresponding country. This is also used for the FQDN,<br/>following the example for the site name, the country code goes in the Y position. |
| `site_latitude` | `LatitudeCoordinate` | The latitude of the site, used for SNMP. |
| `site_longitude` | `LongitudeCoordinate` | The longitude of the site, again for SNMP. |
| `site_internal_id` | `int` | The internal ID used within GÉANT for a site. |
| `site_bgp_community_id` | `int` | The BGP community ID of a site, used to advertise routes learned at this site. |
| `site_tier` | `SiteTier` | The tier of a site, which corresponds to installed equipment. |
| `site_ts_address` | `IPv4Address` | The address of the terminal server hosted at this site.<br/>It is used for out of band access to any equipment hosted here. |
## Workflows
The Site subscription has three basic workflows: creation, modification, and
termination.
### Creation
The `create_site` workflow creates a new site object in the service database,
and sets the subscription lifecycle to `ACTIVE`. The attributes that are input
using the intake form of the workflow are stored, and nothing else happens.
### Modification
Attributes of an existing site can be modified using the `modify_site` workflow.
As a result, other subscriptions that rely on this site will have referenced
attributes updated as well.
!!! warning
Be aware that although this *does* update attributes in the services
database, it does **not** update any active subscription instances that are
already deployed. You will need to run additional workflows to update
subscriptions that depend on this change
### Termination
The `terminate_site` workflow will take an existing and active site
subscription from an `ACTIVE` to a `TERMINATED` state. This requires all
dependant subscription instances to already be terminated. If this is not
the case, the workflow will be unavailable for an operator to run, accompanied