github.com/Venafi/vcert/v5@v5.10.2/pkg/webclient/cloudproviders/schema.graphql (about) 1 schema 2 @link(url: "https://specs.apollo.dev/link/v1.0") 3 @link(url: "https://specs.apollo.dev/join/v0.3", for: EXECUTION) 4 @link(url: "https://specs.apollo.dev/inaccessible/v0.2", for: SECURITY) 5 { 6 query: Query 7 mutation: Mutation 8 } 9 10 directive @inaccessible on FIELD_DEFINITION | OBJECT | INTERFACE | UNION | ARGUMENT_DEFINITION | SCALAR | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION 11 12 directive @join__enumValue(graph: join__Graph!) repeatable on ENUM_VALUE 13 14 directive @join__field(graph: join__Graph, requires: join__FieldSet, provides: join__FieldSet, type: String, external: Boolean, override: String, usedOverridden: Boolean) repeatable on FIELD_DEFINITION | INPUT_FIELD_DEFINITION 15 16 directive @join__graph(name: String!, url: String!) on ENUM_VALUE 17 18 directive @join__implements(graph: join__Graph!, interface: String!) repeatable on OBJECT | INTERFACE 19 20 directive @join__type(graph: join__Graph!, key: join__FieldSet, extension: Boolean! = false, resolvable: Boolean! = true, isInterfaceObject: Boolean! = false) repeatable on OBJECT | INTERFACE | UNION | ENUM | INPUT_OBJECT | SCALAR 21 22 directive @join__unionMember(graph: join__Graph!, member: String!) repeatable on UNION 23 24 directive @link(url: String, as: String, for: link__Purpose, import: [link__Import]) repeatable on SCHEMA 25 26 """ 27 Application is used in matching rules and allows for querying more information through query 28 """ 29 type Application 30 @join__type(graph: COMPLIANCE_POLICY, key: "id", resolvable: false) 31 @join__type(graph: OUTAGEDETECTION, key: "id") 32 { 33 """ID is the ID of the application for entity linking purposes""" 34 id: ID! 35 name: String! @join__field(graph: OUTAGEDETECTION) 36 description: String @join__field(graph: OUTAGEDETECTION) 37 owners: IdentityConnection @join__field(graph: OUTAGEDETECTION) 38 } 39 40 type ApplicationConnection 41 @join__type(graph: OUTAGEDETECTION) 42 { 43 pageInfo: PageInfo! 44 totalCount: Int! 45 nodes: [Application!] 46 edges: [ApplicationEdge] 47 } 48 49 type ApplicationEdge 50 @join__type(graph: OUTAGEDETECTION) 51 { 52 node: Application! 53 cursor: String! 54 } 55 56 """ 57 ApplicationMatchingRule wraps the Application type to add included to it 58 """ 59 type ApplicationMatchingRule 60 @join__type(graph: COMPLIANCE_POLICY) 61 { 62 """Application is the reference to the application to include or exclude""" 63 application: Application 64 65 """ 66 Included states whether this application should be included in matching for resources 67 """ 68 included: Boolean 69 } 70 71 enum AttributeEnumOperator 72 @join__type(graph: TLSPK) 73 { 74 EQUALS @join__enumValue(graph: TLSPK) 75 } 76 77 enum AttributeStringOperator 78 @join__type(graph: TLSPK) 79 { 80 EQUALS @join__enumValue(graph: TLSPK) 81 CONTAINS @join__enumValue(graph: TLSPK) 82 } 83 84 """A 12 digit string representing an AWS account ID""" 85 scalar AWSAccountID 86 @join__type(graph: CLOUD_PROVIDERS) 87 88 type AWSCertificateMetadata 89 @join__type(graph: CLOUD_PROVIDERS) 90 { 91 arn: String! 92 } 93 94 type AWSProviderDetails 95 @join__type(graph: CLOUD_PROVIDERS) 96 { 97 cloudProvider: CloudProvider! 98 awsRegions: [String!] 99 } 100 101 type AzureCertificateMetadata 102 @join__type(graph: CLOUD_PROVIDERS) 103 { 104 azureId: String! 105 name: String! 106 version: String! 107 } 108 109 type AzureKeyVault 110 @join__type(graph: CLOUD_PROVIDERS) 111 { 112 id: String! 113 name: String! 114 } 115 116 type AzureProviderDetails 117 @join__type(graph: CLOUD_PROVIDERS) 118 { 119 cloudProvider: CloudProvider! 120 subscriptions: [AzureSubscriptionDetails] 121 } 122 123 type AzureSubscriptionDetails 124 @join__type(graph: CLOUD_PROVIDERS) 125 { 126 id: String! 127 name: String! 128 } 129 130 """Represents a Billing Metric""" 131 type BillingMetric 132 @join__type(graph: ENTITLEMENTS) 133 { 134 key: String! 135 value: String! 136 } 137 138 enum Capability 139 @join__type(graph: CLOUD_PROVIDERS) 140 { 141 CLOUD_PROVIDERS @join__enumValue(graph: CLOUD_PROVIDERS) 142 } 143 144 """Certificate""" 145 type Certificate 146 @join__type(graph: CAOPERATIONS, key: "fingerprint") 147 @join__type(graph: CERTIFICATE_INVENTORY, key: "fingerprint") 148 @join__type(graph: CLOUD_PROVIDERS, key: "fingerprint") 149 @join__type(graph: COMPLIANCE_POLICY, key: "fingerprint") 150 @join__type(graph: COMPUTED_FIELDS, key: "fingerprint") 151 @join__type(graph: OUTAGEDETECTION, key: "id") 152 @join__type(graph: PROVISIONING, key: "fingerprint") 153 @join__type(graph: SEARCH, key: "fingerprint", resolvable: false) 154 @join__type(graph: TAGGING, key: "id") 155 @join__type(graph: TLSPK, key: "fingerprint") 156 { 157 """The SHA-1 digest of the entire raw certificate""" 158 fingerprint: ID! @join__field(graph: CAOPERATIONS) @join__field(graph: CERTIFICATE_INVENTORY) @join__field(graph: CLOUD_PROVIDERS) @join__field(graph: COMPLIANCE_POLICY) @join__field(graph: COMPUTED_FIELDS) @join__field(graph: PROVISIONING) @join__field(graph: SEARCH) @join__field(graph: TLSPK) 159 issuanceCertificateAuthorityAccount: CertificateAuthorityAccount @join__field(graph: CAOPERATIONS) 160 importCertificateAuthorityAccount: CertificateAuthorityAccount @join__field(graph: CAOPERATIONS) 161 revocationCertificateAuthorityAccount: CertificateAuthorityAccount @join__field(graph: CAOPERATIONS) @deprecated(reason: "Deprecated, use `revocation.certificateAuthorityAccount` instead") 162 revocationStatus: RevocationStatus @join__field(graph: CAOPERATIONS) @deprecated(reason: "Deprecated, use `revocation.status` instead") 163 revocationReason: RevocationReason @join__field(graph: CAOPERATIONS) @deprecated(reason: "Deprecated, use `revocation.reason` instead") 164 revocationComment: String @join__field(graph: CAOPERATIONS) @deprecated(reason: "Deprecated, use `revocation.comment` instead") 165 revocationError: ErrorInformation @join__field(graph: CAOPERATIONS) @deprecated(reason: "Deprecated, use `revocation.error` instead") 166 revocationUser: User @join__field(graph: CAOPERATIONS) @deprecated(reason: "Deprecated, use `revocation.user` instead") 167 revocation: Revocation @join__field(graph: CAOPERATIONS) 168 id: ID! @join__field(graph: CERTIFICATE_INVENTORY) @join__field(graph: OUTAGEDETECTION) @join__field(graph: TAGGING) 169 issuer: DirectoryName @join__field(graph: CERTIFICATE_INVENTORY) 170 validity: CertificateValidity @join__field(graph: CERTIFICATE_INVENTORY) 171 status: CertificateStatus! @join__field(graph: CERTIFICATE_INVENTORY) 172 173 """ 174 Indicates if this certificate is the current (i.e. last) version of the certificate 175 """ 176 isCurrent: Boolean! @join__field(graph: CERTIFICATE_INVENTORY) 177 178 """Indicates if this certificate is a certificate authority certificate""" 179 isCA: Boolean! @join__field(graph: CERTIFICATE_INVENTORY) 180 181 """Indicates if this certificate is a self signed certificate""" 182 isSelfSigned: Boolean! @join__field(graph: CERTIFICATE_INVENTORY) 183 184 """ 185 Timestamp when a new version of this certificate was found (i.e. when isCurrent was set to FALSE) 186 """ 187 archivedTime: DateTime @join__field(graph: CERTIFICATE_INVENTORY) 188 189 """Timestamp when the certificate was created""" 190 creationTime: DateTime! @join__field(graph: CERTIFICATE_INVENTORY) 191 192 """Timestamp of the last modification""" 193 lastModifiedTime: DateTime! @join__field(graph: CERTIFICATE_INVENTORY) 194 subject: DirectoryName @join__field(graph: CERTIFICATE_INVENTORY) 195 subjectAlternativeNames: [GeneralName!] @join__field(graph: CERTIFICATE_INVENTORY) 196 serialNumber: String! @join__field(graph: CERTIFICATE_INVENTORY) 197 publicKeyInformation: PublicKeyInformation! @join__field(graph: CERTIFICATE_INVENTORY) 198 signatureAlgorithm: String! @join__field(graph: CERTIFICATE_INVENTORY) 199 signatureHashAlgorithm: String! @join__field(graph: CERTIFICATE_INVENTORY) 200 extendedKeyUsages: [String!] @join__field(graph: CERTIFICATE_INVENTORY) 201 keyUsages: [CertificateKeyUsage!] @join__field(graph: CERTIFICATE_INVENTORY) 202 203 """ 204 The certificates in the chain. This will return null for nested certificates. 205 """ 206 chain: [Certificate!] @join__field(graph: CERTIFICATE_INVENTORY) 207 208 """ 209 All other versions of the current certificate. This will return null for nested certificates. 210 The pagination can be either forward or backward. To enable forward pagination, two arguments are 211 used: `after` and `first`. To enable backward pagination, two arguments are used: `before` and `last`. 212 However, 'after' and 'before' arguments are only valid for 'certificate' queries (i.e. single certificate result) 213 If arguments for both forward and backward pagination are supplied, forward pagination will be used. If no arguments 214 are supplied, it returns the first page of 10 certificates (i.e. defaults `first` to 10). If orderBy is not 215 specified, the result will be sorted by fingerprints in ascending order. 216 """ 217 relatedCertificates(after: String, before: String, first: Int, last: Int, orderBy: [RelatedCertificateOrderInput!]): CertificateConnection @join__field(graph: CERTIFICATE_INVENTORY) 218 certificateValidationErrors: [ValidationError!] @join__field(graph: CERTIFICATE_INVENTORY) 219 certificateErrorCount: ValidationErrorCount! @join__field(graph: CERTIFICATE_INVENTORY) @join__field(graph: COMPUTED_FIELDS, external: true) 220 origins: [String!]! @join__field(graph: CERTIFICATE_INVENTORY, override: "computed-fields") 221 cloudInstallations: MachineIdentityConnection @join__field(graph: CLOUD_PROVIDERS) 222 223 """ 224 CompliancePolicyFindings shows how many findings a particular certificate has against it 225 """ 226 compliancePolicyFindings: CompliancePolicyFindingConnection @join__field(graph: COMPLIANCE_POLICY) 227 tlsServerEndpoints(after: String, before: String, first: Int, last: Int): TLSServerEndpointConnection @join__field(graph: COMPUTED_FIELDS, external: true) @join__field(graph: OUTAGEDETECTION) 228 errorCount: ValidationErrorCount! @join__field(graph: COMPUTED_FIELDS, requires: "certificateErrorCount{warnings alerts} tlsServerEndpoints(after:null,before:null,first:null,last:null) {tlsServerEndpointsErrorCount {warnings alerts}}") 229 certificateRequest: CertificateRequest @join__field(graph: OUTAGEDETECTION) 230 applications: [Application!] @join__field(graph: OUTAGEDETECTION) 231 dekHash: String @join__field(graph: OUTAGEDETECTION) 232 233 """Machine installations collection associated with the certificate.""" 234 machineInstallations(after: String, before: String, first: Int, last: Int): MachineInstallationConnection @join__field(graph: PROVISIONING) 235 tags: [Tag!] @join__field(graph: TAGGING) 236 clusterCertificateInstallations(after: String, before: String, first: Int, last: Int): ClusterCertificateInstallationConnection @join__field(graph: TLSPK) 237 hasClusterSourceTag: Boolean! @inaccessible @join__field(graph: TLSPK) 238 } 239 240 type CertificateAuthorityAccount 241 @join__type(graph: CAOPERATIONS, key: "id") 242 { 243 id: ID! 244 certificateAuthorityType: CertificateAuthorityType! 245 name: String! 246 } 247 248 type CertificateAuthorityAccountConnection 249 @join__type(graph: CAOPERATIONS) 250 { 251 pageInfo: PageInfo! 252 totalCount: Int! 253 nodes: [CertificateAuthorityAccount!] 254 edges: [CertificateAuthorityAccountEdge] 255 } 256 257 type CertificateAuthorityAccountEdge 258 @join__type(graph: CAOPERATIONS) 259 { 260 node: CertificateAuthorityAccount! 261 cursor: String! 262 } 263 264 enum CertificateAuthorityType 265 @join__type(graph: CAOPERATIONS) 266 { 267 DIGICERT @join__enumValue(graph: CAOPERATIONS) 268 GLOBALSIGN @join__enumValue(graph: CAOPERATIONS) 269 BUILTIN @join__enumValue(graph: CAOPERATIONS) 270 ENTRUST @join__enumValue(graph: CAOPERATIONS) 271 MICROSOFT @join__enumValue(graph: CAOPERATIONS) 272 ACME @join__enumValue(graph: CAOPERATIONS) 273 ZTPKI @join__enumValue(graph: CAOPERATIONS) 274 GLOBALSIGNMSSL @join__enumValue(graph: CAOPERATIONS) 275 TPP @join__enumValue(graph: CAOPERATIONS) 276 CONNECTOR @join__enumValue(graph: CAOPERATIONS) 277 } 278 279 input CertificateBooleanFilter 280 @join__type(graph: SEARCH) 281 { 282 """The boolean value that we want to match""" 283 eq: Boolean 284 285 """The boolean value that we don't want to match""" 286 neq: Boolean 287 288 """ 289 The boolean value that we want to assert whether the boolean field is null or not 290 """ 291 hasValue: Boolean 292 } 293 294 union CertificateCloudMetadata 295 @join__type(graph: CLOUD_PROVIDERS) 296 @join__unionMember(graph: CLOUD_PROVIDERS, member: "AWSCertificateMetadata") 297 @join__unionMember(graph: CLOUD_PROVIDERS, member: "AzureCertificateMetadata") 298 @join__unionMember(graph: CLOUD_PROVIDERS, member: "GCPCertificateMetadata") 299 = AWSCertificateMetadata | AzureCertificateMetadata | GCPCertificateMetadata 300 301 """ 302 CertificateCompliancePolicyFindingsOverviewCategory denotes different categories for more details in the widget 303 """ 304 type CertificateCompliancePolicyFindingsOverviewCategory 305 @join__type(graph: COMPLIANCE_POLICY) 306 { 307 """Id is used to determine which category is being used""" 308 id: String 309 310 """ 311 Count returns the number related to the ID that this category is showing 312 """ 313 count: Int 314 } 315 316 """ 317 CertificateCompliancePolicyFindingsOverviewWidget provides a summary context for number of certificates evaluated 318 in policies compared to how many of those certificate findings resulted in issues" 319 """ 320 type CertificateCompliancePolicyFindingsOverviewWidget 321 @join__type(graph: COMPLIANCE_POLICY) 322 { 323 """ 324 TotalCertificatesCount is the number of certificates with evaluation findings 325 """ 326 totalCertificatesCount: Int 327 328 """ 329 CertificatesWithFindingsCount returns the number of certificates with issues from findings 330 """ 331 certificatesWithFindingsCount: Int 332 333 """Categories is the list of certificates that have issues from findings""" 334 categories: [CertificateCompliancePolicyFindingsOverviewCategory] 335 } 336 337 """A page of certificate results""" 338 type CertificateConnection 339 @join__type(graph: CERTIFICATE_INVENTORY) 340 @join__type(graph: SEARCH) 341 @join__type(graph: TLSPK) 342 { 343 """Current page information""" 344 pageInfo: PageInfo! 345 346 """Total number of certificates (in all pages)""" 347 totalCount: Int! 348 349 """Certificates in the current page, without cursor""" 350 nodes: [Certificate!] @join__field(graph: CERTIFICATE_INVENTORY, type: "[Certificate!]") @join__field(graph: SEARCH, type: "[Certificate!]") @join__field(graph: TLSPK, type: "[Certificate!]!") 351 352 """ 353 Certificates in the current page, together with their associated cursor 354 """ 355 edges: [CertificateEdge!] @join__field(graph: CERTIFICATE_INVENTORY, type: "[CertificateEdge!]") @join__field(graph: SEARCH, type: "[CertificateEdge!]") @join__field(graph: TLSPK, type: "[CertificateEdge!]!") 356 } 357 358 input CertificateDateFilter 359 @join__type(graph: SEARCH) 360 { 361 """The datetime value for certificate that we want to match""" 362 eq: DateTime 363 364 """The datetime value for certificate that we don't want to match""" 365 neq: DateTime 366 367 """ 368 The date range for certificate that we want to assert whether the date value is within the specified range 369 """ 370 between: CertificateDateRange 371 372 """ 373 The boolean value that we want to assert whether the date field is null or not 374 """ 375 hasValue: Boolean 376 } 377 378 input CertificateDateRange 379 @join__type(graph: SEARCH) 380 { 381 """The earliest date value we want to match on""" 382 gte: DateTime 383 384 """The latest date value we want to match on""" 385 lte: DateTime 386 } 387 388 """Certificate together with its associated cursor""" 389 type CertificateEdge 390 @join__type(graph: CERTIFICATE_INVENTORY) 391 @join__type(graph: SEARCH) 392 @join__type(graph: TLSPK) 393 { 394 """The certificate""" 395 node: Certificate! 396 397 """The cursor for the certificate""" 398 cursor: String! 399 } 400 401 """ 402 CertificateEvaluationRuleAttributesInput provides information on which attributes are used for evaluation 403 """ 404 input CertificateEvaluationRuleAttributesInput 405 @join__type(graph: COMPLIANCE_POLICY) 406 { 407 """ 408 CertificateAuthorityFingerprints allows to filter by certificate authority for Issuing CA evaluation type 409 """ 410 certificateAuthorityFingerprints: CompliancePolicyFieldStringFilter 411 412 """And allows for chaining AND logic""" 413 and: [CertificateEvaluationRuleAttributesInput!] 414 415 """Or allows for chaining OR logic""" 416 or: [CertificateEvaluationRuleAttributesInput!] 417 } 418 419 """ 420 Identifies the intended usage for which the public-key certificate has been issued 421 """ 422 enum CertificateKeyUsage 423 @join__type(graph: CERTIFICATE_INVENTORY) 424 { 425 """ 426 for verifying digital signatures that are used with an entity authentication service, a data origin authentication service and/or an integrity service 427 """ 428 DIGITAL_SIGNATURE @join__enumValue(graph: CERTIFICATE_INVENTORY) 429 430 """ 431 for verifying digital signatures which are intended to signal that the signer is committing to the content being signed 432 """ 433 NON_REPUDIATION @join__enumValue(graph: CERTIFICATE_INVENTORY) 434 435 """ 436 for enciphering keys or other security information, e.g., for key transport 437 """ 438 KEY_ENCIPHERMENT @join__enumValue(graph: CERTIFICATE_INVENTORY) 439 440 """for enciphering user data, but not keys or other security information""" 441 DATA_ENCIPHERMENT @join__enumValue(graph: CERTIFICATE_INVENTORY) 442 443 """ 444 for use as a public key agreement key, such an when an asymmetric Diffie-Hellman key pair is used for key management 445 """ 446 KEY_AGREEMENT @join__enumValue(graph: CERTIFICATE_INVENTORY) 447 448 """for verifying a CA's signature on public-key certificates""" 449 KEY_CERT_SIGN @join__enumValue(graph: CERTIFICATE_INVENTORY) 450 451 """for verifying an authority's signature on CRLs""" 452 CRL_SIGN @join__enumValue(graph: CERTIFICATE_INVENTORY) 453 454 """ 455 public key agreement key for use only in enciphering data when used with KEY_AGREEMENT also set 456 """ 457 ENCIPHER_ONLY @join__enumValue(graph: CERTIFICATE_INVENTORY) 458 459 """ 460 public key agreement key for use only in deciphering data when used with KEY_AGREEMENT also set 461 """ 462 DECIPHER_ONLY @join__enumValue(graph: CERTIFICATE_INVENTORY) 463 } 464 465 input CertificateListFilter 466 @join__type(graph: SEARCH) 467 { 468 """The string value that we want to assert whether it is within the list""" 469 includes: String 470 471 """ 472 The boolean value that we want to assert whether the boolean field is null or not 473 """ 474 hasValue: Boolean 475 } 476 477 """ 478 CertificateMatchingRuleAttributesInput provides information on which attributes are used for matching for certificate resources 479 """ 480 input CertificateMatchingRuleAttributesInput 481 @join__type(graph: COMPLIANCE_POLICY) 482 { 483 """ApplicationIDs allows to filter by application""" 484 applicationIDs: CompliancePolicyFieldStringFilter 485 486 """Tags allows to filter by application""" 487 tags: CompliancePolicyFieldStringFilter 488 489 """And allows for chaining AND logic""" 490 and: [CertificateMatchingRuleAttributesInput!] 491 492 """Or allows for chaining OR logic""" 493 or: [CertificateMatchingRuleAttributesInput!] 494 } 495 496 input CertificateNumberFilter 497 @join__type(graph: SEARCH) 498 { 499 """The generic number value for certificate we want to match""" 500 eq: Int64 501 502 """The generic number value for certificate we don't want to match""" 503 neq: Int64 504 505 """ 506 The generic number range value for certificate that we want to assert whether the number value is within the specified range 507 """ 508 between: CertificateNumberRange 509 510 """ 511 The boolean value that we want to assert whether the number field is null or not 512 """ 513 hasValue: Boolean 514 } 515 516 input CertificateNumberRange 517 @join__type(graph: SEARCH) 518 { 519 """The minimum number value we want to match on""" 520 gte: Int64 521 522 """The maximum number value we want to match on""" 523 lte: Int64 524 } 525 526 """CertificateOrderField defines the fields that can be used for ordering""" 527 enum CertificateOrderField 528 @join__type(graph: SEARCH) 529 { 530 """Order by field fingerprint""" 531 FINGERPRINT @join__enumValue(graph: SEARCH) 532 533 """Order by field subject.cn""" 534 CERTIFICATE_NAME @join__enumValue(graph: SEARCH) 535 536 """Order by field issuer.cn""" 537 ISSUER @join__enumValue(graph: SEARCH) 538 539 """Order by field validity.to""" 540 EXPIRES_ON @join__enumValue(graph: SEARCH) 541 542 """Order by field isCurrent""" 543 IS_CURRENT @join__enumValue(graph: SEARCH) 544 545 """Order by field tlsServerEndpoints.totalCount""" 546 TLS_SERVER_ENDPOINTS_TOTAL_COUNT @join__enumValue(graph: SEARCH) 547 548 """Order by field lastModifiedTime""" 549 LAST_MODIFIED_TIME @join__enumValue(graph: SEARCH) 550 551 """Order by field revocation.status""" 552 REVOCATION_STATUS @join__enumValue(graph: SEARCH) 553 } 554 555 """ 556 CertificateOrderInput contains the ordering information for a specific field 557 """ 558 input CertificateOrderInput 559 @join__type(graph: SEARCH) 560 { 561 field: CertificateOrderField! 562 direction: OrderDirection! 563 } 564 565 """Identifies the origin of the certificate""" 566 enum CertificateOrigin 567 @join__type(graph: SEARCH) 568 { 569 USER_PROVIDED @join__enumValue(graph: SEARCH) 570 USER_IMPORTED @join__enumValue(graph: SEARCH) 571 USER_SCAN @join__enumValue(graph: SEARCH) 572 ON_PREM_CA_IMPORT @join__enumValue(graph: SEARCH) 573 EXTERNAL_CA_IMPORT @join__enumValue(graph: SEARCH) 574 EXTERNAL_SCAN @join__enumValue(graph: SEARCH) 575 DOMAIN_SCAN @join__enumValue(graph: SEARCH) 576 SMART_SCAN_INTERNAL @join__enumValue(graph: SEARCH) 577 SMART_SCAN_EXTERNAL @join__enumValue(graph: SEARCH) 578 SMART_VALIDATION_INTERNAL @join__enumValue(graph: SEARCH) 579 SMART_VALIDATION_EXTERNAL @join__enumValue(graph: SEARCH) 580 MACHINE_DISCOVERY @join__enumValue(graph: SEARCH) 581 KUBERNETES_DISCOVERY @join__enumValue(graph: SEARCH) 582 AWS_DISCOVERY @join__enumValue(graph: SEARCH) 583 AZURE_DISCOVERY @join__enumValue(graph: SEARCH) 584 GCP_DISCOVERY @join__enumValue(graph: SEARCH) 585 } 586 587 input CertificateOriginFilter 588 @join__type(graph: SEARCH) 589 { 590 """The string value that we want to assert whether it is within the list""" 591 includes: CertificateOrigin 592 593 """ 594 The boolean value that we want to assert whether the boolean field is null or not 595 """ 596 hasValue: Boolean 597 } 598 599 input CertificateProvisioningAWSOptionsInput 600 @join__type(graph: CLOUD_PROVIDERS) 601 { 602 """ 603 Amazon Resource Name (ARN) uniquely identifying AWS certificate resource 604 """ 605 arn: String 606 tags: [CertificateProvisioningTagOptionInput] 607 } 608 609 input CertificateProvisioningAzureOptionsInput 610 @join__type(graph: CLOUD_PROVIDERS) 611 { 612 """ 613 An Azure object-name is a user provided name for and must be unique within a key vault. The name must be a 1-127 character string, starting with a letter and containing only 0-9, a-z, A-Z, and -. 614 """ 615 name: String 616 enabled: Boolean 617 exportable: Boolean 618 reuseKey: Boolean 619 tags: [CertificateProvisioningTagOptionInput] 620 } 621 622 input CertificateProvisioningGCPOptionsInput 623 @join__type(graph: CLOUD_PROVIDERS) 624 { 625 """ 626 A GCM certificate id is a user provider name and must be unique within a region. The id must be a 1-63 character string, start with a letter and only contain lower case letters, digits and hyphens. 627 """ 628 id: String 629 description: String 630 scope: GCMCertificateScope 631 labels: [CertificateProvisioningTagOptionInput] 632 } 633 634 input CertificateProvisioningOptionsInput 635 @join__type(graph: CLOUD_PROVIDERS) 636 { 637 awsOptions: CertificateProvisioningAWSOptionsInput 638 azureOptions: CertificateProvisioningAzureOptionsInput 639 gcpOptions: CertificateProvisioningGCPOptionsInput 640 } 641 642 input CertificateProvisioningTagOptionInput 643 @join__type(graph: CLOUD_PROVIDERS) 644 { 645 name: String! 646 value: String! 647 } 648 649 type CertificateRequest 650 @join__type(graph: CAOPERATIONS, key: "id") 651 @join__type(graph: OUTAGEDETECTION, key: "id") 652 { 653 id: ID! 654 issuingTemplate: IssuingTemplate @join__field(graph: CAOPERATIONS) 655 requester: User @join__field(graph: CAOPERATIONS) 656 issuedTime: DateTime @join__field(graph: CAOPERATIONS) 657 csr: String @join__field(graph: CAOPERATIONS) 658 validityPeriod: String @join__field(graph: CAOPERATIONS) 659 certificateAuthorityAccount: CertificateAuthorityAccount @join__field(graph: CAOPERATIONS) @deprecated(reason: "deprecated - use issuingTemplate.certificateAuthorityAccount field") 660 application: Application @join__field(graph: OUTAGEDETECTION) 661 } 662 663 """ 664 CertificateSearchAttributesInput defines the searchable field attributes. The parent input field name defines the operator 665 used between the attributes (i.e. "and" will match ALL supplied attributes, "or" will match ANY of the attributes) 666 """ 667 input CertificateSearchAttributesInput 668 @join__type(graph: SEARCH) 669 { 670 """Filter by field 'application.id'""" 671 applicationId: CertificateStringFilter 672 673 """Filter by field 'application.name'""" 674 applicationName: CertificateStringFilter 675 676 """Filter by field 'applications.owners.nodes.id'""" 677 applicationOwnerId: CertificateStringFilter 678 679 """Filter by field 'certificateErrorCount.alerts'""" 680 certificateAlertsCount: CertificateNumberFilter 681 682 """Filter by field 'certificateErrorCount.warnings'""" 683 certificateWarningsCount: CertificateNumberFilter 684 685 """Filter by field 'subject.c'""" 686 subjectC: CertificateListFilter 687 688 """Filter by field 'subject.cn'""" 689 subjectCN: CertificateStringFilter 690 691 """Filter by field 'subject.dc'""" 692 subjectDC: CertificateStringFilter 693 694 """Filter by field 'subject.l'""" 695 subjectL: CertificateListFilter 696 697 """Filter by field 'subject.o'""" 698 subjectO: CertificateListFilter 699 700 """Filter by field 'subject.ou'""" 701 subjectOU: CertificateListFilter 702 703 """Filter by field 'subject.postalCode'""" 704 subjectPostalCode: CertificateListFilter 705 706 """Filter by field 'subject.st'""" 707 subjectST: CertificateListFilter 708 709 """Filter by field 'errorCount.alerts'""" 710 alertsCount: CertificateNumberFilter 711 712 """Filter by field 'errorCount.warnings'""" 713 warningsCount: CertificateNumberFilter 714 715 """Filter by field 'extendedKeyUsages'""" 716 extendedKeyUsages: CertificateListFilter 717 718 """Filter by field 'fingerprint'""" 719 fingerprint: CertificateStringFilter 720 721 """Filter by field 'creationTime'""" 722 creationTime: CertificateDateFilter 723 724 """Filter by field 'lastModifiedTime'""" 725 lastModifiedTime: CertificateDateFilter 726 727 """Filter by field 'serialNumber'""" 728 serialNumber: CertificateStringFilter 729 730 """Filter by field 'isCurrent'""" 731 isCurrent: CertificateBooleanFilter 732 733 """Filter by field 'isCA'""" 734 isCA: CertificateBooleanFilter 735 736 """Filter by field 'isSelfSigned'""" 737 isSelfSigned: CertificateBooleanFilter 738 739 """Filter by field 'issuer.c'""" 740 issuerC: CertificateListFilter 741 742 """Filter by field 'issuer.cn'""" 743 issuerCN: CertificateStringFilter 744 745 """Filter by field 'issuer.dc'""" 746 issuerDC: CertificateStringFilter 747 748 """Filter by field 'issuer.l'""" 749 issuerL: CertificateListFilter 750 751 """Filter by field 'issuer.o'""" 752 issuerO: CertificateListFilter 753 754 """Filter by field 'issuer.ou'""" 755 issuerOU: CertificateListFilter 756 757 """Filter by field 'issuer.postalCode'""" 758 issuerPostalCode: CertificateListFilter 759 760 """Filter by field 'issuer.st'""" 761 issuerST: CertificateListFilter 762 763 """Filter by field 'origins'""" 764 origins: CertificateOriginFilter 765 766 """Filter by field 'revocation.status'""" 767 revocationStatus: RevocationStatusFilter 768 769 """Filter by field 'dekHash'""" 770 dekHash: CertificateStringFilter 771 772 """Filter by field 'publicKeyInformation.__typename'""" 773 publicKeyInformationTypeName: PublicKeyInformationTypeFilter 774 775 """Filter by RSAKeyInfo field 'publicKeyInformation.strength'""" 776 publicKeyInformationRSAStrength: CertificateNumberFilter 777 778 """Filter by ECKeyInfo field 'publicKeyInformation.curve'""" 779 publicKeyInformationECCurve: CertificateStringFilter 780 781 """Filter by DSAKeyInfo field 'publicKeyInformation.l'""" 782 publicKeyInformationDSAL: CertificateNumberFilter 783 784 """Filter by DSAKeyInfo field 'publicKeyInformation.n'""" 785 publicKeyInformationDSAN: CertificateNumberFilter 786 787 """Filter by GenericKeyInfo field 'publicKeyInformation.oid'""" 788 publicKeyInformationOID: CertificateStringFilter 789 790 """Filter by field 'subjectHashAlgorithm'""" 791 signatureHashAlgorithm: SignatureHashAlgorithmFilter 792 793 """Filter by field 'status'""" 794 status: CertificateStatusFilter 795 796 """Filter by field 'subjectAlternativeNames.__typename'""" 797 subjectAlternativeNameTypeName: SubjectAlternativeNameTypeFilter 798 799 """Filter by field 'subjectAlternativeNames.dnsName'""" 800 subjectAlternativeNameDNSName: CertificateStringFilter 801 802 """Filter by field 'subjectAlternativeNames.c'""" 803 subjectAlternativeNameDirectoryNameC: CertificateListFilter 804 805 """Filter by field 'subjectAlternativeNames.cn'""" 806 subjectAlternativeNameDirectoryNameCN: CertificateStringFilter 807 808 """Filter by field 'subjectAlternativeNames.l'""" 809 subjectAlternativeNameDirectoryNameL: CertificateListFilter 810 811 """Filter by field 'subjectAlternativeNames.o'""" 812 subjectAlternativeNameDirectoryNameO: CertificateListFilter 813 814 """Filter by field 'subjectAlternativeNames.ou'""" 815 subjectAlternativeNameDirectoryNameOU: CertificateListFilter 816 817 """Filter by field 'subjectAlternativeNames.postalCode'""" 818 subjectAlternativeNameDirectoryNamePostalCode: CertificateListFilter 819 820 """Filter by field 'subjectAlternativeNames.st'""" 821 subjectAlternativeNameDirectoryNameST: CertificateListFilter 822 823 """Filter by field 'subjectAlternativeNames.streetAddress'""" 824 subjectAlternativeNameDirectoryNameStreetAddress: CertificateListFilter 825 826 """Filter by field 'subjectAlternativeNames.ip'""" 827 subjectAlternativeNameIP: CertificateStringFilter 828 829 """Filter by field 'subjectAlternativeNames.uri'""" 830 subjectAlternativeNameURI: CertificateStringFilter 831 832 """Filter by field 'subjectAlternativeNames.emailAddress'""" 833 subjectAlternativeNameEmailAddress: CertificateStringFilter 834 835 """Filter by field 'tags.name'""" 836 tagName: CertificateStringFilter 837 838 """Filter by field 'tlsServerEndpoints.totalCount'""" 839 tlsServerEndpointTotalCount: CertificateNumberFilter 840 841 """Filter by field 'tlsServerEndpoints.nodes.lastAttemptTime'""" 842 tlsServerEndpointLastAttemptTime: CertificateDateFilter 843 844 """Filter by field 'tlsServerEndpoints.nodes.lastSeenTime'""" 845 tlsServerEndpointLastSeenTime: CertificateDateFilter 846 847 """Filter by field 'tlsServerEndpoints.nodes.deploymentStatus'""" 848 tlsServerEndpointDeploymentStatus: DeploymentStatusFilter 849 850 """ 851 Filter by field 'tlsServerEndpoints.nodes.tlsValidationError.errorType' 852 """ 853 tlsServerEndpointTLSValidationErrorType: TLSValidationErrorTypeFilter 854 855 """ 856 Filter by field 'tlsServerEndpoints.nodes.chainValidationErrors.errorType' 857 """ 858 tlsServerEndpointChainValidationErrorType: ChainValidationErrorTypeFilter 859 860 """Filter by field 'validity.from'""" 861 validityFrom: CertificateDateFilter 862 863 """Filter by field 'validity.to'""" 864 validityTo: CertificateDateFilter 865 866 """Filter by field 'validity.period'""" 867 validityPeriod: CertificateNumberFilter 868 869 """Filter by field 'clusterCertificateInstallations.nodes.__typename'""" 870 clusterCertificateInstallationTypeName: CertificateStringFilter 871 872 """Filter by field 'clusterCertificateInstallations.nodes.namespace'""" 873 clusterCertificateInstallationClusterSecretNamespace: CertificateStringFilter 874 875 """Filter by field 'clusterCertificateInstallations.nodes.cluster.id'""" 876 clusterCertificateInstallationClusterId: CertificateStringFilter 877 878 """Filter by field 'clusterCertificateInstallations.nodes.cluster.name'""" 879 clusterCertificateInstallationClusterName: CertificateStringFilter 880 881 """Filter by field 'clusterCertificateInstallations.nodes.lifecycle'""" 882 clusterCertificateInstallationClusterSecretLifecycle: CertificateStringFilter 883 884 """ 885 Filter by field 'clusterCertificateInstallations.nodes.clusterCertificateBinding.resourceType' 886 """ 887 clusterCertificateInstallationClusterSecretUsedBy: CertificateStringFilter 888 889 """Filter by field 'cloudInstallations.nodes.metadata.cloudId'""" 890 cloudInstallationsCloudId: CertificateStringFilter 891 892 """Filter by field 'cloudInstallations.nodes.cloudKeystoreId'""" 893 cloudInstallationsCloudKeystoreId: CertificateStringFilter 894 895 """Filter by field 'cloudInstallations.nodes.cloudKeystoreName'""" 896 cloudInstallationsCloudKeystoreName: CertificateStringFilter 897 898 """Filter by field 'cloudInstallations.nodes.cloudProviderId'""" 899 cloudInstallationsCloudProviderId: CertificateStringFilter 900 901 """Filter by field 'cloudInstallations.nodes.cloudProviderName'""" 902 cloudInstallationsCloudProviderName: CertificateStringFilter 903 904 """Filter by field 'cloudInstallations.nodes.addedOn'""" 905 cloudInstallationsAddedOn: CertificateDateFilter 906 907 """Filter by field 'cloudInstallations.nodes.status'""" 908 cloudInstallationsStatus: CertificateStringFilter 909 910 """ 911 Filter by matching ALL the supplied fields on the array of CertificateSearchAttributes input object 912 """ 913 and: [CertificateSearchAttributesInput!] 914 915 """ 916 Filter by matching any ONE of the supplied fields on the array of CertificateSearchAttributes input object 917 """ 918 or: [CertificateSearchAttributesInput!] 919 } 920 921 """ 922 CertificateSearchFilterInput defines the search filter. If more than one field is supplied, the match is on ALL of them 923 (i.e. using an implicit AND operator) 924 """ 925 input CertificateSearchFilterInput 926 @join__type(graph: SEARCH) 927 { 928 """ 929 Simple filter for full-text like search, used for matching across all searchable fields 930 """ 931 quickFilter: String 932 933 """ 934 Filter by matching ALL the supplied fields on the array of CertificateSearchAttributes input object 935 """ 936 and: [CertificateSearchAttributesInput!] 937 938 """ 939 Filter by matching any ONE of the supplied fields on the array of CertificateSearchAttributes input object 940 """ 941 or: [CertificateSearchAttributesInput!] 942 } 943 944 """Indicates the status of a certificate""" 945 enum CertificateStatus 946 @join__type(graph: CERTIFICATE_INVENTORY) 947 @join__type(graph: SEARCH) 948 { 949 """certificate is active""" 950 ACTIVE @join__enumValue(graph: CERTIFICATE_INVENTORY) @join__enumValue(graph: SEARCH) 951 952 """certificate has been retired by an user""" 953 RETIRED @join__enumValue(graph: CERTIFICATE_INVENTORY) @join__enumValue(graph: SEARCH) 954 } 955 956 input CertificateStatusFilter 957 @join__type(graph: SEARCH) 958 { 959 """The certificate status value we want to match""" 960 eq: CertificateStatus 961 962 """The certificate status value we don't want to match""" 963 neq: CertificateStatus 964 965 """ 966 The list of certificate status that we want to assert whether the string value is included in the provided list 967 """ 968 in: [CertificateStatus!] 969 970 """ 971 The boolean value that we want to assert whether the field is null or not 972 """ 973 hasValue: Boolean 974 } 975 976 input CertificateStringFilter 977 @join__type(graph: SEARCH) 978 { 979 """The generic string value for certificate we want to match""" 980 eq: String 981 982 """The generic string value for certificate we don't want to match""" 983 neq: String 984 985 """ 986 The generic string value for certificate we want to assert whether the provided string is present 987 """ 988 contains: String 989 990 """ 991 The list of generic string values for certificate that we want to assert whether the string value is included in the provided list 992 """ 993 in: [String!] 994 995 """ 996 The boolean value that we want to assert whether the field is null or not 997 """ 998 hasValue: Boolean 999 } 1000 1001 """ 1002 CertificateType defines what type of certificate the trusted CA cert is 1003 """ 1004 enum CertificateType 1005 @join__type(graph: CERTIFICATE) 1006 { 1007 ROOT_CA @join__enumValue(graph: CERTIFICATE) 1008 SELF_ISSUED_CA @join__enumValue(graph: CERTIFICATE) 1009 CA @join__enumValue(graph: CERTIFICATE) 1010 CROSS_CA @join__enumValue(graph: CERTIFICATE) 1011 END_ENTITY @join__enumValue(graph: CERTIFICATE) 1012 END_ENTITY_AC @join__enumValue(graph: CERTIFICATE) 1013 } 1014 1015 type CertificateValidationError implements ValidationError 1016 @join__implements(graph: CERTIFICATE_INVENTORY, interface: "ValidationError") 1017 @join__type(graph: CERTIFICATE_INVENTORY) 1018 { 1019 message: String 1020 arguments: [String!] 1021 errorType: CertificateValidationErrorType 1022 } 1023 1024 """Identifies error type for certificate validation""" 1025 enum CertificateValidationErrorType 1026 @join__type(graph: CERTIFICATE_INVENTORY) 1027 { 1028 """indicates when a certificate is expired""" 1029 CERTIFICATE_EXPIRED @join__enumValue(graph: CERTIFICATE_INVENTORY) 1030 1031 """ 1032 indicates when a certificate is an older version of an existing current version of certificate 1033 """ 1034 CERTIFICATE_OLD_VERSION @join__enumValue(graph: CERTIFICATE_INVENTORY) 1035 } 1036 1037 """Indicates the validity of a certificate""" 1038 type CertificateValidity 1039 @join__type(graph: CERTIFICATE_INVENTORY) 1040 { 1041 from: DateTime 1042 to: DateTime 1043 1044 """ certificate validity period in seconds""" 1045 period: Int64 1046 } 1047 1048 type ChainValidationError implements ValidationError 1049 @join__implements(graph: OUTAGEDETECTION, interface: "ValidationError") 1050 @join__type(graph: OUTAGEDETECTION) 1051 { 1052 message: String 1053 arguments: [String!] 1054 errorType: ChainValidationErrorType 1055 } 1056 1057 """ 1058 Identifies the chain validation error type associated with a tls server endpoint 1059 """ 1060 enum ChainValidationErrorType 1061 @join__type(graph: OUTAGEDETECTION) 1062 @join__type(graph: SEARCH) 1063 { 1064 CHAIN_EXPIRE_BEFORE_EE @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 1065 CHAIN_BUILDING_FAILED @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 1066 INCOMPLETE_CHAIN @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 1067 DISTRUSTED @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 1068 UNKNOWN_ERROR @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 1069 NOT_APPLICABLE @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 1070 SELF_SIGNED @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 1071 } 1072 1073 input ChainValidationErrorTypeFilter 1074 @join__type(graph: SEARCH) 1075 { 1076 """The chain validation error type value we want to match""" 1077 eq: ChainValidationErrorType 1078 1079 """The chain validation error type value we don't want to match""" 1080 neq: ChainValidationErrorType 1081 1082 """ 1083 The list of chain validation error types that we want to assert whether the string value is included in the provided list 1084 """ 1085 in: [ChainValidationErrorType!] 1086 1087 """ 1088 The boolean value that we want to assert whether the field is null or not 1089 """ 1090 hasValue: Boolean 1091 } 1092 1093 type CloudDiscovery 1094 @join__type(graph: CLOUD_PROVIDERS) 1095 { 1096 id: UUID! 1097 cloudKeystore: CloudKeystore! 1098 status: CloudDiscoveryStatus! 1099 statusDetails: String 1100 totalCertificatesCount: Int! 1101 missingCertificatesCount: Int! 1102 newCertificatesCount: Int! 1103 startedBy: User! 1104 startTime: DateTime 1105 endTime: DateTime 1106 } 1107 1108 type CloudDiscoveryConfiguration 1109 @join__type(graph: CLOUD_PROVIDERS) 1110 { 1111 """ 1112 A crontab expression representing when the scheduled discovery will run, eg: '00 03 * * *' -> 3 AM every day 1113 """ 1114 scheduleSpecification: String 1115 includeExpiredCertificates: Boolean! 1116 includeRevokedCertificates: Boolean! 1117 } 1118 1119 input CloudDiscoveryConfigurationInput 1120 @join__type(graph: CLOUD_PROVIDERS) 1121 { 1122 """ 1123 A crontab expression representing when the scheduled discovery will run, eg: '00 03 * * *' -> 3 AM every day 1124 """ 1125 scheduleSpecification: String 1126 includeExpiredCertificates: Boolean 1127 includeRevokedCertificates: Boolean 1128 } 1129 1130 """Indicates the status of a cloud discovery""" 1131 enum CloudDiscoveryStatus 1132 @join__type(graph: CLOUD_PROVIDERS) 1133 { 1134 """The cloud discovery has not been initiated""" 1135 NEVER_INITIATED @join__enumValue(graph: CLOUD_PROVIDERS) 1136 1137 """The cloud discovery has been initiated""" 1138 INITIATED @join__enumValue(graph: CLOUD_PROVIDERS) 1139 1140 """The cloud discovery is running""" 1141 RUNNING @join__enumValue(graph: CLOUD_PROVIDERS) 1142 1143 """The cloud discovery has been successfully completed""" 1144 COMPLETED @join__enumValue(graph: CLOUD_PROVIDERS) 1145 1146 """The cloud discovery has been aborted""" 1147 ABORTED @join__enumValue(graph: CLOUD_PROVIDERS) 1148 1149 """The cloud discovery is aborting""" 1150 ABORTING @join__enumValue(graph: CLOUD_PROVIDERS) 1151 1152 """The cloud discovery has failed""" 1153 FAILED @join__enumValue(graph: CLOUD_PROVIDERS) 1154 } 1155 1156 type CloudKeystore 1157 @join__type(graph: CLOUD_PROVIDERS) 1158 { 1159 id: UUID! 1160 1161 """ 1162 Cloud Keystore name 1163 1164 A string between 3 and 250 characters 1165 """ 1166 name: String! 1167 type: CloudKeystoreType! 1168 team: Team! 1169 authorizedTeams: [Team!] 1170 cloudProvider: CloudProvider! 1171 configuration: CloudKeystoreConfiguration! 1172 machineIdentitiesCount: Int! 1173 createdOn: DateTime! 1174 createdBy: User! 1175 lastModifiedOn: DateTime! 1176 lastModifiedBy: User 1177 discovery: CloudDiscovery 1178 discoveryConfiguration: CloudDiscoveryConfiguration! 1179 } 1180 1181 type CloudKeystoreACMConfiguration 1182 @join__type(graph: CLOUD_PROVIDERS) 1183 { 1184 region: String! 1185 } 1186 1187 input CloudKeystoreACMConfigurationInput 1188 @join__type(graph: CLOUD_PROVIDERS) 1189 { 1190 region: String! 1191 } 1192 1193 type CloudKeystoreAKVConfiguration 1194 @join__type(graph: CLOUD_PROVIDERS) 1195 { 1196 """ 1197 An Azure Key Vault name 1198 1199 The vault name should be string of 3 to 24 characters and can contain only numbers (0-9), letters (a-z, A-Z), and hyphens (-). 1200 The name must begin with a letter, end with a letter or digit, and not contain consecutive hyphens. 1201 """ 1202 keyVaultName: String! 1203 } 1204 1205 input CloudKeystoreAKVConfigurationInput 1206 @join__type(graph: CLOUD_PROVIDERS) 1207 { 1208 """ 1209 An Azure Key Vault name 1210 1211 The vault name should be string of 3 to 24 characters and can contain only numbers (0-9), letters (a-z, A-Z), and hyphens (-). 1212 The name must begin with a letter, end with a letter or digit, and not contain consecutive hyphens. 1213 """ 1214 keyVaultName: String! 1215 } 1216 1217 union CloudKeystoreConfiguration 1218 @join__type(graph: CLOUD_PROVIDERS) 1219 @join__unionMember(graph: CLOUD_PROVIDERS, member: "CloudKeystoreACMConfiguration") 1220 @join__unionMember(graph: CLOUD_PROVIDERS, member: "CloudKeystoreAKVConfiguration") 1221 @join__unionMember(graph: CLOUD_PROVIDERS, member: "CloudKeystoreGCMConfiguration") 1222 = CloudKeystoreACMConfiguration | CloudKeystoreAKVConfiguration | CloudKeystoreGCMConfiguration 1223 1224 """A page of CloudKeystore results""" 1225 type CloudKeystoreConnection 1226 @join__type(graph: CLOUD_PROVIDERS) 1227 { 1228 """Current page information""" 1229 pageInfo: PageInfo! 1230 1231 """Total number of cloud keystores (in all pages)""" 1232 totalCount: Int! 1233 1234 """CloudKeystores in the current page, without cursor""" 1235 nodes: [CloudKeystore!] 1236 1237 """ 1238 CloudKeystores in the current page, together with their associated cursor 1239 """ 1240 edges: [CloudKeystoreEdge!] 1241 } 1242 1243 """CloudKeystore together with its associated cursor""" 1244 type CloudKeystoreEdge 1245 @join__type(graph: CLOUD_PROVIDERS) 1246 { 1247 """The cloud keystore""" 1248 node: CloudKeystore! 1249 1250 """The cursor for the cloud keystore""" 1251 cursor: String! 1252 } 1253 1254 input CloudKeystoreFilterInput 1255 @join__type(graph: CLOUD_PROVIDERS) 1256 { 1257 cloudProviderId: UUID 1258 cloudProviderName: String 1259 cloudKeystoreId: UUID 1260 cloudKeystoreName: String 1261 } 1262 1263 type CloudKeystoreGCMConfiguration 1264 @join__type(graph: CLOUD_PROVIDERS) 1265 { 1266 projectId: String! 1267 location: String! 1268 } 1269 1270 input CloudKeystoreGCMConfigurationInput 1271 @join__type(graph: CLOUD_PROVIDERS) 1272 { 1273 """ 1274 GCP Certificate Manager project name. 1275 1276 The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. 1277 """ 1278 projectId: String! 1279 location: String! 1280 } 1281 1282 input CloudKeystoreInput 1283 @join__type(graph: CLOUD_PROVIDERS) 1284 { 1285 """ 1286 Cloud Keystore name 1287 1288 A string between 3 and 250 characters 1289 """ 1290 name: String! 1291 type: CloudKeystoreType! 1292 teamId: UUID! 1293 authorizedTeams: [UUID!] 1294 cloudProviderId: UUID! 1295 acmConfiguration: CloudKeystoreACMConfigurationInput 1296 akvConfiguration: CloudKeystoreAKVConfigurationInput 1297 gcmConfiguration: CloudKeystoreGCMConfigurationInput 1298 discoveryConfiguration: CloudDiscoveryConfigurationInput 1299 } 1300 1301 """ 1302 CloudKeystoreOrderField defines the fields that can be used for ordering 1303 """ 1304 enum CloudKeystoreOrderField 1305 @join__type(graph: CLOUD_PROVIDERS) 1306 { 1307 """Order by ID""" 1308 ID @join__enumValue(graph: CLOUD_PROVIDERS) 1309 1310 """Order by Name""" 1311 NAME @join__enumValue(graph: CLOUD_PROVIDERS) 1312 1313 """Order by Cloud Keystore Type""" 1314 TYPE @join__enumValue(graph: CLOUD_PROVIDERS) 1315 1316 """Order by Owner Team ID""" 1317 TEAM_ID @join__enumValue(graph: CLOUD_PROVIDERS) 1318 1319 """Order by Authorized Team IDs""" 1320 AUTHORIZED_TEAMS @join__enumValue(graph: CLOUD_PROVIDERS) 1321 1322 """Order by Cloud Provider ID""" 1323 CLOUD_PROVIDER_ID @join__enumValue(graph: CLOUD_PROVIDERS) 1324 1325 """Order by Cloud Provider Name""" 1326 CLOUD_PROVIDER_NAME @join__enumValue(graph: CLOUD_PROVIDERS) 1327 1328 """Order by Machine Identities Count""" 1329 MACHINE_IDENTITIES_COUNT @join__enumValue(graph: CLOUD_PROVIDERS) 1330 1331 """Order by Created On date""" 1332 CREATED_ON @join__enumValue(graph: CLOUD_PROVIDERS) 1333 1334 """Order by CreatedBy User ID""" 1335 CREATED_BY @join__enumValue(graph: CLOUD_PROVIDERS) 1336 1337 """Order by Last Modified date""" 1338 LAST_MODIFIED_ON @join__enumValue(graph: CLOUD_PROVIDERS) 1339 1340 """Order by Last Modified By User ID""" 1341 LAST_MODIFIED_BY @join__enumValue(graph: CLOUD_PROVIDERS) 1342 } 1343 1344 """ 1345 CloudKeystoreOrderInput contains the ordering information for a specific field 1346 """ 1347 input CloudKeystoreOrderInput 1348 @join__type(graph: CLOUD_PROVIDERS) 1349 { 1350 field: CloudKeystoreOrderField! 1351 direction: OrderDirection! 1352 } 1353 1354 """Indicates the type of a Cloud Keystore""" 1355 enum CloudKeystoreType 1356 @join__type(graph: CLOUD_PROVIDERS) 1357 { 1358 """AWS Certificate Manager""" 1359 ACM @join__enumValue(graph: CLOUD_PROVIDERS) 1360 1361 """Azure Key Vault""" 1362 AKV @join__enumValue(graph: CLOUD_PROVIDERS) 1363 1364 """Google Certificate Manager""" 1365 GCM @join__enumValue(graph: CLOUD_PROVIDERS) 1366 } 1367 1368 input CloudKeystoreUpdateInput 1369 @join__type(graph: CLOUD_PROVIDERS) 1370 { 1371 id: UUID! 1372 1373 """ 1374 Cloud Keystore name 1375 1376 A string between 3 and 250 characters 1377 """ 1378 name: String 1379 teamId: UUID 1380 authorizedTeams: [UUID!] 1381 discoveryConfiguration: CloudDiscoveryConfigurationInput 1382 } 1383 1384 input CloudMachineIdentitiesFilterInput 1385 @join__type(graph: CLOUD_PROVIDERS) 1386 { 1387 cloudKeystoreId: UUID 1388 machineIdentityId: UUID 1389 fingerprints: [String!] 1390 newlyDiscovered: Boolean 1391 metadata: String 1392 } 1393 1394 type CloudProvider 1395 @join__type(graph: CLOUD_PROVIDERS) 1396 { 1397 id: UUID! 1398 type: CloudProviderType! 1399 configuration: CloudProviderConfiguration! 1400 name: String! 1401 team: Team! 1402 authorizedTeams: [Team!] 1403 status: CloudProviderStatus! 1404 statusDetails: String 1405 keystoresCount: Int! 1406 createdOn: DateTime! 1407 createdBy: User! 1408 lastModifiedOn: DateTime! 1409 lastModifiedBy: User 1410 } 1411 1412 type CloudProviderAWSConfiguration 1413 @join__type(graph: CLOUD_PROVIDERS) 1414 { 1415 accountId: AWSAccountID! 1416 1417 """ 1418 An AWS Policy Role. 1419 1420 Maximum 64 characters. Use alphanumeric and '+=,.@-_' characters. 1421 """ 1422 role: String! 1423 externalId: String! 1424 } 1425 1426 input CloudProviderAWSConfigurationInput 1427 @join__type(graph: CLOUD_PROVIDERS) 1428 { 1429 accountId: AWSAccountID! 1430 1431 """ 1432 An AWS Policy Role. 1433 1434 Maximum 64 characters. Use alphanumeric and '+=,.@-_' characters. 1435 """ 1436 role: String! 1437 } 1438 1439 input CloudProviderAWSConfigurationUpdateInput 1440 @join__type(graph: CLOUD_PROVIDERS) 1441 { 1442 """ 1443 An AWS Policy Role. 1444 1445 Maximum 64 characters. Use alphanumeric and '+=,.@-_' characters. 1446 """ 1447 role: String 1448 } 1449 1450 type CloudProviderAzureConfiguration 1451 @join__type(graph: CLOUD_PROVIDERS) 1452 { 1453 applicationId: String! 1454 directoryId: String! 1455 } 1456 1457 input CloudProviderAzureConfigurationInput 1458 @join__type(graph: CLOUD_PROVIDERS) 1459 { 1460 applicationId: String! 1461 directoryId: String! 1462 secret: String! 1463 } 1464 1465 input CloudProviderAzureConfigurationUpdateInput 1466 @join__type(graph: CLOUD_PROVIDERS) 1467 { 1468 secret: String! 1469 } 1470 1471 union CloudProviderConfiguration 1472 @join__type(graph: CLOUD_PROVIDERS) 1473 @join__unionMember(graph: CLOUD_PROVIDERS, member: "CloudProviderAWSConfiguration") 1474 @join__unionMember(graph: CLOUD_PROVIDERS, member: "CloudProviderAzureConfiguration") 1475 @join__unionMember(graph: CLOUD_PROVIDERS, member: "CloudProviderGCPConfiguration") 1476 = CloudProviderAWSConfiguration | CloudProviderAzureConfiguration | CloudProviderGCPConfiguration 1477 1478 """A page of CloudProvider results""" 1479 type CloudProviderConnection 1480 @join__type(graph: CLOUD_PROVIDERS) 1481 { 1482 """Current page information""" 1483 pageInfo: PageInfo! 1484 1485 """Total number of cloud providers (in all pages)""" 1486 totalCount: Int! 1487 1488 """CloudProviders in the current page, without cursor""" 1489 nodes: [CloudProvider!] 1490 1491 """ 1492 CloudProviders in the current page, together with their associated cursor 1493 """ 1494 edges: [CloudProviderEdge!] 1495 } 1496 1497 union CloudProviderDetails 1498 @join__type(graph: CLOUD_PROVIDERS) 1499 @join__unionMember(graph: CLOUD_PROVIDERS, member: "AWSProviderDetails") 1500 @join__unionMember(graph: CLOUD_PROVIDERS, member: "AzureProviderDetails") 1501 @join__unionMember(graph: CLOUD_PROVIDERS, member: "GCPProviderDetails") 1502 = AWSProviderDetails | AzureProviderDetails | GCPProviderDetails 1503 1504 """CloudProvider together with its associated cursor""" 1505 type CloudProviderEdge 1506 @join__type(graph: CLOUD_PROVIDERS) 1507 { 1508 """The cloud provider""" 1509 node: CloudProvider! 1510 1511 """The cursor for the cloud provider""" 1512 cursor: String! 1513 } 1514 1515 input CloudProviderFilterInput 1516 @join__type(graph: CLOUD_PROVIDERS) 1517 { 1518 status: CloudProviderStatus 1519 type: CloudProviderType 1520 name: String 1521 } 1522 1523 type CloudProviderGCPConfiguration 1524 @join__type(graph: CLOUD_PROVIDERS) 1525 { 1526 serviceAccountEmail: String! 1527 publicKey: String! 1528 publicKeyNotAfter: String! 1529 } 1530 1531 input CloudProviderGCPConfigurationInput 1532 @join__type(graph: CLOUD_PROVIDERS) 1533 { 1534 serviceAccountEmail: String! 1535 } 1536 1537 input CloudProviderInput 1538 @join__type(graph: CLOUD_PROVIDERS) 1539 { 1540 """ 1541 Cloud Provider name 1542 1543 A string between 3 and 250 characters 1544 """ 1545 name: String! 1546 type: CloudProviderType! 1547 awsConfiguration: CloudProviderAWSConfigurationInput 1548 azureConfiguration: CloudProviderAzureConfigurationInput 1549 gcpConfiguration: CloudProviderGCPConfigurationInput 1550 teamId: UUID! 1551 authorizedTeams: [UUID!] 1552 } 1553 1554 """ 1555 CloudKeystoreOrderField defines the fields that can be used for ordering 1556 """ 1557 enum CloudProviderOrderField 1558 @join__type(graph: CLOUD_PROVIDERS) 1559 { 1560 """Order by ID""" 1561 ID @join__enumValue(graph: CLOUD_PROVIDERS) 1562 1563 """Order by Name""" 1564 NAME @join__enumValue(graph: CLOUD_PROVIDERS) 1565 1566 """Order by Cloud Provider Type""" 1567 TYPE @join__enumValue(graph: CLOUD_PROVIDERS) 1568 1569 """Order by Validation Status""" 1570 STATUS @join__enumValue(graph: CLOUD_PROVIDERS) 1571 1572 """Order by Owner Team ID""" 1573 TEAM_ID @join__enumValue(graph: CLOUD_PROVIDERS) 1574 1575 """Order by Authorized Team IDs""" 1576 AUTHORIZED_TEAMS @join__enumValue(graph: CLOUD_PROVIDERS) 1577 1578 """Order by Cloud Keystore Count""" 1579 CLOUD_KEYSTORE_COUNT @join__enumValue(graph: CLOUD_PROVIDERS) 1580 1581 """Order by Created On date""" 1582 CREATED_ON @join__enumValue(graph: CLOUD_PROVIDERS) 1583 1584 """Order by CreatedBy User ID""" 1585 CREATED_BY @join__enumValue(graph: CLOUD_PROVIDERS) 1586 1587 """Order by Last Modified date""" 1588 LAST_MODIFIED_ON @join__enumValue(graph: CLOUD_PROVIDERS) 1589 1590 """Order by Last Modified By User ID""" 1591 LAST_MODIFIED_BY @join__enumValue(graph: CLOUD_PROVIDERS) 1592 } 1593 1594 """ 1595 CloudProviderOrderInput contains the ordering information for a specific field 1596 """ 1597 input CloudProviderOrderInput 1598 @join__type(graph: CLOUD_PROVIDERS) 1599 { 1600 field: CloudProviderOrderField! 1601 direction: OrderDirection! 1602 } 1603 1604 """Indicates the status of a cloud provider""" 1605 enum CloudProviderStatus 1606 @join__type(graph: CLOUD_PROVIDERS) 1607 { 1608 """The cloud provider is successfully validated""" 1609 VALIDATED @join__enumValue(graph: CLOUD_PROVIDERS) 1610 1611 """ 1612 The cloud provider is not validated or the validation fails for some reason 1613 """ 1614 NOT_VALIDATED @join__enumValue(graph: CLOUD_PROVIDERS) 1615 } 1616 1617 """Indicates the type of a Cloud Provider""" 1618 enum CloudProviderType 1619 @join__type(graph: CLOUD_PROVIDERS) 1620 { 1621 """AWS cloud provider type""" 1622 AWS @join__enumValue(graph: CLOUD_PROVIDERS) 1623 1624 """Azure cloud provider type""" 1625 AZURE @join__enumValue(graph: CLOUD_PROVIDERS) 1626 1627 """Google cloud provider type""" 1628 GCP @join__enumValue(graph: CLOUD_PROVIDERS) 1629 } 1630 1631 input CloudProviderUpdateInput 1632 @join__type(graph: CLOUD_PROVIDERS) 1633 { 1634 type: CloudProviderType! 1635 id: UUID! 1636 1637 """ 1638 Cloud Provider name 1639 1640 A string between 3 and 250 characters 1641 """ 1642 name: String 1643 teamId: UUID 1644 authorizedTeams: [UUID!] 1645 awsConfiguration: CloudProviderAWSConfigurationUpdateInput 1646 azureConfiguration: CloudProviderAzureConfigurationUpdateInput 1647 } 1648 1649 input CloudProviderValidateInput 1650 @join__type(graph: CLOUD_PROVIDERS) 1651 { 1652 type: CloudProviderType! 1653 awsConfiguration: CloudProviderAWSConfigurationInput 1654 azureConfiguration: CloudProviderAzureConfigurationInput 1655 gcpConfiguration: CloudProviderGCPConfigurationInput 1656 } 1657 1658 type CloudProviderValidationResult 1659 @join__type(graph: CLOUD_PROVIDERS) 1660 { 1661 result: CloudProviderStatus! 1662 details: String 1663 } 1664 1665 type Cluster 1666 @join__type(graph: TLSPK) 1667 { 1668 """ID is the identifier of the cluster in VaaS. It is immutable.""" 1669 id: ID! 1670 1671 """Name is the display name of the cluster.""" 1672 name: String! 1673 1674 """Description is the description text about the cluster.""" 1675 description: String 1676 1677 """ 1678 UploaderID is the identifier used by the upload API to assign an upload to a cluster. It sent by agent in the payload. 1679 """ 1680 uploaderID: ID! 1681 1682 """LastCheckInTime is the last time the cluster connected with VaaS.""" 1683 lastCheckInTime: String 1684 1685 """RegisteredOnTime is when the cluster connected for the first time.""" 1686 registeredOnTime: String 1687 1688 """Status is the status of the cluster connection.""" 1689 status: ClusterStatus! 1690 1691 """AgentVersion is the version of the agent last time it contacted.""" 1692 agentVersion: String! 1693 1694 """ 1695 ServiceAccountID is the client ID of the service account linked to the cluster 1696 """ 1697 serviceAccountID: String 1698 1699 """ServiceAccount is the service account linked to the cluster""" 1700 serviceAccount: ServiceAccount 1701 1702 """ 1703 Certificates is the connection to list of certificates per cluster that were sent to cert-inventory 1704 """ 1705 certificates: CertificateConnection 1706 1707 """ 1708 UniqueCertificates is the total number of unique certificates currently in the cluster 1709 """ 1710 uniqueCertificates: Int! 1711 } 1712 1713 type ClusterCertificateBinding 1714 @join__type(graph: TLSPK) 1715 { 1716 id: ID! 1717 resourceName: String! 1718 resourceType: String! 1719 namespace: String! 1720 policyViolation: [PolicyViolation!]! 1721 certificate: Certificate 1722 clusterSecret: ClusterSecret! 1723 cluster: Cluster! 1724 } 1725 1726 type ClusterCertificateBindingConnection 1727 @join__type(graph: TLSPK) 1728 { 1729 pageInfo: PageInfo! 1730 nodes: [ClusterCertificateBinding!]! 1731 edges: [ClusterCertificateBindingEdge!]! 1732 totalCount: Int! 1733 } 1734 1735 type ClusterCertificateBindingEdge 1736 @join__type(graph: TLSPK) 1737 { 1738 node: ClusterCertificateBinding! 1739 cursor: String! 1740 } 1741 1742 union ClusterCertificateInstallation 1743 @join__type(graph: TLSPK) 1744 @join__unionMember(graph: TLSPK, member: "ClusterSecret") 1745 = ClusterSecret 1746 1747 type ClusterCertificateInstallationConnection 1748 @join__type(graph: TLSPK) 1749 { 1750 pageInfo: PageInfo! 1751 nodes: [ClusterCertificateInstallation!]! 1752 edges: [ClusterCertificateInstallationEdge!]! 1753 totalCount: Int! 1754 } 1755 1756 type ClusterCertificateInstallationEdge 1757 @join__type(graph: TLSPK) 1758 { 1759 node: ClusterCertificateInstallation! 1760 cursor: String! 1761 } 1762 1763 type ClusterConnection 1764 @join__type(graph: TLSPK) 1765 { 1766 edges: [ClusterEdge!]! 1767 nodes: [Cluster!]! 1768 pageInfo: PageInfo! 1769 totalCount: Int! 1770 } 1771 1772 type ClusterEdge 1773 @join__type(graph: TLSPK) 1774 { 1775 node: Cluster 1776 cursor: String! 1777 } 1778 1779 input ClusterFilterInput 1780 @join__type(graph: TLSPK) 1781 { 1782 filter: String 1783 filterOperator: LogicOperator 1784 id: ConditionInputForEnum 1785 name: ConditionInputForString 1786 status: ConditionInputForEnum 1787 attributesOperator: LogicOperator 1788 } 1789 1790 input ClusterInput 1791 @join__type(graph: TLSPK) 1792 { 1793 """ID is the identifier of the cluster in VaaS. It is immutable.""" 1794 id: ID 1795 1796 """Name is the display name for the cluster.""" 1797 name: String 1798 1799 """Description is the description text about the cluster.""" 1800 description: String 1801 1802 """ServiceAccountID is the client ID of the service account to link""" 1803 serviceAccountID: String 1804 } 1805 1806 enum ClusterOrderDirection 1807 @join__type(graph: TLSPK) 1808 { 1809 ASC @join__enumValue(graph: TLSPK) 1810 DESC @join__enumValue(graph: TLSPK) 1811 } 1812 1813 enum ClusterOrderField 1814 @join__type(graph: TLSPK) 1815 { 1816 name @join__enumValue(graph: TLSPK) 1817 status @join__enumValue(graph: TLSPK) 1818 lastCheckInTime @join__enumValue(graph: TLSPK) 1819 registeredOnTime @join__enumValue(graph: TLSPK) 1820 } 1821 1822 input ClusterOrderInput 1823 @join__type(graph: TLSPK) 1824 { 1825 field: ClusterOrderField 1826 direction: ClusterOrderDirection 1827 } 1828 1829 type ClusterSecret 1830 @join__type(graph: TLSPK) 1831 { 1832 id: ID! 1833 name: String! 1834 namespace: String! 1835 policyViolation: [PolicyViolation!]! 1836 certificate: Certificate 1837 lifecycle: Lifecycle 1838 clusterCertificateBindings: [ClusterCertificateBinding!]! 1839 cluster: Cluster! 1840 } 1841 1842 type ClusterSecretConnection 1843 @join__type(graph: TLSPK) 1844 { 1845 pageInfo: PageInfo! 1846 nodes: [ClusterSecret!]! 1847 edges: [ClusterSecretEdge!]! 1848 totalCount: Int! 1849 } 1850 1851 type ClusterSecretEdge 1852 @join__type(graph: TLSPK) 1853 { 1854 node: ClusterSecret! 1855 cursor: String! 1856 } 1857 1858 enum ClusterStatus 1859 @join__type(graph: TLSPK) 1860 { 1861 WAITING_FOR_FIRST_CONTACT @join__enumValue(graph: TLSPK) 1862 REGISTERED @join__enumValue(graph: TLSPK) 1863 ACTIVE @join__enumValue(graph: TLSPK) 1864 INACTIVE @join__enumValue(graph: TLSPK) 1865 DELETED @join__enumValue(graph: TLSPK) 1866 } 1867 1868 """ 1869 CompliancePoliciesSummary defines a summary view of widgets to provide more context for the collection of compliance policies 1870 """ 1871 type CompliancePoliciesSummary 1872 @join__type(graph: COMPLIANCE_POLICY) 1873 { 1874 """ 1875 CertificatePolicyFindings is used to provide information on how many certs have issues 1876 """ 1877 certificatePolicyFindings: CertificateCompliancePolicyFindingsOverviewWidget 1878 } 1879 1880 """ 1881 CompliancePolicy refers to a policy set on resources in VCP to check certain rules 1882 These consist of matching rules (which assets should be checked) 1883 and evaluation rules (what attributes should be checked) 1884 Based on the configured matching and evaluation rules, a certain amount of 1885 findings can be generated which show a status for each evaluation rule 1886 """ 1887 type CompliancePolicy 1888 @join__type(graph: COMPLIANCE_POLICY) 1889 { 1890 id: UUID! 1891 1892 """Name for compliance policy""" 1893 name: String 1894 1895 """Status of the compliance policy""" 1896 status: CompliancePolicyStatus 1897 1898 """Description of the compliance policy""" 1899 description: String 1900 1901 """ 1902 Matching rules of the compliance policy, referring to Application and Tags 1903 """ 1904 matchingRules: [CompliancePolicyMatchingRule!] 1905 1906 """ 1907 Evaluation rules of the compliance policy, attributes to check on certificates 1908 """ 1909 evaluationRules: [CompliancePolicyEvaluationRule!] 1910 1911 """Findings is a list of findings found per policy""" 1912 findings: CompliancePolicyFindingConnection 1913 1914 """UpdatedOn shows the time the compliance policy was last updated""" 1915 updatedOn: String 1916 1917 """Active states whether this policy is active for evaluation""" 1918 active: Boolean 1919 1920 """ 1921 RemediationText is text used to inform a user of what steps can be taken to fix issues 1922 """ 1923 remediationText: String 1924 } 1925 1926 """ 1927 CompliancePolicyConnection is used to provide pagination to compliance policies 1928 """ 1929 type CompliancePolicyConnection 1930 @join__type(graph: COMPLIANCE_POLICY) 1931 { 1932 """Edges of the compliance policy connection for linking""" 1933 edges: [CompliancePolicyEdge!]! 1934 1935 """Nodes of the compliance policy connection for paginated results""" 1936 nodes: [CompliancePolicy!]! 1937 1938 """PageInfo is information for pagination""" 1939 pageInfo: PageInfo! 1940 1941 """TotalCount of compliance policies that match pagination criteria""" 1942 totalCount: Int! 1943 } 1944 1945 """ 1946 CompliancePolicyInput provides information on a compliance policy insert. 1947 """ 1948 input CompliancePolicyCreateInput 1949 @join__type(graph: COMPLIANCE_POLICY) 1950 { 1951 """Name is the name to create for the compliance policy""" 1952 name: String 1953 1954 """Description is the description to create for the compliance policy""" 1955 description: String 1956 1957 """ 1958 RemediationText is the input to provide feedback on how to resolve policy issues 1959 """ 1960 remediationText: String 1961 1962 """ 1963 MatchingRules is the configured matching rules to attach to the compliance policy 1964 """ 1965 matchingRules: CompliancePolicyMatchingRuleInput 1966 1967 """ 1968 EvaluationRules is the configured evaluation rules to attach to the compliance policy 1969 """ 1970 evaluationRules: CompliancePolicyEvaluationRuleInput 1971 } 1972 1973 """CompliancePolicyEdge is used for the CompliancePolicyConnection""" 1974 type CompliancePolicyEdge 1975 @join__type(graph: COMPLIANCE_POLICY) 1976 { 1977 """Node of the compliance policy""" 1978 node: CompliancePolicy 1979 1980 """Cursor is the link to the next edge""" 1981 cursor: String! 1982 } 1983 1984 """ 1985 CompliancePolicyEvaluationRule defines what is compared against in a resource to determine the evaluation status for a policy 1986 """ 1987 type CompliancePolicyEvaluationRule 1988 @join__type(graph: COMPLIANCE_POLICY) 1989 { 1990 """Type is used to determine which type the evaluation rule is configured""" 1991 type: CompliancePolicyEvaluationRuleType 1992 1993 """Severity shows the level of importance for the policy in its findings""" 1994 severity: CompliancePolicySeverity 1995 1996 """ 1997 EvaluationValue is used to display information about the configuration of the evaluation rule 1998 """ 1999 evaluationValue: EvaluationRuleValueType 2000 } 2001 2002 """ 2003 CompliancePolicyEvaluationRuleInput provides details about an evaluation rule to be processed 2004 """ 2005 input CompliancePolicyEvaluationRuleInput 2006 @join__type(graph: COMPLIANCE_POLICY) 2007 { 2008 """ 2009 CertificateEvaluationValues stores a list of values related to the configuration 2010 """ 2011 certificateEvaluationValues: CompliancePolicyEvaluationRuleRootInput 2012 } 2013 2014 """ 2015 CompliancePolicyEvaluationRuleRootInput provides the root level matching operators for evaluation rules 2016 """ 2017 input CompliancePolicyEvaluationRuleRootInput 2018 @join__type(graph: COMPLIANCE_POLICY) 2019 { 2020 """And allows for chaining AND logic at the root level""" 2021 and: [CertificateEvaluationRuleAttributesInput!] 2022 2023 """Or allows for chaining OR logic at the root level""" 2024 or: [CertificateEvaluationRuleAttributesInput!] 2025 } 2026 2027 """ 2028 CompliancePolicyEvaluationRuleType denotes what group of rules an evaluation rule is evaluating for a policy 2029 """ 2030 enum CompliancePolicyEvaluationRuleType 2031 @join__type(graph: COMPLIANCE_POLICY) 2032 { 2033 """IssuingCA is for the group of rules related to issuing CAs""" 2034 ISSUING_CA @join__enumValue(graph: COMPLIANCE_POLICY) 2035 } 2036 2037 """ 2038 CompliancePolicyFieldStringFilter provides a list of options for fields in matching and evaluation rules 2039 """ 2040 input CompliancePolicyFieldStringFilter 2041 @join__type(graph: COMPLIANCE_POLICY) 2042 { 2043 """Includes is used for checking if elements are in list""" 2044 includes: [String!] 2045 2046 """Excludes is used for checking if elements are not in list""" 2047 excludes: [String!] 2048 2049 """ 2050 HasValue is used to include/exclude all of a resource (all applications, etc.) 2051 """ 2052 hasValue: Boolean 2053 } 2054 2055 """ 2056 CompliancePolicyFinding denotes the result of an evaluation rule on a particular resource 2057 """ 2058 type CompliancePolicyFinding 2059 @join__type(graph: COMPLIANCE_POLICY) 2060 { 2061 """ 2062 Type is used to differentiate which type of finding resource is in the finding 2063 """ 2064 type: CompliancePolicyResourceType 2065 2066 """CompliancePolicy is the policy that evaluated and created this finding""" 2067 compliancePolicy: CompliancePolicy 2068 2069 """Status is used to show the status of the finding""" 2070 status: CompliancePolicyFindingStatus 2071 2072 """Severity shows the level of importance for the policy for this finding""" 2073 severity: CompliancePolicySeverity 2074 2075 """FindingResource is the parent resource that this finding came from""" 2076 findingResource: FindingResource 2077 } 2078 2079 """ 2080 CompliancePolicyConnection is used to provide pagination to compliance policy findings 2081 """ 2082 type CompliancePolicyFindingConnection 2083 @join__type(graph: COMPLIANCE_POLICY) 2084 { 2085 """Edges of the compliance policy finding connection for linking""" 2086 edges: [CompliancePolicyFindingEdge!]! 2087 2088 """ 2089 Nodes of the compliance policy finding connection for paginated results 2090 """ 2091 nodes: [CompliancePolicyFinding!]! 2092 2093 """PageInfo is information for pagination""" 2094 pageInfo: PageInfo! 2095 2096 """ 2097 TotalCount of compliance policy findings that match pagination criteria 2098 """ 2099 totalCount: Int! 2100 } 2101 2102 """ 2103 CompliancePolicyFindingEdge is used for CompliancePolicyFindingConnection 2104 """ 2105 type CompliancePolicyFindingEdge 2106 @join__type(graph: COMPLIANCE_POLICY) 2107 { 2108 """Node of the compliance policy finding""" 2109 node: CompliancePolicyFinding 2110 2111 """Cursor is the link to the next edge""" 2112 cursor: String! 2113 } 2114 2115 """ 2116 CompliancePolicyFindingResource is the resource generated for a finding and is used to store the CompliancePolicyFinding 2117 """ 2118 type CompliancePolicyFindingResource 2119 @join__type(graph: COMPLIANCE_POLICY) 2120 { 2121 """ID is the ID of the compliance policy finding evaluation""" 2122 id: UUID! 2123 2124 """ 2125 EvaluationRuleID is the ID of the evaluation rule that the compliance policy finding evaluation is associated with 2126 """ 2127 evaluationRuleId: UUID! 2128 2129 """ 2130 ResourceType is the type of resource that the compliance policy finding evaluation is associated with 2131 """ 2132 resourceType: String! 2133 2134 """ 2135 ResourceId is the ID of the resource that the compliance policy finding evaluation is associated with 2136 """ 2137 resourceId: String! 2138 2139 """Status is the status of the compliance policy finding evaluation""" 2140 status: CompliancePolicyFindingStatus 2141 2142 """ 2143 CreatedAt is the time the compliance policy finding evaluation was created 2144 """ 2145 createdAt: String 2146 } 2147 2148 """CompliancePolicyFindingStatus denotes the status of the policy finding""" 2149 enum CompliancePolicyFindingStatus 2150 @join__type(graph: COMPLIANCE_POLICY) 2151 { 2152 """Passed states that the finding passed evaluation""" 2153 PASSED @join__enumValue(graph: COMPLIANCE_POLICY) 2154 2155 """Failed states that the finding failed evaluation""" 2156 FAILED @join__enumValue(graph: COMPLIANCE_POLICY) 2157 } 2158 2159 """ 2160 CompliancePolicyMatchingRule defines a matching set of resources that should be used in evaluation for a particular policy 2161 """ 2162 type CompliancePolicyMatchingRule 2163 @join__type(graph: COMPLIANCE_POLICY) 2164 { 2165 """Type is used to differentiate which type of matching rule is stored""" 2166 type: CompliancePolicyResourceType 2167 2168 """AllApplications is the flag to determine if all applications are set""" 2169 allApplications: Boolean 2170 2171 """ 2172 Applications is the list of all applications that have been set for this matching rule 2173 """ 2174 applications: [ApplicationMatchingRule!] 2175 2176 """AllTags is the flag to determine if all tags are set""" 2177 allTags: Boolean 2178 2179 """Tags is the list of all tags that have been set for this matching rule""" 2180 tags: [TagMatchingRule!] 2181 } 2182 2183 """ 2184 CompliancePolicyMatchingRuleInput provides details about a matching rule to be processed 2185 """ 2186 input CompliancePolicyMatchingRuleInput 2187 @join__type(graph: COMPLIANCE_POLICY) 2188 { 2189 """ 2190 CertificateMatchingValues stores a list of values related to the configuration 2191 """ 2192 certificateMatchingValues: CompliancePolicyMatchingRuleRootInput 2193 } 2194 2195 """ 2196 CompliancePolicyMatchingRuleRootInput provides the root level matching operators for matching rules 2197 """ 2198 input CompliancePolicyMatchingRuleRootInput 2199 @join__type(graph: COMPLIANCE_POLICY) 2200 { 2201 """And allows for chaining AND logic at the root level""" 2202 and: [CertificateMatchingRuleAttributesInput!] 2203 2204 """Or allows for chaining OR logic at the root level""" 2205 or: [CertificateMatchingRuleAttributesInput!] 2206 } 2207 2208 """CompliancePolicyOrderDirection denotes the different ordering types""" 2209 enum CompliancePolicyOrderDirection 2210 @join__type(graph: COMPLIANCE_POLICY) 2211 { 2212 """Asc means ascending order""" 2213 ASC @join__enumValue(graph: COMPLIANCE_POLICY) 2214 2215 """Desc means descending order""" 2216 DESC @join__enumValue(graph: COMPLIANCE_POLICY) 2217 } 2218 2219 """CompliancePolicyOrderField is the type of fields that can be ordered""" 2220 enum CompliancePolicyOrderField 2221 @join__type(graph: COMPLIANCE_POLICY) 2222 { 2223 """Name refers to the policy name that can be sorted""" 2224 NAME @join__enumValue(graph: COMPLIANCE_POLICY) 2225 } 2226 2227 """CompliancePolicyOrderInput is used to set an order direction per field""" 2228 input CompliancePolicyOrderInput 2229 @join__type(graph: COMPLIANCE_POLICY) 2230 { 2231 """Field determines which field is sorted""" 2232 field: CompliancePolicyOrderField 2233 2234 """Direction determines if ascending or descending direction""" 2235 direction: CompliancePolicyOrderDirection 2236 } 2237 2238 """ 2239 CompliancePolicyResourceType denotes which resource type the matching rule will target 2240 """ 2241 enum CompliancePolicyResourceType 2242 @join__type(graph: COMPLIANCE_POLICY) 2243 { 2244 """ 2245 Certificate is used to show the matching is evaluating certificate resources 2246 """ 2247 CERTIFICATE @join__enumValue(graph: COMPLIANCE_POLICY) 2248 2249 """Ingress is used to show the matching is evaluating ingress resources""" 2250 INGRESS @join__enumValue(graph: COMPLIANCE_POLICY) 2251 } 2252 2253 """ 2254 CompliancePolicySearchAttributesInput provides information on which filter attributes are used for filtering 2255 """ 2256 input CompliancePolicySearchAttributesInput 2257 @join__type(graph: COMPLIANCE_POLICY) 2258 { 2259 """Name allows to search by name""" 2260 name: CompliancePolicyStringFilter 2261 2262 """And allows for chaining AND logic""" 2263 and: [CompliancePolicySearchAttributesInput!] 2264 2265 """Or allows for chaining OR logic""" 2266 or: [CompliancePolicySearchAttributesInput!] 2267 } 2268 2269 """ 2270 CompliancePolicySearchFilterInput provides information on how filtering should be performed 2271 """ 2272 input CompliancePolicySearchFilterInput 2273 @join__type(graph: COMPLIANCE_POLICY) 2274 { 2275 """QuickFilter is the string filter to be applied""" 2276 quickFilter: String 2277 2278 """And allows for chaining AND logic""" 2279 and: [CompliancePolicySearchAttributesInput!] 2280 2281 """Or allows for chaining OR logic""" 2282 or: [CompliancePolicySearchAttributesInput!] 2283 } 2284 2285 """ 2286 CompliancePolicySeverity denotes how severe the finding is in its evaluation result for a policy 2287 """ 2288 enum CompliancePolicySeverity 2289 @join__type(graph: COMPLIANCE_POLICY) 2290 { 2291 """Critical determines critical severity""" 2292 CRITICAL @join__enumValue(graph: COMPLIANCE_POLICY) 2293 2294 """High determines high severity""" 2295 HIGH @join__enumValue(graph: COMPLIANCE_POLICY) 2296 2297 """Medium determines medium severity""" 2298 MEDIUM @join__enumValue(graph: COMPLIANCE_POLICY) 2299 2300 """Low determines low severity""" 2301 LOW @join__enumValue(graph: COMPLIANCE_POLICY) 2302 2303 """Info determines info severity""" 2304 INFO @join__enumValue(graph: COMPLIANCE_POLICY) 2305 } 2306 2307 """ 2308 CompliancePolicyStatus denotes the status for a compliance policy in terms of activity 2309 """ 2310 enum CompliancePolicyStatus 2311 @join__type(graph: COMPLIANCE_POLICY) 2312 { 2313 """Created refers to a policy that has been created but not activated""" 2314 CREATED @join__enumValue(graph: COMPLIANCE_POLICY) 2315 2316 """ 2317 Running refers to a policy when it is currently evaluating (will switch to ACTIVE or INACTIVE) 2318 """ 2319 RUNNING @join__enumValue(graph: COMPLIANCE_POLICY) 2320 2321 """ 2322 Active refers to a policy that has finished running and is actively listening to resources for evaluation 2323 """ 2324 ACTIVE @join__enumValue(graph: COMPLIANCE_POLICY) 2325 2326 """ 2327 Inactive refers to a policy that has finished running and is set to an inactive status to not actively listen to resources for evaluation 2328 """ 2329 INACTIVE @join__enumValue(graph: COMPLIANCE_POLICY) 2330 2331 """Error refers to a policy that has run into an error during evaluation""" 2332 ERROR @join__enumValue(graph: COMPLIANCE_POLICY) 2333 } 2334 2335 """ 2336 CompliancePolicyStringFilter provides a list of options for string filters on how to compare against a field 2337 """ 2338 input CompliancePolicyStringFilter 2339 @join__type(graph: COMPLIANCE_POLICY) 2340 { 2341 """Eq is used for checking field equals this string""" 2342 eq: String 2343 2344 """Neq is used for checking field not equals this string""" 2345 neq: String 2346 2347 """Contains is used for checking field contains this string""" 2348 contains: String 2349 2350 """In is used for checking if elements are in list""" 2351 in: [String!] 2352 2353 """HasValue is used for checking if field has a value""" 2354 hasValue: Boolean 2355 } 2356 2357 """ 2358 CompliancePolicyInput provides information on a compliance policy update. 2359 """ 2360 input CompliancePolicyUpdateInput 2361 @join__type(graph: COMPLIANCE_POLICY) 2362 { 2363 """ID refers to the ID of a compliance policy for updates""" 2364 id: UUID 2365 2366 """Name is the name to update for the compliance policy""" 2367 name: String 2368 2369 """Description is the description to update for the compliance policy""" 2370 description: String 2371 2372 """ 2373 RemediationText is the input to provide feedback on how to resolve policy issues 2374 """ 2375 remediationText: String 2376 2377 """ 2378 MatchingRules is the configured matching rules to attach to the compliance policy 2379 """ 2380 matchingRules: CompliancePolicyMatchingRuleInput 2381 2382 """ 2383 EvaluationRules is the configured evaluation rules to attach to the compliance policy 2384 """ 2385 evaluationRules: CompliancePolicyEvaluationRuleInput 2386 } 2387 2388 input ConditionInputForEnum 2389 @join__type(graph: TLSPK) 2390 { 2391 operator: AttributeEnumOperator 2392 value: String 2393 } 2394 2395 input ConditionInputForString 2396 @join__type(graph: TLSPK) 2397 { 2398 operator: AttributeStringOperator 2399 value: String 2400 } 2401 2402 """Represents the configuration details of a machine installation.""" 2403 type Configuration 2404 @join__type(graph: PLUGIN_SERVICE) 2405 { 2406 """Configuration details related to the keystore.""" 2407 keystore: ConfigurationItem 2408 2409 """Configuration details related to the binding.""" 2410 binding: ConfigurationItem 2411 } 2412 2413 """Represents a field in the configuration details.""" 2414 type ConfigurationField 2415 @join__type(graph: PLUGIN_SERVICE) 2416 { 2417 """The name of the field.""" 2418 field: String! 2419 2420 """The translated description of the field extracted from the manifest.""" 2421 description: String! 2422 2423 """The value of the field.""" 2424 value: String! 2425 2426 """The rank value indicating order.""" 2427 rank: Float 2428 } 2429 2430 """Represents an item in the configuration details.""" 2431 type ConfigurationItem 2432 @join__type(graph: PLUGIN_SERVICE) 2433 { 2434 """Description of the configuration details item.""" 2435 description: String! 2436 2437 """The data associated with the configuration details item.""" 2438 data: [ConfigurationField] 2439 } 2440 2441 """Represents the input for creating a PagerDuty integration.""" 2442 input CreatePagerDutyIntegrationInput 2443 @join__type(graph: MESSAGING) 2444 { 2445 name: String! 2446 pagerDutyParams: PagerDutyIntegrationInputParams 2447 } 2448 2449 """ 2450 A date-time string at UTC, such as 2007-12-03T10:15:30Z, is compliant with the date-time format outlined in section 5.6 2451 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. 2452 """ 2453 scalar DateTime 2454 @join__type(graph: CAOPERATIONS) 2455 @join__type(graph: CERTIFICATE) 2456 @join__type(graph: CERTIFICATE_INVENTORY) 2457 @join__type(graph: CLOUD_PROVIDERS) 2458 @join__type(graph: ENTITLEMENTS) 2459 @join__type(graph: LEGACY) 2460 @join__type(graph: OUTAGEDETECTION) 2461 @join__type(graph: SEARCH) 2462 2463 """ 2464 DeleteCertificateInput defines the input required for deleting a retired certificates 2465 """ 2466 input DeleteCertificateInput 2467 @join__type(graph: CERTIFICATE_INVENTORY) 2468 { 2469 """The fingerprint for the certificate to delete""" 2470 fingerprint: ID! 2471 } 2472 2473 """ 2474 DeleteCertificatePayload holds the result of deleting a retired certificate 2475 """ 2476 type DeleteCertificatePayload 2477 @join__type(graph: CERTIFICATE_INVENTORY) 2478 { 2479 """The fingerprint for the certificate that was deleted""" 2480 fingerprint: ID! 2481 } 2482 2483 """ 2484 DeleteCertificatesInput defines the input required for deleting one or more retired certificates 2485 """ 2486 input DeleteCertificatesInput 2487 @join__type(graph: CERTIFICATE_INVENTORY) 2488 { 2489 """List of certificates to delete""" 2490 certificates: [DeleteCertificateInput!]! 2491 } 2492 2493 """Represents the payload for deleting an integration.""" 2494 type DeleteIntegrationPayload 2495 @join__type(graph: MESSAGING) 2496 { 2497 ids: [ID!] 2498 } 2499 2500 """Identifies the deployment status of a tls server endpoint""" 2501 enum DeploymentStatus 2502 @join__type(graph: OUTAGEDETECTION) 2503 @join__type(graph: SEARCH) 2504 { 2505 IN_USE @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 2506 SUPERSEDED @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 2507 UNKNOWN @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 2508 } 2509 2510 input DeploymentStatusFilter 2511 @join__type(graph: SEARCH) 2512 { 2513 """The deployment status value we want to match""" 2514 eq: DeploymentStatus 2515 2516 """The deployment status value we don't want to match""" 2517 neq: DeploymentStatus 2518 2519 """ 2520 The list of deployment statuses that we want to assert whether the string value is included in the provided list 2521 """ 2522 in: [DeploymentStatus!] 2523 2524 """ 2525 The boolean value that we want to assert whether the field is null or not 2526 """ 2527 hasValue: Boolean 2528 } 2529 2530 type DirectoryName 2531 @join__type(graph: CERTIFICATE_INVENTORY) 2532 { 2533 dn: String! 2534 cn: String 2535 c: [String!] 2536 dc: String 2537 o: [String!] 2538 l: [String!] 2539 ou: [String!] 2540 st: [String!] 2541 postalCode: [String!] 2542 streetAddress: [String!] 2543 } 2544 2545 type DNSName 2546 @join__type(graph: CERTIFICATE_INVENTORY) 2547 { 2548 dnsName: String! 2549 } 2550 2551 """DSA public key information""" 2552 type DSAKeyInfo 2553 @join__type(graph: CERTIFICATE_INVENTORY) 2554 { 2555 """Bit length of parameter p""" 2556 l: Int! 2557 2558 """Bit length of parameter q""" 2559 n: Int! 2560 } 2561 2562 """Elliptic curve public key information""" 2563 type ECKeyInfo 2564 @join__type(graph: CERTIFICATE_INVENTORY) 2565 { 2566 curve: KeyCurve! 2567 } 2568 2569 type EdiPartyName 2570 @join__type(graph: CERTIFICATE_INVENTORY) 2571 { 2572 nameAssigner: String 2573 partyName: String 2574 } 2575 2576 """Represents an entitlement including features and packages.""" 2577 type Entitlement 2578 @join__type(graph: ENTITLEMENTS) 2579 { 2580 features: [Feature!]! 2581 packages: [Package!]! 2582 allFeatures: [Feature!]! 2583 billingMetrics: [BillingMetric!] 2584 } 2585 2586 type ErrorInformation 2587 @join__type(graph: CAOPERATIONS) 2588 { 2589 message: String! 2590 arguments: [String!] 2591 code: Int 2592 } 2593 2594 """ 2595 EvaluationIssuingCAs provides a configuration on which CAs of a certificate are evaluated against and how they should be treated 2596 """ 2597 type EvaluationIssuingCAs 2598 @join__type(graph: COMPLIANCE_POLICY) 2599 { 2600 """Approved stores a list of IDs approved for evaluation""" 2601 trustedCAs: [TrustedCAEvaluationRule!] 2602 } 2603 2604 """ 2605 EvaluationRuleValueType is a collection of types that will provide a structure for evaluation rule particulars 2606 """ 2607 union EvaluationRuleValueType 2608 @join__type(graph: COMPLIANCE_POLICY) 2609 @join__unionMember(graph: COMPLIANCE_POLICY, member: "EvaluationIssuingCAs") 2610 = EvaluationIssuingCAs 2611 2612 """Represents an individual feature.""" 2613 type Feature 2614 @join__type(graph: ENTITLEMENTS) 2615 { 2616 name: String! 2617 expiry: DateTime 2618 } 2619 2620 """ 2621 FindingResource refers to what resource was evaluated against to produce the finding 2622 """ 2623 union FindingResource 2624 @join__type(graph: COMPLIANCE_POLICY) 2625 @join__unionMember(graph: COMPLIANCE_POLICY, member: "Certificate") 2626 = Certificate 2627 2628 """ 2629 A fully qualified domain name as specified in section 2.3.1 of the RFC 1035 2630 """ 2631 scalar FQDN 2632 @join__type(graph: OUTAGEDETECTION) 2633 2634 """ 2635 Indicates the Scope for a certificate provisioned to GCP Certificate Manager 2636 """ 2637 enum GCMCertificateScope 2638 @join__type(graph: CLOUD_PROVIDERS) 2639 { 2640 """ 2641 Certificates with default scope are served from core Google data centers. If unsure, choose this option. 2642 """ 2643 DEFAULT @join__enumValue(graph: CLOUD_PROVIDERS) 2644 2645 """ 2646 Certificates with scope EDGE_CACHE are special-purposed certificates, served from Edge Points of Presence. 2647 See https://cloud.google.com/vpc/docs/edge-locations. 2648 """ 2649 EDGE_CACHE @join__enumValue(graph: CLOUD_PROVIDERS) 2650 2651 """ 2652 Certificates with ALL_REGIONS scope are served from all Google Cloud 2653 regions. See https://cloud.google.com/compute/docs/regions-zones. 2654 """ 2655 ALL_REGIONS @join__enumValue(graph: CLOUD_PROVIDERS) 2656 } 2657 2658 type GCPCertificateMetadata 2659 @join__type(graph: CLOUD_PROVIDERS) 2660 { 2661 gcpId: String! 2662 name: String! 2663 } 2664 2665 type GCPLocation 2666 @join__type(graph: CLOUD_PROVIDERS) 2667 { 2668 name: String! 2669 } 2670 2671 type GCPProjectDetails 2672 @join__type(graph: CLOUD_PROVIDERS) 2673 { 2674 id: String! 2675 name: String! 2676 } 2677 2678 type GCPProviderDetails 2679 @join__type(graph: CLOUD_PROVIDERS) 2680 { 2681 cloudProvider: CloudProvider! 2682 projects: [GCPProjectDetails] 2683 } 2684 2685 union GeneralName 2686 @join__type(graph: CERTIFICATE_INVENTORY) 2687 @join__unionMember(graph: CERTIFICATE_INVENTORY, member: "RFC822Name") 2688 @join__unionMember(graph: CERTIFICATE_INVENTORY, member: "DNSName") 2689 @join__unionMember(graph: CERTIFICATE_INVENTORY, member: "DirectoryName") 2690 @join__unionMember(graph: CERTIFICATE_INVENTORY, member: "EdiPartyName") 2691 @join__unionMember(graph: CERTIFICATE_INVENTORY, member: "UniformResourceIdentifier") 2692 @join__unionMember(graph: CERTIFICATE_INVENTORY, member: "IPAddress") 2693 = RFC822Name | DNSName | DirectoryName | EdiPartyName | UniformResourceIdentifier | IPAddress 2694 2695 """PublicKeyInformation when the public key is other than RSA, DSA, or EC""" 2696 type GenericKeyInfo 2697 @join__type(graph: CERTIFICATE_INVENTORY) 2698 { 2699 """ASN1 object identifier""" 2700 oid: String! 2701 } 2702 2703 """ 2704 Types that represent actors with distinct identities that can use the system, includes User and ServiceAccount types 2705 """ 2706 union Identity 2707 @join__type(graph: LEGACY) 2708 @join__type(graph: OUTAGEDETECTION) 2709 @join__unionMember(graph: LEGACY, member: "User") 2710 @join__unionMember(graph: OUTAGEDETECTION, member: "User") 2711 @join__unionMember(graph: LEGACY, member: "ServiceAccount") 2712 @join__unionMember(graph: OUTAGEDETECTION, member: "ServiceAccount") 2713 @join__unionMember(graph: LEGACY, member: "Team") 2714 @join__unionMember(graph: OUTAGEDETECTION, member: "Team") 2715 = User | ServiceAccount | Team 2716 2717 """The connection type for Identity""" 2718 type IdentityConnection 2719 @join__type(graph: LEGACY) 2720 @join__type(graph: OUTAGEDETECTION) 2721 { 2722 """A list of edges.""" 2723 edges: [IdentityEdge!] 2724 2725 """A list of nodes.""" 2726 nodes: [Identity!] 2727 2728 """Information to aid in pagination.""" 2729 pageInfo: PageInfo! 2730 2731 """Identifies the total count of items in the connection.""" 2732 totalCount: Int! 2733 } 2734 2735 """An edge in a IdentityConnection.""" 2736 type IdentityEdge 2737 @join__type(graph: LEGACY) 2738 @join__type(graph: OUTAGEDETECTION) 2739 { 2740 """A cursor for use in pagination""" 2741 cursor: ID! 2742 2743 """The item at the end of the edge""" 2744 node: Identity! 2745 } 2746 2747 """A data type that represents a 64 bit signed integer""" 2748 scalar Int64 2749 @join__type(graph: CERTIFICATE_INVENTORY) 2750 @join__type(graph: SEARCH) 2751 2752 """Represents a configured integration details.""" 2753 type Integration 2754 @join__type(graph: MESSAGING) 2755 { 2756 id: ID! 2757 integrationType: IntegrationType! 2758 name: String 2759 enabled: Boolean! 2760 createdAt: String 2761 createdBy: ID 2762 updatedAt: String 2763 updatedBy: ID 2764 usage: [IntegrationUsage!] 2765 default: Boolean! 2766 } 2767 2768 """ 2769 IntegrationConnection represents a connection of Integration nodes with pagination. 2770 """ 2771 type IntegrationConnection 2772 @join__type(graph: MESSAGING) 2773 { 2774 pageInfo: PageInfo! 2775 totalCount: Int! 2776 nodes: [Integration!] 2777 edges: [IntegrationEdge!] 2778 } 2779 2780 """IntegrationEdge represents an edge in the IntegrationConnection.""" 2781 type IntegrationEdge 2782 @join__type(graph: MESSAGING) 2783 { 2784 node: Integration! 2785 cursor: String! 2786 } 2787 2788 """Represents a integration order by to use""" 2789 enum IntegrationOrderBy 2790 @join__type(graph: MESSAGING) 2791 { 2792 ID @join__enumValue(graph: MESSAGING) 2793 } 2794 2795 """Represents an integration type.""" 2796 type IntegrationType 2797 @join__type(graph: MESSAGING) 2798 { 2799 type: String! 2800 name: String! 2801 description: String! 2802 } 2803 2804 """ 2805 IntegrationTypeConnection represents a connection of IntegrationType nodes with pagination. 2806 """ 2807 type IntegrationTypeConnection 2808 @join__type(graph: MESSAGING) 2809 { 2810 pageInfo: PageInfo! 2811 totalCount: Int! 2812 nodes: [IntegrationType!] 2813 edges: [IntegrationTypeEdge!] 2814 } 2815 2816 """IntegrationEdge represents an edge in the IntegrationTypeConnection.""" 2817 type IntegrationTypeEdge 2818 @join__type(graph: MESSAGING) 2819 { 2820 node: IntegrationType! 2821 cursor: String! 2822 } 2823 2824 type IntegrationUsage 2825 @join__type(graph: MESSAGING) 2826 { 2827 reference: String! 2828 callCount: Int! 2829 } 2830 2831 """ 2832 A field whose value is either an IPv4 address(opens in a new tab) or IPv6 address(opens in a new tab). 2833 """ 2834 scalar IP 2835 @join__type(graph: CERTIFICATE_INVENTORY) 2836 @join__type(graph: OUTAGEDETECTION) 2837 2838 type IPAddress 2839 @join__type(graph: CERTIFICATE_INVENTORY) 2840 { 2841 ip: IP! 2842 } 2843 2844 type IssuingTemplate 2845 @join__type(graph: CAOPERATIONS, key: "id") 2846 { 2847 id: ID! 2848 name: String! 2849 certificateAuthorityAccount: CertificateAuthorityAccount 2850 } 2851 2852 scalar join__FieldSet 2853 2854 enum join__Graph { 2855 CAOPERATIONS @join__graph(name: "caoperations", url: "http://caoperations-service:2522/system/graphql") 2856 CERTIFICATE @join__graph(name: "certificate", url: "http://certificate-service:2322/system/graphql") 2857 CERTIFICATE_INVENTORY @join__graph(name: "certificate-inventory", url: "http://certificate-query-service:80/graphql") 2858 CLOUD_PROVIDERS @join__graph(name: "cloud-providers", url: "http://cloudproviders-service:4488/graphql") 2859 COMPLIANCE_POLICY @join__graph(name: "compliance-policy", url: "http://compliance-policy-service:8080/graphql") 2860 COMPUTED_FIELDS @join__graph(name: "computed-fields", url: "http://graphql-computed-fields:8080/graphql") 2861 ENTITLEMENTS @join__graph(name: "entitlements", url: "http://iam-entitlement-service:80/graphql") 2862 LEGACY @join__graph(name: "legacy", url: "http://graphql-legacy-api-adapter:8080/graphql") 2863 MESSAGING @join__graph(name: "messaging", url: "http://ext-integration-msg-service:80/graphql") 2864 OUTAGEDETECTION @join__graph(name: "outagedetection", url: "http://outagedetection-service:7777/system/graphql") 2865 PLUGIN_SERVICE @join__graph(name: "plugin-service", url: "http://platform-plugin-service:80/graphql") 2866 PROVISIONING @join__graph(name: "provisioning", url: "http://provisioning-service:3022/system/graphql") 2867 SEARCH @join__graph(name: "search", url: "http://search-query-service:80/graphql") 2868 TAGGING @join__graph(name: "tagging", url: "http://tagging-service:3122/system/graphql") 2869 TLSPK @join__graph(name: "tlspk", url: "http://tlspk-backend-service:443/graphql") 2870 } 2871 2872 scalar JSON 2873 @join__type(graph: PLUGIN_SERVICE) 2874 @join__type(graph: PROVISIONING) 2875 2876 """Elliptic curves""" 2877 enum KeyCurve 2878 @join__type(graph: CERTIFICATE_INVENTORY) 2879 { 2880 """ 2881 NIST P-224 (FIPS 186-4, section D.2.2), also known as secp224r1, wap-wsg-idm-ecid-wtls12, and ansip224r1 2882 """ 2883 P224 @join__enumValue(graph: CERTIFICATE_INVENTORY) 2884 2885 """ 2886 NIST P-256 (FIPS 186-4, section D.2.3), also known as secp256r1 or prime256v1 2887 """ 2888 P256 @join__enumValue(graph: CERTIFICATE_INVENTORY) 2889 2890 """NIST P-384 (FIPS 186-4, section D.2.4), also known as secp384r1""" 2891 P384 @join__enumValue(graph: CERTIFICATE_INVENTORY) 2892 2893 """NIST P-521 (FIPS 186-4, section D.2.5), also known as secp521r1""" 2894 P521 @join__enumValue(graph: CERTIFICATE_INVENTORY) 2895 2896 """Ed25519 signature algorithm""" 2897 ED25519 @join__enumValue(graph: CERTIFICATE_INVENTORY) 2898 2899 """Unknown (or unsupported) key curve""" 2900 UNSUPPORTED @join__enumValue(graph: CERTIFICATE_INVENTORY) 2901 } 2902 2903 """Certificate Lifecycle enum""" 2904 enum Lifecycle 2905 @join__type(graph: TLSPK) 2906 { 2907 NOT_MANAGED @join__enumValue(graph: TLSPK) 2908 CERT_MANAGER @join__enumValue(graph: TLSPK) 2909 SYSTEM_MANAGED @join__enumValue(graph: TLSPK) 2910 } 2911 2912 scalar link__Import 2913 2914 enum link__Purpose { 2915 """ 2916 `SECURITY` features provide metadata necessary to securely resolve fields. 2917 """ 2918 SECURITY 2919 2920 """ 2921 `EXECUTION` features provide metadata necessary for operation execution. 2922 """ 2923 EXECUTION 2924 } 2925 2926 enum LogicOperator 2927 @join__type(graph: TLSPK) 2928 { 2929 AND @join__enumValue(graph: TLSPK) 2930 OR @join__enumValue(graph: TLSPK) 2931 } 2932 2933 """Represents information about a machine.""" 2934 type Machine 2935 @join__type(graph: PLUGIN_SERVICE, key: "id", resolvable: false) 2936 @join__type(graph: PROVISIONING, key: "id") 2937 { 2938 """The unique identifier of the machine.""" 2939 id: ID! 2940 2941 """The plugin associated with the machine.""" 2942 plugin: Plugin! 2943 2944 """The name of the machine.""" 2945 name: String! @join__field(graph: PROVISIONING) 2946 } 2947 2948 type MachineIdentity 2949 @join__type(graph: CLOUD_PROVIDERS) 2950 { 2951 id: UUID! 2952 cloudKeystoreId: UUID! 2953 cloudKeystoreName: String 2954 cloudProviderId: UUID 2955 cloudProviderName: String 2956 metadata: CertificateCloudMetadata 2957 status: MachineIdentityStatus! 2958 statusDetails: String 2959 addedOn: DateTime! 2960 addedBy: User 2961 certificate: Certificate! 2962 certificateId: UUID! 2963 } 2964 2965 """A page of MachineIdentity results""" 2966 type MachineIdentityConnection 2967 @join__type(graph: CLOUD_PROVIDERS) 2968 { 2969 """Current page information""" 2970 pageInfo: PageInfo! 2971 2972 """Total number of certificates (in all pages)""" 2973 totalCount: Int! 2974 2975 """MachineIdentity in the current page, without cursor""" 2976 nodes: [MachineIdentity!] 2977 2978 """ 2979 MachineIdentities in the current page, together with their associated cursor 2980 """ 2981 edges: [MachineIdentityEdge!] 2982 } 2983 2984 """MachineIdentity together with its associated cursor""" 2985 type MachineIdentityEdge 2986 @join__type(graph: CLOUD_PROVIDERS) 2987 { 2988 """The machine identity""" 2989 node: MachineIdentity! 2990 2991 """The cursor for the machine identity""" 2992 cursor: String! 2993 } 2994 2995 enum MachineIdentityStatus 2996 @join__type(graph: CLOUD_PROVIDERS) 2997 { 2998 NEW @join__enumValue(graph: CLOUD_PROVIDERS) 2999 PENDING @join__enumValue(graph: CLOUD_PROVIDERS) 3000 INSTALLED @join__enumValue(graph: CLOUD_PROVIDERS) 3001 DISCOVERED @join__enumValue(graph: CLOUD_PROVIDERS) 3002 VALIDATED @join__enumValue(graph: CLOUD_PROVIDERS) 3003 MISSING @join__enumValue(graph: CLOUD_PROVIDERS) 3004 FAILED @join__enumValue(graph: CLOUD_PROVIDERS) 3005 } 3006 3007 """ 3008 Represents an instance of machine installation identified by a certificate. 3009 """ 3010 type MachineInstallation 3011 @join__type(graph: PLUGIN_SERVICE, key: "id") 3012 @join__type(graph: PROVISIONING, key: "id") 3013 { 3014 """The unique identifier of the machine installation.""" 3015 id: ID! 3016 3017 """JSON data representing keystore specifics.""" 3018 keystoreJson: JSON @join__field(graph: PLUGIN_SERVICE, external: true) @join__field(graph: PROVISIONING) 3019 3020 """JSON data representing binding specifics.""" 3021 bindingJson: JSON @join__field(graph: PLUGIN_SERVICE, external: true) @join__field(graph: PROVISIONING) 3022 3023 """Details of the associated machine.""" 3024 machine: Machine! @join__field(graph: PLUGIN_SERVICE, external: true) @join__field(graph: PROVISIONING) 3025 3026 """Details about the configurations of the machine installation.""" 3027 configurationDetails: Configuration @join__field(graph: PLUGIN_SERVICE, requires: "machine { plugin { manifest } } keystoreJson bindingJson") 3028 3029 """The status of the machine installation.""" 3030 status: MachineInstallationStatus! @join__field(graph: PROVISIONING) 3031 } 3032 3033 """A connection to a list of MachineInstallation objects.""" 3034 type MachineInstallationConnection 3035 @join__type(graph: PROVISIONING) 3036 { 3037 """Information to aid in pagination.""" 3038 pageInfo: PageInfo! 3039 3040 """The total count of machine installations in the connection.""" 3041 totalCount: Int! 3042 3043 """A list of nodes representing machine installations.""" 3044 nodes: [MachineInstallation!] 3045 3046 """A list of edges representing connections to machine installations.""" 3047 edges: [MachineInstallationEdge!] 3048 } 3049 3050 """An edge in a MachineInstallationConnection.""" 3051 type MachineInstallationEdge 3052 @join__type(graph: PROVISIONING) 3053 { 3054 """A cursor for use in pagination.""" 3055 cursor: ID! 3056 3057 """The item at the end of the edge.""" 3058 node: MachineInstallation! 3059 } 3060 3061 """Represents the possible statuses for a machine installation.""" 3062 enum MachineInstallationStatus 3063 @join__type(graph: PROVISIONING) 3064 { 3065 NEW @join__enumValue(graph: PROVISIONING) 3066 PENDING @join__enumValue(graph: PROVISIONING) 3067 INSTALLED @join__enumValue(graph: PROVISIONING) 3068 DISCOVERED @join__enumValue(graph: PROVISIONING) 3069 VALIDATED @join__enumValue(graph: PROVISIONING) 3070 MISSING @join__enumValue(graph: PROVISIONING) 3071 FAILED @join__enumValue(graph: PROVISIONING) 3072 } 3073 3074 type Mutation 3075 @join__type(graph: CAOPERATIONS) 3076 @join__type(graph: CERTIFICATE_INVENTORY) 3077 @join__type(graph: CLOUD_PROVIDERS) 3078 @join__type(graph: COMPLIANCE_POLICY) 3079 @join__type(graph: MESSAGING) 3080 @join__type(graph: TLSPK) 3081 { 3082 """Revoke a certificate by SHA1 fingerprint""" 3083 revokeCertificate(fingerprint: ID!, certificateAuthorityAccountId: UUID, revocationReason: RevocationReason!, revocationComment: String): Certificate @join__field(graph: CAOPERATIONS) 3084 3085 """ 3086 Retire one or more certificates. If a current certificate (i.e. latest version of a certificate) is retired, all 3087 previous versions of the certificate will be retired as well. 3088 """ 3089 retireCertificates(input: RetireCertificatesInput!): [RetireCertificatePayload]! @join__field(graph: CERTIFICATE_INVENTORY) 3090 3091 """Recover one or more retired certificates.""" 3092 recoverCertificates(input: RecoverCertificatesInput!): [RecoverCertificatePayload]! @join__field(graph: CERTIFICATE_INVENTORY) 3093 3094 """Delete one or more retired certificates.""" 3095 deleteCertificates(input: DeleteCertificatesInput!): [DeleteCertificatePayload]! @join__field(graph: CERTIFICATE_INVENTORY) 3096 3097 """Creates a Cloud Provider""" 3098 createCloudProvider(input: CloudProviderInput!): CloudProvider @join__field(graph: CLOUD_PROVIDERS) 3099 3100 """Validates a Cloud Provider configuration by ID""" 3101 validateCloudProvider(cloudProviderId: UUID!): CloudProviderValidationResult! @join__field(graph: CLOUD_PROVIDERS) 3102 3103 """Updates a cloud provider""" 3104 updateCloudProvider(input: CloudProviderUpdateInput!): CloudProvider @join__field(graph: CLOUD_PROVIDERS) 3105 3106 """Deletes a list of Cloud Providers by ID""" 3107 deleteCloudProvider(cloudProviderId: [UUID!]!): Boolean! @join__field(graph: CLOUD_PROVIDERS) 3108 3109 """Creates a Cloud Keystore""" 3110 createCloudKeystore(input: CloudKeystoreInput!): CloudKeystore @join__field(graph: CLOUD_PROVIDERS) 3111 3112 """Updates a Cloud Keystore""" 3113 updateCloudKeystore(input: CloudKeystoreUpdateInput!): CloudKeystore @join__field(graph: CLOUD_PROVIDERS) 3114 3115 """Deletes a list of Cloud Keystores by ID""" 3116 deleteCloudKeystore(cloudKeystoreIds: [UUID!]!): Boolean! @join__field(graph: CLOUD_PROVIDERS) 3117 3118 """Provision a certificate to a Cloud Keystore""" 3119 provisionToCloudKeystore(certificateId: UUID!, cloudKeystoreId: UUID!, wsClientId: UUID!, options: CertificateProvisioningOptionsInput): WorkflowResult @join__field(graph: CLOUD_PROVIDERS) 3120 3121 """ 3122 Provision to existing Cloud Machine Identity. If `certificateId` is not provided a re-provisioning of the existing certificate would be triggered 3123 """ 3124 provisionToCloudMachineIdentity(machineIdentityId: UUID!, wsClientId: UUID!, certificateId: UUID): WorkflowResult @join__field(graph: CLOUD_PROVIDERS) 3125 3126 """Deletes a list of Cloud machine identities""" 3127 deleteCloudMachineIdentities(machineIdentityIds: [UUID!]!): Boolean! @join__field(graph: CLOUD_PROVIDERS) 3128 3129 """Start cloud discovery""" 3130 startCloudDiscovery(cloudKeystoreId: UUID!, wsClientId: UUID!): WorkflowResult @join__field(graph: CLOUD_PROVIDERS) 3131 3132 """Abort cloud discovery""" 3133 abortCloudDiscovery(cloudKeystoreId: UUID!): Boolean! @join__field(graph: CLOUD_PROVIDERS) 3134 3135 """ 3136 CreateCompliancePolicy is the mutation to create one or many compliance policies 3137 """ 3138 createCompliancePolicy(input: [CompliancePolicyCreateInput!]!): [CompliancePolicy]! @join__field(graph: COMPLIANCE_POLICY) 3139 3140 """ 3141 UpdateCompliancePolicy is the mutation to update one or many compliance policies 3142 """ 3143 updateCompliancePolicy(input: [CompliancePolicyUpdateInput!]!): [CompliancePolicy]! @join__field(graph: COMPLIANCE_POLICY) 3144 3145 """ 3146 DeleteCompliancePolicy is the mutation to delete one or many compliance policies 3147 """ 3148 deleteCompliancePolicy(id: [UUID!]!): [CompliancePolicy]! @join__field(graph: COMPLIANCE_POLICY) 3149 3150 """ 3151 EvaluateCompliancePolicy runs an evaluation of the provided compliance policy IDs 3152 """ 3153 evaluateCompliancePolicy(id: UUID!): CompliancePolicy @join__field(graph: COMPLIANCE_POLICY) 3154 createPagerDutyIntegration(input: CreatePagerDutyIntegrationInput!): Integration @join__field(graph: MESSAGING) 3155 updatePagerDutyIntegration(input: UpdatePagerDutyIntegrationInput!): Integration @join__field(graph: MESSAGING) 3156 deleteIntegrations(ids: [ID!]): DeleteIntegrationPayload @join__field(graph: MESSAGING) 3157 3158 """CreateCluster creates a new cluster.""" 3159 createCluster(input: [ClusterInput!]!): [Cluster!]! @join__field(graph: TLSPK) 3160 3161 """UpdateCluster updates the properties of a cluster.""" 3162 updateCluster(input: [ClusterInput!]!): [Cluster!]! @join__field(graph: TLSPK) 3163 3164 """DeleteCluster deletes a cluster.""" 3165 deleteCluster(id: [ID!]!): [Cluster!]! @join__field(graph: TLSPK) 3166 } 3167 3168 """OrderDirection represents the ordering direction""" 3169 enum OrderDirection 3170 @join__type(graph: CLOUD_PROVIDERS) 3171 @join__type(graph: SEARCH) 3172 { 3173 """ASC is the ascending order""" 3174 ASC @join__enumValue(graph: CLOUD_PROVIDERS) @join__enumValue(graph: SEARCH) 3175 3176 """DESC is the descending order""" 3177 DESC @join__enumValue(graph: CLOUD_PROVIDERS) @join__enumValue(graph: SEARCH) 3178 } 3179 3180 """Represents a package containing a list of features.""" 3181 type Package 3182 @join__type(graph: ENTITLEMENTS) 3183 { 3184 name: String! 3185 expiry: DateTime! 3186 tier: String! 3187 billingMetrics: [BillingMetric!] 3188 } 3189 3190 """ 3191 PageInfo provides pagination information as defined by [https://relay.dev/graphql/connections.htm](GraphQL Cursor Connections Specification) 3192 """ 3193 type PageInfo 3194 @join__type(graph: CAOPERATIONS) 3195 @join__type(graph: CERTIFICATE) 3196 @join__type(graph: CERTIFICATE_INVENTORY) 3197 @join__type(graph: CLOUD_PROVIDERS) 3198 @join__type(graph: COMPLIANCE_POLICY) 3199 @join__type(graph: LEGACY) 3200 @join__type(graph: MESSAGING) 3201 @join__type(graph: OUTAGEDETECTION) 3202 @join__type(graph: PROVISIONING) 3203 @join__type(graph: SEARCH) 3204 @join__type(graph: TAGGING) 3205 @join__type(graph: TLSPK) 3206 { 3207 """ 3208 Indicates whether more edges exist following the set defined by the clients arguments. 3209 """ 3210 hasNextPage: Boolean! 3211 3212 """ 3213 Indicates whether more edges exist prior to the set defined by the clients arguments. 3214 """ 3215 hasPreviousPage: Boolean! 3216 3217 """Cursor corresponding to the last node in edges.""" 3218 endCursor: String 3219 3220 """Cursor corresponding to the first node in edges.""" 3221 startCursor: String 3222 } 3223 3224 """Represents the input parameters for a PagerDuty integration.""" 3225 input PagerDutyIntegrationInputParams 3226 @join__type(graph: MESSAGING) 3227 { 3228 IntegrationKey: String! 3229 } 3230 3231 """Represents information about a plugin.""" 3232 type Plugin 3233 @join__type(graph: PLUGIN_SERVICE, key: "id") 3234 @join__type(graph: PROVISIONING, key: "id", resolvable: false) 3235 { 3236 """The plugin unique identifier.""" 3237 id: ID! 3238 3239 """The definition of the plugin's manifest.""" 3240 manifest: JSON @join__field(graph: PLUGIN_SERVICE) 3241 3242 """The name of the plugin.""" 3243 name: String @join__field(graph: PLUGIN_SERVICE) 3244 } 3245 3246 type PolicyViolation 3247 @join__type(graph: TLSPK) 3248 { 3249 id: ID! 3250 message: String! 3251 description: String 3252 remidiation: String 3253 code: String! 3254 } 3255 3256 """Product Roles""" 3257 enum ProductRole 3258 @join__type(graph: LEGACY) 3259 { 3260 """Guest""" 3261 GUEST @join__enumValue(graph: LEGACY) 3262 3263 """PKI Administrator""" 3264 PKI_ADMIN @join__enumValue(graph: LEGACY) 3265 3266 """Resource Owner""" 3267 RESOURCE_OWNER @join__enumValue(graph: LEGACY) 3268 } 3269 3270 """Certificate public key information""" 3271 union PublicKeyInformation 3272 @join__type(graph: CERTIFICATE_INVENTORY) 3273 @join__unionMember(graph: CERTIFICATE_INVENTORY, member: "RSAKeyInfo") 3274 @join__unionMember(graph: CERTIFICATE_INVENTORY, member: "ECKeyInfo") 3275 @join__unionMember(graph: CERTIFICATE_INVENTORY, member: "DSAKeyInfo") 3276 @join__unionMember(graph: CERTIFICATE_INVENTORY, member: "GenericKeyInfo") 3277 = RSAKeyInfo | ECKeyInfo | DSAKeyInfo | GenericKeyInfo 3278 3279 """Identifies a certificate's public key information type""" 3280 enum PublicKeyInformationType 3281 @join__type(graph: SEARCH) 3282 { 3283 RSAKeyInfo @join__enumValue(graph: SEARCH) 3284 ECKeyInfo @join__enumValue(graph: SEARCH) 3285 DSAKeyInfo @join__enumValue(graph: SEARCH) 3286 GenericKeyInfo @join__enumValue(graph: SEARCH) 3287 } 3288 3289 input PublicKeyInformationTypeFilter 3290 @join__type(graph: SEARCH) 3291 { 3292 """The string value we want to match""" 3293 eq: PublicKeyInformationType 3294 3295 """The string value we don't want to match""" 3296 neq: PublicKeyInformationType 3297 3298 """ 3299 The list of strings that we want to assert whether the string value is included in the provided list 3300 """ 3301 in: [PublicKeyInformationType!] 3302 3303 """ 3304 The boolean value that we want to assert whether the field is null or not 3305 """ 3306 hasValue: Boolean 3307 } 3308 3309 """The query root of Venafi Control Plane GraphQL interface.""" 3310 type Query 3311 @join__type(graph: CAOPERATIONS) 3312 @join__type(graph: CERTIFICATE) 3313 @join__type(graph: CERTIFICATE_INVENTORY) 3314 @join__type(graph: CLOUD_PROVIDERS) 3315 @join__type(graph: COMPLIANCE_POLICY) 3316 @join__type(graph: COMPUTED_FIELDS) 3317 @join__type(graph: ENTITLEMENTS) 3318 @join__type(graph: LEGACY) 3319 @join__type(graph: MESSAGING) 3320 @join__type(graph: OUTAGEDETECTION) 3321 @join__type(graph: PLUGIN_SERVICE) 3322 @join__type(graph: PROVISIONING) 3323 @join__type(graph: SEARCH) 3324 @join__type(graph: TAGGING) 3325 @join__type(graph: TLSPK) 3326 { 3327 """Returns the certificate request with the given id""" 3328 certificateRequest(id: ID!): CertificateRequest @join__field(graph: CAOPERATIONS) 3329 3330 """ 3331 Returns a list of certificate authority accounts. 3332 - after: returns the certificate authority accounts in the list that come after the specified cursor 3333 - before: returns the certificate authority accounts in the list that come before the specified cursor 3334 - first: returns the first _n_ certificate authority accounts from the list 3335 - last: returns the last _n_ certificate authority accounts from the list 3336 """ 3337 certificateAuthorityAccounts(after: String, before: String, first: Int, last: Int): CertificateAuthorityAccountConnection @join__field(graph: CAOPERATIONS) 3338 3339 """ 3340 Returns a list of trusted CA certificates. 3341 - after: returns the trusted CA certificates in the list that come after the specified cursor 3342 - before: returns the trusted CA certificates in the list that come before the specified cursor 3343 - first: returns the first _n_ trusted CA certificates from the list 3344 - last: returns the last _n_ trusted CA certificates from the list 3345 """ 3346 trustedCaCertificates(after: String, before: String, first: Int, last: Int): TrustedCaCertificatesConnection @join__field(graph: CERTIFICATE) 3347 3348 """Deprecated, use `certificate` instead""" 3349 getCertificate(fingerprint: ID!): Certificate @join__field(graph: CERTIFICATE_INVENTORY) @deprecated(reason: "Deprecated, use `certificate` instead") 3350 3351 """ 3352 Deprecated, use `certificates` instead. Get all certificates (no pagination) 3353 """ 3354 getAllCertificates: [Certificate!] @join__field(graph: CERTIFICATE_INVENTORY) @deprecated(reason: "Deprecated, use `certificates` instead") 3355 3356 """Returns the certificate with the given fingerprint""" 3357 certificate(fingerprint: ID!): Certificate @join__field(graph: CERTIFICATE_INVENTORY) 3358 3359 """ 3360 Get all certificates. The pagination can be either forward or backward. To enable forward pagination, two arguments 3361 are used: `after` and `first`. To enable backward pagination, two arguments are used: `before` and `last`. 3362 If arguments for both forward and backward pagination are supplied, forward pagination will be used. If no arguments 3363 are supplied, it returns the first page of 10 certificates (i.e. defaults `first` to 10). The result is sorted by 3364 fingerprints in ascending order. 3365 - after: returns the elements in the list that come after the specified cursor. Defaults to empty string, meaning 3366 that we return the first page of certificates, if `first` value is supplied 3367 - first: non-negative integer, denoting the first `n` number of records to return after the `after` cursor value. 3368 Max value is 100 3369 - before: returns the elements in the list that come before the specified cursor. By default is the empty string, 3370 meaning that the results will be the last page, if `last` value is supplied 3371 - last: non-negative integer, denoting the last `n` number of records to return before the `before` cursor value. 3372 Max value is 100 3373 """ 3374 certificates(after: String, before: String, first: Int, last: Int): CertificateConnection @join__field(graph: CERTIFICATE_INVENTORY) 3375 3376 """ 3377 Retrieves Cloud Providers. 3378 The pagination can be either forward or backward. To enable forward pagination, two arguments 3379 are used: `after` and `first`. To enable backward pagination, two arguments are used: `before` and `last`. 3380 If arguments for both forward and backward pagination are supplied, forward pagination wil be used. If no arguments 3381 are supplied, it returns the first page of 10 cloud providers (i.e. defaults `first` to 10). The result is sorted by 3382 the added on date in ascending order. 3383 - after: returns the elements in the list that come after the specified cursor. Defaults to empty string, meaning 3384 that we return the first page of cloud providers, if `first` value is supplied 3385 - first: non-negative integer, denoting the first `n` number of records to return after the `after` cursor value. 3386 Max value is 100 3387 - before: returns the elements in the list that come before the specified cursor. By default is the empty string, 3388 meaning that the results will be the last page, if `last` value is supplied 3389 - last: non-negative integer, denoting the last `n` number of records to return before the `before` cursor value. 3390 Max value is 100 3391 """ 3392 cloudProviders(after: String, before: String, first: Int, last: Int, filter: CloudProviderFilterInput, orderBy: CloudProviderOrderInput): CloudProviderConnection @join__field(graph: CLOUD_PROVIDERS) 3393 3394 """ 3395 Retrieves Cloud Keystores. 3396 The pagination can be either forward or backward. To enable forward pagination, two arguments 3397 are used: `after` and `first`. To enable backward pagination, two arguments are used: `before` and `last`. 3398 If arguments for both forward and backward pagination are supplied, forward pagination wil be used. If no arguments 3399 are supplied, it returns the first page of 10 cloud keystores (i.e. defaults `first` to 10). The result is sorted by 3400 the added on date in ascending order. 3401 - after: returns the elements in the list that come after the specified cursor. Defaults to empty string, meaning 3402 that we return the first page of cloud providers, if `first` value is supplied 3403 - first: non-negative integer, denoting the first `n` number of records to return after the `after` cursor value. 3404 Max value is 100 3405 - before: returns the elements in the list that come before the specified cursor. By default is the empty string, 3406 meaning that the results will be the last page, if `last` value is supplied 3407 - last: non-negative integer, denoting the last `n` number of records to return before the `before` cursor value. 3408 Max value is 100 3409 """ 3410 cloudKeystores(after: String, before: String, first: Int, last: Int, filter: CloudKeystoreFilterInput, orderBy: CloudKeystoreOrderInput): CloudKeystoreConnection @join__field(graph: CLOUD_PROVIDERS) 3411 3412 """ 3413 Retrieves details for a Cloud Provider (like the available AWS regions) 3414 """ 3415 cloudProviderDetails(cloudProviderId: UUID!): CloudProviderDetails @join__field(graph: CLOUD_PROVIDERS) 3416 3417 """ 3418 Retrieves details for all KeyVaults assigned to the Azure subscriptionId provided 3419 """ 3420 azureKeyVaultDetails(cloudProviderId: UUID!, subscriptionId: String): [AzureKeyVault] @join__field(graph: CLOUD_PROVIDERS) 3421 3422 """Retrieves available locations for the project name provided""" 3423 gcpProjectLocations(cloudProviderId: UUID!, projectId: String): [GCPLocation] @join__field(graph: CLOUD_PROVIDERS) 3424 3425 """Retrieves machine identities for a Cloud Keystore""" 3426 cloudKeystoreMachineIdentities(cloudKeystoreId: UUID!): [MachineIdentity]! @join__field(graph: CLOUD_PROVIDERS) @deprecated(reason: "Deprecated, use `cloudMachineIdentities` instead") 3427 3428 """ 3429 Retrieves machine identities for a Cloud Keystore. 3430 The pagination can be either forward or backward. To enable forward pagination, two arguments 3431 are used: `after` and `first`. To enable backward pagination, two arguments are used: `before` and `last`. 3432 If arguments for both forward and backward pagination are supplied, forward pagination wil be used. If no arguments 3433 are supplied, it returns the first page of 10 machine identities (i.e. defaults `first` to 10). The result is sorted by 3434 the added on date in descending order. 3435 - after: returns the elements in the list that come after the specified cursor. Defaults to empty string, meaning 3436 that we return the first page of certificates, if `first` value is supplied 3437 - first: non-negative integer, denoting the first `n` number of records to return after the `after` cursor value. 3438 Max value is 1000 3439 - before: returns the elements in the list that come before the specified cursor. By default is the empty string, 3440 meaning that the results will be the last page, if `last` value is supplied 3441 - last: non-negative integer, denoting the last `n` number of records to return before the `before` cursor value. 3442 Max value is 1000 3443 """ 3444 cloudMachineIdentities(after: String, before: String, first: Int, last: Int, filter: CloudMachineIdentitiesFilterInput): MachineIdentityConnection @join__field(graph: CLOUD_PROVIDERS) 3445 3446 """ 3447 SearchCompliancePolicies retrieves a list of compliance policies applying the filters. 3448 """ 3449 searchCompliancePolicies( 3450 """After is used for pagination after a cursor""" 3451 after: String 3452 3453 """Before is used for pagination before a cursor""" 3454 before: String 3455 3456 """First is used for pagination of what the first element should be""" 3457 first: Int 3458 3459 """Last is used for pagination of what the last element should be""" 3460 last: Int 3461 3462 """Filter is used for search to return a specific set of data""" 3463 filter: CompliancePolicySearchFilterInput 3464 3465 """OrderBy is used for sorting by fields and direction""" 3466 orderBy: [CompliancePolicyOrderInput!] 3467 ): CompliancePolicyConnection! @join__field(graph: COMPLIANCE_POLICY) 3468 3469 """ 3470 CompliancePolicy retrieves a compliance policy associated with the ID provided 3471 """ 3472 compliancePolicy(id: UUID!): CompliancePolicy @join__field(graph: COMPLIANCE_POLICY) 3473 3474 """ 3475 CompliancePoliciesSummary retrieves a summary of all the clusters, detailing their respective counts and current statuses. 3476 """ 3477 compliancePoliciesSummary: CompliancePoliciesSummary @join__field(graph: COMPLIANCE_POLICY) 3478 entitlement: Entitlement @join__field(graph: ENTITLEMENTS) 3479 3480 """Retrieve a list of all users, service accounts and teams.""" 3481 identities( 3482 """Returns the elements in the list that come after the specified cursor.""" 3483 after: String 3484 3485 """ 3486 Returns the elements in the list that come before the specified cursor. 3487 """ 3488 before: String 3489 3490 """Returns the first _n_ elements from the list.""" 3491 first: Int 3492 3493 """Returns the last _n_ elements from the list.""" 3494 last: Int 3495 ): IdentityConnection @join__field(graph: LEGACY) 3496 3497 """Retrieve a list of all users.""" 3498 users( 3499 """Returns the elements in the list that come after the specified cursor.""" 3500 after: String 3501 3502 """ 3503 Returns the elements in the list that come before the specified cursor. 3504 """ 3505 before: String 3506 3507 """Returns the first _n_ elements from the list.""" 3508 first: Int 3509 3510 """Returns the last _n_ elements from the list.""" 3511 last: Int 3512 ): UserConnection @join__field(graph: LEGACY) 3513 3514 """Retrieve a list of all teams.""" 3515 teams( 3516 """Returns the elements in the list that come after the specified cursor.""" 3517 after: String 3518 3519 """ 3520 Returns the elements in the list that come before the specified cursor. 3521 """ 3522 before: String 3523 3524 """Returns the first _n_ elements from the list.""" 3525 first: Int 3526 3527 """Returns the last _n_ elements from the list.""" 3528 last: Int 3529 3530 """Returns the teams that match the team filter input""" 3531 filter: TeamFilterInput 3532 ): TeamConnection @join__field(graph: LEGACY) 3533 serviceAccounts( 3534 """Returns the elements in the list that come after the specified cursor.""" 3535 after: String 3536 3537 """ 3538 Returns the elements in the list that come before the specified cursor. 3539 """ 3540 before: String 3541 3542 """Returns the first _n_ elements from the list.""" 3543 first: Int 3544 3545 """Returns the last _n_ elements from the list.""" 3546 last: Int 3547 ): ServiceAccountConnection @join__field(graph: LEGACY) 3548 userActiveApiKey: String @join__field(graph: LEGACY) 3549 integrationTypes(after: ID, before: ID, first: Int, last: Int, orderBy: IntegrationOrderBy! = ID): IntegrationTypeConnection! @join__field(graph: MESSAGING) 3550 integrations(after: ID, before: ID, first: Int, last: Int, orderBy: IntegrationOrderBy! = ID): IntegrationConnection! @join__field(graph: MESSAGING) 3551 integration(id: ID!): Integration @join__field(graph: MESSAGING) 3552 3553 """ 3554 Retrieve a list of applications. 3555 - after: returns the applications in the list that come after the specified cursor 3556 - before: returns the applications in the list that come before the specified cursor 3557 - first: returns the first _n_ applications from the list 3558 - last: returns the last _n_ applications from the list 3559 """ 3560 applications(after: String, before: String, first: Int, last: Int): ApplicationConnection @join__field(graph: OUTAGEDETECTION) 3561 3562 """ 3563 Search certificates repository. The pagination can be either forward or backward. To enable forward pagination, two 3564 arguments are used: 'after' and 'first'. To enable backward pagination, two arguments are used: 'before' and 'last'. 3565 If arguments for both forward and backward pagination are supplied, forward pagination wil be used. If no arguments 3566 are supplied, it returns the first page of 10 certificates (i.e. defaults 'first' to 10). The result is sorted by 3567 fingerprints in ascending order. 3568 - after: returns the elements in the list that come after the specified cursor. Defaults to empty string, meaning 3569 that we return the first page of certificates, if 'first' value is supplied 3570 - first: non-negative integer, denoting the first 'n' number of records to return after the 'after' cursor value. 3571 Max value is 100 3572 - before: returns the elements in the list that come before the specified cursor. By default is the empty string, 3573 meaning that the results will be the last page, if 'last' value is supplied 3574 - last: non-negative integer, denoting the last 'n' number of records to return before the 'before' cursor value. 3575 Max value is 100 3576 """ 3577 searchCertificates(after: String, before: String, first: Int, last: Int, filter: SearchCertificateFilterInput, filterOn: CertificateSearchFilterInput, orderBy: [CertificateOrderInput!]): CertificateConnection! @join__field(graph: SEARCH) 3578 3579 """ 3580 Retrieve a list of tags. 3581 - after: returns the tags in the list that come after the specified cursor 3582 - before: returns the tags in the list that come before the specified cursor 3583 - first: returns the first _n_ tags from the list 3584 - last: returns the last _n_ tags from the list 3585 """ 3586 tags(after: String, before: String, first: Int, last: Int): TagConnection @join__field(graph: TAGGING) 3587 3588 """SearchClusters retrieves a list of clusters applying the filters.""" 3589 searchClusters(after: String, before: String, first: Int, last: Int, filter: ClusterFilterInput, orderBy: [ClusterOrderInput!]): ClusterConnection! @join__field(graph: TLSPK) 3590 3591 """Cluster retrieves one cluster by ID.""" 3592 cluster(id: ID!): Cluster @join__field(graph: TLSPK) 3593 3594 """Retrieves the list of ClusterCertificateInstallations by cluster ID""" 3595 clusterCertificateInstallations(clusterID: ID!, after: String, before: String, first: Int, last: Int): ClusterCertificateInstallationConnection @join__field(graph: TLSPK) 3596 3597 """ 3598 Retrieves a summary of all the clusters, detailing their respective counts and current statuses. 3599 """ 3600 clustersSummary: TlspkClustersSummary @join__field(graph: TLSPK) 3601 } 3602 3603 """ 3604 RecoverCertificateInput defines the input required for recovering a retired certificate 3605 """ 3606 input RecoverCertificateInput 3607 @join__type(graph: CERTIFICATE_INVENTORY) 3608 { 3609 """The fingerprint for the certificate to recover""" 3610 fingerprint: ID! 3611 } 3612 3613 """ 3614 RecoverCertificatePayload holds the result of recovering a retired certificate 3615 """ 3616 type RecoverCertificatePayload 3617 @join__type(graph: CERTIFICATE_INVENTORY) 3618 { 3619 """The fingerprint for the certificate that was recovered""" 3620 fingerprint: ID! 3621 } 3622 3623 """ 3624 RecoverCertificateInput defines the input required for recovering one or more retired certificates 3625 """ 3626 input RecoverCertificatesInput 3627 @join__type(graph: CERTIFICATE_INVENTORY) 3628 { 3629 """List of certificates to recover""" 3630 certificates: [RecoverCertificateInput!]! 3631 3632 """ 3633 An optional list of application IDs to associate with the recovered certificates 3634 """ 3635 applicationIds: [ID!] 3636 } 3637 3638 """ 3639 RelatedCertificateOrderDirection represents the ordering direction for related certificates. 3640 """ 3641 enum RelatedCertificateOrderDirection 3642 @join__type(graph: CERTIFICATE_INVENTORY) 3643 { 3644 """ASC is the ascending order""" 3645 ASC @join__enumValue(graph: CERTIFICATE_INVENTORY) 3646 3647 """DESC is the descending order""" 3648 DESC @join__enumValue(graph: CERTIFICATE_INVENTORY) 3649 } 3650 3651 """ 3652 RelatedCertificateOrderField defines the fields that can be used for ordering the related certificates. 3653 """ 3654 enum RelatedCertificateOrderField 3655 @join__type(graph: CERTIFICATE_INVENTORY) 3656 { 3657 """Order by field 'fingerprint'""" 3658 FINGERPRINT @join__enumValue(graph: CERTIFICATE_INVENTORY) 3659 3660 """Order by field 'archivedTime'""" 3661 ARCHIVED_TIME @join__enumValue(graph: CERTIFICATE_INVENTORY) 3662 } 3663 3664 """ 3665 RelatedCertificateOrderInput contains the ordering information for the related certificates. 3666 """ 3667 input RelatedCertificateOrderInput 3668 @join__type(graph: CERTIFICATE_INVENTORY) 3669 { 3670 field: RelatedCertificateOrderField! 3671 direction: RelatedCertificateOrderDirection! 3672 } 3673 3674 """ 3675 RetireCertificateInput defines the input required for retiring a certificate 3676 """ 3677 input RetireCertificateInput 3678 @join__type(graph: CERTIFICATE_INVENTORY) 3679 { 3680 """The fingerprint for the certificate to retire""" 3681 fingerprint: ID! 3682 } 3683 3684 """RetireCertificatePayload holds the result of retiring a certificate""" 3685 type RetireCertificatePayload 3686 @join__type(graph: CERTIFICATE_INVENTORY) 3687 { 3688 """The fingerprint for the certificate that was retired""" 3689 fingerprint: ID! 3690 } 3691 3692 """ 3693 RetireCertificatesInput defines the input required for retiring one or more certificates 3694 """ 3695 input RetireCertificatesInput 3696 @join__type(graph: CERTIFICATE_INVENTORY) 3697 { 3698 """List of certificates to retire""" 3699 certificates: [RetireCertificateInput!]! 3700 3701 """ 3702 Indicate whether to add the certificates to the blocklist as well. If missing, defaults to false 3703 """ 3704 addToBlocklist: Boolean 3705 } 3706 3707 type Revocation 3708 @join__type(graph: CAOPERATIONS) 3709 { 3710 certificateAuthorityAccount: CertificateAuthorityAccount 3711 status: RevocationStatus 3712 reason: RevocationReason 3713 comment: String 3714 error: ErrorInformation 3715 user: User 3716 } 3717 3718 enum RevocationReason 3719 @join__type(graph: CAOPERATIONS) 3720 { 3721 UNSPECIFIED @join__enumValue(graph: CAOPERATIONS) 3722 KEY_COMPROMISE @join__enumValue(graph: CAOPERATIONS) 3723 AFFILIATION_CHANGED @join__enumValue(graph: CAOPERATIONS) 3724 SUPERSEDED @join__enumValue(graph: CAOPERATIONS) 3725 CESSATION_OF_OPERATION @join__enumValue(graph: CAOPERATIONS) 3726 } 3727 3728 """Indicates the revocation status of a certificate""" 3729 enum RevocationStatus 3730 @join__type(graph: CAOPERATIONS) 3731 @join__type(graph: SEARCH) 3732 { 3733 SUBMITTED @join__enumValue(graph: CAOPERATIONS) @join__enumValue(graph: SEARCH) 3734 FAILED @join__enumValue(graph: CAOPERATIONS) @join__enumValue(graph: SEARCH) 3735 } 3736 3737 input RevocationStatusFilter 3738 @join__type(graph: SEARCH) 3739 { 3740 """The string value we want to match""" 3741 eq: RevocationStatus 3742 3743 """ 3744 The boolean value that we want to assert whether the boolean field is null or not 3745 """ 3746 hasValue: Boolean 3747 } 3748 3749 type RFC822Name 3750 @join__type(graph: CERTIFICATE_INVENTORY) 3751 { 3752 emailAddress: String! 3753 } 3754 3755 """RSA public key information""" 3756 type RSAKeyInfo 3757 @join__type(graph: CERTIFICATE_INVENTORY) 3758 { 3759 """Strength in bits""" 3760 strength: Int! 3761 } 3762 3763 enum ScanType 3764 @join__type(graph: OUTAGEDETECTION) 3765 { 3766 USER @join__enumValue(graph: OUTAGEDETECTION) 3767 EXTERNAL @join__enumValue(graph: OUTAGEDETECTION) 3768 DOMAIN @join__enumValue(graph: OUTAGEDETECTION) 3769 VALIDATION @join__enumValue(graph: OUTAGEDETECTION) 3770 SMART_INTERNAL @join__enumValue(graph: OUTAGEDETECTION) 3771 SMART_EXTERNAL @join__enumValue(graph: OUTAGEDETECTION) 3772 SMART_VALIDATION_INTERNAL @join__enumValue(graph: OUTAGEDETECTION) 3773 SMART_VALIDATION_EXTERNAL @join__enumValue(graph: OUTAGEDETECTION) 3774 } 3775 3776 """SearchCertificateFilterInput filter argument for certificate search""" 3777 input SearchCertificateFilterInput 3778 @join__type(graph: SEARCH) 3779 { 3780 """filter is a search expression based on the Certificate type""" 3781 filter: String! 3782 } 3783 3784 """A representation of an account for a machine""" 3785 type ServiceAccount 3786 @join__type(graph: LEGACY, key: "id") 3787 @join__type(graph: OUTAGEDETECTION) 3788 @join__type(graph: TLSPK, key: "id") 3789 { 3790 """A unique identifier that identifies a specific service account.""" 3791 id: ID! 3792 3793 """The display name associated with this service account.""" 3794 displayName: String @join__field(graph: LEGACY) 3795 3796 """A flag representing if the service account is enabled or not.""" 3797 enabled: Boolean @join__field(graph: LEGACY) 3798 3799 """The team who owns this service account""" 3800 owner: Team @join__field(graph: LEGACY) 3801 3802 """Scopes that are assigned to this service account""" 3803 scopes: [String] @join__field(graph: LEGACY) 3804 usedByClusters: [Cluster!]! @join__field(graph: TLSPK) 3805 } 3806 3807 """The connection type for ServiceAccount.""" 3808 type ServiceAccountConnection 3809 @join__type(graph: LEGACY) 3810 { 3811 """A list of edges""" 3812 edges: [ServiceAccountEdge!] 3813 3814 """A list of nodes.""" 3815 nodes: [ServiceAccount!] 3816 3817 """Information to aid in pagination.""" 3818 pageInfo: PageInfo! 3819 3820 """Identifies the total count of service accounts in the connection.""" 3821 totalCount: Int! 3822 } 3823 3824 """An edge in the ServiceAccountConnection""" 3825 type ServiceAccountEdge 3826 @join__type(graph: LEGACY) 3827 { 3828 """A cursor for use in pagination""" 3829 cursor: ID! 3830 3831 """The item at the end of the edge""" 3832 node: ServiceAccount! 3833 } 3834 3835 """Indicates the signature hash algorithm of a certificate""" 3836 enum SignatureHashAlgorithm 3837 @join__type(graph: SEARCH) 3838 { 3839 GOST_R3410_2001 @join__enumValue(graph: SEARCH) 3840 GOST_R3410_94 @join__enumValue(graph: SEARCH) 3841 GOST_R3411_2012 @join__enumValue(graph: SEARCH) 3842 MD2 @join__enumValue(graph: SEARCH) 3843 MD5 @join__enumValue(graph: SEARCH) 3844 SHA1 @join__enumValue(graph: SEARCH) 3845 SHA224 @join__enumValue(graph: SEARCH) 3846 SHA256 @join__enumValue(graph: SEARCH) 3847 SHA384 @join__enumValue(graph: SEARCH) 3848 SHA512 @join__enumValue(graph: SEARCH) 3849 SHA3_256 @join__enumValue(graph: SEARCH) 3850 SHA3_512 @join__enumValue(graph: SEARCH) 3851 SM3 @join__enumValue(graph: SEARCH) 3852 RIPEMD160 @join__enumValue(graph: SEARCH) 3853 UNKNOWN @join__enumValue(graph: SEARCH) 3854 } 3855 3856 input SignatureHashAlgorithmFilter 3857 @join__type(graph: SEARCH) 3858 { 3859 """The string value we want to match""" 3860 eq: SignatureHashAlgorithm 3861 3862 """ 3863 The list of strings that we want to assert whether the string value is included in the provided list 3864 """ 3865 in: [SignatureHashAlgorithm!] 3866 } 3867 3868 """Identifies certificate's subject alternative name type""" 3869 enum SubjectAlternativeNameType 3870 @join__type(graph: SEARCH) 3871 { 3872 RFC822Name @join__enumValue(graph: SEARCH) 3873 DNSName @join__enumValue(graph: SEARCH) 3874 DirectoryName @join__enumValue(graph: SEARCH) 3875 EdiPartyName @join__enumValue(graph: SEARCH) 3876 UniformResourceIdentifier @join__enumValue(graph: SEARCH) 3877 IPAddress @join__enumValue(graph: SEARCH) 3878 } 3879 3880 input SubjectAlternativeNameTypeFilter 3881 @join__type(graph: SEARCH) 3882 { 3883 """The subject alternative name type value we want to match""" 3884 eq: SubjectAlternativeNameType 3885 3886 """The subject alternative name type value we don't want to match""" 3887 neq: SubjectAlternativeNameType 3888 3889 """ 3890 The list of subject alternative name types that we want to assert whether the string value is included in the provided list 3891 """ 3892 in: [SubjectAlternativeNameType!] 3893 3894 """ 3895 The boolean value that we want to assert whether the field is null or not 3896 """ 3897 hasValue: Boolean 3898 } 3899 3900 """System Roles""" 3901 enum SystemRole 3902 @join__type(graph: LEGACY) 3903 { 3904 """System Administrator""" 3905 SYSTEM_ADMIN @join__enumValue(graph: LEGACY) 3906 } 3907 3908 """Tag is used in matching rules and displays the key name""" 3909 type Tag 3910 @join__type(graph: COMPLIANCE_POLICY) 3911 @join__type(graph: TAGGING) 3912 { 3913 """Name refers to the name of the tag""" 3914 name: String! 3915 } 3916 3917 type TagConnection 3918 @join__type(graph: TAGGING) 3919 { 3920 pageInfo: PageInfo! 3921 totalCount: Int! 3922 nodes: [Tag!] 3923 edges: [TagEdge] 3924 } 3925 3926 type TagEdge 3927 @join__type(graph: TAGGING) 3928 { 3929 node: Tag! 3930 cursor: String! 3931 } 3932 3933 """TagMatchingRule wraps the Tag type to add included to it""" 3934 type TagMatchingRule 3935 @join__type(graph: COMPLIANCE_POLICY) 3936 { 3937 """Tag is the reference to the tag to include or exclude""" 3938 tag: Tag 3939 3940 """ 3941 Included states whether this tag should be included in matching for resources 3942 """ 3943 included: Boolean 3944 } 3945 3946 """A team of users""" 3947 type Team 3948 @join__type(graph: CLOUD_PROVIDERS) 3949 @join__type(graph: LEGACY, key: "id") 3950 @join__type(graph: OUTAGEDETECTION) 3951 { 3952 """A unique identifier that identifies a specific team.""" 3953 id: ID! 3954 3955 """The name of the team.""" 3956 name: String! @join__field(graph: LEGACY) 3957 3958 """The accounts that belogn to this team.""" 3959 members( 3960 """Returns the elements in the list that come after the specified cursor.""" 3961 after: String 3962 3963 """ 3964 Returns the elements in the list that come before the specified cursor. 3965 """ 3966 before: String 3967 3968 """Returns the first _n_ elements from the list.""" 3969 first: Int 3970 3971 """Returns the last _n_ elements from the list.""" 3972 last: Int 3973 ): UserConnection! @join__field(graph: LEGACY) 3974 } 3975 3976 """The connection type for Team""" 3977 type TeamConnection 3978 @join__type(graph: LEGACY) 3979 { 3980 """A list of edges.""" 3981 edges: [TeamEdge!] 3982 3983 """A list of nodes.""" 3984 nodes: [Team!] 3985 3986 """Information to aid in pagination.""" 3987 pageInfo: PageInfo! 3988 3989 """Identifies the total count of teams in the connection.""" 3990 totalCount: Int! 3991 } 3992 3993 """An edge in a TeamConnection.""" 3994 type TeamEdge 3995 @join__type(graph: LEGACY) 3996 { 3997 """A cursor for use in pagination.""" 3998 cursor: ID! 3999 4000 """The item at the end of the edge.""" 4001 node: Team! 4002 } 4003 4004 input TeamFilterAttributesInput 4005 @join__type(graph: LEGACY) 4006 { 4007 """Filter by user id within team's members""" 4008 userId: TeamListFilter 4009 } 4010 4011 input TeamFilterInput 4012 @join__type(graph: LEGACY) 4013 { 4014 """Filter by matching ALL the supplied filter inputs""" 4015 and: [TeamFilterAttributesInput!] 4016 } 4017 4018 input TeamListFilter 4019 @join__type(graph: LEGACY) 4020 { 4021 """The string value that we want to assert whether it is within the list""" 4022 includes: String 4023 } 4024 4025 enum TlspkCertManagerIssuerKind 4026 @join__type(graph: TLSPK) 4027 { 4028 CLUSTER @join__enumValue(graph: TLSPK) 4029 NAMESPACE @join__enumValue(graph: TLSPK) 4030 } 4031 4032 type TlspkClustersCertificatesOverviewCategory 4033 @join__type(graph: TLSPK) 4034 { 4035 id: String 4036 count: Int 4037 } 4038 4039 type TlspkClustersCertificatesOverviewWidget 4040 @join__type(graph: TLSPK) 4041 { 4042 """ 4043 totalCount is the number of long, short and ultra short lived certificates found in clusters 4044 """ 4045 totalCount: Int 4046 4047 """ 4048 categories is the list of long, short and ultra short lived certificates found in clusters 4049 """ 4050 categories: [TlspkClustersCertificatesOverviewCategory] 4051 } 4052 4053 type TlspkClustersCertManagerIssuersType 4054 @join__type(graph: TLSPK) 4055 { 4056 issuerType: String 4057 count: Int 4058 kind: TlspkCertManagerIssuerKind 4059 } 4060 4061 type TlspkClustersCertManagerIssuersWidget 4062 @join__type(graph: TLSPK) 4063 { 4064 """ 4065 totalCount is the number of venafi and non-venafi cert-manager issuers found in clusters 4066 """ 4067 totalCount: Int 4068 4069 """ 4070 nonVenafiIssuers is the number of non-venafi cert-manager issuers found in clusters 4071 """ 4072 nonVenafiIssuers: Int 4073 4074 """types is the list of venafi and non-venafi issuers found in clusters""" 4075 types: [TlspkClustersCertManagerIssuersType] 4076 } 4077 4078 type TlspkClustersIngressesCategory 4079 @join__type(graph: TLSPK) 4080 { 4081 id: String 4082 count: Int 4083 } 4084 4085 type TlspkClustersIngressesWidget 4086 @join__type(graph: TLSPK) 4087 { 4088 """totalCount is the number of ingresses found in clusters""" 4089 totalCount: Int 4090 4091 """ 4092 unhealthy is the number of ingresses found in clusters that have certificates that are expired or soon to expire 4093 """ 4094 unhealthy: Int 4095 4096 """ 4097 categories is the list of ingresses found in clusters that have certificates that are expired or soon to expire 4098 """ 4099 categories: [TlspkClustersIngressesCategory] 4100 } 4101 4102 type TlspkClustersLLCertsNotManagedByCertManagerCategory 4103 @join__type(graph: TLSPK) 4104 { 4105 id: String 4106 count: Int 4107 } 4108 4109 type TlspkClustersLLCertsNotManagedByCertManagerWidget 4110 @join__type(graph: TLSPK) 4111 { 4112 """totalCount is the number of long lived certificates found in clusters""" 4113 totalCount: Int 4114 4115 """ 4116 notManagedByCertManager is the number of long lived certfiicates found in clusters that are not managed by Cert-Manager 4117 """ 4118 notManagedByCertManager: Int 4119 4120 """ 4121 categories is the list of long lived certificates found in clusters that are either managed by Cert-Manager or not managed by Cert-Manager 4122 """ 4123 categories: [TlspkClustersLLCertsNotManagedByCertManagerCategory] 4124 } 4125 4126 type TlspkClustersLongLivedCertificatesCategory 4127 @join__type(graph: TLSPK) 4128 { 4129 id: String 4130 count: Int 4131 } 4132 4133 type TlspkClustersLongLivedCertificatesWidget 4134 @join__type(graph: TLSPK) 4135 { 4136 """totalCount is the number of long lived certificates found in clusters""" 4137 totalCount: Int 4138 4139 """ 4140 unhealthy is the number of long lived certificates found in clusters that are expired, soon to expire or not managed by cert manager 4141 """ 4142 unhealthy: Int 4143 4144 """ 4145 categories is the list of long lived certificates found in clusters that are expired, soon to expire or not managed by cert manager 4146 """ 4147 categories: [TlspkClustersLongLivedCertificatesCategory] 4148 } 4149 4150 type TlspkClustersOverviewCategory 4151 @join__type(graph: TLSPK) 4152 { 4153 id: String 4154 count: Int 4155 } 4156 4157 type TlspkClustersOverviewWidget 4158 @join__type(graph: TLSPK) 4159 { 4160 """totalCount is the number of clusters with any status except DELETED""" 4161 totalCount: Int 4162 4163 """ 4164 unhealthy is the number of clusters with status INACTIVE or WAITING_FOR_FIRST_CONTACT 4165 """ 4166 unhealthy: Int 4167 4168 """ 4169 categories is the list of clusters with status INACTIVE or WAITING_FOR_FIRST_CONTACT 4170 """ 4171 categories: [TlspkClustersOverviewCategory] 4172 } 4173 4174 type TlspkClustersSummary 4175 @join__type(graph: TLSPK) 4176 { 4177 clusters: TlspkClustersOverviewWidget 4178 clustersCertificates: TlspkClustersCertificatesOverviewWidget 4179 clustersLongLivedCertificates: TlspkClustersLongLivedCertificatesWidget 4180 clustersLLCertsNotManagedByCertManager: TlspkClustersLLCertsNotManagedByCertManagerWidget 4181 ingresses: TlspkClustersIngressesWidget 4182 certManagerIssuers: TlspkClustersCertManagerIssuersWidget 4183 } 4184 4185 enum TLSProtocol 4186 @join__type(graph: OUTAGEDETECTION) 4187 { 4188 """SSL v2""" 4189 SSL_V2 @join__enumValue(graph: OUTAGEDETECTION) 4190 4191 """SSL v3""" 4192 SSL_V3 @join__enumValue(graph: OUTAGEDETECTION) 4193 4194 """TLS v1.0""" 4195 TLS_V1 @join__enumValue(graph: OUTAGEDETECTION) 4196 4197 """TLS v1.1""" 4198 TLS_V1_1 @join__enumValue(graph: OUTAGEDETECTION) 4199 4200 """TLS v1.2""" 4201 TLS_V1_2 @join__enumValue(graph: OUTAGEDETECTION) 4202 4203 """TLS v1.3""" 4204 TLS_V1_3 @join__enumValue(graph: OUTAGEDETECTION) 4205 } 4206 4207 type TLSServerEndpoint 4208 @join__type(graph: OUTAGEDETECTION) 4209 { 4210 id: ID! 4211 scanType: ScanType! 4212 ipAddress: IP! 4213 port: Int! 4214 serverName: FQDN 4215 lastSeenTime: DateTime! 4216 tlsProtocols: [TLSProtocol!] 4217 deploymentStatus: DeploymentStatus 4218 chainValidationErrors: [ValidationError!] 4219 tlsValidationError: ValidationError 4220 lastAttemptTime: DateTime 4221 } 4222 4223 type TLSServerEndpointConnection 4224 @join__type(graph: COMPUTED_FIELDS) 4225 @join__type(graph: OUTAGEDETECTION) 4226 { 4227 tlsServerEndpointsErrorCount: ValidationErrorCount! 4228 pageInfo: PageInfo! @join__field(graph: OUTAGEDETECTION) 4229 totalCount: Int! @join__field(graph: OUTAGEDETECTION) 4230 nodes: [TLSServerEndpoint!] @join__field(graph: OUTAGEDETECTION) 4231 edges: [TLSServerEndpointEdge] @join__field(graph: OUTAGEDETECTION) 4232 } 4233 4234 type TLSServerEndpointEdge 4235 @join__type(graph: OUTAGEDETECTION) 4236 { 4237 node: TLSServerEndpoint! 4238 cursor: String! 4239 } 4240 4241 type TLSValidationError implements ValidationError 4242 @join__implements(graph: OUTAGEDETECTION, interface: "ValidationError") 4243 @join__type(graph: OUTAGEDETECTION) 4244 { 4245 message: String 4246 arguments: [String!] 4247 errorType: TLSValidationErrorType 4248 } 4249 4250 """ 4251 Identifies the tls validation error type associated with a tls server endpoint 4252 """ 4253 enum TLSValidationErrorType 4254 @join__type(graph: OUTAGEDETECTION) 4255 @join__type(graph: SEARCH) 4256 { 4257 INVALID_CERTIFICATE_FOUND @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 4258 OLD_VERSION_CERTIFICATE_FOUND @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 4259 UNEXPECTED_CERTIFICATE_FOUND @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 4260 NO_CERTIFICATE_PRESENTED @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 4261 TARGET_UNREACHABLE @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 4262 HOSTNAME_NOT_RESOLVABLE @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 4263 UNKNOWN_ERROR @join__enumValue(graph: OUTAGEDETECTION) @join__enumValue(graph: SEARCH) 4264 } 4265 4266 input TLSValidationErrorTypeFilter 4267 @join__type(graph: SEARCH) 4268 { 4269 """The tls validation error type value we want to match""" 4270 eq: TLSValidationErrorType 4271 4272 """The tls validation error type value we don't want to match""" 4273 neq: TLSValidationErrorType 4274 4275 """ 4276 The list of tls validation error types that we want to assert whether the string value is included in the provided list 4277 """ 4278 in: [TLSValidationErrorType!] 4279 4280 """ 4281 The boolean value that we want to assert whether the field is null or not 4282 """ 4283 hasValue: Boolean 4284 } 4285 4286 """ 4287 TrustedCaCertificate is the trusted CA certificate that is trusted by the user for use in issuing certificates 4288 """ 4289 type TrustedCaCertificate 4290 @join__type(graph: CERTIFICATE, key: "fingerprint") 4291 @join__type(graph: COMPLIANCE_POLICY, key: "fingerprint", resolvable: false) 4292 { 4293 """Fingerprint of the trusted CA certificate""" 4294 fingerprint: ID! 4295 4296 """ 4297 CertificateType defines what type of certificate the trusted CA cert is 4298 """ 4299 certificateType: CertificateType! @join__field(graph: CERTIFICATE) 4300 4301 """Source defines how the certificate was loaded into the system""" 4302 source: TrustedCACertificateSource! @join__field(graph: CERTIFICATE) 4303 4304 """SubjectCN of the trusted CA certificate""" 4305 subjectCN: [String]! @join__field(graph: CERTIFICATE) 4306 } 4307 4308 """ 4309 TrustedCaCertificatesConnection is used to provide pagination to trusted CA certificates 4310 """ 4311 type TrustedCaCertificatesConnection 4312 @join__type(graph: CERTIFICATE) 4313 { 4314 """PageInfo is information for pagination""" 4315 pageInfo: PageInfo! 4316 4317 """TotalCount of trusted CA certificates""" 4318 totalCount: Int! 4319 4320 """Nodes of the trusted CA certificate connection for paginated results""" 4321 nodes: [TrustedCaCertificate!] 4322 4323 """Edges of the trusted CA certificate connection for linking""" 4324 edges: [TrustedCaCertificatesEdge] 4325 } 4326 4327 """ 4328 TrustedCaCertificatesEdge is used for the TrustedCaCertificatesConnection edges 4329 """ 4330 type TrustedCaCertificatesEdge 4331 @join__type(graph: CERTIFICATE) 4332 { 4333 """Node of the trusted CA certificate connection""" 4334 node: TrustedCaCertificate! 4335 4336 """Cursor is the link to the next edge""" 4337 cursor: String! 4338 } 4339 4340 """ 4341 TrustedCACertificateSource defines how the certificate was loaded into the system 4342 """ 4343 enum TrustedCACertificateSource 4344 @join__type(graph: CERTIFICATE) 4345 { 4346 GLOBALLY_TRUSTED @join__enumValue(graph: CERTIFICATE) 4347 USER_PROVIDED @join__enumValue(graph: CERTIFICATE) 4348 } 4349 4350 """ 4351 TrustedCAEvaluationRule wraps the Trusted CA type to add included to it 4352 """ 4353 type TrustedCAEvaluationRule 4354 @join__type(graph: COMPLIANCE_POLICY) 4355 { 4356 """TrustedCA is the reference to the Trusted CA to include or exclude""" 4357 trustedCA: TrustedCaCertificate 4358 4359 """ 4360 Included states whether this Trusted CA should be included in matching for resources 4361 """ 4362 included: Boolean 4363 } 4364 4365 type UniformResourceIdentifier 4366 @join__type(graph: CERTIFICATE_INVENTORY) 4367 { 4368 uri: URI! 4369 } 4370 4371 """Represents the input for updating a PagerDuty integration.""" 4372 input UpdatePagerDutyIntegrationInput 4373 @join__type(graph: MESSAGING) 4374 { 4375 id: ID! 4376 name: String 4377 pagerDutyParams: PagerDutyIntegrationInputParams 4378 } 4379 4380 """ 4381 A field whose value conforms to the standard URI format as specified in RFC3986 4382 """ 4383 scalar URI 4384 @join__type(graph: CERTIFICATE_INVENTORY) 4385 4386 """A representation of a human user account.""" 4387 type User 4388 @join__type(graph: CAOPERATIONS) 4389 @join__type(graph: CLOUD_PROVIDERS) 4390 @join__type(graph: LEGACY, key: "id") 4391 @join__type(graph: OUTAGEDETECTION) 4392 { 4393 """A unique identifier that identifies a specific user.""" 4394 id: ID! 4395 4396 """ 4397 The username associated with this user. Note that the username is the user's email address. 4398 """ 4399 username: String! @join__field(graph: LEGACY) 4400 4401 """The user's given name.""" 4402 firstName: String @join__field(graph: LEGACY) 4403 4404 """The user's surname.""" 4405 lastName: String @join__field(graph: LEGACY) 4406 } 4407 4408 """The connection type for User.""" 4409 type UserConnection 4410 @join__type(graph: LEGACY) 4411 { 4412 """A list of edges""" 4413 edges: [UserEdge!] 4414 4415 """A list of nodes.""" 4416 nodes: [User!] 4417 4418 """Information to aid in pagination.""" 4419 pageInfo: PageInfo! 4420 4421 """Identifies the total count of users in the connection.""" 4422 totalCount: Int! 4423 } 4424 4425 """An edge in the UserConnection""" 4426 type UserEdge 4427 @join__type(graph: LEGACY) 4428 { 4429 """A cursor for use in pagination""" 4430 cursor: ID! 4431 4432 """The item at the end of the edge""" 4433 node: User! 4434 } 4435 4436 """User status""" 4437 enum UserStatus 4438 @join__type(graph: LEGACY) 4439 { 4440 """Active""" 4441 ACTIVE @join__enumValue(graph: LEGACY) 4442 4443 """Inactive""" 4444 INACTIVE @join__enumValue(graph: LEGACY) 4445 4446 """Pending Activation""" 4447 PENDING_ACTIVATION @join__enumValue(graph: LEGACY) 4448 } 4449 4450 """A field whose value is a generic Universally Unique Identifier.""" 4451 scalar UUID 4452 @join__type(graph: CAOPERATIONS) 4453 @join__type(graph: CERTIFICATE) 4454 @join__type(graph: CLOUD_PROVIDERS) 4455 @join__type(graph: COMPLIANCE_POLICY) 4456 @join__type(graph: LEGACY) 4457 @join__type(graph: OUTAGEDETECTION) 4458 4459 interface ValidationError 4460 @join__type(graph: CERTIFICATE_INVENTORY) 4461 @join__type(graph: OUTAGEDETECTION) 4462 { 4463 message: String 4464 arguments: [String!] 4465 } 4466 4467 type ValidationErrorCount 4468 @join__type(graph: CERTIFICATE_INVENTORY) 4469 @join__type(graph: COMPUTED_FIELDS) 4470 @join__type(graph: OUTAGEDETECTION) 4471 { 4472 warnings: Int! 4473 alerts: Int! 4474 } 4475 4476 type WorkflowResult 4477 @join__type(graph: CLOUD_PROVIDERS) 4478 { 4479 workflowName: String! 4480 workflowId: UUID! 4481 }