state.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package types
  2. import "time"
  3. const DefaultCurrentStateFile = "current_state.json"
  4. type TFResourceStatus string
  5. const (
  6. TFResourcePlannedCreate TFResourceStatus = "planned_create"
  7. TFResourcePlannedDelete TFResourceStatus = "planned_delete"
  8. TFResourcePlannedUpdate TFResourceStatus = "planned_update"
  9. TFResourceCreated TFResourceStatus = "created"
  10. TFResourceCreating TFResourceStatus = "creating"
  11. TFResourceUpdating TFResourceStatus = "updating"
  12. TFResourceDeleting TFResourceStatus = "deleting"
  13. TFResourceDeleted TFResourceStatus = "deleted"
  14. TFResourceErrored TFResourceStatus = "errored"
  15. )
  16. type TFResourceState struct {
  17. CreatedAt time.Time `json:"created_at"`
  18. UpdatedAt time.Time `json:"updated_at"`
  19. ID string `json:"id"`
  20. Status TFResourceStatus `json:"status"`
  21. Error *string `json:"error"`
  22. }
  23. type TFResourceStateEntry struct {
  24. *TFResourceState
  25. PushedAt time.Time `json:"pushed_at"`
  26. }
  27. type TFStateStatus string
  28. const (
  29. TFStateStatusCreated = "created"
  30. TFStateStatusDeleted = "deleted"
  31. TFStateStatusErrored = "errored"
  32. )
  33. type TFState struct {
  34. LastUpdated time.Time `json:"last_updated"`
  35. OperationID string `json:"operation_id"`
  36. Status TFStateStatus `json:"status"`
  37. Resources map[string]*TFResourceState `json:"resources"`
  38. }
  39. type GetLogsResponse struct {
  40. Logs []string `json:"logs"`
  41. }
  42. const OperationScope = "operation"