Metadata-Version: 2.1
Name: cnd-event-logger
Version: 0.1.3
Summary: The definitive tools to log event when you build IaaS
Home-page: https://changendevops.com
Author: Denis FABIEN
Author-email: denis.fabien@changendevops.com
License: MIT/X11
Project-URL: Documentation, https://changendevops.com
Project-URL: Source, https://gitlab.com/changendevops/iaasinventory/cndeventlogger.git
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
Requires-Dist: expects
Requires-Dist: mockito
Requires-Dist: python-consul
Requires-Dist: pyyaml
Requires-Dist: cndprint
Requires-Dist: mamba
Requires-Dist: twine

# Event and data generator for IaaSInventory


# What is CndEventLogger ?

CndEventLogger is a python lib to help you to log IaaS event and inventory in a consul server. Later you can create a script or user CndEyes application to consolidate all data.

# How it's works

## Event logger

```
event = CndEvent(host, port, token, protocol)
```

### Deployment start and finish

When a deployment start
```
event.deployment_start(
    deployment_id=deployment_id, 
    service=service, 
    deployment_name=deployment_name, 
    project=project, 
    source=source
)
```

When a deployment finish
```
event.deployment_end(
    success=success, 
    deployment_id=deployment_id, 
    service=service, 
    deployment_name=deployment_name, 
    source=source, 
    project=project
)
```
---

### Host start and finish

When a host start to build
```
event.host_start(
    host_id=host_id, 
    hostname=hostname, 
    tiers=tiers, 
    deployment_id=deployment_id, 
    source=source, 
    domain=domain
)
```

When a host finish to build
```
event.host_end(
    success=success,
    host_id=host_id,
    hostname=hostname,
    tiers=tiers,
    deployment_id=deployment_id,
    source=source,
    domain=domain
)
```
---
### Workflow start and finish

When a workflow start to build
```
event.host_workflow_start(
    workflow_id=workflow_id, 
    application=application,
    name=name,
    domain=domain,
    hostname=hostname
)
```

When a workflow finish to build
```
event.host_workflow_end(
    success=success,
    workflow_id=workflow_id, 
    application=application,
    name=name,
    domain=domain,
    hostname=hostname
)
```
---

## Inventory logger

```
inv = CndInventory(host, port, token, protocol)
```

### vRA vm
```
inv.vra(
    uuid=host_uuid, 
    hostname=hostname,
    domain=domain,
    tiers=tiers,
    datacenter=datacenter,
    deployment_id=deployment_id,
    source=source,
    cloud_account=cloud_account,
    cpu=cpu,
    memory=memory,
    os_type=os_type,
    software_name=software_name,
    power_state=power_state,
    tags=tags,
    item_updated_at=item_updated_at,
    item_created_at=item_created_at
)
```
---
### Application
```
inv.app(
    source=source,
    uuid=uuid, 
    domain=domain,
    hostname=hostname,
    deleted=deleted
)
```
---
# Data from vra/vcenter like
## Vra
### Naming
```
iaas_inventory/hosts/<source>/<hostname>/
```
### Content
```
uuid: string
deleted: boolean
datacenter: string
cloud_account: string
cpu: integer
memory: integer
os_type: string
software_name: string
power_state: boolean
item_created_at: datetime
item_updated_at: datetime
tags: array
```

## Application
### Naming
```
iaas_inventory/app/<application-name>/<hostname>/
```
### Content
```
uuid: string
deleted: boolean
```

# Data from event
## Host
### To start event logging
path
```
iaas_inventory/events/host/<hostname>/start
```
content
```
start_at: datetime
tiers: string
deployment_id: string
```

### To finish event logging
path
```
iaas_inventory/events/host/<hostname>/end
```
content
```
end_at: datetime
tiers: string
deployment_id: string
```

## Deployments
### To start event logging
path
```
iaas_inventory/events/deployment/<deployment-id>/start
```
content
```
start_at: datetime
service: string
deployment_name: string
source: string
```

### To finish event logging
path
```
iaas_inventory/events/deployment/<deployment-id>/end
```
content
```
end_at: datetime
service: string
deployment_name: string
source: string
```

## Workflow
### To start event logging
path
```
iaas_inventory/events/workflow/<workflow-id>/start
```
content
```
workflow_name: string
application: string
start_at: datetime
deployment_id: string
```

### To finish event logging
path
```
iaas_inventory/events/workflow/<workflow-id>/end
```
content
```
workflow_name: string
application: string
end_at: datetime
deployment_id: string
```
