You can use event topics as part of Event Broker subscriptions to define lifecycle extensibility.
To select the most appropriate event topic, it is important to evaluate if the event is triggered at the right step of the process and if it carries the payload necessary to perform the extensibility operation.
GitHub Repository: https://github.com/SimonSparksUK/Automation
Filename: Subscription-Sample.json
{
"id":"--INSERT-YOUR-GUID-HERE--",
"type":"RUNNABLE",
"eventTopicId":"--INSERT-YOUR-EVENT-TOPIC-ID-HERE--",
"name":"--INSERT-YOUR-EVENT-TOPIC-NAME-HERE--",
"ownerId":"admin",
"subscriberId":"service-account-vro-gateway-serviceaccount",
"blocking":false,
"description":"",
"criteria":"",
"constraints":{
"projectId":null
},
"timeout":0,
"broadcast":false,
"priority":10,
"disabled":false,
"system":false,
"contextual":false,
"runnableType":"extensibility.vro",
"runnableId":"--INSERT-YOUR-WORKFLOW-UNIQUE-ID-HERE--"
}All Possible Event Topics for Automation v9.x
| Name | Event Topic ID | Blockable | Publisher | Description |
|---|---|---|---|---|
| Approval Events | approval.events | Yes | Approval | Event is fired whenever some action triggered for approval |
| Compute allocation | compute.allocation.pre | Yes | Provisioning | Pre allocation for compute resources. Fired once for a cluster of machines |
| Compute gateway post provisioning | compute.gateway.provision.post | Yes | Provisioning | Fired after a Compute gateway resource is provisioned successfully |
| Compute gateway post removal | compute.gateway.removal.post | Yes | Provisioning | Compute gateway post removal event topic |
| Compute gateway provisioning | compute.gateway.provision.pre | Yes | Provisioning | Fired before a Compute gateway is being provisioned |
| Compute gateway removal | compute.gateway.removal.pre | Yes | Provisioning | Compute gateway removal event topic |
| Compute initial power on | compute.initial.power.on | Yes | Provisioning | Fired before a compute is powered on for the first time. Currently supported for vSphere. Events are sent for each machine in a cluster. |
| Compute nat post provisioning | compute.nat.provision.post | Yes | Provisioning | Fired after a compute nat resource is provisioned successfully |
| Compute nat post removal | compute.nat.removal.post | Yes | Provisioning | Fired after a compute nat resource is removed successfully |
| Compute nat provisioning | compute.nat.provision.pre | Yes | Provisioning | Fired before a compute nat is being provisioned |
| Compute nat removal | compute.nat.removal.pre | Yes | Provisioning | Fired before a compute nat is being removed |
| Compute post migration reconcile status | compute.post.migration.reconcile | No | Provisioning | Fired to publish details of reconciled VM post migration |
| Compute post provision | compute.provision.post | Yes | Provisioning | Fired after a compute resource gets provisioned. Events are sent for each machine in a cluster. |
| Compute post removal | compute.removal.post | Yes | Provisioning | Fired after a compute resource destroyed successfully. Events are sent for each machine in a cluster. |
| Compute provision | compute.provision.pre | Yes | Provisioning | Fired before a compute resource is being provisioned. Events are sent for each machine in a cluster. |
| Compute removal | compute.removal.pre | Yes | Provisioning | Fired before a compute resource is being destroyed. Events are sent for each machine in a cluster. |
| Compute reservation | compute.reservation.pre | Yes | Provisioning | Pre reservation for compute resources. Fired once for a cluster of machines |
| Custom resource post provision | custom.resource.provision.post | Yes | XaaS | Custom resource topic for post provision events |
| Custom resource pre provision | custom.resource.provision.pre | Yes | XaaS | Custom resource topic for pre provision events |
| Deployment action completed | deployment.action.post | Yes | Deployment | Event is fired after a deployment Day 2 action is executed |
| Deployment action requested | deployment.action.pre | Yes | Deployment | Event is fired before a deployment Day 2 action is executed |
| Deployment completed | deployment.request.post | Yes | Deployment | Event is fired after a deployment is provisioned for both template and catalog requests |
| Deployment onboarded | relocation-service.deployment.onboarded | No | Relocation | Emitted when a new deployment is onboarded. |
| Deployment requested | deployment.request.pre | Yes | Deployment | Event is fired before a deployment is provisioned for both template and catalog requests |
| Deployment resource action completed | deployment.resource.action.post | Yes | Deployment | Event is fired after a deployment resource Day 2 action is executed. Sent for each resource in a cluster. |
| Deployment resource action requested | deployment.resource.action.pre | Yes | Deployment | Event is fired before a deployment resource Day 2 action is executed. Sent for each resource in a cluster. |
| Deployment resource completed | deployment.resource.request.post | Yes | Deployment | Event is fired after a deployment resource is provisioned. Sent for each resource in a cluster except for Allocation resources. |
| Deployment resource requested | deployment.resource.request.pre | Yes | Deployment | Event is fired before a deployment resource is provisioned after allocation. Sent for each resource in a cluster except for Allocation resources. |
| Disk allocation | disk.allocation.pre | Yes | Provisioning | Pre allocation for disk resources |
| Disk attach | disk.attach.pre | Yes | Provisioning | Fired before a disk is attached to a machine and is a read/write event. Disk Properties supported for write back are: [1] diskFullPaths, [2] diskDatastoreNames and [3] diskParentDirs. All three vsphere specific disk properties are required together for update. Rest of the properties are read-only. Note: Write back is optional for Vsphere First class disk. |
| Disk detach | disk.detach.post | Yes | Provisioning | Fired after a disk is detached from a machine and is a read-only event. |
| Disk post Removal | disk.removal.post | Yes | Provisioning | Fired after a disk resource is deleted successfully |
| Disk post resize | disk.resize.post | Yes | Provisioning | Fired after a disk resources is resized successfully |
| IaaS resource event | iaas.resource.event | No | Catalog | Topic where IaaS resource events are broadcast |
| Load balancer post provision | load.balancer.provision.post | Yes | Provisioning | Load balancer post provisioning event topic |
| Load balancer post removal | load.balancer.removal.post | Yes | Provisioning | Load balancer post removal event topic |
| Load balancer provision | load.balancer.provision.pre | Yes | Provisioning | Load balancer pre provisioning event topic |
| Load balancer removal | load.balancer.removal.pre | Yes | Provisioning | Load balancer pre removal event topic |
| Network Configure | network.configure | Yes | Provisioning | Network configuration during compute allocation. Fired once for a cluster of machines. |
| Network post provisioning | network.provisioning.post | Yes | Provisioning | Fired after a network resource is provisioned successfully |
| Network post removal | network.removal.post | Yes | Provisioning | Fired after a network resource is removed successfully |
| Network provisioning | network.provisioning.pre | Yes | Provisioning | Fired before a compute network is being provisioned |
| Network removal | network.removal.pre | Yes | Provisioning | Fired before a network resource is being destroyed |
| Post unregister provisioned compute | unregister.provisioned.compute.post | Yes | Provisioning | Fired after a provisioned machine is unregistered |
| Pre unregister provisioned compute | unregister.provisioned.compute.pre | Yes | Provisioning | Fired before a provisioned machine is unregistered |
| Project Lifecycle Event Topic | project-service.project.lifecycle | No | Project | Emitted when a project is created, updated or deleted. |
| Provider resource action cud | provider.resource.action.cud | No | Catalog | Emitted when a resource action is created, updated or deleted. |
| Provisioning request | provisioning.request.pre | Yes | Provisioning | Fired when a request comes into provisioning service. That may be a request to allocate, provision or a Day2 operation including removal. Allocation requests are fired once per cluster of machines. Provisioning and Day 2 requests are fired for each machine in a cluster. |
| Security group post provision | security.group.provision.post | Yes | Provisioning | Fired after a security group gets provisioned |
| Security group post removal | security.group.removal.post | Yes | Provisioning | Fired after a security group is deleted |
| Security group provision | security.group.provision.pre | Yes | Provisioning | Fired before a security group is being provisioned |
| Security group removal | security.group.removal.pre | Yes | Provisioning | Fired before a security group is being deleted |
| Template configuration | blueprint.configuration | No | Blueprint | Topic for template configuration events like create/delete |
| Template version configuration | blueprint.version.configuration | No | Blueprint | Topic for template versioning events like create/release/un-release/restore |
Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
