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  }