NAME
    gcloud alpha monitoring uptime create - create a new uptime check or
        synthetic monitor

SYNOPSIS
    gcloud alpha monitoring uptime create DISPLAY_NAME
        (--synthetic-target=SYNTHETIC_TARGET
          | [--group-id=GROUP_ID : --group-type=GROUP_TYPE]
          | [--resource-labels=[KEY=VALUE,...]
          : --resource-type=RESOURCE_TYPE])
        [--body=BODY --content-type=CONTENT_TYPE
          --custom-content-type=CUSTOM_CONTENT_TYPE --headers=[KEY=VALUE,...]
          --mask-headers=MASK_HEADERS --password=PASSWORD --path=PATH
          --pings-count=PINGS_COUNT --port=PORT --protocol=PROTOCOL
          --request-method=REQUEST_METHOD
          --service-agent-auth=SERVICE_AGENT_AUTH --username=USERNAME
          --validate-ssl=VALIDATE_SSL --status-classes=[status-class,...]
          | --status-codes=[status-code,...]]
        [--matcher-content=MATCHER_CONTENT
          : --matcher-type=MATCHER_TYPE [--json-path=JSON_PATH
          : --json-path-matcher-type=JSON_PATH_MATCHER_TYPE]]
        [--period=PERIOD --regions=[field,...]
          --timeout=TIMEOUT --user-labels=[KEY=VALUE,...]]
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    (ALPHA) Create a new uptime check or synthetic monitor.

    Flags only apply to uptime checks unless noted that they apply to synthetic
    monitors.

    For information about the JSON/YAML format of an uptime check:
    https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.uptimeCheckConfigs

EXAMPLES
    To create an uptime check against a URL, run:

        $ gcloud alpha monitoring uptime create DISPLAY_NAME \
            --resource-type=uptime-url \
            --resource-labels=host=google.com,project_id=PROJECT_ID

    To create a synthetic monitor, run:

        $ gcloud alpha monitoring uptime create SYNTHETIC_MONITOR_NAME \
            --synthetic-target=projects/PROJECT_ID/locations/REGION/\
        functions/FUNCTION_NAME

POSITIONAL ARGUMENTS
     DISPLAY_NAME
        Display name for the uptime check or synthetic monitor.

REQUIRED FLAGS
     Uptime check resource.

     Exactly one of these must be specified:

       --synthetic-target=SYNTHETIC_TARGET
          The target of the Synthetic Monitor. This is the fully qualified
          GCFv2 resource name.

       Or at least one of these can be specified:

         Monitored resource group

         --group-id=GROUP_ID
            The group of resources being monitored.

            This flag argument must be specified if any of the other arguments
            in this group are specified.

         --group-type=GROUP_TYPE
            The resource type of the group members, defaults to gce-instance.
            GROUP_TYPE must be one of:

             aws-elb-load-balancer
                Uptime check against a group of Amazon ELB load balancers.
             gce-instance
                Uptime check against a group of instances from Google Cloud or
                Amazon Web Services.

       Or at least one of these can be specified:

         Monitored resource

         --resource-labels=[KEY=VALUE,...]
            Values for all of the labels listed in the associated monitored
            resource descriptor. See
            https://cloud.google.com/monitoring/api/resources for more
            information and allowed keys.

            This flag argument must be specified if any of the other arguments
            in this group are specified.

         --resource-type=RESOURCE_TYPE
            Type of monitored resource, defaults to uptime-url. RESOURCE_TYPE
            must be one of:

             aws-ec2-instance
                Uptime check against an AWS EC2 instance.
             aws-elb-load-balancer
                Uptime check against an ElasticLoadBalancer.
             cloud-run-revision
                Uptime check against a Cloud Run revision.
             gae-app
                Uptime check against an App Engine module.
             gce-instance
                Uptime check against a Compute Engine instance.
             servicedirectory-service
                Uptime check against a Service Directory service.
             uptime-url
                Uptime check against a URL.

OPTIONAL FLAGS
     Uptime check protocol settings.

     --body=BODY
        The request body associated with the HTTP POST request. Can only be set
        if --protocol is http or https.

     --content-type=CONTENT_TYPE
        The content type header to use for the check, defaults to unspecified.
        Can only be set if --protocol is http or https.

        CONTENT_TYPE must be one of:

         unspecified
            Not specified
         url-encoded
            URL encoded
         user-provided
            User provided

     --custom-content-type=CUSTOM_CONTENT_TYPE
        A user-provided content type header to use for the check. Can only be
        set if --protocol is http or https.

     --headers=[KEY=VALUE,...]
        The list of headers to send as part of the uptime check request. Can
        only be set if --protocol is http or https.

     --mask-headers=MASK_HEADERS
        Whether to encrypt the header information, defaults to false. Can only
        be set if --protocol is http or https.

     --password=PASSWORD
        The password to use when authenticating with the HTTP server. Can only
        be set if --protocol is http or https.

     --path=PATH
        The path to the page against which to run the check, defaults to /. Can
        only be set if --protocol is http or https.

     --pings-count=PINGS_COUNT
        Number of ICMP pings to send alongside the request.

     --port=PORT
        The port on the server against which to run the check. Defaults to 80
        when --protocol is http. Defaults to 443 when --protocol is https.
        Required if --protocol is tcp.

     --protocol=PROTOCOL
        The protocol of the request, defaults to http. PROTOCOL must be one of:

         http
            An HTTP check.
         https
            An HTTPS check.
         tcp
            A TCP check.

     --request-method=REQUEST_METHOD
        The HTTP request method to use, defaults to get. Can only be set if
        --protocol is http or https.

        REQUEST_METHOD must be one of:

         get
            HTTP GET method
         post
            HTTP POST method

     Uptime check service agent authorization.

     --service-agent-auth=SERVICE_AGENT_AUTH
        The type of authentication to use for the HTTP request. Can only be set
        if --protocol is https.

        SERVICE_AGENT_AUTH must be (only one value is supported):

         oidc-token
            OIDC Token authentication

     --username=USERNAME
        The username to use when authenticating with the HTTP server. Can only
        be set if --protocol is http or https.

     --validate-ssl=VALIDATE_SSL
        Whether to include SSL certificate validation as a part of the uptime
        check, defaults to false. Can only be set if --protocol is http or
        https.

     Uptime check status.

     At most one of these can be specified:

       --status-classes=[status-class,...]
          List of HTTP status classes. The uptime check only passes when the
          response code is contained in this list. Defaults to 2xx. Can only be
          set if --protocol is http or https.

          status-class must be one of:

           1xx
              Any response code from 100-199 inclusive
           2xx
              Any response code from 200-299 inclusive
           3xx
              Any response code from 300-399 inclusive
           4xx
              Any response code from 400-499 inclusive
           5xx
              Any response code from 500-599 inclusive
           any
              Any response code

       --status-codes=[status-code,...]
          List of HTTP Status Codes. The uptime check will only pass if the
          response code is present in this list. Can only be set if --protocol
          is http or https.

     Uptime check matcher settings.

     --matcher-content=MATCHER_CONTENT
        String, regex or JSON content to match.

        This flag argument must be specified if any of the other arguments in
        this group are specified.

     --matcher-type=MATCHER_TYPE
        The type of content matcher that is applied to the server output,
        defaults to contains-string.

        MATCHER_TYPE must be one of:

         contains-string
            Response contains string
         matches-json-path
            Response matches at JSONPath
         matches-regex
            Response matches regex
         not-contains-string
            Response does not contain string
         not-matches-json-path
            Response does not match at JSONPath
         not-matches-regex
            Response does not match regex

     Uptime check matcher settings for JSON responses.

     --json-path=JSON_PATH
        JSONPath within the response output pointing to the expected content to
        match. Only used if --matcher-type is matches-json-path or
        not-matches-json-path.

        This flag argument must be specified if any of the other arguments in
        this group are specified.

     --json-path-matcher-type=JSON_PATH_MATCHER_TYPE
        The type of JSONPath match that is applied to the JSON output, defaults
        to exact-match. Only used if --matcher-type is matches-json-path or
        not-matches-json-path.

        JSON_PATH_MATCHER_TYPE must be one of:

         exact-match
            Response matches exact string at JSONPath
         regex-match
            Response matches regex at JSONPath

     Settings.

     --period=PERIOD
        The time between uptime check or synthetic monitor executions in
        minutes, defaults to 1. Can be set for synthetic monitors.

        PERIOD must be one of:

         1
            One minute
         10
            Ten minutes
         15
            Fifteen minutes
         5
            Five minutes

     --regions=[field,...]
        The list of regions from which the check is run. At least 3 regions
        must be selected. Defaults to all available regions.

        field must be one of:

         asia-pacific
            asia-southeast1
         europe
            europe-west1
         south-america
            southamerica-east1
         usa-iowa
            us-central1
         usa-oregon
            us-west1
         usa-virginia
            us-east4

     --timeout=TIMEOUT
        The maximum amount of time in seconds to wait for the request to
        complete, defaults to 60. Can be set for synthetic monitors.

     --user-labels=[KEY=VALUE,...]
        List of label KEY=VALUE pairs to add.

        Keys must start with a lowercase character and contain only hyphens
        (-), underscores (_), lowercase characters, and numbers. Values must
        contain only hyphens (-), underscores (_), lowercase characters, and
        numbers.

GCLOUD WIDE FLAGS
    These flags are available to all commands: --access-token-file, --account,
    --billing-project, --configuration, --flags-file, --flatten, --format,
    --help, --impersonate-service-account, --log-http, --project, --quiet,
    --trace-token, --user-output-enabled, --verbosity.

    Run $ gcloud help for details.

NOTES
    This command is currently in alpha and might change without notice. If this
    command fails with API permission errors despite specifying the correct
    project, you might be trying to access an API with an invitation-only early
    access allowlist. These variants are also available:

        $ gcloud monitoring uptime create

        $ gcloud beta monitoring uptime create

