---
title: MatterAddDeviceRequest.Topology
framework: mattersupport
role: symbol
role_heading: Structure
path: mattersupport/matteradddevicerequest/topology-swift.struct
---

# MatterAddDeviceRequest.Topology

Information describing the properties of the ecosystem.

## Declaration

```swift
struct Topology
```

## Overview

Overview The topology of a fabric consists of its homes, rooms, and devices. The number of homes included in this class determines whether the setup presents a home selection step. If there are two or more homes, the user selects one home to add the device to.

## Topics

### Creating the topology

- [init(from:)](mattersupport/matteradddevicerequest/init(from:).md)
- [init(ecosystemName:homes:)](mattersupport/matteradddevicerequest/topology-swift.struct/init(ecosystemname:homes:).md)

### Getting the properties

- [ecosystemName](mattersupport/matteradddevicerequest/topology-swift.struct/ecosystemname.md)
- [homes](mattersupport/matteradddevicerequest/topology-swift.struct/homes.md)

## Relationships

### Conforms To

- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Setting up the request

- [MatterAddDeviceRequest.Home](mattersupport/matteradddevicerequest/home.md)
- [MatterAddDeviceRequest.Room](mattersupport/matteradddevicerequest/room.md)
- [setupPayload](mattersupport/matteradddevicerequest/setuppayload.md)
- [topology](mattersupport/matteradddevicerequest/topology-swift.property.md)
