Skip to content

Commit 63e66b3

Browse files
OAS Update
1 parent 409f48d commit 63e66b3

1 file changed

Lines changed: 128 additions & 1 deletion

File tree

services/certificates/v2/certificates.json

Lines changed: 128 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
11
{
22
"components": {
33
"schemas": {
4+
"CertificateUsageItem": {
5+
"properties": {
6+
"listenerNames": {
7+
"description": "A list of listener names on this Load Balancer that are using the certificate.",
8+
"example": [
9+
"https-443",
10+
"api-8443",
11+
"legacy-tls"
12+
],
13+
"items": {
14+
"type": "string"
15+
},
16+
"type": "array"
17+
},
18+
"loadBalancerName": {
19+
"description": "The display name of the Load Balancer.",
20+
"example": "edge-lb-production",
21+
"type": "string"
22+
}
23+
},
24+
"type": "object"
25+
},
426
"CertificatesQuota": {
527
"description": "Certificates quotas holds the limits and usage for certificates resources",
628
"properties": {
@@ -74,13 +96,98 @@
7496
},
7597
"type": "object"
7698
},
99+
"Data": {
100+
"properties": {
101+
"dnsNames": {
102+
"description": "Comma-separated list of all domains and IP addresses the certificate is valid for (Subject Alternative Names).",
103+
"example": "example.com,*.example.com,192.168.1.1",
104+
"type": "string"
105+
},
106+
"extendedKeyUsage": {
107+
"description": "Comma-separated list of purposes the cert is valid for. 'Server Auth' is required for Load Balancer use.",
108+
"example": "Server Auth,Client Auth",
109+
"type": "string"
110+
},
111+
"fingerprintSha1": {
112+
"description": "The legacy SHA1 thumbprint. Provided for cross-referencing with older systems and browsers.",
113+
"example": "7a1b42c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4",
114+
"pattern": "^[a-fA-F0-9]{40}$",
115+
"type": "string"
116+
},
117+
"fingerprintSha256": {
118+
"description": "The unique SHA256 hash of the raw certificate bytes. Use this as the primary unique identifier.",
119+
"example": "3e0a9ef962b07c2e24d321c075ebb88c261bae231f9ba34d6ffb003619f9645c",
120+
"pattern": "^[a-fA-F0-9]{64}$",
121+
"type": "string"
122+
},
123+
"isCa": {
124+
"description": "Indicates if the certificate is a Certificate Authority, meaning it can sign other certificates.",
125+
"example": false,
126+
"type": "boolean"
127+
},
128+
"isSelfSigned": {
129+
"description": "Indicates if the certificate was signed by its own private key rather than a trusted third-party CA.",
130+
"example": false,
131+
"type": "boolean"
132+
},
133+
"issuerCn": {
134+
"description": "The Common Name of the Certificate Authority (CA) that signed and issued the certificate.",
135+
"example": "Let's Encrypt Authority X3",
136+
"type": "string"
137+
},
138+
"keyStrength": {
139+
"description": "Human-readable summary of the public key's algorithm and bit-length or curve name.",
140+
"example": "RSA-2048",
141+
"type": "string"
142+
},
143+
"notAfter": {
144+
"description": "The expiration timestamp. After this date, browsers will show security warnings (RFC3339 format).",
145+
"example": "2026-12-31T23:59:59Z",
146+
"type": "string"
147+
},
148+
"notBefore": {
149+
"description": "The timestamp indicating when the certificate starts being valid (RFC3339 format).",
150+
"example": "2026-01-01T00:00:00Z",
151+
"type": "string"
152+
},
153+
"organization": {
154+
"description": "Organization name associated with the certificate subject.",
155+
"example": "Acme Corp International",
156+
"type": "string"
157+
},
158+
"publicKeyAlgorithm": {
159+
"description": "The cryptographic algorithm used to generate the public/private key pair.",
160+
"example": "RSA",
161+
"type": "string"
162+
},
163+
"serialNumber": {
164+
"description": "The unique serial number assigned by the CA, represented in uppercase hexadecimal format.",
165+
"example": "5FDE32AB10C44598",
166+
"type": "string"
167+
},
168+
"signatureAlgorithm": {
169+
"description": "The algorithm used by the CA to sign this certificate.",
170+
"example": "SHA256-RSA",
171+
"type": "string"
172+
},
173+
"subjectCn": {
174+
"description": "The primary identity of the certificate. Fallback sequence: Common Name -\u003e First DNS Name -\u003e Full Subject String.",
175+
"example": "www.example.com",
176+
"type": "string"
177+
}
178+
},
179+
"type": "object"
180+
},
77181
"DeleteCertificateResponse": {
78182
"description": "DeleteCertificateResponse returns has empty body if successful.",
79183
"type": "object"
80184
},
81185
"GetCertificateResponse": {
82186
"description": "GetCertificateResponse returns name, id and public key",
83187
"properties": {
188+
"data": {
189+
"$ref": "#/components/schemas/Data"
190+
},
84191
"id": {
85192
"description": "The certificates resource id",
86193
"example": "my-tls-certificate-v1-123456",
@@ -101,7 +208,7 @@
101208
"type": "object"
102209
},
103210
"name": {
104-
"description": "TLS certificate name",
211+
"description": "Certificate display name",
105212
"example": "my-tls-certificate",
106213
"pattern": "^[0-9a-z](?:(?:[0-9a-z]|-){0,251}[0-9a-z])?$",
107214
"type": "string"
@@ -115,6 +222,9 @@
115222
"description": "Region of the LoadBalancer",
116223
"example": "eu01",
117224
"type": "string"
225+
},
226+
"usage": {
227+
"$ref": "#/components/schemas/Usage"
118228
}
119229
},
120230
"type": "object"
@@ -203,6 +313,23 @@
203313
}
204314
},
205315
"type": "object"
316+
},
317+
"Usage": {
318+
"properties": {
319+
"count": {
320+
"description": "Number of Load Balancers using this certificate.",
321+
"format": "int32",
322+
"type": "integer"
323+
},
324+
"items": {
325+
"description": "List of Load Balancers with their associated listeners that use this certificate.",
326+
"items": {
327+
"$ref": "#/components/schemas/CertificateUsageItem"
328+
},
329+
"type": "array"
330+
}
331+
},
332+
"type": "object"
206333
}
207334
}
208335
},

0 commit comments

Comments
 (0)