{
  "description": "Check is the Schema for the Checks API. Synthetic Monitoring checks are tests that run on selected probes at defined intervals and report metrics and logs back to your Grafana Cloud account. The target for checks can be a domain name, a server, or a website, depending on what information you would like to gather about your endpoint. You can define multiple checks for a single endpoint to check different capabilities. Official documentation https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "CheckSpec defines the desired state of Check",
      "properties": {
        "deletionPolicy": {
          "default": "Delete",
          "description": "DeletionPolicy specifies what will happen to the underlying external\nwhen this managed resource is deleted - either \"Delete\" or \"Orphan\" the\nexternal resource.\nThis field is planned to be deprecated in favor of the ManagementPolicies\nfield in a future release. Currently, both could be set independently and\nnon-default values would be honored if the feature flag is enabled.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223",
          "enum": [
            "Orphan",
            "Delete"
          ],
          "type": "string"
        },
        "forProvider": {
          "properties": {
            "alertSensitivity": {
              "description": "(String) Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.\nCan be set to `none`, `low`, `medium`, or `high` to correspond to the check [alert levels](https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/configure-alerts/synthetic-monitoring-alerting/). Defaults to `none`.",
              "type": "string"
            },
            "basicMetricsOnly": {
              "description": "(Boolean) Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.\nMetrics are reduced by default. Set this to `false` if you'd like to publish all metrics. We maintain a [full list of metrics](https://github.com/grafana/synthetic-monitoring-agent/tree/main/internal/scraper/testdata) collected for each. Defaults to `true`.",
              "type": "boolean"
            },
            "enabled": {
              "description": "(Boolean) Whether to enable the check. Defaults to true.\nWhether to enable the check. Defaults to `true`.",
              "type": "boolean"
            },
            "frequency": {
              "description": "(Number) How often the check runs in milliseconds (the value is not truly a \"frequency\" but a \"period\"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.\nHow often the check runs in milliseconds (the value is not truly a \"frequency\" but a \"period\"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to `60000`.",
              "type": "number"
            },
            "job": {
              "description": "(String) Name used for job label.\nName used for job label.",
              "type": "string"
            },
            "labels": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.\nCustom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.",
              "type": "object",
              "x-kubernetes-map-type": "granular"
            },
            "probes": {
              "description": "(Set of Number) List of probe location IDs where this target will be checked from.\nList of probe location IDs where this target will be checked from.",
              "items": {
                "type": "number"
              },
              "type": "array",
              "x-kubernetes-list-type": "set"
            },
            "settings": {
              "description": "(Block Set, Min: 1, Max: 1) Check settings. Should contain exactly one nested block. (see below for nested schema)\nCheck settings. Should contain exactly one nested block.",
              "items": {
                "properties": {
                  "browser": {
                    "description": "cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/. (see below for nested schema)\nSettings for browser check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/.",
                    "items": {
                      "properties": {
                        "script": {
                          "description": "(String)",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "dns": {
                    "description": "(Block Set, Max: 1) Settings for DNS check. The target must be a valid hostname (or IP address for PTR records). (see below for nested schema)\nSettings for DNS check. The target must be a valid hostname (or IP address for `PTR` records).",
                    "items": {
                      "properties": {
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "port": {
                          "description": "(Number) Port to target. Defaults to 53.\nPort to target. Defaults to `53`.",
                          "type": "number"
                        },
                        "protocol": {
                          "description": "(String) TCP or UDP. Defaults to UDP.\n`TCP` or `UDP`. Defaults to `UDP`.",
                          "type": "string"
                        },
                        "recordType": {
                          "description": "(String) One of ANY, A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT. Defaults to A.\nOne of `ANY`, `A`, `AAAA`, `CNAME`, `MX`, `NS`, `PTR`, `SOA`, `SRV`, `TXT`. Defaults to `A`.",
                          "type": "string"
                        },
                        "server": {
                          "description": "(String) DNS server address to target. Defaults to 8.8.8.8.\nDNS server address to target. Defaults to `8.8.8.8`.",
                          "type": "string"
                        },
                        "sourceIpAddress": {
                          "description": "(String) Source IP address.\nSource IP address.",
                          "type": "string"
                        },
                        "validRCodes": {
                          "description": "(Set of String) List of valid response codes. Options include NOERROR, BADALG, BADMODE, BADKEY, BADCOOKIE, BADNAME, BADSIG, BADTIME, BADTRUNC, BADVERS, FORMERR, NOTIMP, NOTAUTH, NOTZONE, NXDOMAIN, NXRRSET, REFUSED, SERVFAIL, YXDOMAIN, YXRRSET.\nList of valid response codes. Options include `NOERROR`, `BADALG`, `BADMODE`, `BADKEY`, `BADCOOKIE`, `BADNAME`, `BADSIG`, `BADTIME`, `BADTRUNC`, `BADVERS`, `FORMERR`, `NOTIMP`, `NOTAUTH`, `NOTZONE`, `NXDOMAIN`, `NXRRSET`, `REFUSED`, `SERVFAIL`, `YXDOMAIN`, `YXRRSET`.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "validateAdditionalRrs": {
                          "description": "(Block Set) Validate additional matches. (see below for nested schema)\nValidate additional matches.",
                          "items": {
                            "properties": {
                              "failIfMatchesRegexp": {
                                "description": "(Set of String) Fail if value matches regex.\nFail if value matches regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              },
                              "failIfNotMatchesRegexp": {
                                "description": "(Set of String) Fail if value does not match regex.\nFail if value does not match regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "validateAnswerRrs": {
                          "description": "(Block Set, Max: 1) Validate response answer. (see below for nested schema)\nValidate response answer.",
                          "items": {
                            "properties": {
                              "failIfMatchesRegexp": {
                                "description": "(Set of String) Fail if value matches regex.\nFail if value matches regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              },
                              "failIfNotMatchesRegexp": {
                                "description": "(Set of String) Fail if value does not match regex.\nFail if value does not match regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "validateAuthorityRrs": {
                          "description": "(Block Set, Max: 1) Validate response authority. (see below for nested schema)\nValidate response authority.",
                          "items": {
                            "properties": {
                              "failIfMatchesRegexp": {
                                "description": "(Set of String) Fail if value matches regex.\nFail if value matches regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              },
                              "failIfNotMatchesRegexp": {
                                "description": "(Set of String) Fail if value does not match regex.\nFail if value does not match regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "grpc": {
                    "description": "(Block Set, Max: 1) Settings for gRPC Health check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address. (see below for nested schema)\nSettings for gRPC Health check. The target must be of the form `<host>:<port>`, where the host portion must be a valid hostname or IP address.",
                    "items": {
                      "properties": {
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "service": {
                          "description": "(String) gRPC service.\ngRPC service.",
                          "type": "string"
                        },
                        "tls": {
                          "description": "(Boolean) Whether or not TLS is used when the connection is initiated. Defaults to false.\nWhether or not TLS is used when the connection is initiated. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "tlsConfig": {
                          "description": "(Block Set, Max: 1) TLS config. (see below for nested schema)\nTLS config.",
                          "items": {
                            "properties": {
                              "caCert": {
                                "description": "(String) CA certificate in PEM format.\nCA certificate in PEM format.",
                                "type": "string"
                              },
                              "clientCert": {
                                "description": "(String) Client certificate in PEM format.\nClient certificate in PEM format.",
                                "type": "string"
                              },
                              "clientKeySecretRef": {
                                "description": "(String, Sensitive) Client key in PEM format.\nClient key in PEM format.",
                                "properties": {
                                  "key": {
                                    "description": "The key to select.",
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Name of the secret.",
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "description": "Namespace of the secret.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "key",
                                  "name",
                                  "namespace"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "insecureSkipVerify": {
                                "description": "(Boolean) Disable target certificate validation. Defaults to false.\nDisable target certificate validation. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "serverName": {
                                "description": "(String) Used to verify the hostname for the targets.\nUsed to verify the hostname for the targets.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "http": {
                    "description": "(Block Set, Max: 1) Settings for HTTP check. The target must be a URL (http or https). (see below for nested schema)\nSettings for HTTP check. The target must be a URL (http or https).",
                    "items": {
                      "properties": {
                        "basicAuth": {
                          "description": "(Block Set, Max: 1) Basic auth settings. (see below for nested schema)\nBasic auth settings.",
                          "items": {
                            "properties": {
                              "passwordSecretRef": {
                                "description": "(String, Sensitive) Basic auth password.\nBasic auth password.",
                                "properties": {
                                  "key": {
                                    "description": "The key to select.",
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Name of the secret.",
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "description": "Namespace of the secret.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "key",
                                  "name",
                                  "namespace"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "username": {
                                "description": "(String) Basic auth username.\nBasic auth username.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "bearerTokenSecretRef": {
                          "description": "(String, Sensitive) Token for use with bearer authorization header.\nToken for use with bearer authorization header.",
                          "properties": {
                            "key": {
                              "description": "The key to select.",
                              "type": "string"
                            },
                            "name": {
                              "description": "Name of the secret.",
                              "type": "string"
                            },
                            "namespace": {
                              "description": "Namespace of the secret.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "key",
                            "name",
                            "namespace"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "body": {
                          "description": "(String) The body of the HTTP request used in probe.\nThe body of the HTTP request used in probe.",
                          "type": "string"
                        },
                        "cacheBustingQueryParamName": {
                          "description": "(String) The name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.\nThe name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.",
                          "type": "string"
                        },
                        "compression": {
                          "description": "(String) Check fails if the response body is not compressed using this compression algorithm. One of none, identity, br, gzip, deflate.\nCheck fails if the response body is not compressed using this compression algorithm. One of `none`, `identity`, `br`, `gzip`, `deflate`.",
                          "type": "string"
                        },
                        "failIfBodyMatchesRegexp": {
                          "description": "(Set of String) List of regexes. If any match the response body, the check will fail.\nList of regexes. If any match the response body, the check will fail.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "failIfBodyNotMatchesRegexp": {
                          "description": "(Set of String) List of regexes. If any do not match the response body, the check will fail.\nList of regexes. If any do not match the response body, the check will fail.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "failIfHeaderMatchesRegexp": {
                          "description": "(Block Set) Check fails if headers match. (see below for nested schema)\nCheck fails if headers match.",
                          "items": {
                            "properties": {
                              "allowMissing": {
                                "description": "(Boolean) Allow header to be missing from responses. Defaults to false.\nAllow header to be missing from responses. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "header": {
                                "description": "(String) Header name.\nHeader name.",
                                "type": "string"
                              },
                              "regexp": {
                                "description": "(String) Regex that header value should match.\nRegex that header value should match.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "failIfHeaderNotMatchesRegexp": {
                          "description": "(Block Set) Check fails if headers do not match. (see below for nested schema)\nCheck fails if headers do not match.",
                          "items": {
                            "properties": {
                              "allowMissing": {
                                "description": "(Boolean) Allow header to be missing from responses. Defaults to false.\nAllow header to be missing from responses. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "header": {
                                "description": "(String) Header name.\nHeader name.",
                                "type": "string"
                              },
                              "regexp": {
                                "description": "(String) Regex that header value should match.\nRegex that header value should match.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "failIfNotSsl": {
                          "description": "(Boolean) Fail if SSL is not present. Defaults to false.\nFail if SSL is not present. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "failIfSsl": {
                          "description": "(Boolean) Fail if SSL is present. Defaults to false.\nFail if SSL is present. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "headers": {
                          "description": "(Set of String) The HTTP headers set for the probe.\nThe HTTP headers set for the probe.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "method": {
                          "description": "(String) Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.\nRequest method. One of `GET`, `CONNECT`, `DELETE`, `HEAD`, `OPTIONS`, `POST`, `PUT`, `TRACE` Defaults to `GET`.",
                          "type": "string"
                        },
                        "noFollowRedirects": {
                          "description": "(Boolean) Do not follow redirects. Defaults to false.\nDo not follow redirects. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "proxyConnectHeaders": {
                          "description": "(Set of String) The HTTP headers sent to the proxy URL\nThe HTTP headers sent to the proxy URL",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "proxyUrl": {
                          "description": "(String) Proxy URL.\nProxy URL.",
                          "type": "string"
                        },
                        "tlsConfig": {
                          "description": "(Block Set, Max: 1) TLS config. (see below for nested schema)\nTLS config.",
                          "items": {
                            "properties": {
                              "caCert": {
                                "description": "(String) CA certificate in PEM format.\nCA certificate in PEM format.",
                                "type": "string"
                              },
                              "clientCert": {
                                "description": "(String) Client certificate in PEM format.\nClient certificate in PEM format.",
                                "type": "string"
                              },
                              "clientKeySecretRef": {
                                "description": "(String, Sensitive) Client key in PEM format.\nClient key in PEM format.",
                                "properties": {
                                  "key": {
                                    "description": "The key to select.",
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Name of the secret.",
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "description": "Namespace of the secret.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "key",
                                  "name",
                                  "namespace"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "insecureSkipVerify": {
                                "description": "(Boolean) Disable target certificate validation. Defaults to false.\nDisable target certificate validation. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "serverName": {
                                "description": "(String) Used to verify the hostname for the targets.\nUsed to verify the hostname for the targets.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "validHttpVersions": {
                          "description": "(Set of String) List of valid HTTP versions. Options include HTTP/1.0, HTTP/1.1, HTTP/2.0\nList of valid HTTP versions. Options include `HTTP/1.0`, `HTTP/1.1`, `HTTP/2.0`",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "validStatusCodes": {
                          "description": "(Set of Number) Accepted status codes. If unset, defaults to 2xx.\nAccepted status codes. If unset, defaults to 2xx.",
                          "items": {
                            "type": "number"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "multihttp": {
                    "description": "(Block Set, Max: 1) Settings for MultiHTTP check. The target must be a URL (http or https) (see below for nested schema)\nSettings for MultiHTTP check. The target must be a URL (http or https)",
                    "items": {
                      "properties": {
                        "entries": {
                          "description": "(Block List) (see below for nested schema)",
                          "items": {
                            "properties": {
                              "assertions": {
                                "description": "(Block List) Assertions to make on the request response (see below for nested schema)\nAssertions to make on the request response",
                                "items": {
                                  "properties": {
                                    "condition": {
                                      "description": "(String) The condition of the assertion: NOT_CONTAINS, EQUALS, STARTS_WITH, ENDS_WITH, TYPE_OF, CONTAINS\nThe condition of the assertion: NOT_CONTAINS, EQUALS, STARTS_WITH, ENDS_WITH, TYPE_OF, CONTAINS",
                                      "type": "string"
                                    },
                                    "expression": {
                                      "description": "(String) The expression of the assertion. Should start with $.\nThe expression of the assertion. Should start with $.",
                                      "type": "string"
                                    },
                                    "subject": {
                                      "description": "(String) The subject of the assertion: RESPONSE_HEADERS, HTTP_STATUS_CODE, RESPONSE_BODY\nThe subject of the assertion: RESPONSE_HEADERS, HTTP_STATUS_CODE, RESPONSE_BODY",
                                      "type": "string"
                                    },
                                    "type": {
                                      "description": "(String) The type of assertion to make: TEXT, JSON_PATH_VALUE, JSON_PATH_ASSERTION, REGEX_ASSERTION\nThe type of assertion to make: TEXT, JSON_PATH_VALUE, JSON_PATH_ASSERTION, REGEX_ASSERTION",
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "(String) The value of the assertion\nThe value of the assertion",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "request": {
                                "description": "(Block Set, Max: 1) An individual MultiHTTP request (see below for nested schema)\nAn individual MultiHTTP request",
                                "items": {
                                  "properties": {
                                    "body": {
                                      "description": "(String) The body of the HTTP request used in probe.\nThe body of the HTTP request used in probe.",
                                      "items": {
                                        "properties": {
                                          "contentEncoding": {
                                            "description": "(String) The content encoding of the body\nThe content encoding of the body",
                                            "type": "string"
                                          },
                                          "contentType": {
                                            "description": "(String) The content type of the body\nThe content type of the body",
                                            "type": "string"
                                          },
                                          "payload": {
                                            "description": "(String) The body payload\nThe body payload",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    },
                                    "headers": {
                                      "description": "(Set of String) The HTTP headers set for the probe.\nThe headers to send with the request",
                                      "items": {
                                        "properties": {
                                          "name": {
                                            "description": "(String) Name of the header to send\nName of the header to send",
                                            "type": "string"
                                          },
                                          "value": {
                                            "description": "(String) The value of the assertion\nValue of the header to send",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    },
                                    "method": {
                                      "description": "(String) Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.\nThe HTTP method to use",
                                      "type": "string"
                                    },
                                    "queryFields": {
                                      "description": "(Block Set) Query fields to send with the request (see below for nested schema)\nQuery fields to send with the request",
                                      "items": {
                                        "properties": {
                                          "name": {
                                            "description": "(String) Name of the header to send\nName of the query field to send",
                                            "type": "string"
                                          },
                                          "value": {
                                            "description": "(String) The value of the assertion\nValue of the query field to send",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    },
                                    "url": {
                                      "description": "(String) The URL for the request\nThe URL for the request",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "variables": {
                                "description": "(Block List) Variables to extract from the request response (see below for nested schema)\nVariables to extract from the request response",
                                "items": {
                                  "properties": {
                                    "attribute": {
                                      "description": "(String) The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR\nThe attribute to use when finding the variable value. Only used when type is CSS_SELECTOR",
                                      "type": "string"
                                    },
                                    "expression": {
                                      "description": "(String) The expression of the assertion. Should start with $.\nThe expression to when finding the variable. Should start with $. Only use when type is JSON_PATH or REGEX",
                                      "type": "string"
                                    },
                                    "name": {
                                      "description": "(String) Name of the header to send\nThe name of the variable to extract",
                                      "type": "string"
                                    },
                                    "type": {
                                      "description": "(String) The type of assertion to make: TEXT, JSON_PATH_VALUE, JSON_PATH_ASSERTION, REGEX_ASSERTION\nThe method of finding the variable value to extract. JSON_PATH, REGEX, CSS_SELECTOR",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "ping": {
                    "description": "(Block Set, Max: 1) Settings for ping (ICMP) check. The target must be a valid hostname or IP address. (see below for nested schema)\nSettings for ping (ICMP) check. The target must be a valid hostname or IP address.",
                    "items": {
                      "properties": {
                        "dontFragment": {
                          "description": "bit in the IP-header. Only works with ipV4. Defaults to false.\nSet the DF-bit in the IP-header. Only works with ipV4. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "payloadSize": {
                          "description": "(Number) Payload size. Defaults to 0.\nPayload size. Defaults to `0`.",
                          "type": "number"
                        },
                        "sourceIpAddress": {
                          "description": "(String) Source IP address.\nSource IP address.",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "scripted": {
                    "description": "cloud/testing/synthetic-monitoring/create-checks/checks/k6/. (see below for nested schema)\nSettings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.",
                    "items": {
                      "properties": {
                        "script": {
                          "description": "(String)",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "tcp": {
                    "description": "(Block Set, Max: 1) Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address. (see below for nested schema)\nSettings for TCP check. The target must be of the form `<host>:<port>`, where the host portion must be a valid hostname or IP address.",
                    "items": {
                      "properties": {
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "queryResponse": {
                          "description": "(Block Set) The query sent in the TCP probe and the expected associated response. (see below for nested schema)\nThe query sent in the TCP probe and the expected associated response.",
                          "items": {
                            "properties": {
                              "expect": {
                                "description": "(String) Response to expect.\nResponse to expect.",
                                "type": "string"
                              },
                              "send": {
                                "description": "(String) Data to send.\nData to send.",
                                "type": "string"
                              },
                              "startTls": {
                                "description": "(Boolean) Upgrade TCP connection to TLS. Defaults to false.\nUpgrade TCP connection to TLS. Defaults to `false`.",
                                "type": "boolean"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "sourceIpAddress": {
                          "description": "(String) Source IP address.\nSource IP address.",
                          "type": "string"
                        },
                        "tls": {
                          "description": "(Boolean) Whether or not TLS is used when the connection is initiated. Defaults to false.\nWhether or not TLS is used when the connection is initiated. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "tlsConfig": {
                          "description": "(Block Set, Max: 1) TLS config. (see below for nested schema)\nTLS config.",
                          "items": {
                            "properties": {
                              "caCert": {
                                "description": "(String) CA certificate in PEM format.\nCA certificate in PEM format.",
                                "type": "string"
                              },
                              "clientCert": {
                                "description": "(String) Client certificate in PEM format.\nClient certificate in PEM format.",
                                "type": "string"
                              },
                              "clientKeySecretRef": {
                                "description": "(String, Sensitive) Client key in PEM format.\nClient key in PEM format.",
                                "properties": {
                                  "key": {
                                    "description": "The key to select.",
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Name of the secret.",
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "description": "Namespace of the secret.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "key",
                                  "name",
                                  "namespace"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "insecureSkipVerify": {
                                "description": "(Boolean) Disable target certificate validation. Defaults to false.\nDisable target certificate validation. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "serverName": {
                                "description": "(String) Used to verify the hostname for the targets.\nUsed to verify the hostname for the targets.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "traceroute": {
                    "description": "(Block Set, Max: 1) Settings for traceroute check. The target must be a valid hostname or IP address (see below for nested schema)\nSettings for traceroute check. The target must be a valid hostname or IP address",
                    "items": {
                      "properties": {
                        "maxHops": {
                          "description": "(Number) Maximum TTL for the trace Defaults to 64.\nMaximum TTL for the trace Defaults to `64`.",
                          "type": "number"
                        },
                        "maxUnknownHops": {
                          "description": "(Number) Maximum number of hosts to travers that give no response Defaults to 15.\nMaximum number of hosts to travers that give no response Defaults to `15`.",
                          "type": "number"
                        },
                        "ptrLookup": {
                          "description": "(Boolean) Reverse lookup hostnames from IP addresses Defaults to true.\nReverse lookup hostnames from IP addresses Defaults to `true`.",
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "target": {
              "description": "(String) Hostname to ping.\nHostname to ping.",
              "type": "string"
            },
            "timeout": {
              "description": "(Number) Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 180 seconds (180000 ms). Defaults to 3000.\nSpecifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 180 seconds (180000 ms). Defaults to `3000`.",
              "type": "number"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "initProvider": {
          "description": "THIS IS A BETA FIELD. It will be honored\nunless the Management Policies feature flag is disabled.\nInitProvider holds the same fields as ForProvider, with the exception\nof Identifier and other resource reference fields. The fields that are\nin InitProvider are merged into ForProvider when the resource is created.\nThe same fields are also added to the terraform ignore_changes hook, to\navoid updating them after creation. This is useful for fields that are\nrequired on creation, but we do not desire to update them after creation,\nfor example because of an external controller is managing them, like an\nautoscaler.",
          "properties": {
            "alertSensitivity": {
              "description": "(String) Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.\nCan be set to `none`, `low`, `medium`, or `high` to correspond to the check [alert levels](https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/configure-alerts/synthetic-monitoring-alerting/). Defaults to `none`.",
              "type": "string"
            },
            "basicMetricsOnly": {
              "description": "(Boolean) Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.\nMetrics are reduced by default. Set this to `false` if you'd like to publish all metrics. We maintain a [full list of metrics](https://github.com/grafana/synthetic-monitoring-agent/tree/main/internal/scraper/testdata) collected for each. Defaults to `true`.",
              "type": "boolean"
            },
            "enabled": {
              "description": "(Boolean) Whether to enable the check. Defaults to true.\nWhether to enable the check. Defaults to `true`.",
              "type": "boolean"
            },
            "frequency": {
              "description": "(Number) How often the check runs in milliseconds (the value is not truly a \"frequency\" but a \"period\"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.\nHow often the check runs in milliseconds (the value is not truly a \"frequency\" but a \"period\"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to `60000`.",
              "type": "number"
            },
            "job": {
              "description": "(String) Name used for job label.\nName used for job label.",
              "type": "string"
            },
            "labels": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.\nCustom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.",
              "type": "object",
              "x-kubernetes-map-type": "granular"
            },
            "probes": {
              "description": "(Set of Number) List of probe location IDs where this target will be checked from.\nList of probe location IDs where this target will be checked from.",
              "items": {
                "type": "number"
              },
              "type": "array",
              "x-kubernetes-list-type": "set"
            },
            "settings": {
              "description": "(Block Set, Min: 1, Max: 1) Check settings. Should contain exactly one nested block. (see below for nested schema)\nCheck settings. Should contain exactly one nested block.",
              "items": {
                "properties": {
                  "browser": {
                    "description": "cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/. (see below for nested schema)\nSettings for browser check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/.",
                    "items": {
                      "properties": {
                        "script": {
                          "description": "(String)",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "dns": {
                    "description": "(Block Set, Max: 1) Settings for DNS check. The target must be a valid hostname (or IP address for PTR records). (see below for nested schema)\nSettings for DNS check. The target must be a valid hostname (or IP address for `PTR` records).",
                    "items": {
                      "properties": {
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "port": {
                          "description": "(Number) Port to target. Defaults to 53.\nPort to target. Defaults to `53`.",
                          "type": "number"
                        },
                        "protocol": {
                          "description": "(String) TCP or UDP. Defaults to UDP.\n`TCP` or `UDP`. Defaults to `UDP`.",
                          "type": "string"
                        },
                        "recordType": {
                          "description": "(String) One of ANY, A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT. Defaults to A.\nOne of `ANY`, `A`, `AAAA`, `CNAME`, `MX`, `NS`, `PTR`, `SOA`, `SRV`, `TXT`. Defaults to `A`.",
                          "type": "string"
                        },
                        "server": {
                          "description": "(String) DNS server address to target. Defaults to 8.8.8.8.\nDNS server address to target. Defaults to `8.8.8.8`.",
                          "type": "string"
                        },
                        "sourceIpAddress": {
                          "description": "(String) Source IP address.\nSource IP address.",
                          "type": "string"
                        },
                        "validRCodes": {
                          "description": "(Set of String) List of valid response codes. Options include NOERROR, BADALG, BADMODE, BADKEY, BADCOOKIE, BADNAME, BADSIG, BADTIME, BADTRUNC, BADVERS, FORMERR, NOTIMP, NOTAUTH, NOTZONE, NXDOMAIN, NXRRSET, REFUSED, SERVFAIL, YXDOMAIN, YXRRSET.\nList of valid response codes. Options include `NOERROR`, `BADALG`, `BADMODE`, `BADKEY`, `BADCOOKIE`, `BADNAME`, `BADSIG`, `BADTIME`, `BADTRUNC`, `BADVERS`, `FORMERR`, `NOTIMP`, `NOTAUTH`, `NOTZONE`, `NXDOMAIN`, `NXRRSET`, `REFUSED`, `SERVFAIL`, `YXDOMAIN`, `YXRRSET`.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "validateAdditionalRrs": {
                          "description": "(Block Set) Validate additional matches. (see below for nested schema)\nValidate additional matches.",
                          "items": {
                            "properties": {
                              "failIfMatchesRegexp": {
                                "description": "(Set of String) Fail if value matches regex.\nFail if value matches regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              },
                              "failIfNotMatchesRegexp": {
                                "description": "(Set of String) Fail if value does not match regex.\nFail if value does not match regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "validateAnswerRrs": {
                          "description": "(Block Set, Max: 1) Validate response answer. (see below for nested schema)\nValidate response answer.",
                          "items": {
                            "properties": {
                              "failIfMatchesRegexp": {
                                "description": "(Set of String) Fail if value matches regex.\nFail if value matches regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              },
                              "failIfNotMatchesRegexp": {
                                "description": "(Set of String) Fail if value does not match regex.\nFail if value does not match regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "validateAuthorityRrs": {
                          "description": "(Block Set, Max: 1) Validate response authority. (see below for nested schema)\nValidate response authority.",
                          "items": {
                            "properties": {
                              "failIfMatchesRegexp": {
                                "description": "(Set of String) Fail if value matches regex.\nFail if value matches regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              },
                              "failIfNotMatchesRegexp": {
                                "description": "(Set of String) Fail if value does not match regex.\nFail if value does not match regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "grpc": {
                    "description": "(Block Set, Max: 1) Settings for gRPC Health check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address. (see below for nested schema)\nSettings for gRPC Health check. The target must be of the form `<host>:<port>`, where the host portion must be a valid hostname or IP address.",
                    "items": {
                      "properties": {
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "service": {
                          "description": "(String) gRPC service.\ngRPC service.",
                          "type": "string"
                        },
                        "tls": {
                          "description": "(Boolean) Whether or not TLS is used when the connection is initiated. Defaults to false.\nWhether or not TLS is used when the connection is initiated. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "tlsConfig": {
                          "description": "(Block Set, Max: 1) TLS config. (see below for nested schema)\nTLS config.",
                          "items": {
                            "properties": {
                              "caCert": {
                                "description": "(String) CA certificate in PEM format.\nCA certificate in PEM format.",
                                "type": "string"
                              },
                              "clientCert": {
                                "description": "(String) Client certificate in PEM format.\nClient certificate in PEM format.",
                                "type": "string"
                              },
                              "clientKeySecretRef": {
                                "description": "(String, Sensitive) Client key in PEM format.\nClient key in PEM format.",
                                "properties": {
                                  "key": {
                                    "description": "The key to select.",
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Name of the secret.",
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "description": "Namespace of the secret.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "key",
                                  "name",
                                  "namespace"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "insecureSkipVerify": {
                                "description": "(Boolean) Disable target certificate validation. Defaults to false.\nDisable target certificate validation. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "serverName": {
                                "description": "(String) Used to verify the hostname for the targets.\nUsed to verify the hostname for the targets.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "http": {
                    "description": "(Block Set, Max: 1) Settings for HTTP check. The target must be a URL (http or https). (see below for nested schema)\nSettings for HTTP check. The target must be a URL (http or https).",
                    "items": {
                      "properties": {
                        "basicAuth": {
                          "description": "(Block Set, Max: 1) Basic auth settings. (see below for nested schema)\nBasic auth settings.",
                          "items": {
                            "properties": {
                              "passwordSecretRef": {
                                "description": "(String, Sensitive) Basic auth password.\nBasic auth password.",
                                "properties": {
                                  "key": {
                                    "description": "The key to select.",
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Name of the secret.",
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "description": "Namespace of the secret.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "key",
                                  "name",
                                  "namespace"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "username": {
                                "description": "(String) Basic auth username.\nBasic auth username.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "passwordSecretRef"
                            ],
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "bearerTokenSecretRef": {
                          "description": "(String, Sensitive) Token for use with bearer authorization header.\nToken for use with bearer authorization header.",
                          "properties": {
                            "key": {
                              "description": "The key to select.",
                              "type": "string"
                            },
                            "name": {
                              "description": "Name of the secret.",
                              "type": "string"
                            },
                            "namespace": {
                              "description": "Namespace of the secret.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "key",
                            "name",
                            "namespace"
                          ],
                          "type": "object",
                          "additionalProperties": false
                        },
                        "body": {
                          "description": "(String) The body of the HTTP request used in probe.\nThe body of the HTTP request used in probe.",
                          "type": "string"
                        },
                        "cacheBustingQueryParamName": {
                          "description": "(String) The name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.\nThe name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.",
                          "type": "string"
                        },
                        "compression": {
                          "description": "(String) Check fails if the response body is not compressed using this compression algorithm. One of none, identity, br, gzip, deflate.\nCheck fails if the response body is not compressed using this compression algorithm. One of `none`, `identity`, `br`, `gzip`, `deflate`.",
                          "type": "string"
                        },
                        "failIfBodyMatchesRegexp": {
                          "description": "(Set of String) List of regexes. If any match the response body, the check will fail.\nList of regexes. If any match the response body, the check will fail.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "failIfBodyNotMatchesRegexp": {
                          "description": "(Set of String) List of regexes. If any do not match the response body, the check will fail.\nList of regexes. If any do not match the response body, the check will fail.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "failIfHeaderMatchesRegexp": {
                          "description": "(Block Set) Check fails if headers match. (see below for nested schema)\nCheck fails if headers match.",
                          "items": {
                            "properties": {
                              "allowMissing": {
                                "description": "(Boolean) Allow header to be missing from responses. Defaults to false.\nAllow header to be missing from responses. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "header": {
                                "description": "(String) Header name.\nHeader name.",
                                "type": "string"
                              },
                              "regexp": {
                                "description": "(String) Regex that header value should match.\nRegex that header value should match.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "failIfHeaderNotMatchesRegexp": {
                          "description": "(Block Set) Check fails if headers do not match. (see below for nested schema)\nCheck fails if headers do not match.",
                          "items": {
                            "properties": {
                              "allowMissing": {
                                "description": "(Boolean) Allow header to be missing from responses. Defaults to false.\nAllow header to be missing from responses. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "header": {
                                "description": "(String) Header name.\nHeader name.",
                                "type": "string"
                              },
                              "regexp": {
                                "description": "(String) Regex that header value should match.\nRegex that header value should match.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "failIfNotSsl": {
                          "description": "(Boolean) Fail if SSL is not present. Defaults to false.\nFail if SSL is not present. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "failIfSsl": {
                          "description": "(Boolean) Fail if SSL is present. Defaults to false.\nFail if SSL is present. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "headers": {
                          "description": "(Set of String) The HTTP headers set for the probe.\nThe HTTP headers set for the probe.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "method": {
                          "description": "(String) Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.\nRequest method. One of `GET`, `CONNECT`, `DELETE`, `HEAD`, `OPTIONS`, `POST`, `PUT`, `TRACE` Defaults to `GET`.",
                          "type": "string"
                        },
                        "noFollowRedirects": {
                          "description": "(Boolean) Do not follow redirects. Defaults to false.\nDo not follow redirects. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "proxyConnectHeaders": {
                          "description": "(Set of String) The HTTP headers sent to the proxy URL\nThe HTTP headers sent to the proxy URL",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "proxyUrl": {
                          "description": "(String) Proxy URL.\nProxy URL.",
                          "type": "string"
                        },
                        "tlsConfig": {
                          "description": "(Block Set, Max: 1) TLS config. (see below for nested schema)\nTLS config.",
                          "items": {
                            "properties": {
                              "caCert": {
                                "description": "(String) CA certificate in PEM format.\nCA certificate in PEM format.",
                                "type": "string"
                              },
                              "clientCert": {
                                "description": "(String) Client certificate in PEM format.\nClient certificate in PEM format.",
                                "type": "string"
                              },
                              "clientKeySecretRef": {
                                "description": "(String, Sensitive) Client key in PEM format.\nClient key in PEM format.",
                                "properties": {
                                  "key": {
                                    "description": "The key to select.",
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Name of the secret.",
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "description": "Namespace of the secret.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "key",
                                  "name",
                                  "namespace"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "insecureSkipVerify": {
                                "description": "(Boolean) Disable target certificate validation. Defaults to false.\nDisable target certificate validation. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "serverName": {
                                "description": "(String) Used to verify the hostname for the targets.\nUsed to verify the hostname for the targets.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "validHttpVersions": {
                          "description": "(Set of String) List of valid HTTP versions. Options include HTTP/1.0, HTTP/1.1, HTTP/2.0\nList of valid HTTP versions. Options include `HTTP/1.0`, `HTTP/1.1`, `HTTP/2.0`",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "validStatusCodes": {
                          "description": "(Set of Number) Accepted status codes. If unset, defaults to 2xx.\nAccepted status codes. If unset, defaults to 2xx.",
                          "items": {
                            "type": "number"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "multihttp": {
                    "description": "(Block Set, Max: 1) Settings for MultiHTTP check. The target must be a URL (http or https) (see below for nested schema)\nSettings for MultiHTTP check. The target must be a URL (http or https)",
                    "items": {
                      "properties": {
                        "entries": {
                          "description": "(Block List) (see below for nested schema)",
                          "items": {
                            "properties": {
                              "assertions": {
                                "description": "(Block List) Assertions to make on the request response (see below for nested schema)\nAssertions to make on the request response",
                                "items": {
                                  "properties": {
                                    "condition": {
                                      "description": "(String) The condition of the assertion: NOT_CONTAINS, EQUALS, STARTS_WITH, ENDS_WITH, TYPE_OF, CONTAINS\nThe condition of the assertion: NOT_CONTAINS, EQUALS, STARTS_WITH, ENDS_WITH, TYPE_OF, CONTAINS",
                                      "type": "string"
                                    },
                                    "expression": {
                                      "description": "(String) The expression of the assertion. Should start with $.\nThe expression of the assertion. Should start with $.",
                                      "type": "string"
                                    },
                                    "subject": {
                                      "description": "(String) The subject of the assertion: RESPONSE_HEADERS, HTTP_STATUS_CODE, RESPONSE_BODY\nThe subject of the assertion: RESPONSE_HEADERS, HTTP_STATUS_CODE, RESPONSE_BODY",
                                      "type": "string"
                                    },
                                    "type": {
                                      "description": "(String) The type of assertion to make: TEXT, JSON_PATH_VALUE, JSON_PATH_ASSERTION, REGEX_ASSERTION\nThe type of assertion to make: TEXT, JSON_PATH_VALUE, JSON_PATH_ASSERTION, REGEX_ASSERTION",
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "(String) The value of the assertion\nThe value of the assertion",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "request": {
                                "description": "(Block Set, Max: 1) An individual MultiHTTP request (see below for nested schema)\nAn individual MultiHTTP request",
                                "items": {
                                  "properties": {
                                    "body": {
                                      "description": "(String) The body of the HTTP request used in probe.\nThe body of the HTTP request used in probe.",
                                      "items": {
                                        "properties": {
                                          "contentEncoding": {
                                            "description": "(String) The content encoding of the body\nThe content encoding of the body",
                                            "type": "string"
                                          },
                                          "contentType": {
                                            "description": "(String) The content type of the body\nThe content type of the body",
                                            "type": "string"
                                          },
                                          "payload": {
                                            "description": "(String) The body payload\nThe body payload",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    },
                                    "headers": {
                                      "description": "(Set of String) The HTTP headers set for the probe.\nThe headers to send with the request",
                                      "items": {
                                        "properties": {
                                          "name": {
                                            "description": "(String) Name of the header to send\nName of the header to send",
                                            "type": "string"
                                          },
                                          "value": {
                                            "description": "(String) The value of the assertion\nValue of the header to send",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    },
                                    "method": {
                                      "description": "(String) Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.\nThe HTTP method to use",
                                      "type": "string"
                                    },
                                    "queryFields": {
                                      "description": "(Block Set) Query fields to send with the request (see below for nested schema)\nQuery fields to send with the request",
                                      "items": {
                                        "properties": {
                                          "name": {
                                            "description": "(String) Name of the header to send\nName of the query field to send",
                                            "type": "string"
                                          },
                                          "value": {
                                            "description": "(String) The value of the assertion\nValue of the query field to send",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    },
                                    "url": {
                                      "description": "(String) The URL for the request\nThe URL for the request",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "variables": {
                                "description": "(Block List) Variables to extract from the request response (see below for nested schema)\nVariables to extract from the request response",
                                "items": {
                                  "properties": {
                                    "attribute": {
                                      "description": "(String) The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR\nThe attribute to use when finding the variable value. Only used when type is CSS_SELECTOR",
                                      "type": "string"
                                    },
                                    "expression": {
                                      "description": "(String) The expression of the assertion. Should start with $.\nThe expression to when finding the variable. Should start with $. Only use when type is JSON_PATH or REGEX",
                                      "type": "string"
                                    },
                                    "name": {
                                      "description": "(String) Name of the header to send\nThe name of the variable to extract",
                                      "type": "string"
                                    },
                                    "type": {
                                      "description": "(String) The type of assertion to make: TEXT, JSON_PATH_VALUE, JSON_PATH_ASSERTION, REGEX_ASSERTION\nThe method of finding the variable value to extract. JSON_PATH, REGEX, CSS_SELECTOR",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "ping": {
                    "description": "(Block Set, Max: 1) Settings for ping (ICMP) check. The target must be a valid hostname or IP address. (see below for nested schema)\nSettings for ping (ICMP) check. The target must be a valid hostname or IP address.",
                    "items": {
                      "properties": {
                        "dontFragment": {
                          "description": "bit in the IP-header. Only works with ipV4. Defaults to false.\nSet the DF-bit in the IP-header. Only works with ipV4. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "payloadSize": {
                          "description": "(Number) Payload size. Defaults to 0.\nPayload size. Defaults to `0`.",
                          "type": "number"
                        },
                        "sourceIpAddress": {
                          "description": "(String) Source IP address.\nSource IP address.",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "scripted": {
                    "description": "cloud/testing/synthetic-monitoring/create-checks/checks/k6/. (see below for nested schema)\nSettings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.",
                    "items": {
                      "properties": {
                        "script": {
                          "description": "(String)",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "tcp": {
                    "description": "(Block Set, Max: 1) Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address. (see below for nested schema)\nSettings for TCP check. The target must be of the form `<host>:<port>`, where the host portion must be a valid hostname or IP address.",
                    "items": {
                      "properties": {
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "queryResponse": {
                          "description": "(Block Set) The query sent in the TCP probe and the expected associated response. (see below for nested schema)\nThe query sent in the TCP probe and the expected associated response.",
                          "items": {
                            "properties": {
                              "expect": {
                                "description": "(String) Response to expect.\nResponse to expect.",
                                "type": "string"
                              },
                              "send": {
                                "description": "(String) Data to send.\nData to send.",
                                "type": "string"
                              },
                              "startTls": {
                                "description": "(Boolean) Upgrade TCP connection to TLS. Defaults to false.\nUpgrade TCP connection to TLS. Defaults to `false`.",
                                "type": "boolean"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "sourceIpAddress": {
                          "description": "(String) Source IP address.\nSource IP address.",
                          "type": "string"
                        },
                        "tls": {
                          "description": "(Boolean) Whether or not TLS is used when the connection is initiated. Defaults to false.\nWhether or not TLS is used when the connection is initiated. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "tlsConfig": {
                          "description": "(Block Set, Max: 1) TLS config. (see below for nested schema)\nTLS config.",
                          "items": {
                            "properties": {
                              "caCert": {
                                "description": "(String) CA certificate in PEM format.\nCA certificate in PEM format.",
                                "type": "string"
                              },
                              "clientCert": {
                                "description": "(String) Client certificate in PEM format.\nClient certificate in PEM format.",
                                "type": "string"
                              },
                              "clientKeySecretRef": {
                                "description": "(String, Sensitive) Client key in PEM format.\nClient key in PEM format.",
                                "properties": {
                                  "key": {
                                    "description": "The key to select.",
                                    "type": "string"
                                  },
                                  "name": {
                                    "description": "Name of the secret.",
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "description": "Namespace of the secret.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "key",
                                  "name",
                                  "namespace"
                                ],
                                "type": "object",
                                "additionalProperties": false
                              },
                              "insecureSkipVerify": {
                                "description": "(Boolean) Disable target certificate validation. Defaults to false.\nDisable target certificate validation. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "serverName": {
                                "description": "(String) Used to verify the hostname for the targets.\nUsed to verify the hostname for the targets.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "traceroute": {
                    "description": "(Block Set, Max: 1) Settings for traceroute check. The target must be a valid hostname or IP address (see below for nested schema)\nSettings for traceroute check. The target must be a valid hostname or IP address",
                    "items": {
                      "properties": {
                        "maxHops": {
                          "description": "(Number) Maximum TTL for the trace Defaults to 64.\nMaximum TTL for the trace Defaults to `64`.",
                          "type": "number"
                        },
                        "maxUnknownHops": {
                          "description": "(Number) Maximum number of hosts to travers that give no response Defaults to 15.\nMaximum number of hosts to travers that give no response Defaults to `15`.",
                          "type": "number"
                        },
                        "ptrLookup": {
                          "description": "(Boolean) Reverse lookup hostnames from IP addresses Defaults to true.\nReverse lookup hostnames from IP addresses Defaults to `true`.",
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "target": {
              "description": "(String) Hostname to ping.\nHostname to ping.",
              "type": "string"
            },
            "timeout": {
              "description": "(Number) Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 180 seconds (180000 ms). Defaults to 3000.\nSpecifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 180 seconds (180000 ms). Defaults to `3000`.",
              "type": "number"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "managementPolicies": {
          "default": [
            "*"
          ],
          "description": "THIS IS A BETA FIELD. It is on by default but can be opted out\nthrough a Crossplane feature flag.\nManagementPolicies specify the array of actions Crossplane is allowed to\ntake on the managed and external resources.\nThis field is planned to replace the DeletionPolicy field in a future\nrelease. Currently, both could be set independently and non-default\nvalues would be honored if the feature flag is enabled. If both are\ncustom, the DeletionPolicy field will be ignored.\nSee the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223\nand this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md",
          "items": {
            "description": "A ManagementAction represents an action that the Crossplane controllers\ncan take on an external resource.",
            "enum": [
              "Observe",
              "Create",
              "Update",
              "Delete",
              "LateInitialize",
              "*"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "providerConfigRef": {
          "default": {
            "name": "default"
          },
          "description": "ProviderConfigReference specifies how the provider that will be used to\ncreate, observe, update, and delete this managed resource should be\nconfigured.",
          "properties": {
            "name": {
              "description": "Name of the referenced object.",
              "type": "string"
            },
            "policy": {
              "description": "Policies for referencing.",
              "properties": {
                "resolution": {
                  "default": "Required",
                  "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.",
                  "enum": [
                    "Required",
                    "Optional"
                  ],
                  "type": "string"
                },
                "resolve": {
                  "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.",
                  "enum": [
                    "Always",
                    "IfNotPresent"
                  ],
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "required": [
            "name"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "publishConnectionDetailsTo": {
          "description": "PublishConnectionDetailsTo specifies the connection secret config which\ncontains a name, metadata and a reference to secret store config to\nwhich any connection details for this managed resource should be written.\nConnection details frequently include the endpoint, username,\nand password required to connect to the managed resource.",
          "properties": {
            "configRef": {
              "default": {
                "name": "default"
              },
              "description": "SecretStoreConfigRef specifies which secret store config should be used\nfor this ConnectionSecret.",
              "properties": {
                "name": {
                  "description": "Name of the referenced object.",
                  "type": "string"
                },
                "policy": {
                  "description": "Policies for referencing.",
                  "properties": {
                    "resolution": {
                      "default": "Required",
                      "description": "Resolution specifies whether resolution of this reference is required.\nThe default is 'Required', which means the reconcile will fail if the\nreference cannot be resolved. 'Optional' means this reference will be\na no-op if it cannot be resolved.",
                      "enum": [
                        "Required",
                        "Optional"
                      ],
                      "type": "string"
                    },
                    "resolve": {
                      "description": "Resolve specifies when this reference should be resolved. The default\nis 'IfNotPresent', which will attempt to resolve the reference only when\nthe corresponding field is not present. Use 'Always' to resolve the\nreference on every reconcile.",
                      "enum": [
                        "Always",
                        "IfNotPresent"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "required": [
                "name"
              ],
              "type": "object",
              "additionalProperties": false
            },
            "metadata": {
              "description": "Metadata is the metadata for connection secret.",
              "properties": {
                "annotations": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Annotations are the annotations to be added to connection secret.\n- For Kubernetes secrets, this will be used as \"metadata.annotations\".\n- It is up to Secret Store implementation for others store types.",
                  "type": "object"
                },
                "labels": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Labels are the labels/tags to be added to connection secret.\n- For Kubernetes secrets, this will be used as \"metadata.labels\".\n- It is up to Secret Store implementation for others store types.",
                  "type": "object"
                },
                "type": {
                  "description": "Type is the SecretType for the connection secret.\n- Only valid for Kubernetes Secret Stores.",
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "name": {
              "description": "Name is the name of the connection secret.",
              "type": "string"
            }
          },
          "required": [
            "name"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "writeConnectionSecretToRef": {
          "description": "WriteConnectionSecretToReference specifies the namespace and name of a\nSecret to which any connection details for this managed resource should\nbe written. Connection details frequently include the endpoint, username,\nand password required to connect to the managed resource.\nThis field is planned to be replaced in a future release in favor of\nPublishConnectionDetailsTo. Currently, both could be set independently\nand connection details would be published to both without affecting\neach other.",
          "properties": {
            "name": {
              "description": "Name of the secret.",
              "type": "string"
            },
            "namespace": {
              "description": "Namespace of the secret.",
              "type": "string"
            }
          },
          "required": [
            "name",
            "namespace"
          ],
          "type": "object",
          "additionalProperties": false
        }
      },
      "required": [
        "forProvider"
      ],
      "type": "object",
      "x-kubernetes-validations": [
        {
          "message": "spec.forProvider.job is a required parameter",
          "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.job) || (has(self.initProvider) && has(self.initProvider.job))"
        },
        {
          "message": "spec.forProvider.probes is a required parameter",
          "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.probes) || (has(self.initProvider) && has(self.initProvider.probes))"
        },
        {
          "message": "spec.forProvider.settings is a required parameter",
          "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.settings) || (has(self.initProvider) && has(self.initProvider.settings))"
        },
        {
          "message": "spec.forProvider.target is a required parameter",
          "rule": "!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.target) || (has(self.initProvider) && has(self.initProvider.target))"
        }
      ],
      "additionalProperties": false
    },
    "status": {
      "description": "CheckStatus defines the observed state of Check.",
      "properties": {
        "atProvider": {
          "properties": {
            "alertSensitivity": {
              "description": "(String) Can be set to none, low, medium, or high to correspond to the check alert levels. Defaults to none.\nCan be set to `none`, `low`, `medium`, or `high` to correspond to the check [alert levels](https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/configure-alerts/synthetic-monitoring-alerting/). Defaults to `none`.",
              "type": "string"
            },
            "basicMetricsOnly": {
              "description": "(Boolean) Metrics are reduced by default. Set this to false if you'd like to publish all metrics. We maintain a full list of metrics collected for each. Defaults to true.\nMetrics are reduced by default. Set this to `false` if you'd like to publish all metrics. We maintain a [full list of metrics](https://github.com/grafana/synthetic-monitoring-agent/tree/main/internal/scraper/testdata) collected for each. Defaults to `true`.",
              "type": "boolean"
            },
            "enabled": {
              "description": "(Boolean) Whether to enable the check. Defaults to true.\nWhether to enable the check. Defaults to `true`.",
              "type": "boolean"
            },
            "frequency": {
              "description": "(Number) How often the check runs in milliseconds (the value is not truly a \"frequency\" but a \"period\"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to 60000.\nHow often the check runs in milliseconds (the value is not truly a \"frequency\" but a \"period\"). The minimum acceptable value is 1 second (1000 ms), and the maximum is 1 hour (3600000 ms). Defaults to `60000`.",
              "type": "number"
            },
            "id": {
              "description": "(String) The ID of the check.",
              "type": "string"
            },
            "job": {
              "description": "(String) Name used for job label.\nName used for job label.",
              "type": "string"
            },
            "labels": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.\nCustom labels to be included with collected metrics and logs. The maximum number of labels that can be specified per check is 5. These are applied, along with the probe-specific labels, to the outgoing metrics. The names and values of the labels cannot be empty, and the maximum length is 32 bytes.",
              "type": "object",
              "x-kubernetes-map-type": "granular"
            },
            "probes": {
              "description": "(Set of Number) List of probe location IDs where this target will be checked from.\nList of probe location IDs where this target will be checked from.",
              "items": {
                "type": "number"
              },
              "type": "array",
              "x-kubernetes-list-type": "set"
            },
            "settings": {
              "description": "(Block Set, Min: 1, Max: 1) Check settings. Should contain exactly one nested block. (see below for nested schema)\nCheck settings. Should contain exactly one nested block.",
              "items": {
                "properties": {
                  "browser": {
                    "description": "cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/. (see below for nested schema)\nSettings for browser check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6-browser/.",
                    "items": {
                      "properties": {
                        "script": {
                          "description": "(String)",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "dns": {
                    "description": "(Block Set, Max: 1) Settings for DNS check. The target must be a valid hostname (or IP address for PTR records). (see below for nested schema)\nSettings for DNS check. The target must be a valid hostname (or IP address for `PTR` records).",
                    "items": {
                      "properties": {
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "port": {
                          "description": "(Number) Port to target. Defaults to 53.\nPort to target. Defaults to `53`.",
                          "type": "number"
                        },
                        "protocol": {
                          "description": "(String) TCP or UDP. Defaults to UDP.\n`TCP` or `UDP`. Defaults to `UDP`.",
                          "type": "string"
                        },
                        "recordType": {
                          "description": "(String) One of ANY, A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT. Defaults to A.\nOne of `ANY`, `A`, `AAAA`, `CNAME`, `MX`, `NS`, `PTR`, `SOA`, `SRV`, `TXT`. Defaults to `A`.",
                          "type": "string"
                        },
                        "server": {
                          "description": "(String) DNS server address to target. Defaults to 8.8.8.8.\nDNS server address to target. Defaults to `8.8.8.8`.",
                          "type": "string"
                        },
                        "sourceIpAddress": {
                          "description": "(String) Source IP address.\nSource IP address.",
                          "type": "string"
                        },
                        "validRCodes": {
                          "description": "(Set of String) List of valid response codes. Options include NOERROR, BADALG, BADMODE, BADKEY, BADCOOKIE, BADNAME, BADSIG, BADTIME, BADTRUNC, BADVERS, FORMERR, NOTIMP, NOTAUTH, NOTZONE, NXDOMAIN, NXRRSET, REFUSED, SERVFAIL, YXDOMAIN, YXRRSET.\nList of valid response codes. Options include `NOERROR`, `BADALG`, `BADMODE`, `BADKEY`, `BADCOOKIE`, `BADNAME`, `BADSIG`, `BADTIME`, `BADTRUNC`, `BADVERS`, `FORMERR`, `NOTIMP`, `NOTAUTH`, `NOTZONE`, `NXDOMAIN`, `NXRRSET`, `REFUSED`, `SERVFAIL`, `YXDOMAIN`, `YXRRSET`.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "validateAdditionalRrs": {
                          "description": "(Block Set) Validate additional matches. (see below for nested schema)\nValidate additional matches.",
                          "items": {
                            "properties": {
                              "failIfMatchesRegexp": {
                                "description": "(Set of String) Fail if value matches regex.\nFail if value matches regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              },
                              "failIfNotMatchesRegexp": {
                                "description": "(Set of String) Fail if value does not match regex.\nFail if value does not match regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "validateAnswerRrs": {
                          "description": "(Block Set, Max: 1) Validate response answer. (see below for nested schema)\nValidate response answer.",
                          "items": {
                            "properties": {
                              "failIfMatchesRegexp": {
                                "description": "(Set of String) Fail if value matches regex.\nFail if value matches regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              },
                              "failIfNotMatchesRegexp": {
                                "description": "(Set of String) Fail if value does not match regex.\nFail if value does not match regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "validateAuthorityRrs": {
                          "description": "(Block Set, Max: 1) Validate response authority. (see below for nested schema)\nValidate response authority.",
                          "items": {
                            "properties": {
                              "failIfMatchesRegexp": {
                                "description": "(Set of String) Fail if value matches regex.\nFail if value matches regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              },
                              "failIfNotMatchesRegexp": {
                                "description": "(Set of String) Fail if value does not match regex.\nFail if value does not match regex.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array",
                                "x-kubernetes-list-type": "set"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "grpc": {
                    "description": "(Block Set, Max: 1) Settings for gRPC Health check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address. (see below for nested schema)\nSettings for gRPC Health check. The target must be of the form `<host>:<port>`, where the host portion must be a valid hostname or IP address.",
                    "items": {
                      "properties": {
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "service": {
                          "description": "(String) gRPC service.\ngRPC service.",
                          "type": "string"
                        },
                        "tls": {
                          "description": "(Boolean) Whether or not TLS is used when the connection is initiated. Defaults to false.\nWhether or not TLS is used when the connection is initiated. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "tlsConfig": {
                          "description": "(Block Set, Max: 1) TLS config. (see below for nested schema)\nTLS config.",
                          "items": {
                            "properties": {
                              "caCert": {
                                "description": "(String) CA certificate in PEM format.\nCA certificate in PEM format.",
                                "type": "string"
                              },
                              "clientCert": {
                                "description": "(String) Client certificate in PEM format.\nClient certificate in PEM format.",
                                "type": "string"
                              },
                              "insecureSkipVerify": {
                                "description": "(Boolean) Disable target certificate validation. Defaults to false.\nDisable target certificate validation. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "serverName": {
                                "description": "(String) Used to verify the hostname for the targets.\nUsed to verify the hostname for the targets.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "http": {
                    "description": "(Block Set, Max: 1) Settings for HTTP check. The target must be a URL (http or https). (see below for nested schema)\nSettings for HTTP check. The target must be a URL (http or https).",
                    "items": {
                      "properties": {
                        "basicAuth": {
                          "description": "(Block Set, Max: 1) Basic auth settings. (see below for nested schema)\nBasic auth settings.",
                          "items": {
                            "properties": {
                              "username": {
                                "description": "(String) Basic auth username.\nBasic auth username.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "body": {
                          "description": "(String) The body of the HTTP request used in probe.\nThe body of the HTTP request used in probe.",
                          "type": "string"
                        },
                        "cacheBustingQueryParamName": {
                          "description": "(String) The name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.\nThe name of the query parameter used to prevent the server from using a cached response. Each probe will assign a random value to this parameter each time a request is made.",
                          "type": "string"
                        },
                        "compression": {
                          "description": "(String) Check fails if the response body is not compressed using this compression algorithm. One of none, identity, br, gzip, deflate.\nCheck fails if the response body is not compressed using this compression algorithm. One of `none`, `identity`, `br`, `gzip`, `deflate`.",
                          "type": "string"
                        },
                        "failIfBodyMatchesRegexp": {
                          "description": "(Set of String) List of regexes. If any match the response body, the check will fail.\nList of regexes. If any match the response body, the check will fail.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "failIfBodyNotMatchesRegexp": {
                          "description": "(Set of String) List of regexes. If any do not match the response body, the check will fail.\nList of regexes. If any do not match the response body, the check will fail.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "failIfHeaderMatchesRegexp": {
                          "description": "(Block Set) Check fails if headers match. (see below for nested schema)\nCheck fails if headers match.",
                          "items": {
                            "properties": {
                              "allowMissing": {
                                "description": "(Boolean) Allow header to be missing from responses. Defaults to false.\nAllow header to be missing from responses. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "header": {
                                "description": "(String) Header name.\nHeader name.",
                                "type": "string"
                              },
                              "regexp": {
                                "description": "(String) Regex that header value should match.\nRegex that header value should match.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "failIfHeaderNotMatchesRegexp": {
                          "description": "(Block Set) Check fails if headers do not match. (see below for nested schema)\nCheck fails if headers do not match.",
                          "items": {
                            "properties": {
                              "allowMissing": {
                                "description": "(Boolean) Allow header to be missing from responses. Defaults to false.\nAllow header to be missing from responses. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "header": {
                                "description": "(String) Header name.\nHeader name.",
                                "type": "string"
                              },
                              "regexp": {
                                "description": "(String) Regex that header value should match.\nRegex that header value should match.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "failIfNotSsl": {
                          "description": "(Boolean) Fail if SSL is not present. Defaults to false.\nFail if SSL is not present. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "failIfSsl": {
                          "description": "(Boolean) Fail if SSL is present. Defaults to false.\nFail if SSL is present. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "headers": {
                          "description": "(Set of String) The HTTP headers set for the probe.\nThe HTTP headers set for the probe.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "method": {
                          "description": "(String) Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.\nRequest method. One of `GET`, `CONNECT`, `DELETE`, `HEAD`, `OPTIONS`, `POST`, `PUT`, `TRACE` Defaults to `GET`.",
                          "type": "string"
                        },
                        "noFollowRedirects": {
                          "description": "(Boolean) Do not follow redirects. Defaults to false.\nDo not follow redirects. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "proxyConnectHeaders": {
                          "description": "(Set of String) The HTTP headers sent to the proxy URL\nThe HTTP headers sent to the proxy URL",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "proxyUrl": {
                          "description": "(String) Proxy URL.\nProxy URL.",
                          "type": "string"
                        },
                        "tlsConfig": {
                          "description": "(Block Set, Max: 1) TLS config. (see below for nested schema)\nTLS config.",
                          "items": {
                            "properties": {
                              "caCert": {
                                "description": "(String) CA certificate in PEM format.\nCA certificate in PEM format.",
                                "type": "string"
                              },
                              "clientCert": {
                                "description": "(String) Client certificate in PEM format.\nClient certificate in PEM format.",
                                "type": "string"
                              },
                              "insecureSkipVerify": {
                                "description": "(Boolean) Disable target certificate validation. Defaults to false.\nDisable target certificate validation. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "serverName": {
                                "description": "(String) Used to verify the hostname for the targets.\nUsed to verify the hostname for the targets.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "validHttpVersions": {
                          "description": "(Set of String) List of valid HTTP versions. Options include HTTP/1.0, HTTP/1.1, HTTP/2.0\nList of valid HTTP versions. Options include `HTTP/1.0`, `HTTP/1.1`, `HTTP/2.0`",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        },
                        "validStatusCodes": {
                          "description": "(Set of Number) Accepted status codes. If unset, defaults to 2xx.\nAccepted status codes. If unset, defaults to 2xx.",
                          "items": {
                            "type": "number"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "set"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "multihttp": {
                    "description": "(Block Set, Max: 1) Settings for MultiHTTP check. The target must be a URL (http or https) (see below for nested schema)\nSettings for MultiHTTP check. The target must be a URL (http or https)",
                    "items": {
                      "properties": {
                        "entries": {
                          "description": "(Block List) (see below for nested schema)",
                          "items": {
                            "properties": {
                              "assertions": {
                                "description": "(Block List) Assertions to make on the request response (see below for nested schema)\nAssertions to make on the request response",
                                "items": {
                                  "properties": {
                                    "condition": {
                                      "description": "(String) The condition of the assertion: NOT_CONTAINS, EQUALS, STARTS_WITH, ENDS_WITH, TYPE_OF, CONTAINS\nThe condition of the assertion: NOT_CONTAINS, EQUALS, STARTS_WITH, ENDS_WITH, TYPE_OF, CONTAINS",
                                      "type": "string"
                                    },
                                    "expression": {
                                      "description": "(String) The expression of the assertion. Should start with $.\nThe expression of the assertion. Should start with $.",
                                      "type": "string"
                                    },
                                    "subject": {
                                      "description": "(String) The subject of the assertion: RESPONSE_HEADERS, HTTP_STATUS_CODE, RESPONSE_BODY\nThe subject of the assertion: RESPONSE_HEADERS, HTTP_STATUS_CODE, RESPONSE_BODY",
                                      "type": "string"
                                    },
                                    "type": {
                                      "description": "(String) The type of assertion to make: TEXT, JSON_PATH_VALUE, JSON_PATH_ASSERTION, REGEX_ASSERTION\nThe type of assertion to make: TEXT, JSON_PATH_VALUE, JSON_PATH_ASSERTION, REGEX_ASSERTION",
                                      "type": "string"
                                    },
                                    "value": {
                                      "description": "(String) The value of the assertion\nThe value of the assertion",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "request": {
                                "description": "(Block Set, Max: 1) An individual MultiHTTP request (see below for nested schema)\nAn individual MultiHTTP request",
                                "items": {
                                  "properties": {
                                    "body": {
                                      "description": "(String) The body of the HTTP request used in probe.\nThe body of the HTTP request used in probe.",
                                      "items": {
                                        "properties": {
                                          "contentEncoding": {
                                            "description": "(String) The content encoding of the body\nThe content encoding of the body",
                                            "type": "string"
                                          },
                                          "contentType": {
                                            "description": "(String) The content type of the body\nThe content type of the body",
                                            "type": "string"
                                          },
                                          "payload": {
                                            "description": "(String) The body payload\nThe body payload",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    },
                                    "headers": {
                                      "description": "(Set of String) The HTTP headers set for the probe.\nThe headers to send with the request",
                                      "items": {
                                        "properties": {
                                          "name": {
                                            "description": "(String) Name of the header to send\nName of the header to send",
                                            "type": "string"
                                          },
                                          "value": {
                                            "description": "(String) The value of the assertion\nValue of the header to send",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    },
                                    "method": {
                                      "description": "(String) Request method. One of GET, CONNECT, DELETE, HEAD, OPTIONS, POST, PUT, TRACE Defaults to GET.\nThe HTTP method to use",
                                      "type": "string"
                                    },
                                    "queryFields": {
                                      "description": "(Block Set) Query fields to send with the request (see below for nested schema)\nQuery fields to send with the request",
                                      "items": {
                                        "properties": {
                                          "name": {
                                            "description": "(String) Name of the header to send\nName of the query field to send",
                                            "type": "string"
                                          },
                                          "value": {
                                            "description": "(String) The value of the assertion\nValue of the query field to send",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    },
                                    "url": {
                                      "description": "(String) The URL for the request\nThe URL for the request",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "variables": {
                                "description": "(Block List) Variables to extract from the request response (see below for nested schema)\nVariables to extract from the request response",
                                "items": {
                                  "properties": {
                                    "attribute": {
                                      "description": "(String) The attribute to use when finding the variable value. Only used when type is CSS_SELECTOR\nThe attribute to use when finding the variable value. Only used when type is CSS_SELECTOR",
                                      "type": "string"
                                    },
                                    "expression": {
                                      "description": "(String) The expression of the assertion. Should start with $.\nThe expression to when finding the variable. Should start with $. Only use when type is JSON_PATH or REGEX",
                                      "type": "string"
                                    },
                                    "name": {
                                      "description": "(String) Name of the header to send\nThe name of the variable to extract",
                                      "type": "string"
                                    },
                                    "type": {
                                      "description": "(String) The type of assertion to make: TEXT, JSON_PATH_VALUE, JSON_PATH_ASSERTION, REGEX_ASSERTION\nThe method of finding the variable value to extract. JSON_PATH, REGEX, CSS_SELECTOR",
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "ping": {
                    "description": "(Block Set, Max: 1) Settings for ping (ICMP) check. The target must be a valid hostname or IP address. (see below for nested schema)\nSettings for ping (ICMP) check. The target must be a valid hostname or IP address.",
                    "items": {
                      "properties": {
                        "dontFragment": {
                          "description": "bit in the IP-header. Only works with ipV4. Defaults to false.\nSet the DF-bit in the IP-header. Only works with ipV4. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "payloadSize": {
                          "description": "(Number) Payload size. Defaults to 0.\nPayload size. Defaults to `0`.",
                          "type": "number"
                        },
                        "sourceIpAddress": {
                          "description": "(String) Source IP address.\nSource IP address.",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "scripted": {
                    "description": "cloud/testing/synthetic-monitoring/create-checks/checks/k6/. (see below for nested schema)\nSettings for scripted check. See https://grafana.com/docs/grafana-cloud/testing/synthetic-monitoring/create-checks/checks/k6/.",
                    "items": {
                      "properties": {
                        "script": {
                          "description": "(String)",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "tcp": {
                    "description": "(Block Set, Max: 1) Settings for TCP check. The target must be of the form <host>:<port>, where the host portion must be a valid hostname or IP address. (see below for nested schema)\nSettings for TCP check. The target must be of the form `<host>:<port>`, where the host portion must be a valid hostname or IP address.",
                    "items": {
                      "properties": {
                        "ipVersion": {
                          "description": "(String) Options are V4, V6, Any. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The Any value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to V4.\nOptions are `V4`, `V6`, `Any`. Specifies whether the corresponding check will be performed using IPv4 or IPv6. The `Any` value indicates that IPv6 should be used, falling back to IPv4 if that's not available. Defaults to `V4`.",
                          "type": "string"
                        },
                        "queryResponse": {
                          "description": "(Block Set) The query sent in the TCP probe and the expected associated response. (see below for nested schema)\nThe query sent in the TCP probe and the expected associated response.",
                          "items": {
                            "properties": {
                              "expect": {
                                "description": "(String) Response to expect.\nResponse to expect.",
                                "type": "string"
                              },
                              "send": {
                                "description": "(String) Data to send.\nData to send.",
                                "type": "string"
                              },
                              "startTls": {
                                "description": "(Boolean) Upgrade TCP connection to TLS. Defaults to false.\nUpgrade TCP connection to TLS. Defaults to `false`.",
                                "type": "boolean"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "sourceIpAddress": {
                          "description": "(String) Source IP address.\nSource IP address.",
                          "type": "string"
                        },
                        "tls": {
                          "description": "(Boolean) Whether or not TLS is used when the connection is initiated. Defaults to false.\nWhether or not TLS is used when the connection is initiated. Defaults to `false`.",
                          "type": "boolean"
                        },
                        "tlsConfig": {
                          "description": "(Block Set, Max: 1) TLS config. (see below for nested schema)\nTLS config.",
                          "items": {
                            "properties": {
                              "caCert": {
                                "description": "(String) CA certificate in PEM format.\nCA certificate in PEM format.",
                                "type": "string"
                              },
                              "clientCert": {
                                "description": "(String) Client certificate in PEM format.\nClient certificate in PEM format.",
                                "type": "string"
                              },
                              "insecureSkipVerify": {
                                "description": "(Boolean) Disable target certificate validation. Defaults to false.\nDisable target certificate validation. Defaults to `false`.",
                                "type": "boolean"
                              },
                              "serverName": {
                                "description": "(String) Used to verify the hostname for the targets.\nUsed to verify the hostname for the targets.",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  },
                  "traceroute": {
                    "description": "(Block Set, Max: 1) Settings for traceroute check. The target must be a valid hostname or IP address (see below for nested schema)\nSettings for traceroute check. The target must be a valid hostname or IP address",
                    "items": {
                      "properties": {
                        "maxHops": {
                          "description": "(Number) Maximum TTL for the trace Defaults to 64.\nMaximum TTL for the trace Defaults to `64`.",
                          "type": "number"
                        },
                        "maxUnknownHops": {
                          "description": "(Number) Maximum number of hosts to travers that give no response Defaults to 15.\nMaximum number of hosts to travers that give no response Defaults to `15`.",
                          "type": "number"
                        },
                        "ptrLookup": {
                          "description": "(Boolean) Reverse lookup hostnames from IP addresses Defaults to true.\nReverse lookup hostnames from IP addresses Defaults to `true`.",
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "target": {
              "description": "(String) Hostname to ping.\nHostname to ping.",
              "type": "string"
            },
            "tenantId": {
              "description": "(Number) The tenant ID of the check.\nThe tenant ID of the check.",
              "type": "number"
            },
            "timeout": {
              "description": "(Number) Specifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 180 seconds (180000 ms). Defaults to 3000.\nSpecifies the maximum running time for the check in milliseconds. The minimum acceptable value is 1 second (1000 ms), and the maximum 180 seconds (180000 ms). Defaults to `3000`.",
              "type": "number"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "conditions": {
          "description": "Conditions of the resource.",
          "items": {
            "description": "A Condition that may apply to a resource.",
            "properties": {
              "lastTransitionTime": {
                "description": "LastTransitionTime is the last time this condition transitioned from one\nstatus to another.",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "A Message containing details about this condition's last transition from\none status to another, if any.",
                "type": "string"
              },
              "observedGeneration": {
                "description": "ObservedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date\nwith respect to the current state of the instance.",
                "format": "int64",
                "type": "integer"
              },
              "reason": {
                "description": "A Reason for this condition's last transition from one status to another.",
                "type": "string"
              },
              "status": {
                "description": "Status of this condition; is it currently True, False, or Unknown?",
                "type": "string"
              },
              "type": {
                "description": "Type of this condition. At most one of each condition type may apply to\na resource at any point in time.",
                "type": "string"
              }
            },
            "required": [
              "lastTransitionTime",
              "reason",
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array",
          "x-kubernetes-list-map-keys": [
            "type"
          ],
          "x-kubernetes-list-type": "map"
        },
        "observedGeneration": {
          "description": "ObservedGeneration is the latest metadata.generation\nwhich resulted in either a ready state, or stalled due to error\nit can not recover from without human intervention.",
          "format": "int64",
          "type": "integer"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "required": [
    "spec"
  ],
  "type": "object"
}
