openapi: 3.2.0
info:
title: Yugabytedb Certificate Info API
version: v1
contact:
name: https://docs.yugabyte.com
license:
name: Polyform Free Trial License 1.0.0
url: https://github.com/yugabyte/yugabyte-db/blob/master/licenses/POLYFORM-FREE-TRIAL-LICENSE-1.0.0.txt
termsOfService: TODO(chirag)
description: 'Operations tagged Certificate Info across 2 of this provider''s published API definitions: openapi_2.yaml, platform.swagger.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /
tags:
- name: Certificate Info
paths:
/api/v1/customers/{cUUID}/certificates:
servers:
- url: /
get:
operationId: getListOfCertificate
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/CertificateInfoExt'
type: array
description: successful operation
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/YBPError'
description: If there was a server or database issue when listing the regions
security:
- apiKeyAuth: []
summary: List a customer's certificates
tags:
- Certificate Info
post:
operationId: upload
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CertificateParams'
description: certificate params of the backup to be restored
required: true
responses:
'200':
content:
application/json:
schema:
format: uuid
type: string
description: successful operation
security:
- apiKeyAuth: []
summary: Restore a certificate from backup
tags:
- Certificate Info
x-codegen-request-body-name: certificate
/api/v1/customers/{cUUID}/certificates/create_self_signed_cert:
servers:
- url: /
post:
description: YbaApi Internal.
operationId: createSelfSignedCert
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
requestBody:
content:
application/json:
schema:
type: string
description: certificate label
required: true
responses:
'200':
content:
application/json:
schema:
format: uuid
type: string
description: successful operation
security:
- apiKeyAuth: []
summary: Create a self signed certificate
tags:
- Certificate Info
x-codegen-request-body-name: label
/api/v1/customers/{cUUID}/certificates/{name}:
servers:
- url: /
get:
description: YbaApi Internal.
operationId: getCertificate
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: name
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
format: uuid
type: string
description: successful operation
security:
- apiKeyAuth: []
summary: Get a certificate's UUID
tags:
- Certificate Info
/api/v1/customers/{cUUID}/certificates/{rUUID}:
servers:
- url: /
delete:
operationId: deleteCertificate
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/YBPSuccess'
description: successful operation
security:
- apiKeyAuth: []
summary: Delete a certificate
tags:
- Certificate Info
post:
operationId: getClientCert
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ClientCertParams'
description: post certificate info
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CertificateDetails'
description: successful operation
security:
- apiKeyAuth: []
summary: Add a client certificate
tags:
- Certificate Info
x-codegen-request-body-name: certificate
/api/v1/customers/{cUUID}/certificates/{rUUID}/download:
servers:
- url: /
get:
operationId: getRootCert
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
responses:
'200':
content:
application/json:
schema:
type: object
description: successful operation
security:
- apiKeyAuth: []
summary: Get a customer's root certificate
tags:
- Certificate Info
/api/v1/customers/{cUUID}/certificates/{rUUID}/edit:
servers:
- url: /
post:
operationId: editCertificate
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CertificateParams'
description: certificate params to edit
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/YBPSuccess'
description: successful operation
security:
- apiKeyAuth: []
summary: Edit TLS certificate config details
tags:
- Certificate Info
x-codegen-request-body-name: certificate
/api/v1/customers/{cUUID}/certificates/{rUUID}/update_empty_cert:
servers:
- url: /
post:
description: YbaApi Internal.
operationId: updateEmptyCustomCert
parameters:
- in: path
name: cUUID
required: true
schema:
format: uuid
type: string
- in: path
name: rUUID
required: true
schema:
format: uuid
type: string
- in: query
name: request
schema: {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CertificateInfoExt'
description: successful operation
security:
- apiKeyAuth: []
summary: Update an empty certificate
tags:
- Certificate Info
components:
schemas:
YBPError:
description: Generic error response from the YugabyteDB Anywhere API
example:
success: false
requestUri: /customers/8918921-af3782-633de/universe/8173ab-fd2453/create
error: There was a problem creating the universe
httpMethod: POST
errorJson: '{ "foo" : "bar", "baz" : [1, 2, 3] }'
requestJson: '{ "foo" : "bar", "baz" : [1, 2, 3] }'
properties:
error:
description: User-visible unstructured error message
example: There was a problem creating the universe
type: string
errorJson:
description: User visible structured error message as json object
example: '{ "foo" : "bar", "baz" : [1, 2, 3] }'
properties: {}
type: object
httpMethod:
description: Method for HTTP call that resulted in this error
example: POST
type: string
requestJson:
description: User request JSON object
example: '{ "foo" : "bar", "baz" : [1, 2, 3] }'
properties: {}
type: object
requestUri:
description: URI for HTTP request that resulted in this error
example: /customers/8918921-af3782-633de/universe/8173ab-fd2453/create
type: string
success:
description: Always set to false to indicate failure
example: false
type: boolean
type: object
CustomServerCertInfo:
example:
serverCert: serverCert
serverKey: serverKey
properties:
serverCert:
type: string
serverKey:
type: string
required:
- serverCert
- serverKey
type: object
CustomServerCertData:
example:
serverCertContent: serverCertContent
serverKeyContent: serverKeyContent
properties:
serverCertContent:
type: string
serverKeyContent:
type: string
required:
- serverCertContent
- serverKeyContent
type: object
UniverseDetailSubset:
description: A small subset of universe information
example:
universePaused: true
updateSucceeded: true
name: name
updateInProgress: true
creationDate: 1
uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
properties:
creationDate:
format: int64
type: integer
name:
type: string
universePaused:
type: boolean
updateInProgress:
type: boolean
updateSucceeded:
type: boolean
uuid:
format: uuid
type: string
required:
- creationDate
- name
- universePaused
- updateInProgress
- updateSucceeded
- uuid
type: object
CertificateParams:
description: Certificate Params is used to validate constraints for the custom certificate Data
example:
certStart: 6
customCertInfo:
nodeCertPath: nodeCertPath
nodeKeyPath: nodeKeyPath
clientKeyPath: clientKeyPath
clientCertPath: clientCertPath
rootCertPath: rootCertPath
customServerCertData:
serverCertContent: serverCertContent
serverKeyContent: serverKeyContent
certType: SelfSigned
certContent: certContent
certExpiry: 0
keyContent: keyContent
label: label
hcVaultCertParams:
vaultAddr: vaultAddr
vaultRoleID: vaultRoleID
mountPath: mountPath
role: role
engine: engine
ttlExpiry: 6
vaultAuthNamespace: vaultAuthNamespace
vaultSecretID: vaultSecretID
ttl: 0
vaultToken: vaultToken
properties:
certContent:
type: string
certExpiry:
format: int64
type: integer
certStart:
format: int64
type: integer
certType:
enum:
- SelfSigned
- CustomCertHostPath
- CustomServerCert
- HashicorpVault
- K8SCertManager
type: string
customCertInfo:
$ref: '#/components/schemas/CustomCertInfo'
customServerCertData:
$ref: '#/components/schemas/CustomServerCertData'
hcVaultCertParams:
$ref: '#/components/schemas/HashicorpVaultConfigParams'
keyContent:
type: string
label:
type: string
required:
- certContent
- certExpiry
- certStart
- certType
- label
type: object
CustomCertInfo:
example:
nodeCertPath: nodeCertPath
nodeKeyPath: nodeKeyPath
clientKeyPath: clientKeyPath
clientCertPath: clientCertPath
rootCertPath: rootCertPath
properties:
clientCertPath:
type: string
clientKeyPath:
type: string
nodeCertPath:
type: string
nodeKeyPath:
type: string
rootCertPath:
type: string
required:
- clientCertPath
- clientKeyPath
- nodeCertPath
- nodeKeyPath
- rootCertPath
type: object
YBPSuccess:
example:
success: true
message: message
properties:
message:
description: API response message.
readOnly: true
type: string
success:
description: API operation status. A value of true indicates the operation was successful.
readOnly: true
type: boolean
type: object
CertificateDetails:
example:
yugabytedb.key: yugabytedb.key
yugabytedb.crt: yugabytedb.crt
properties:
yugabytedb.crt:
type: string
yugabytedb.key:
type: string
type: object
CertificateInfoExt:
description: SSL certificate used by the universe
example:
customServerCertInfo:
serverCert: serverCert
serverKey: serverKey
certType: SelfSigned
customHCPKICertInfo:
vaultAddr: vaultAddr
vaultRoleID: vaultRoleID
mountPath: mountPath
role: role
engine: engine
ttlExpiry: 6
vaultAuthNamespace: vaultAuthNamespace
vaultSecretID: vaultSecretID
ttl: 0
vaultToken: vaultToken
certificate: /opt/yugaware/certs/.../ca.root.cert
label: yb-admin-example
uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
expiryDateIso: 2022-12-12 13:07:18+00:00
expiryDate: 2000-01-23 04:56:07+00:00
privateKey: /opt/yugaware/.../example.key.pem
customerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
universeDetails:
- universePaused: true
updateSucceeded: true
name: name
updateInProgress: true
creationDate: 1
uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
- universePaused: true
updateSucceeded: true
name: name
updateInProgress: true
creationDate: 1
uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
startDateIso: 2022-12-12 13:07:18+00:00
universeDetailSubsets:
- universePaused: true
updateSucceeded: true
name: name
updateInProgress: true
creationDate: 1
uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
- universePaused: true
updateSucceeded: true
name: name
updateInProgress: true
creationDate: 1
uuid: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
checksum: checksum
inUse: true
customCertPathParams:
nodeCertPath: nodeCertPath
nodeKeyPath: nodeKeyPath
clientKeyPath: clientKeyPath
clientCertPath: clientCertPath
rootCertPath: rootCertPath
startDate: 2000-01-23 04:56:07+00:00
properties:
certType:
description: Type of the certificate
enum:
- SelfSigned
- CustomCertHostPath
- CustomServerCert
- HashicorpVault
- K8SCertManager
example: SelfSigned
type: string
certificate:
description: Certificate path
example: /opt/yugaware/certs/.../ca.root.cert
type: string
checksum:
description: The certificate file's checksum
readOnly: true
type: string
customCertPathParams:
$ref: '#/components/schemas/CustomCertInfo'
customHCPKICertInfo:
$ref: '#/components/schemas/HashicorpVaultConfigParams'
customServerCertInfo:
$ref: '#/components/schemas/CustomServerCertInfo'
customerUUID:
description: Customer UUID of the backup which it belongs to
format: uuid
type: string
expiryDate:
description: The certificate's expiry date. Deprecated since YBA version 2.17.2.0. Use expirtyDateIso instead
format: date-time
type: string
expiryDateIso:
description: The certificate's expiry date
example: 2022-12-12 13:07:18+00:00
format: date-time
type: string
inUse:
description: Indicates whether the certificate is in use. This value is `true` if the universe contains a reference to the certificate.
readOnly: true
type: boolean
label:
description: Certificate label
example: yb-admin-example
type: string
privateKey:
description: Private key path
example: /opt/yugaware/.../example.key.pem
type: string
startDate:
description: The certificate's creation date. Deprecated since YBA version 2.17.2.0. Use stateDateIso instead
format: date-time
type: string
startDateIso:
description: The certificate's creation date
example: 2022-12-12 13:07:18+00:00
format: date-time
type: string
universeDetailSubsets:
items:
$ref: '#/components/schemas/UniverseDetailSubset'
type: array
universeDetails:
description: Associated universe details for the certificate
items:
$ref: '#/components/schemas/UniverseDetailSubset'
readOnly: true
type: array
uuid:
description: Certificate UUID
format: uuid
readOnly: true
type: string
required:
- customCertPathParams
- customHCPKICertInfo
- customServerCertInfo
- universeDetailSubsets
type: object
HashicorpVaultConfigParams:
example:
vaultAddr: vaultAddr
vaultRoleID: vaultRoleID
mountPath: mountPath
role: role
engine: engine
ttlExpiry: 6
vaultAuthNamespace: vaultAuthNamespace
vaultSecretID: vaultSecretID
ttl: 0
vaultToken: vaultToken
properties:
engine:
type: string
mountPath:
type: string
role:
type: string
ttl:
format: int64
type: integer
ttlExpiry:
format: int64
type: integer
vaultAddr:
type: string
vaultAuthNamespace:
type: string
vaultRoleID:
type: string
vaultSecretID:
type: string
vaultToken:
type: string
required:
- engine
- mountPath
- role
- vaultAddr
type: object
ClientCertParams:
example:
certStart: 6
certExpiry: 0
username: username
properties:
certExpiry:
format: int64
type: integer
certStart:
format: int64
type: integer
username:
type: string
required:
- certExpiry
- certStart
- username
type: object
securitySchemes:
apiKeyAuth:
description: API token passed as header
in: header
name: X-AUTH-YW-API-TOKEN
type: apiKey
externalDocs:
description: About YugabyteDB Anywhere
url: https://docs.yugabyte.com/latest/yugabyte-platform/
x-refined-from:
- openapi_2.yaml
- platform.swagger.json