---
# System prepended metadata

title: IXBus Topic life Cycle
tags: [AT&T]

---

---
tags: AT&T
--- 





# IXBus Topic life Cycle


```plantuml

state Active {
  [*] -> Private   
  Public -> Private : unpublish
  
  Private -> Public : Publish
}

state Deprecated  { 
    State "Public" as D.Public {
    }
    State "Private" as D.Private {
    }
    D.Public -> D.Private : UnPublish
}

[*] -> Active : Create
Deleted -> [*]
Active <- Active : Update
Active ---> Deprecated : Deprecate
Deprecated -> Deleted : Delete
Active <- Deprecated : Restore
Active -> Deleted : Delete

```

### Events to Purina

1. When unpulishing then IxBus Emits "delete" Event
2. Any Delete event Emits "delete" Events
3. Restore, Depecate, update and publish events emits "upsert" event.  

### Publishing to Purina

#### Terminology Alignment

| IxBus | Purina | Notes |
| --- | --- | --- | 
| Active | Live | 
| Deprecated | Deprecated | No New Associations |
| Deleted | Obsolete | 

#### Operations

1. Initialy only an Active topic can be published. 
2. When Deprecating a topic, an update Event will be emitted to Purina, Association in that case is not enabled. 
3. 

## IXBUS Lifecycle detailed

```plantuml


[*] -> Created.Private
Created.Private -> Created.Public : Publish
Deleted -> [*]
Created.Private <- Created.Private : Update
Created.Public <- Created.Public : Update
Created.Public ---> Deprecated : Deprecate
Created.Private ---> Deprecated : Deprecate
Deprecated -> Deleted : Delete
Created.Private <- Deprecated : Restore
Created.Private -> Deleted : Delete
Created.Public -> Deleted : Delete
```


