{
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "attach_metadata": {
          "properties": {
            "namespace": {
              "type": "boolean"
            },
            "node": {
              "type": "boolean"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "discoveryRole": {
          "enum": [
            "endpoints",
            "service",
            "endpointslices",
            "endpointslice"
          ],
          "type": "string"
        },
        "endpoints": {
          "items": {
            "properties": {
              "attach_metadata": {
                "properties": {
                  "namespace": {
                    "type": "boolean"
                  },
                  "node": {
                    "type": "boolean"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "authorization": {
                "properties": {
                  "credentials": {
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "type": "string"
                      },
                      "optional": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "credentialsFile": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "basicAuth": {
                "properties": {
                  "password": {
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "type": "string"
                      },
                      "optional": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "password_file": {
                    "type": "string"
                  },
                  "username": {
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "type": "string"
                      },
                      "optional": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "bearerTokenFile": {
                "type": "string"
              },
              "bearerTokenSecret": {
                "nullable": true,
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "name": {
                    "default": "",
                    "type": "string"
                  },
                  "optional": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "key"
                ],
                "type": "object",
                "x-kubernetes-map-type": "atomic",
                "additionalProperties": false
              },
              "follow_redirects": {
                "type": "boolean"
              },
              "honorLabels": {
                "type": "boolean"
              },
              "honorTimestamps": {
                "type": "boolean"
              },
              "interval": {
                "type": "string"
              },
              "max_scrape_size": {
                "type": "string"
              },
              "metricRelabelConfigs": {
                "items": {
                  "properties": {
                    "action": {
                      "type": "string"
                    },
                    "if": {
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "labels": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "type": "object"
                    },
                    "match": {
                      "type": "string"
                    },
                    "modulus": {
                      "format": "int64",
                      "type": "integer"
                    },
                    "regex": {
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "replacement": {
                      "type": "string"
                    },
                    "separator": {
                      "type": "string"
                    },
                    "source_labels": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "sourceLabels": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "target_label": {
                      "type": "string"
                    },
                    "targetLabel": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "oauth2": {
                "properties": {
                  "client_id": {
                    "properties": {
                      "configMap": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "client_secret": {
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "type": "string"
                      },
                      "optional": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "client_secret_file": {
                    "type": "string"
                  },
                  "endpoint_params": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "proxy_url": {
                    "type": "string"
                  },
                  "scopes": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "tls_config": {
                    "x-kubernetes-preserve-unknown-fields": true
                  },
                  "token_url": {
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "client_id",
                  "token_url"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "params": {
                "additionalProperties": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "type": "object"
              },
              "path": {
                "type": "string"
              },
              "port": {
                "type": "string"
              },
              "proxyURL": {
                "type": "string"
              },
              "relabelConfigs": {
                "items": {
                  "properties": {
                    "action": {
                      "type": "string"
                    },
                    "if": {
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "labels": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "type": "object"
                    },
                    "match": {
                      "type": "string"
                    },
                    "modulus": {
                      "format": "int64",
                      "type": "integer"
                    },
                    "regex": {
                      "x-kubernetes-preserve-unknown-fields": true
                    },
                    "replacement": {
                      "type": "string"
                    },
                    "separator": {
                      "type": "string"
                    },
                    "source_labels": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "sourceLabels": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "target_label": {
                      "type": "string"
                    },
                    "targetLabel": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "sampleLimit": {
                "type": "integer"
              },
              "scheme": {
                "enum": [
                  "http",
                  "https",
                  "HTTPS",
                  "HTTP"
                ],
                "type": "string"
              },
              "scrape_interval": {
                "type": "string"
              },
              "scrapeTimeout": {
                "type": "string"
              },
              "seriesLimit": {
                "type": "integer"
              },
              "targetPort": {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "type": "string"
                  }
                ],
                "x-kubernetes-int-or-string": true
              },
              "tlsConfig": {
                "properties": {
                  "ca": {
                    "properties": {
                      "configMap": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "caFile": {
                    "type": "string"
                  },
                  "cert": {
                    "properties": {
                      "configMap": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "secret": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "certFile": {
                    "type": "string"
                  },
                  "insecureSkipVerify": {
                    "type": "boolean"
                  },
                  "keyFile": {
                    "type": "string"
                  },
                  "keySecret": {
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "name": {
                        "default": "",
                        "type": "string"
                      },
                      "optional": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "key"
                    ],
                    "type": "object",
                    "x-kubernetes-map-type": "atomic",
                    "additionalProperties": false
                  },
                  "serverName": {
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "vm_scrape_params": {
                "properties": {
                  "disable_compression": {
                    "type": "boolean"
                  },
                  "disable_keep_alive": {
                    "type": "boolean"
                  },
                  "headers": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "no_stale_markers": {
                    "type": "boolean"
                  },
                  "proxy_client_config": {
                    "properties": {
                      "basic_auth": {
                        "properties": {
                          "password": {
                            "properties": {
                              "key": {
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "type": "string"
                              },
                              "optional": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          },
                          "password_file": {
                            "type": "string"
                          },
                          "username": {
                            "properties": {
                              "key": {
                                "type": "string"
                              },
                              "name": {
                                "default": "",
                                "type": "string"
                              },
                              "optional": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "key"
                            ],
                            "type": "object",
                            "x-kubernetes-map-type": "atomic",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "bearer_token": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "name": {
                            "default": "",
                            "type": "string"
                          },
                          "optional": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "key"
                        ],
                        "type": "object",
                        "x-kubernetes-map-type": "atomic",
                        "additionalProperties": false
                      },
                      "bearer_token_file": {
                        "type": "string"
                      },
                      "tls_config": {
                        "x-kubernetes-preserve-unknown-fields": true
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "scrape_align_interval": {
                    "type": "string"
                  },
                  "scrape_offset": {
                    "type": "string"
                  },
                  "stream_parse": {
                    "type": "boolean"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "jobLabel": {
          "type": "string"
        },
        "namespaceSelector": {
          "properties": {
            "any": {
              "type": "boolean"
            },
            "matchNames": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "podTargetLabels": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "sampleLimit": {
          "type": "integer"
        },
        "scrapeClass": {
          "type": "string"
        },
        "selector": {
          "properties": {
            "matchExpressions": {
              "items": {
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "operator": {
                    "type": "string"
                  },
                  "values": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "x-kubernetes-list-type": "atomic"
                  }
                },
                "required": [
                  "key",
                  "operator"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "type": "array",
              "x-kubernetes-list-type": "atomic"
            },
            "matchLabels": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            }
          },
          "type": "object",
          "x-kubernetes-map-type": "atomic",
          "additionalProperties": false
        },
        "seriesLimit": {
          "type": "integer"
        },
        "targetLabels": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "endpoints"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "properties": {
        "conditions": {
          "items": {
            "properties": {
              "lastTransitionTime": {
                "format": "date-time",
                "type": "string"
              },
              "lastUpdateTime": {
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "maxLength": 32768,
                "type": "string"
              },
              "observedGeneration": {
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "reason": {
                "maxLength": 1024,
                "minLength": 1,
                "type": "string"
              },
              "status": {
                "enum": [
                  "True",
                  "False",
                  "Unknown"
                ],
                "type": "string"
              },
              "type": {
                "maxLength": 316,
                "type": "string"
              }
            },
            "required": [
              "lastTransitionTime",
              "lastUpdateTime",
              "reason",
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array",
          "x-kubernetes-list-map-keys": [
            "type"
          ],
          "x-kubernetes-list-type": "map"
        },
        "observedGeneration": {
          "format": "int64",
          "type": "integer"
        },
        "reason": {
          "type": "string"
        },
        "updateStatus": {
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "required": [
    "spec"
  ],
  "type": "object"
}
