    struct StructureUserManagementTrait

    extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait : Copyable, CustomStringConvertible, Equatable, Escapable, Hashable, Sendable, Trait, TraitEncodable

Undocumented
- `


  ### [identifier](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV10identifierSSvpZ)


  ` The trait identifier.

  #### Declaration

  Swift

      static let identifier: String

- `


  ### [supportedEventTypes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV014supportedEventC0Say0aB3SDK0I0_pXpGvpZ)


  ` List of all event types on the given Trait.

  Currently, only `MatterTrait` traits support any events, but this will likely expand to other
  traits in the future.

  #### Declaration

  Swift

      static let supportedEventTypes: [any Event.Type]

- `


  ### [supportedCommandTypes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV016supportedCommandC0Say0aB3SDK0I0_pXpGvpZ)


  ` List of all commands supported by the Trait's definition. The commands supported by a specific
  Trait instance may vary.

  #### Declaration

  Swift

      static var supportedCommandTypes: [any Command.Type] { get }

- `


  ### [metadata](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV8metadata0aB3SDK0G8MetadataVvp)


  ` Metadata about this `Trait`.

  #### Declaration

  Swift

      let metadata: TraitMetadata

- `


  ### [attributes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV10attributesAE10AttributesVvp)


  ` Undocumented

  #### Declaration

  Swift

      let attributes: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/Attributes.html

- `


  ### [init(decoder:interactionProxy:metadata:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV7decoder16interactionProxy8metadataAE0aB3SDK0G7DecoderV_AI011InteractionJ0_pSgAI0G8MetadataVtKcfc)


  ` Creates a new Trait instance using data read from the given `TraitDecoder`.
  Throws
  `HomeError.parseError` when parsing fails.

  #### Declaration

  Swift

      init(decoder: TraitDecoder, interactionProxy: (any InteractionProxy)?, metadata: TraitMetadata) throws

  #### Parameters

  |---|---|
  | ` decoder ` | The raw data representing this Trait. |
  | ` interactionProxy ` | Proxy to the Interaction Client. |
  | ` metadata ` | Metadata about this Trait. |

- `


  ### [init(interactionProxy:metadata:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV16interactionProxy8metadataAE0aB3SDK011InteractionI0_p_AH0G8MetadataVtcfc)


  ` Undocumented

  #### Declaration

  Swift

      init(interactionProxy: any InteractionProxy, metadata: TraitMetadata = TraitMetadata())

- `


  ### [encode(with:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV6encode4withy0aB3SDK0G7EncoderC_tKF)


  ` Writes this object to the given `TraitEncoder`.
  Throws `HomeError.encodingFailed` if the data could not be encoded.

  #### Declaration

  Swift

      func encode(with encoder: TraitEncoder) throws

- `


  ### [==(_:_:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV2eeoiySbAE_AEtFZ)


  ` Returns a Boolean value indicating whether two values are equal.

  Equality is the inverse of inequality. For any values `a` and `b`,
  `a == b` implies that `a != b` is `false`.

  #### Declaration

  Swift

      static func == (lhs: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait, rhs: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait) -> Bool

  #### Parameters

  |---|---|
  | ` lhs ` | A value to compare. |
  | ` rhs ` | Another value to compare. |

- `


  ### [hash(into:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV4hash4intoys6HasherVz_tF)


  ` Hashes the essential components of this value by feeding them into the
  given hasher.

  Implement this method to conform to the `Hashable` protocol. The
  components used for hashing must be the same as the components compared
  in your type's `==` operator implementation. Call `hasher.combine(_:)`
  with each of these components.
  Important

  In your implementation of `hash(into:)`,
  don't call `finalize()` on the `hasher` instance provided,
  or replace it with a different instance.
  Doing so may become a compile-time error in the future.

  #### Declaration

  Swift

      func hash(into hasher: inout Hasher)

- `


  ### [Attributes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/Attributes.html)


  ` Undocumented

  #### Declaration

  Swift

      struct Attributes

      extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html.Attributes : Copyable, Equatable, Escapable, Hashable, Sendable

- `


  ### [UserMetadata](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/UserMetadata.html)


  ` Undocumented

  #### Declaration

  Swift

      struct UserMetadata

      extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html.UserMetadata : AutomationValue, DefaultConstructible, Equatable, Hashable, Sendable, StructDataRepresentable

- `


  ### [InvitationDetails](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/InvitationDetails.html)


  ` Undocumented

  #### Declaration

  Swift

      struct InvitationDetails

      extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html.InvitationDetails : AutomationValue, DefaultConstructible, Equatable, Hashable, Sendable, StructDataRepresentable

- `


  ### [UserRole](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/UserRole.html)


  ` Undocumented

  #### Declaration

  Swift

      enum UserRole

      extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html.UserRole : AutomationValue, Enum, Enum32, Equatable, Hashable, PlatformEnum, RawRepresentable, Sendable

- `


  ### [InvitationStatus](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/InvitationStatus.html)


  ` Undocumented

  #### Declaration

  Swift

      enum InvitationStatus

      extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html.InvitationStatus : AutomationValue, Enum, Enum32, Equatable, Hashable, PlatformEnum, RawRepresentable, Sendable

- `


  ### [ListUsersInStructureRequest](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV011ListUsersInD7Requesta)


  ` Undocumented

  #### Declaration

  Swift

      typealias ListUsersInStructureRequest = https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/ListUsersInStructure.html.Request

- `


  ### [ListUsersInStructureResponse](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV011ListUsersInD8Responsea)


  ` Undocumented

  #### Declaration

  Swift

      typealias ListUsersInStructureResponse = https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/ListUsersInStructure.html.Response

- `


  ### [ListUsersInStructure](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/ListUsersInStructure.html)


  ` Undocumented

  #### Declaration

  Swift

      struct ListUsersInStructure

      extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html.ListUsersInStructure : Command, Sendable

- `


  ### [listUsersInStructure(structureId:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV011listUsersInD011structureIdAE04ListijD0V8ResponseVSSSg_tYaKF)


  `

  #### Declaration

  Swift

      func listUsersInStructure(structureId: String? = nil) async throws -> https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV011ListUsersInD8Responsea

  #### Parameters

  |---|---|
  | ` structureId ` | <br /> |

- `


  ### [listUsersInStructure(structureId:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV011listUsersInD011structureId0aB3SDK17AutomationCommandVSSSg_tFZ)


  ` Undocumented

  #### Declaration

  Swift

      static func listUsersInStructure(structureId: String?) -> AutomationCommand

- `


  ### [RemoveUserRequest](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV06RemoveE7Requesta)


  ` Undocumented

  #### Declaration

  Swift

      typealias RemoveUserRequest = https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/RemoveUser.html.Request

- `


  ### [RemoveUser](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/RemoveUser.html)


  ` Undocumented

  #### Declaration

  Swift

      struct RemoveUser

      extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html.RemoveUser : Command, Sendable

- `


  ### [removeUser(structureId:obfuscatedUserId:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV06removeE011structureId010obfuscatedeJ0ySSSg_AItYaKF)


  `

  #### Declaration

  Swift

      func removeUser(structureId: String? = nil, obfuscatedUserId: String? = nil) async throws

  #### Parameters

  |---|---|
  | ` structureId ` | <br /> |
  | ` obfuscatedUserId ` | <br /> |

- `


  ### [removeUser(structureId:obfuscatedUserId:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV06removeE011structureId010obfuscatedeJ00aB3SDK17AutomationCommandVSSSg_ALtFZ)


  ` Undocumented

  #### Declaration

  Swift

      static func removeUser(structureId: String?, obfuscatedUserId: String?) -> AutomationCommand

- `


  ### [CreateInvitationRequest](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV23CreateInvitationRequesta)


  ` Undocumented

  #### Declaration

  Swift

      typealias CreateInvitationRequest = https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/CreateInvitation.html.Request

- `


  ### [CreateInvitationResponse](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV24CreateInvitationResponsea)


  ` Undocumented

  #### Declaration

  Swift

      typealias CreateInvitationResponse = https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/CreateInvitation.html.Response

- `


  ### [CreateInvitation](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/CreateInvitation.html)


  ` Undocumented

  #### Declaration

  Swift

      struct CreateInvitation

      extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html.CreateInvitation : Command, Sendable

- `


  ### [createInvitation(intendedUserRole:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV16createInvitation08intendedE4RoleAE06CreateI0V8ResponseVAE0eK0OSg_tYaKF)


  `

  #### Declaration

  Swift

      func createInvitation(intendedUserRole: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/UserRole.html? = nil) async throws -> https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV24CreateInvitationResponsea

  #### Parameters

  |---|---|
  | ` intendedUserRole ` | <br /> |

- `


  ### [createInvitation(intendedUserRole:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV16createInvitation08intendedE4Role0aB3SDK17AutomationCommandVAE0eK0OSg_tFZ)


  ` Undocumented

  #### Declaration

  Swift

      static func createInvitation(intendedUserRole: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/UserRole.html?) -> AutomationCommand

- `


  ### [RevokeInvitationRequest](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV23RevokeInvitationRequesta)


  ` Undocumented

  #### Declaration

  Swift

      typealias RevokeInvitationRequest = https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/RevokeInvitation.html.Request

- `


  ### [RevokeInvitation](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/RevokeInvitation.html)


  ` Undocumented

  #### Declaration

  Swift

      struct RevokeInvitation

      extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html.RevokeInvitation : Command, Sendable

- `


  ### [revokeInvitation(invitationId:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV16revokeInvitation12invitationIdySSSg_tYaKF)


  `

  #### Declaration

  Swift

      func revokeInvitation(invitationId: String? = nil) async throws

  #### Parameters

  |---|---|
  | ` invitationId ` | <br /> |

- `


  ### [revokeInvitation(invitationId:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV16revokeInvitation12invitationId0aB3SDK17AutomationCommandVSSSg_tFZ)


  ` Undocumented

  #### Declaration

  Swift

      static func revokeInvitation(invitationId: String?) -> AutomationCommand

- `


  ### [ListInvitationsResponse](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV23ListInvitationsResponsea)


  ` Undocumented

  #### Declaration

  Swift

      typealias ListInvitationsResponse = https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/ListInvitations.html.Response

- `


  ### [ListInvitations](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait/ListInvitations.html)


  ` Undocumented

  #### Declaration

  Swift

      struct ListInvitations

      extension https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html.ListInvitations : Command, Sendable

- `


  ### [listInvitations()](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV15listInvitationsAE04ListI0V8ResponseVyYaKF)


  ` Undocumented

  #### Declaration

  Swift

      func listInvitations() async throws -> https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google.html.StructureUserManagementTrait.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait.html#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV23ListInvitationsResponsea

- `


  ### [listInvitations()](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Google/StructureUserManagementTrait#/s:15GoogleHomeTypes0A0O28StructureUserManagementTraitV15listInvitations0aB3SDK17AutomationCommandVyFZ)


  ` Undocumented

  #### Declaration

  Swift

      static func listInvitations() -> AutomationCommand