Cyclops 4 HPC is the purpose built stack to support large HPC centers with resource accounting and billing of cluster as well as cloud resources.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
cyclops-4-hpc/services/customerdb/swagger.yaml

1537 lines
31 KiB

---
swagger: "2.0"
host: "localhost:8000"
basePath: "/api/v1.0"
info:
description: An API which supports creation, deletion, listing etc of customers and products
version: "1.0.0"
title: Customer Database Management API
contact:
email: diego@cyclops-labs.io
license:
name: Apache 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
tags:
- name: statusManagement
description: Actions relating to the reporting of the state of the service
- name: triggerManagement
description: Actions relating to the periodics actions to be triggered in the system
- name: resellerManagement
description: Actions relating to the management of Resellers
- name: customerManagement
description: Actions relating to the management of Customers
- name: productManagement
description: Actions relating to the management of Products
securityDefinitions:
APIKeyHeader:
type: apiKey
in: header
name: X-API-KEY
APIKeyParam:
type: apiKey
in: query
name: api_key
Keycloak:
type: oauth2
flow: accessCode
authorizationUrl: 'http://localhost:8080/auth/realms/Dev/protocol/openid-connect/auth'
tokenUrl: 'http://localhost:8080/auth/realms/Dev/protocol/openid-connect/token'
scopes:
admin: Admin scope
user: User scope
schemes:
- http
- https
security:
- Keycloak: [user,admin]
- APIKeyHeader: []
- APIKeyParam: []
paths:
/status:
get:
tags:
- statusManagement
produces:
- application/json
summary: Basic status of the system
security:
- Keycloak: [user]
- APIKeyHeader: []
- APIKeyParam: []
operationId: showStatus
responses:
'200':
description: Status information of the system
schema:
$ref: "#/definitions/Status"
/status/{id}:
get:
tags:
- statusManagement
produces:
- application/json
summary: Basic status of the system
security:
- Keycloak: [user]
- APIKeyHeader: []
- APIKeyParam: []
operationId: getStatus
responses:
'200':
description: Status information of the system
schema:
$ref: "#/definitions/Status"
'404':
description: The endpoint provided doesn't exist
schema:
$ref: "#/definitions/ErrorResponse"
parameters:
- name: id
in: path
type: string
enum:
- kafka-receiver
- kafka-sender
- status
- trigger
- customer
- product
- reseller
required: true
description: Id of the product to be retrieved
/trigger/sample:
get:
tags:
- triggerManagement
produces:
- application/json
summary: Sample task trigger
security:
- Keycloak: [user]
- APIKeyHeader: []
- APIKeyParam: []
operationId: execSample
responses:
'200':
description: Sample task executed successfully
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
/customer:
get:
tags:
- customerManagement
produces:
- application/json
summary: List all the customers in the system
security:
- Keycloak: [user]
- APIKeyHeader: []
- APIKeyParam: []
operationId: listCustomers
responses:
'200':
description: List of customers in the system returned
schema:
type: array
items:
$ref: "#/definitions/Customer"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
post:
tags:
- customerManagement
consumes:
- application/json
produces:
- application/json
summary: Insert a new customer in the system.
security:
- Keycloak: [admin]
- APIKeyHeader: []
- APIKeyParam: []
operationId: addCustomer
responses:
'201':
description: New customer was added successfully
schema:
$ref: "#/definitions/ItemCreatedResponse"
'202':
description: The new customer was added but there might have been some fails when adding part of the data
schema:
$ref: "#/definitions/ItemCreatedResponse"
'400':
description: Invalid input, object invalid
'409':
description: The given item already exists
schema:
$ref: "#/definitions/ErrorResponse"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
parameters:
- name: customer
in: body
description: Customer to be added
required: true
schema:
$ref: "#/definitions/Customer"
/customer/{id}:
get:
tags:
- customerManagement
produces:
- application/json
summary: Return the information about the customer with the given id
security:
- Keycloak: [user]
- APIKeyHeader: []
- APIKeyParam: []
operationId: getCustomer
responses:
'200':
description: Customer with the id given in the system returned
schema:
$ref: "#/definitions/Customer"
'404':
description: The customer with the given id wasn't found
schema:
$ref: "#/definitions/ErrorResponse"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
parameters:
- name: id
in: path
type: string
required: true
description: Id of the customer to be retrieved
put:
tags:
- customerManagement
consumes:
- application/json
produces:
- application/json
summary: Updates the information of the customer with the given id
security:
- Keycloak: [admin]
- APIKeyHeader: []
- APIKeyParam: []
operationId: updateCustomer
responses:
'200':
description: Customer with the given id was updated
schema:
$ref: "#/definitions/ItemCreatedResponse"
'202':
description: The customer was updated but there might have been some fails when adding part of the data
schema:
$ref: "#/definitions/ItemCreatedResponse"
'404':
description: The customer with the given id wasn't found
schema:
$ref: "#/definitions/ErrorResponse"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
parameters:
- name: id
in: path
type: string
required: true
description: Id of the customer to be updated
- name: customer
in: body
description: Customer to be updated
required: true
schema:
$ref: "#/definitions/Customer"
/product:
get:
tags:
- productManagement
produces:
- application/json
summary: List all the products in the system
security:
- Keycloak: [user]
- APIKeyHeader: []
- APIKeyParam: []
operationId: listProducts
responses:
'200':
description: List of products in the system returned
schema:
type: array
items:
$ref: "#/definitions/Product"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
post:
tags:
- productManagement
consumes:
- application/json
produces:
- application/json
summary: Insert a new product in the system.
security:
- Keycloak: [admin]
- APIKeyHeader: []
- APIKeyParam: []
operationId: addProduct
responses:
'201':
description: New product was added successfully
schema:
$ref: "#/definitions/ItemCreatedResponse"
'400':
description: Invalid input, object invalid
'409':
description: The given item already exists
schema:
$ref: "#/definitions/ErrorResponse"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
parameters:
- name: product
in: body
description: Product to be added
required: true
schema:
$ref: "#/definitions/Product"
/product/{id}:
get:
tags:
- productManagement
produces:
- application/json
summary: Return the information about the product with the given id
security:
- Keycloak: [user]
- APIKeyHeader: []
- APIKeyParam: []
operationId: getProduct
responses:
'200':
description: Product with the id given in the system returned
schema:
$ref: "#/definitions/Product"
'404':
description: The product with the given id wasn't found
schema:
$ref: "#/definitions/ErrorResponse"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
parameters:
- name: id
in: path
type: string
required: true
description: Id of the product to be retrieved
put:
tags:
- productManagement
consumes:
- application/json
produces:
- application/json
summary: Updates the information of the product with the given id
security:
- Keycloak: [admin]
- APIKeyHeader: []
- APIKeyParam: []
operationId: updateProduct
responses:
'200':
description: Product with the given id was updated
schema:
$ref: "#/definitions/ItemCreatedResponse"
'404':
description: The product with the given id wasn't found
schema:
$ref: "#/definitions/ErrorResponse"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
parameters:
- name: id
in: path
type: string
required: true
description: Id of the product to be updated
- name: product
in: body
description: Product to be updated
required: true
schema:
$ref: "#/definitions/Product"
/reseller:
get:
tags:
- resellerManagement
produces:
- application/json
summary: List all the resellers in the system
security:
- Keycloak: [user]
- APIKeyHeader: []
- APIKeyParam: []
operationId: listResellers
responses:
'200':
description: List of resellers in the system returned
schema:
type: array
items:
$ref: "#/definitions/Reseller"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
post:
tags:
- resellerManagement
consumes:
- application/json
produces:
- application/json
summary: Insert a new reseller in the system.
security:
- Keycloak: [admin]
- APIKeyHeader: []
- APIKeyParam: []
operationId: addReseller
responses:
'201':
description: New reseller was added successfully
schema:
$ref: "#/definitions/ItemCreatedResponse"
'202':
description: The new reseller was added but there might have been some fails when adding part of the data
schema:
$ref: "#/definitions/ItemCreatedResponse"
'400':
description: Invalid input, object invalid
'409':
description: The given item already exists
schema:
$ref: "#/definitions/ErrorResponse"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
parameters:
- name: reseller
in: body
description: Reseller to be added
required: true
schema:
$ref: "#/definitions/Reseller"
/reseller/{id}:
get:
tags:
- resellerManagement
produces:
- application/json
summary: Return the information about the reseller with the given id
security:
- Keycloak: [user]
- APIKeyHeader: []
- APIKeyParam: []
operationId: getReseller
responses:
'200':
description: Reseller with the id given in the system returned
schema:
$ref: "#/definitions/Reseller"
'404':
description: The reseller with the given id wasn't found
schema:
$ref: "#/definitions/ErrorResponse"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
parameters:
- name: id
in: path
type: string
required: true
description: Id of the reseller to be retrieved
put:
tags:
- resellerManagement
consumes:
- application/json
produces:
- application/json
summary: Updates the information of the reseller with the given id
security:
- Keycloak: [admin]
- APIKeyHeader: []
- APIKeyParam: []
operationId: updateReseller
responses:
'200':
description: Reseller with the given id was updated
schema:
$ref: "#/definitions/ItemCreatedResponse"
'202':
description: The reseller was updated but there might have been some fails when adding part of the data
schema:
$ref: "#/definitions/ItemCreatedResponse"
'404':
description: The reseller with the given id wasn't found
schema:
$ref: "#/definitions/ErrorResponse"
'500':
description: Something unexpected happend, error raised
schema:
$ref: "#/definitions/ErrorResponse"
parameters:
- name: id
in: path
type: string
required: true
description: Id of the reseller to be updated
- name: reseller
in: body
description: Reseller to be updated
required: true
schema:
$ref: "#/definitions/Reseller"
definitions:
ErrorResponse:
type: object
required:
- errorString
properties:
errorString:
type: string
ItemCreatedResponse:
properties:
Message:
type: string
ApiLink:
type: string
Status:
type: object
required:
- SystemState
properties:
AverageResponseTime:
type: number
format: double
DBState:
type: string
LastRequest:
type: string
RequestsBoT:
type: integer
RequestsLastHour:
type: integer
RequestsToday:
type: integer
SystemState:
type: string
Customer:
type: object
properties:
AbacusCode:
type: string
x-go-custom-tag: gorm:"default:''"
Address:
type: string
ApiLink:
type: string
x-go-custom-tag: gorm:"-"
Billable:
type: boolean
x-go-custom-tag: gorm:"default:true"
default: true
BillContact:
type: string
x-go-custom-tag: gorm:"default:''"
BillCurrency:
type: string
x-go-custom-tag: gorm:"default:CHF"
description: ISO-4217 currency code
default: CHF
enum:
- AED
- AFN
- ALL
- AMD
- ANG
- AOA
- ARS
- AUD
- AWG
- AZN
- BAM
- BBD
- BDT
- BGN
- BHD
- BIF
- BMD
- BND
- BOB
- BOV
- BRL
- BSD
- BTN
- BWP
- BYN
- BZD
- CAD
- CDF
- CHE
- CHF
- CHW
- CLF
- CLP
- CNY
- COP
- COU
- CRC
- CUC
- CUP
- CVE
- CZK
- DJF
- DKK
- DOP
- DZD
- EGP
- ERN
- ETB
- EUR
- FJD
- FKP
- GBP
- GEL
- GHS
- GIP
- GMD
- GNF
- GTQ
- GYD
- HKD
- HNL
- HRK
- HTG
- HUF
- IDR
- ILS
- INR
- IQD
- IRR
- ISK
- JMD
- JOD
- JPY
- KES
- KGS
- KHR
- KMF
- KPW
- KRW
- KWD
- KYD
- KZT
- LAK
- LBP
- LKR
- LRD
- LSL
- LYD
- MAD
- MDL
- MGA
- MKD
- MMK
- MNT
- MOP
- MRU
- MUR
- MVR
- MWK
- MXN
- MXV
- MYR
- MZN
- NAD
- NGN
- NIO
- NOK
- NPR
- NZD
- OMR
- PAB
- PEN
- PGK
- PHP
- PKR
- PLN
- PYG
- QAR
- RON
- RSD
- RUB
- RWF
- SAR
- SBD
- SCR
- SDG
- SEK
- SGD
- SHP
- SLL
- SOS
- SRD
- SSP
- STN
- SVC
- SYP
- SZL
- THB
- TJS
- TMT
- TND
- TOP
- TRY
- TTD
- TWD
- TZS
- UAH
- UGX
- USD
- USN
- UYI
- UYU
- UYW
- UZS
- VES
- VND
- VUV
- WST
- XAF
- XAG
- XAU
- XBA
- XBB
- XBC
- XBD
- XCD
- XDR
- XOF
- XPD
- XPF
- XPT
- XSU
- XTS
- XUA
- XXX
- YER
- ZAR
- ZMW
- ZWL
BillingCode:
type: string
x-go-custom-tag: gorm:"default:''"
BillPeriod:
type: string
x-go-custom-tag: gorm:"default:monthly"
default: monthly
enum:
- daily
- weekly
- bi-weekly
- monthly
- bi-monthly
- quarterly
- semi-annually
- annually
CancelDate:
type: string
x-go-custom-tag: gorm:"type:date;default:2100-12-31"
format: date
ContractEnd:
type: string
x-go-custom-tag: gorm:"type:date;default:2030-12-31"
format: date
ContractStart:
type: string
x-go-custom-tag: gorm:"type:date;default:2019-01-01"
format: date
CustomerId:
type: string
x-go-custom-tag: gorm:"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid"
DeletedAt:
type: string
x-go-custom-tag: gorm:"type:timestamptz"
x-nullable: true
format: datetime
Discount:
type: number
x-go-custom-tag: gorm:"type:numeric(23,13);default:0.0"
format: double
default: 0.0
EmailBcc:
type: string
x-go-custom-tag: gorm:"default:''"
format: email
EmailCc:
type: string
x-go-custom-tag: gorm:"default:''"
format: email
EmailTo:
type: string
x-go-custom-tag: gorm:"default:''"
format: email
InvoiceMode:
type: string
x-go-custom-tag: gorm:"default:email"
default: email
enum:
- email
- post
IsActive:
type: boolean
x-go-custom-tag: gorm:"default:true"
default: true
Language:
type: string
x-go-custom-tag: gorm:"default:DE"
description: ISO-369-1 alpha-2 language codes
default: DE
enum:
- AA
- AB
- AE
- AF
- AK
- AM
- AN
- AR
- AS
- AV
- AY
- AZ
- BA
- BE
- BG
- BH
- BI
- BM
- BN
- BO
- BR
- BS
- CA
- CE
- CH
- CO
- CR
- CS
- CU
- CV
- CY
- DA
- DE
- DV
- DZ
- EE
- EL
- EN
- EO
- ES
- ET
- EU
- FA
- FF
- FI
- FJ
- FO
- FR
- FY
- GA
- GD
- GL
- GN
- GU
- GV
- HA
- HE
- HI
- HO
- HR
- HT
- HU
- HY
- HZ
- IA
- ID
- IE
- IG
- II
- IK
- IO
- IS
- IT
- IU
- JA
- JV
- KA
- KG
- KI
- KJ
- KK
- KL
- KM
- KN
- KO
- KR
- KS
- KU
- KV
- KW
- KY
- LA
- LB
- LG
- LI
- LN
- LO
- LT
- LU
- LV
- MG
- MH
- MI
- MK
- ML
- MN
- MR
- MS
- MT
- MY
- NA
- NB
- ND
- NE
- NG
- NL
- NN
- "NO"
- NR
- NV
- NY
- OC
- OJ
- OM
- OR
- OS
- PA
- PI
- PL
- PS
- PT
- QU
- RM
- RN
- RO
- RU
- RW
- SA
- SC
- SD
- SE
- SG
- SI
- SK
- SL
- SM
- SN
- SO
- SQ
- SR
- SS
- ST
- SU
- SV
- SW
- TA
- TE
- TG
- TH
- TI
- TK
- TL
- TN
- TO
- TR
- TS
- TT
- TW
- TY
- UG
- UK
- UR
- UZ
- VE
- VI
- VO
- WA
- WO
- XH
- YI
- YO
- ZA
- ZH
- ZU
Name:
type: string
ParentCustomerId:
type: string
PlanId:
type: string
x-go-custom-tag: gorm:"default:'DEFAULT'"
Products:
type: array
x-go-custom-tag: gorm:"-"
items:
$ref: "#/definitions/Product"
ResellerId:
type: string
Product:
type: object
properties:
ApiLink:
type: string
x-go-custom-tag: gorm:"-"
CancelDate:
type: string
x-go-custom-tag: gorm:"type:date;default:2100-12-31"
format: date
default: 2100-12-31
CustomerId:
type: string
DeletedAt:
type: string
x-go-custom-tag: gorm:"type:timestamptz"
x-nullable: true
format: datetime
Discount:
type: number
x-go-custom-tag: gorm:"type:numeric(23,13);default:0.0"
format: double
default: 0.0
Name:
type: string
PlanId:
type: string
x-go-custom-tag: gorm:"default:'DEFAULT'"
ProductId:
type: string
x-go-custom-tag: gorm:"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid"
Type:
type: string
Reseller:
type: object
properties:
AbacusCode:
type: string
x-go-custom-tag: gorm:"default:''"
Address:
type: string
ApiLink:
type: string
x-go-custom-tag: gorm:"-"
Billable:
type: boolean
x-go-custom-tag: gorm:"default:true"
default: true
BillContact:
type: string
x-go-custom-tag: gorm:"default:''"
BillCurrency:
type: string
x-go-custom-tag: gorm:"default:CHF"
description: ISO-4217 currency code
default: CHF
enum:
- AED
- AFN
- ALL
- AMD
- ANG
- AOA
- ARS
- AUD
- AWG
- AZN
- BAM
- BBD
- BDT
- BGN
- BHD
- BIF
- BMD
- BND
- BOB
- BOV
- BRL
- BSD
- BTN
- BWP
- BYN
- BZD
- CAD
- CDF
- CHE
- CHF
- CHW
- CLF
- CLP
- CNY
- COP
- COU
- CRC
- CUC
- CUP
- CVE
- CZK
- DJF
- DKK
- DOP
- DZD
- EGP
- ERN
- ETB
- EUR
- FJD
- FKP
- GBP
- GEL
- GHS
- GIP
- GMD
- GNF
- GTQ
- GYD
- HKD
- HNL
- HRK
- HTG
- HUF
- IDR
- ILS
- INR
- IQD
- IRR
- ISK
- JMD
- JOD
- JPY
- KES
- KGS
- KHR
- KMF
- KPW
- KRW
- KWD
- KYD
- KZT
- LAK
- LBP
- LKR
- LRD
- LSL
- LYD
- MAD
- MDL
- MGA
- MKD
- MMK
- MNT
- MOP
- MRU
- MUR
- MVR
- MWK
- MXN
- MXV
- MYR
- MZN
- NAD
- NGN
- NIO
- NOK
- NPR
- NZD
- OMR
- PAB
- PEN
- PGK
- PHP
- PKR
- PLN
- PYG
- QAR
- RON
- RSD
- RUB
- RWF
- SAR
- SBD
- SCR
- SDG
- SEK
- SGD
- SHP
- SLL
- SOS
- SRD
- SSP
- STN
- SVC
- SYP
- SZL
- THB
- TJS
- TMT
- TND
- TOP
- TRY
- TTD
- TWD
- TZS
- UAH
- UGX
- USD
- USN
- UYI
- UYU
- UYW
- UZS
- VES
- VND
- VUV
- WST
- XAF
- XAG
- XAU
- XBA
- XBB
- XBC
- XBD
- XCD
- XDR
- XOF
- XPD
- XPF
- XPT
- XSU
- XTS
- XUA
- XXX
- YER
- ZAR
- ZMW
- ZWL
BillingCode:
type: string
x-go-custom-tag: gorm:"default:''"
BillPeriod:
type: string
x-go-custom-tag: gorm:"default:monthly"
default: monthly
enum:
- daily
- weekly
- bi-weekly
- monthly
- bi-monthly
- quarterly
- semi-annually
- annually
CancelDate:
type: string
x-go-custom-tag: gorm:"type:date;default:2100-12-31"
format: date
ContractEnd:
type: string
x-go-custom-tag: gorm:"type:date;default:2030-12-31"
format: date
ContractStart:
type: string
x-go-custom-tag: gorm:"type:date;default:2019-01-01"
format: date
Customers:
type: array
x-go-custom-tag: gorm:"-"
items:
$ref: "#/definitions/Customer"
DeletedAt:
type: string
x-go-custom-tag: gorm:"type:timestamptz"
x-nullable: true
format: datetime
EmailBcc:
type: string
x-go-custom-tag: gorm:"default:''"
format: email
EmailCc:
type: string
x-go-custom-tag: gorm:"default:''"
format: email
EmailTo:
type: string
x-go-custom-tag: gorm:"default:''"
format: email
Discount:
type: number
x-go-custom-tag: gorm:"type:numeric(23,13);default:0.0"
format: double
default: 0.0
InvoiceMode:
type: string
x-go-custom-tag: gorm:"default:email"
default: email
enum:
- email
- post
IsActive:
type: boolean
x-go-custom-tag: gorm:"default:true"
default: true
Language:
type: string
x-go-custom-tag: gorm:"default:DE"
description: ISO-369-1 alpha-2 language codes
default: DE
enum:
- AA
- AB
- AE
- AF
- AK
- AM
- AN
- AR
- AS
- AV
- AY
- AZ
- BA
- BE
- BG
- BH
- BI
- BM
- BN
- BO
- BR
- BS
- CA
- CE
- CH
- CO
- CR
- CS
- CU
- CV
- CY
- DA
- DE
- DV
- DZ
- EE
- EL
- EN
- EO
- ES
- ET
- EU
- FA
- FF
- FI
- FJ
- FO
- FR
- FY
- GA
- GD
- GL
- GN
- GU
- GV
- HA
- HE
- HI
- HO
- HR
- HT
- HU
- HY
- HZ
- IA
- ID
- IE
- IG
- II
- IK
- IO
- IS
- IT
- IU
- JA
- JV
- KA
- KG
- KI
- KJ
- KK
- KL
- KM
- KN
- KO
- KR
- KS
- KU
- KV
- KW
- KY
- LA
- LB
- LG
- LI
- LN
- LO
- LT
- LU
- LV
- MG
- MH
- MI
- MK
- ML
- MN
- MR
- MS
- MT
- MY
- NA
- NB
- ND
- NE
- NG
- NL
- NN
- "NO"
- NR
- NV
- NY
- OC
- OJ
- OM
- OR
- OS
- PA
- PI
- PL
- PS
- PT
- QU
- RM
- RN
- RO
- RU
- RW
- SA
- SC
- SD
- SE
- SG
- SI
- SK
- SL
- SM
- SN
- SO
- SQ
- SR
- SS
- ST
- SU
- SV
- SW
- TA
- TE
- TG
- TH
- TI
- TK
- TL
- TN
- TO
- TR
- TS
- TT
- TW
- TY
- UG
- UK
- UR
- UZ
- VE
- VI
- VO
- WA
- WO
- XH
- YI
- YO
- ZA
- ZH
- ZU
Name:
type: string
ParentResellerId:
type: string
x-go-custom-tag: gorm:"default:''"
PlanId:
type: string
x-go-custom-tag: gorm:"default:'DEFAULT'"
ResellerId:
type: string
x-go-custom-tag: gorm:"primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid"