|
1 | 1 | { |
2 | 2 | "components": { |
3 | 3 | "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 | + }, |
4 | 26 | "CertificatesQuota": { |
5 | 27 | "description": "Certificates quotas holds the limits and usage for certificates resources", |
6 | 28 | "properties": { |
|
74 | 96 | }, |
75 | 97 | "type": "object" |
76 | 98 | }, |
| 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 | + }, |
77 | 181 | "DeleteCertificateResponse": { |
78 | 182 | "description": "DeleteCertificateResponse returns has empty body if successful.", |
79 | 183 | "type": "object" |
80 | 184 | }, |
81 | 185 | "GetCertificateResponse": { |
82 | 186 | "description": "GetCertificateResponse returns name, id and public key", |
83 | 187 | "properties": { |
| 188 | + "data": { |
| 189 | + "$ref": "#/components/schemas/Data" |
| 190 | + }, |
84 | 191 | "id": { |
85 | 192 | "description": "The certificates resource id", |
86 | 193 | "example": "my-tls-certificate-v1-123456", |
|
101 | 208 | "type": "object" |
102 | 209 | }, |
103 | 210 | "name": { |
104 | | - "description": "TLS certificate name", |
| 211 | + "description": "Certificate display name", |
105 | 212 | "example": "my-tls-certificate", |
106 | 213 | "pattern": "^[0-9a-z](?:(?:[0-9a-z]|-){0,251}[0-9a-z])?$", |
107 | 214 | "type": "string" |
|
115 | 222 | "description": "Region of the LoadBalancer", |
116 | 223 | "example": "eu01", |
117 | 224 | "type": "string" |
| 225 | + }, |
| 226 | + "usage": { |
| 227 | + "$ref": "#/components/schemas/Usage" |
118 | 228 | } |
119 | 229 | }, |
120 | 230 | "type": "object" |
|
203 | 313 | } |
204 | 314 | }, |
205 | 315 | "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" |
206 | 333 | } |
207 | 334 | } |
208 | 335 | }, |
|
0 commit comments