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 --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.

       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.

       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

       --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

