Giter VIP home page Giter VIP logo

cli's People

Contributors

06kellyjac avatar acfoltzer avatar awilliams-fastly avatar benzvan avatar chrispoole643 avatar dcaba avatar dependabot[bot] avatar dgryski avatar doramatadora avatar fgsch avatar gaylin avatar grantstephens avatar harmony7 avatar hrmsk66 avatar integralist avatar jaredmorrow avatar joeshaw avatar jsocol avatar jsonroy-fastly avatar kailan avatar kellymclaughlin avatar kpfleming avatar mccurdyc avatar noguxun avatar peterbourgon avatar phamann avatar pteichman avatar rdoherty-fastly avatar shawnps avatar thommahoney avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cli's Issues

Feature: Add support for service search endpoint

Version

Fastly CLI version 0.16.1 (b12ad86)
Built with go version go1.14.6 linux/amd64

What happened

Ran:

fastly service help

Got

  create    Create a Fastly service
  list      List Fastly services
  describe  Show detailed information about a Fastly service
  update    Update a Fastly service
  delete    Delete a Fastly service

Expected

  search   Search for a Fastly service by name

Supported Fastly API endpoint:

https://developer.fastly.com/reference/api/services/service/#search-service

Support using local git repositories, or just plain directories, as sources for `fastly compute init`

Version

Fastly CLI version 0.27.2 (7795612)
Built with go version go1.16.3 linux/amd64

What happened

It's more about what I'd like to happen ;) I'd like to make it easier for our customers to test pre-release versions of SDKs. To that end, it'd be great if we could provide them with a tarball for a starter kit, and then use fastly compute init -f [path/to/starter/kit].

Currently, we have to instead provide directions for initializing a service from a public starter kit, and then copy over the resulting fastly.toml file into a fresh copy of the prerelease starter kit.

`fastly update` fails on `darwin/arm64`

Version

$ fastly version
Fastly CLI version v0.27.2 (7795612)
Built with go version go1.16.3 darwin/arm64

What happened
fastly update fails because no release tarballs are available for darwin/arm64.

$ fastly update
/ Initializing...Current version: 0.27.2
Latest version: 0.28.0
✓ Initializing...
✗ Fetching latest release...

ERROR: error downloading latest release: no asset found for your OS (darwin) and architecture (arm64).

If you believe this error is the result of a bug, please file an issue: https://github.com/fastly/cli/issues/new?labels=bug&template=bug_report.md

Add purge support

Version

$ fastly version
Fastly CLI version 0.18.1 (f548f88)
Built with go version go1.14.10 linux/amd64

What happened

I would love to be able to use the CLI to perform a purge. It doesn't look like that functionality exists.

Compute name >= 249 characters results in build error

Version

Fastly CLI version 0.22.0 (aea0ddf)
Built with go version unknown

What happened

Having a name 249 characters long (or longer), results in a build error. I would expect it to build correctly.

This was reported by @williamoverton.

❯ mkdir abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghi

~/Documents
❯ cd abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghi

~/Documents/abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghi
❯ fastly compute init && fastly compute build
This utility will walk you through creating a Compute@Edge project. It only covers the
most common items, and tries to guess sensible defaults.

Press ^C at any time to quit.

Name: [abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghi] 
Description: 
Author: [[email protected]] 
Language:
[1] Rust
[2] AssemblyScript (beta)
Choose option: [1] 
Starter kit:
[1] Default (https://github.com/fastly/fastly-template-rust-default.git)
Choose option or type URL: [1] 
Domain: [ideally-precise-mako.edgecompute.app] 
Backend (originless, hostname or IP address): [originless] 

✓ Initializing...
✓ Creating service...
✓ Creating domain...
✓ Creating backend...
✓ Fetching package template...
✓ Updating package manifest...
✓ Initializing package...

Initialized package abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghi to:
	/Users/acme/Documents/abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghi

Manage this service at:
	https://manage.fastly.com/configure/services/1RuZQUSxCEY741pgEaS4qa

To compile the package, run:
	fastly compute build

To deploy the package, run:
	fastly compute deploy


SUCCESS: Initialized service 1RuZQUSxCEY741pgEaS4qa
✓ Initializing...
✓ Verifying package manifest...
✓ Verifying local rust toolchain...
✓ Building package using rust toolchain...
✗ Creating package archive...

ERROR: error creating package archive: creating pkg/abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghi.tar.gz: open pkg/abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghi.tar.gz: file name too long.

If you believe this error is the result of a bug, please file an issue: https://github.com/fastly/cli/issues/new?labels=bug&template=bug_report.md

Update rustup error to cover package managers

If rustup was installed via a package manager (e.g. homebrew) and needs to be updated, the provided instructions will not work:

error: self-update is disabled for this build of rustup
error: you should probably use your system package manager to update rustup

We might want to reword the instructions to cover this case.

Reported from @gaastonsr via #137.

fastly compute build exits with error 1

Version

Fastly CLI version 0.26.1 (2c06239)
Built with go version unknown

What happened

$ fastly -v compute build
Fastly API token provided via FASTLY_API_TOKEN
Fastly API endpoint: https://api.fastly.com
Verifying package manifest...
Verifying local rust toolchain...
Checking if rustup is installed...
Found rustup at /Users/anjan9/.cargo/bin/rustup
Checking if Rust  is installed...
Checking if  target is installed...

ERROR: error executing rustup: exit status 1.

This has happened on and off since version 23 or something when the manifest_version was introduced.

authors = ["xxx"]
description = "xxx x Test"
language = "rust"
manifest_version = 1
version = 1
name = "xxx"
service_id = "xxx"

"context deadline exceeded" - Continuous delay when running with (broken?) DNS settings

Version:

Fastly CLI version 0.30.0 (326882f)
Built with go version go1.16.4 linux/amd64

Description:

For some strange reason, when I have ipv6 enabled, updating the configuration fails in my box with a time out.
This causes a 5 seconds delay every time I run the CLI. This does not seem to happen if I build e.g. the v0.30.0 tag natively.
The output when this happens:

$ fastly -v

INFO:
Compatibility and versioning information for the Fastly CLI is being updated in the background.  The updated data will be used next time you execute a fastly command.

[..]

ERROR: there was a problem updating the versioning information for the Fastly CLI:

Get "...": context deadline exceeded.

[..]

When the update fails last_checked is not updated, so the next time the CLI is run the update process is triggered.
In my case, this means that every time I run the CLI I experience the delay as the update process keeps timing out.

Besides trying to find out why the update is timing out (I suspect it's both a network and a cross-compiling issue) it might be desirable to update the last_checked timestamp to avoid triggering the update continuously when there is a network issue.

fastly compute publish doesn't respect --service-id

Version

Fastly CLI version 0.30.0 (326882f)
Built with go version go1.16.4 linux/amd64

What happened

Hi! I have a Compute@Edge package that I want to deploy to different services (staging, production, etc), so I need to be able to specify the id of the service I want to deploy when running fastly compute publish.

I've tried the following without success:

Attempt 1

If I remove the service_id from fastly.toml and then I try to deploy with fastly compute publish --service-id=SERVICE_ID I get the error:

There is no Fastly service associated with this package. To connect to an existing service
add the Service ID to the fastly.toml file, otherwise follow the prompts to create a
service now.

And then shows me a prompt to create a new service, which I don't want.

Attempt 2

If I set a dummy service_id=dummy_id in fastly.toml and then I overwrite it with --service-id=SERVICE_ID when I run fastly compute publish --service-id=SERVICE_ID I get the following error: ERROR: the Fastly API returned 404 Not Found: Record not found (Cannot find service 'dummy_id').

I consider this to be a bug because when I run fastly compute publish --help in the optional flags it lists --service-id as a valid option.

Documentation typo in `fastly service-version update`

Version

Fastly CLI version 0.5.1-rc1 (aff2e60)
Built with go version go1.14.2 linux/amd64

What happened

fastly service-version update --help:

[...]
REQUIRED FLAGS
  --version=VERSION  Number of version you wish to clone
  --comment=COMMENT  Human-readable comment
[...]

I assume it should say "version you wish to update", rather than "clone".

Support alternative languages / precompiled modules

C@E can run modules written in any language that can compile to WebAssembly.

However, the CLI tool assumes that only Rust or AssemblyScript can be used, which complicates deployment for modules written in other languages.

Would it be reasonable to:

  • Add an other choice to the list of languages when initializing a new local package (the build command would then be an error or a no-op)
  • Add a fastly compute package that accepts a path to an existing module, and would just copy it to the pkg directory and bump the version?

That would be wonderful!

Thanks!

Missing subcommand from usage

Version

Fastly CLI version 0.26.2 (f3be6a5)

What happened

Running

$ fastly logging splunk list 

Shows:

USAGE
  fastly splunk list --version=VERSION [<flags>]
  ...

Note the logging subcommand is missing in the USAGE.

fastly compute publish --service-id replaces the service_id value in fastly.toml

Version

Fastly CLI version v0.30.0-21-g24734d4 (24734d4)
Built with go version go1.16.4 darwin/amd64

What happened

Hi! I'm using fastly compute publish --service-id to deploy the same package to multiple services (staging, production, etc). The problem that I'm facing is that every time I use that command it replaces the service_id in my fastly.toml file.

In my case this is undesirable because if somebody forgets to use --service-id they might deploy to the wrong service. Ideally, --service-id simply takes precedence over the service id value in fastly.toml without overwriting the file.

Bash Autocomplete is broken

Version

Fastly CLI version 0.12.0 (0cf13dc)
Built with go version go1.14.4 linux/amd64

What happened

Loaded a new shell and saw the following error:

-bash: USAGE: command not found
-bash: /usr/local/etc/bash_completion.d/fastly.sh:13: syntax error near unexpected token `newline'
-bash: /usr/local/etc/bash_completion.d/fastly.sh:13: `  fastly [<flags>] <command>'

It looks to be a problem with the Fastly bash autocomplete library (below is a copy of the local file):

_fastly_bash_autocomplete() {
    local cur prev opts base
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    opts=$( ${COMP_WORDS[0]} --completion-bash ${COMP_WORDS[@]:1:$COMP_CWORD} )
    COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
    return 0
}
complete -F _fastly_bash_autocomplete fastly

USAGE
  fastly [<flags>] <command>

A tool to interact with the Fastly API

GLOBAL FLAGS
      --help         Show context-sensitive help.
  -t, --token=TOKEN  Fastly API token (or via FASTLY_API_TOKEN)
  -v, --verbose      Verbose logging

COMMANDS
  help [<command> ...]
    Show help.


  configure
    Configure the Fastly CLI


  whoami
    Get information about the currently authenticated account


  version
    Display version information for the Fastly CLI


  update
    Update the CLI to the latest version


  service create --name=NAME [<flags>]
    Create a Fastly service

    -n, --name=NAME        Service name
        --type=wasm        Service type. Can be one of "wasm" or "vcl", defaults
                           to "wasm".
        --comment=COMMENT  Human-readable comment

  service list
    List Fastly services


  service describe [<flags>]
    Show detailed information about a Fastly service

    -s, --service-id=SERVICE-ID  Service ID

  service update [<flags>]
    Update a Fastly service

    -s, --service-id=SERVICE-ID  Service ID
    -n, --name=NAME              Service name
        --comment=COMMENT        Human-readable comment

  service delete [<flags>]
    Delete a Fastly service

    -s, --service-id=SERVICE-ID  Service ID

  service-version clone --version=VERSION [<flags>]
    Clone a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of version you wish to clone

  service-version list [<flags>]
    List Fastly service versions

    -s, --service-id=SERVICE-ID  Service ID

  service-version update --version=VERSION --comment=COMMENT [<flags>]
    Update a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of version you wish to update
        --comment=COMMENT        Human-readable comment

  service-version activate --version=VERSION [<flags>]
    Activate a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of version you wish to activate

  service-version deactivate --version=VERSION [<flags>]
    Deactivate a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of version you wish to deactivate

  service-version lock --version=VERSION [<flags>]
    Lock a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of version you wish to lock

  compute init [<flags>]
    Initialize a new Compute@Edge package locally

    -n, --name=NAME                Name of package, defaulting to directory name
                                   of the --path destination
    -d, --description=DESCRIPTION  Description of the package
    -a, --author=AUTHOR            Author of the package
    -f, --from=FROM                Git repository containing package template
    -p, --path=PATH                Destination to write the new package,
                                   defaulting to the current directory
        --domain=DOMAIN            The name of the domain associated to the
                                   package
        --backend=BACKEND          A hostname, IPv4, or IPv6 address for the
                                   package backend

  compute build [<flags>]
    Build a Compute@Edge package locally

    --name=NAME          Package name
    --language=LANGUAGE  Language type
    --include-source     Include source code in built package
    --force              Skip verification steps and force build

  compute deploy [<flags>]
    Deploy a package to a Fastly Compute@Edge service

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of version to activate
    -p, --path=PATH              Path to package

  compute update --service-id=SERVICE-ID --version=VERSION --path=PATH
    Update a package on a Fastly Compute@Edge service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -p, --path=PATH              Path to package

  compute validate --path=PATH
    Validate a Compute@Edge package

    -p, --path=PATH  Path to package

  domain create --name=NAME --version=VERSION [<flags>]
    Create a domain on a Fastly service version

    -n, --name=NAME              Domain name
        --comment=COMMENT        A descriptive note
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  domain list --version=VERSION [<flags>]
    List domains on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  domain describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a domain on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              Name of domain

  domain update --version=VERSION --name=NAME [<flags>]
    Update a domain on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              Domain name
        --new-name=NEW-NAME      New domain name
        --comment=COMMENT        A descriptive note

  domain delete --name=NAME --version=VERSION [<flags>]
    Delete a domain on a Fastly service version

    -n, --name=NAME              Domain name
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  backend create --service-id=SERVICE-ID --version=VERSION --name=NAME --address=ADDRESS [<flags>]
    Create a backend on a Fastly service version

    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
    -n, --name=NAME                Backend name
        --address=ADDRESS          A hostname, IPv4, or IPv6 address for the
                                   backend
        --comment=COMMENT          A descriptive note
        --port=PORT                Port number of the address
        --override-host=OVERRIDE-HOST  
                                   The hostname to override the Host header
        --connect-timeout=CONNECT-TIMEOUT  
                                   How long to wait for a timeout in
                                   milliseconds
        --max-conn=MAX-CONN        Maximum number of connections
        --first-byte-timeout=FIRST-BYTE-TIMEOUT  
                                   How long to wait for the first bytes in
                                   milliseconds
        --between-bytes-timeout=BETWEEN-BYTES-TIMEOUT  
                                   How long to wait between bytes in
                                   milliseconds
        --auto-loadbalance         Whether or not this backend should be
                                   automatically load balanced
        --weight=WEIGHT            Weight used to load balance this backend
                                   against others
        --request-condition=REQUEST-CONDITION  
                                   Condition, which if met, will select this
                                   backend during a request
        --healthcheck=HEALTHCHECK  The name of the healthcheck to use with this
                                   backend
        --shield=SHIELD            The shield POP designated to reduce inbound
                                   load on this origin by serving the cached
                                   data to the rest of the network
        --use-ssl                  Whether or not to use SSL to reach the
                                   backend
        --ssl-check-cert           Be strict on checking SSL certs
        --ssl-ca-cert=SSL-CA-CERT  CA certificate attached to origin
        --ssl-client-cert=SSL-CLIENT-CERT  
                                   Client certificate attached to origin
        --ssl-client-key=SSL-CLIENT-KEY  
                                   Client key attached to origin
        --ssl-cert-hostname=SSL-CERT-HOSTNAME  
                                   Overrides ssl_hostname, but only for cert
                                   verification. Does not affect SNI at all.
        --ssl-sni-hostname=SSL-SNI-HOSTNAME  
                                   Overrides ssl_hostname, but only for SNI in
                                   the handshake. Does not affect cert
                                   validation at all.
        --min-tls-version=MIN-TLS-VERSION  
                                   Minimum allowed TLS version on SSL
                                   connections to this backend
        --max-tls-version=MAX-TLS-VERSION  
                                   Maximum allowed TLS version on SSL
                                   connections to this backend
        --ssl-ciphers=SSL-CIPHERS ...  
                                   List of OpenSSL ciphers (see
                                   https://www.openssl.org/docs/manmaster/man1/ciphers.html
                                   for details)

  backend list --service-id=SERVICE-ID --version=VERSION
    List backends on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  backend describe --service-id=SERVICE-ID --version=VERSION --name=NAME
    Show detailed information about a backend on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              Name of backend

  backend update --service-id=SERVICE-ID --version=VERSION --name=NAME [<flags>]
    Update a backend on a Fastly service version

    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
    -n, --name=NAME                backend name
        --new-name=NEW-NAME        New backend name
        --comment=COMMENT          A descriptive note
        --address=ADDRESS          A hostname, IPv4, or IPv6 address for the
                                   backend
        --port=PORT                Port number of the address
        --override-host=OVERRIDE-HOST  
                                   The hostname to override the Host header
        --connect-timeout=CONNECT-TIMEOUT  
                                   How long to wait for a timeout in
                                   milliseconds
        --max-conn=MAX-CONN        Maximum number of connections
        --first-byte-timeout=FIRST-BYTE-TIMEOUT  
                                   How long to wait for the first bytes in
                                   milliseconds
        --between-bytes-timeout=BETWEEN-BYTES-TIMEOUT  
                                   How long to wait between bytes in
                                   milliseconds
        --auto-loadbalance         Whether or not this backend should be
                                   automatically load balanced
        --weight=WEIGHT            Weight used to load balance this backend
                                   against others
        --request-condition=REQUEST-CONDITION  
                                   condition, which if met, will select this
                                   backend during a request
        --healthcheck=HEALTHCHECK  The name of the healthcheck to use with this
                                   backend
        --shield=SHIELD            The shield POP designated to reduce inbound
                                   load on this origin by serving the cached
                                   data to the rest of the network
        --use-ssl                  Whether or not to use SSL to reach the
                                   backend
        --ssl-check-cert           Be strict on checking SSL certs
        --ssl-ca-cert=SSL-CA-CERT  CA certificate attached to origin
        --ssl-client-cert=SSL-CLIENT-CERT  
                                   Client certificate attached to origin
        --ssl-client-key=SSL-CLIENT-KEY  
                                   Client key attached to origin
        --ssl-cert-hostname=SSL-CERT-HOSTNAME  
                                   Overrides ssl_hostname, but only for cert
                                   verification. Does not affect SNI at all.
        --ssl-sni-hostname=SSL-SNI-HOSTNAME  
                                   Overrides ssl_hostname, but only for SNI in
                                   the handshake. Does not affect cert
                                   validation at all.
        --min-tls-version=MIN-TLS-VERSION  
                                   Minimum allowed TLS version on SSL
                                   connections to this backend
        --max-tls-version=MAX-TLS-VERSION  
                                   Maximum allowed TLS version on SSL
                                   connections to this backend
        --ssl-ciphers=SSL-CIPHERS ...  
                                   List of OpenSSL ciphers (see
                                   https://www.openssl.org/docs/manmaster/man1/ciphers.html
                                   for details)

  backend delete --service-id=SERVICE-ID --version=VERSION --name=NAME
    Delete a backend on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              Backend name

  healthcheck create --version=VERSION --name=NAME [<flags>]
    Create a healthcheck on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              Healthcheck name
        --comment=COMMENT        A descriptive note
        --method=METHOD          Which HTTP method to use
        --host=HOST              Which host to check
        --path=PATH              The path to check
        --http-version=HTTP-VERSION  
                                 Whether to use version 1.0 or 1.1 HTTP
        --timeout=TIMEOUT        Timeout in milliseconds
        --check-interval=CHECK-INTERVAL  
                                 How often to run the healthcheck in
                                 milliseconds
        --expected-response=EXPECTED-RESPONSE  
                                 The status code expected from the host
        --window=WINDOW          The number of most recent healthcheck queries
                                 to keep for this healthcheck
        --threshold=THRESHOLD    How many healthchecks must succeed to be
                                 considered healthy
        --initial=INITIAL        When loading a config, the initial number of
                                 probes to be seen as OK

  healthcheck list --version=VERSION [<flags>]
    List healthchecks on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  healthcheck describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a healthcheck on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              Name of healthcheck

  healthcheck update --version=VERSION --name=NAME [<flags>]
    Update a healthcheck on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              Healthcheck name
        --new-name=NEW-NAME      Healthcheck name
        --comment=COMMENT        A descriptive note
        --method=METHOD          Which HTTP method to use
        --host=HOST              Which host to check
        --path=PATH              The path to check
        --http-version=HTTP-VERSION  
                                 Whether to use version 1.0 or 1.1 HTTP
        --timeout=TIMEOUT        Timeout in milliseconds
        --check-interval=CHECK-INTERVAL  
                                 How often to run the healthcheck in
                                 milliseconds
        --expected-response=EXPECTED-RESPONSE  
                                 The status code expected from the host
        --window=WINDOW          The number of most recent healthcheck queries
                                 to keep for this healthcheck
        --threshold=THRESHOLD    How many healthchecks must succeed to be
                                 considered healthy
        --initial=INITIAL        When loading a config, the initial number of
                                 probes to be seen as OK

  healthcheck delete --version=VERSION --name=NAME [<flags>]
    Delete a healthcheck on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              Healthcheck name

  logging bigquery create --name=NAME --version=VERSION --project-id=PROJECT-ID --dataset=DATASET --table=TABLE --user=USER --secret-key=SECRET-KEY [<flags>]
    Create a BigQuery logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the BigQuery logging object. Used
                                 as a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --project-id=PROJECT-ID  Your Google Cloud Platform project ID
        --dataset=DATASET        Your BigQuery dataset
        --table=TABLE            Your BigQuery table
        --user=USER              Your Google Cloud Platform service account
                                 email address. The client_email field in your
                                 service account authentication JSON.
        --secret-key=SECRET-KEY  Your Google Cloud Platform account secret key.
                                 The private_key field in your service account
                                 authentication JSON.
        --template-suffix=TEMPLATE-SUFFIX  
                                 BigQuery table name suffix template
        --format=FORMAT          Apache style log formatting. Must produce JSON
                                 that matches the schema of your BigQuery table
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug. This field
                                 is not required and has no default value
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute

  logging bigquery list --version=VERSION [<flags>]
    List BigQuery endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging bigquery describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a BigQuery logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the BigQuery logging object

  logging bigquery update --version=VERSION --name=NAME [<flags>]
    Update a BigQuery logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the BigQuery logging object
        --new-name=NEW-NAME      New name of the BigQuery logging object
        --project-id=PROJECT-ID  Your Google Cloud Platform project ID
        --dataset=DATASET        Your BigQuery dataset
        --table=TABLE            Your BigQuery table
        --user=USER              Your Google Cloud Platform service account
                                 email address. The client_email field in your
                                 service account authentication JSON.
        --secret-key=SECRET-KEY  Your Google Cloud Platform account secret key.
                                 The private_key field in your service account
                                 authentication JSON.
        --template-suffix=TEMPLATE-SUFFIX  
                                 BigQuery table name suffix template
        --format=FORMAT          Apache style log formatting. Must produce JSON
                                 that matches the schema of your BigQuery table
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug. This field
                                 is not required and has no default value
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute

  logging bigquery delete --version=VERSION --name=NAME [<flags>]
    Delete a BigQuery logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the BigQuery logging object

  logging s3 create --name=NAME --version=VERSION --bucket=BUCKET --access-key=ACCESS-KEY --secret-key=SECRET-KEY [<flags>]
    Create an Amazon S3 logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the S3 logging object. Used as a
                                 primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --bucket=BUCKET          Your S3 bucket name
        --access-key=ACCESS-KEY  Your S3 account access key
        --secret-key=SECRET-KEY  Your S3 account secret key
        --domain=DOMAIN          The domain of the S3 endpoint
        --path=PATH              The path to upload logs to
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --redundancy=REDUNDANCY  The S3 redundancy level. Can be either standard
                                 or reduced_redundancy
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk
        --server-side-encryption=SERVER-SIDE-ENCRYPTION  
                                 Set to enable S3 Server Side Encryption. Can be
                                 either AES256 or aws:kms
        --server-side-encryption-kms-key-id=SERVER-SIDE-ENCRYPTION-KMS-KEY-ID  
                                 Server-side KMS Key ID. Must be set if
                                 server-side-encryption is set to aws:kms

  logging s3 list --version=VERSION [<flags>]
    List S3 endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging s3 describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a S3 logging endpoint on a Fastly service
    version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the S3 logging object

  logging s3 update --version=VERSION --name=NAME [<flags>]
    Update a S3 logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the S3 logging object
        --new-name=NEW-NAME      New name of the S3 logging object
        --bucket=BUCKET          Your S3 bucket name
        --access-key=ACCESS-KEY  Your S3 account access key
        --secret-key=SECRET-KEY  Your S3 account secret key
        --domain=DOMAIN          The domain of the S3 endpoint
        --path=PATH              The path to upload logs to
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --redundancy=REDUNDANCY  The S3 redundancy level. Can be either standard
                                 or reduced_redundancy
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk
        --server-side-encryption=SERVER-SIDE-ENCRYPTION  
                                 Set to enable S3 Server Side Encryption. Can be
                                 either AES256 or aws:kms
        --server-side-encryption-kms-key-id=SERVER-SIDE-ENCRYPTION-KMS-KEY-ID  
                                 Server-side KMS Key ID. Must be set if
                                 server-side-encryption is set to aws:kms

  logging s3 delete --version=VERSION --name=NAME [<flags>]
    Delete a S3 logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the S3 logging object

  logging syslog create --name=NAME --version=VERSION --address=ADDRESS [<flags>]
    Create a Syslog logging endpoint on a Fastly service version

    -n, --name=NAME                The name of the Syslog logging object. Used
                                   as a primary key for API access
    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
        --address=ADDRESS          A hostname or IPv4 address
        --port=PORT                The port number
        --use-tls                  Whether to use TLS for secure logging. Can be
                                   either true or false
        --tls-ca-cert=TLS-CA-CERT  A secure certificate to authenticate the
                                   server with. Must be in PEM format
        --tls-hostname=TLS-HOSTNAME  
                                   Used during the TLS handshake to validate the
                                   certificate
        --tls-client-cert=TLS-CLIENT-CERT  
                                   The client certificate used to make
                                   authenticated requests. Must be in PEM format
        --tls-client-key=TLS-CLIENT-KEY  
                                   The client private key used to make
                                   authenticated requests. Must be in PEM format
        --auth-token=AUTH-TOKEN    Whether to prepend each message with a
                                   specific token
        --format=FORMAT            Apache style log formatting
        --format-version=FORMAT-VERSION  
                                   The version of the custom logging format used
                                   for the configured endpoint. Can be either 2
                                   (default) or 1
        --message-type=MESSAGE-TYPE  
                                   How the message should be formatted. One of:
                                   classic (default), loggly, logplex or blank
        --response-condition=RESPONSE-CONDITION  
                                   The name of an existing condition in the
                                   configured endpoint, or leave blank to always
                                   execute
        --placement=PLACEMENT      Where in the generated VCL the logging call
                                   should be placed, overriding any
                                   format_version default. Can be none or
                                   waf_debug

  logging syslog list --version=VERSION [<flags>]
    List Syslog endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging syslog describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Syslog logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Syslog logging object

  logging syslog update --version=VERSION --name=NAME [<flags>]
    Update a Syslog logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
    -n, --name=NAME                The name of the Syslog logging object
        --new-name=NEW-NAME        New name of the Syslog logging object
        --address=ADDRESS          A hostname or IPv4 address
        --port=PORT                The port number
        --use-tls                  Whether to use TLS for secure logging. Can be
                                   either true or false
        --tls-ca-cert=TLS-CA-CERT  A secure certificate to authenticate the
                                   server with. Must be in PEM format
        --tls-hostname=TLS-HOSTNAME  
                                   Used during the TLS handshake to validate the
                                   certificate
        --tls-client-cert=TLS-CLIENT-CERT  
                                   The client certificate used to make
                                   authenticated requests. Must be in PEM format
        --tls-client-key=TLS-CLIENT-KEY  
                                   The client private key used to make
                                   authenticated requests. Must be in PEM format
        --auth-token=AUTH-TOKEN    Whether to prepend each message with a
                                   specific token
        --format=FORMAT            Apache style log formatting
        --format-version=FORMAT-VERSION  
                                   The version of the custom logging format used
                                   for the configured endpoint. Can be either 2
                                   (default) or 1
        --message-type=MESSAGE-TYPE  
                                   How the message should be formatted. One of:
                                   classic (default), loggly, logplex or blank
        --response-condition=RESPONSE-CONDITION  
                                   The name of an existing condition in the
                                   configured endpoint, or leave blank to always
                                   execute
        --placement=PLACEMENT      Where in the generated VCL the logging call
                                   should be placed, overriding any
                                   format_version default. Can be none or
                                   waf_debug

  logging syslog delete --version=VERSION --name=NAME [<flags>]
    Delete a Syslog logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Syslog logging object

  logging logentries create --name=NAME --version=VERSION [<flags>]
    Create a Logentries logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Logentries logging object. Used
                                 as a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --port=PORT              The port number
        --use-tls                Whether to use TLS for secure logging. Can be
                                 either true or false
        --auth-token=AUTH-TOKEN  Use token based authentication
                                 (https://logentries.com/doc/input-token/)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug. This field
                                 is not required and has no default value

  logging logentries list --version=VERSION [<flags>]
    List Logentries endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging logentries describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Logentries logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Logentries logging object

  logging logentries update --version=VERSION --name=NAME [<flags>]
    Update a Logentries logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Logentries logging object
        --new-name=NEW-NAME      New name of the Logentries logging object
        --port=PORT              The port number
        --use-tls                Whether to use TLS for secure logging. Can be
                                 either true or false
        --auth-token=AUTH-TOKEN  Use token based authentication
                                 (https://logentries.com/doc/input-token/)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug. This field
                                 is not required and has no default value

  logging logentries delete --version=VERSION --name=NAME [<flags>]
    Delete a Logentries logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Logentries logging object

  logging papertrail create --name=NAME --version=VERSION --address=ADDRESS [<flags>]
    Create a Papertrail logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Papertrail logging object. Used
                                 as a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --address=ADDRESS        A hostname or IPv4 address
        --port=PORT              The port number
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --format=FORMAT          Apache style log formatting
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug. This field
                                 is not required and has no default value

  logging papertrail list --version=VERSION [<flags>]
    List Papertrail endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging papertrail describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Papertrail logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Papertrail logging object

  logging papertrail update --version=VERSION --name=NAME [<flags>]
    Update a Papertrail logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Papertrail logging object
        --new-name=NEW-NAME      New name of the Papertrail logging object
        --address=ADDRESS        A hostname or IPv4 address
        --port=PORT              The port number
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --format=FORMAT          Apache style log formatting
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug. This field
                                 is not required and has no default value

  logging papertrail delete --version=VERSION --name=NAME [<flags>]
    Delete a Papertrail logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Papertrail logging object

  logging sumologic create --name=NAME --version=VERSION --url=URL [<flags>]
    Create a Sumologic logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Sumologic logging object. Used
                                 as a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --url=URL                The URL to POST to
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug. This field
                                 is not required and has no default value

  logging sumologic list --version=VERSION [<flags>]
    List Sumologic endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging sumologic describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Sumologic logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Sumologic logging object

  logging sumologic update --version=VERSION --name=NAME [<flags>]
    Update a Sumologic logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Sumologic logging object
        --new-name=NEW-NAME      New name of the Sumologic logging object
        --url=URL                The URL to POST to
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug. This field
                                 is not required and has no default value

  logging sumologic delete --version=VERSION --name=NAME [<flags>]
    Delete a Sumologic logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Sumologic logging object

  logging gcs create --name=NAME --version=VERSION --user=USER --bucket=BUCKET --secret-key=SECRET-KEY [<flags>]
    Create a GCS logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the GCS logging object. Used as a
                                 primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --user=USER              Your GCS service account email address. The
                                 client_email field in your service account
                                 authentication JSON
        --bucket=BUCKET          The bucket of the GCS bucket
        --secret-key=SECRET-KEY  Your GCS account secret key. The private_key
                                 field in your service account authentication
                                 JSON
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --path=PATH              The path to upload logs to (default '/')
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging gcs list --version=VERSION [<flags>]
    List GCS endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging gcs describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a GCS logging endpoint on a Fastly service
    version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the GCS logging object

  logging gcs update --version=VERSION --name=NAME [<flags>]
    Update a GCS logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the GCS logging object
        --new-name=NEW-NAME      New name of the GCS logging object
        --bucket=BUCKET          The bucket of the GCS bucket
        --user=USER              Your GCS service account email address. The
                                 client_email field in your service account
                                 authentication JSON
        --secret-key=SECRET-KEY  Your GCS account secret key. The private_key
                                 field in your service account authentication
                                 JSON
        --path=PATH              The path to upload logs to (default '/')
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging gcs delete --version=VERSION --name=NAME [<flags>]
    Delete a GCS logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the GCS logging object

  logging ftp create --name=NAME --version=VERSION --address=ADDRESS --user=USER --password=PASSWORD [<flags>]
    Create an FTP logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the FTP logging object. Used as a
                                 primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --address=ADDRESS        An hostname or IPv4 address
        --user=USER              The username for the server (can be anonymous)
        --password=PASSWORD      The password for the server (for anonymous use
                                 an email address)
        --port=PORT              The port number
        --path=PATH              The path to upload log files to. If the path
                                 ends in / then it is treated as a directory
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging ftp list --version=VERSION [<flags>]
    List FTP endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging ftp describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about an FTP logging endpoint on a Fastly service
    version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the FTP logging object

  logging ftp update --version=VERSION --name=NAME [<flags>]
    Update an FTP logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the FTP logging object
        --new-name=NEW-NAME      New name of the FTP logging object
        --address=ADDRESS        An hostname or IPv4 address
        --port=PORT              The port number
        --username=USERNAME      The username for the server (can be anonymous)
        --password=PASSWORD      The password for the server (for anonymous use
                                 an email address)
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk
        --path=PATH              The path to upload log files to. If the path
                                 ends in / then it is treated as a directory
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (the default, version 2 log format) or 1 (the
                                 version 1 log format). The logging call gets
                                 placed by default in vcl_log if format_version
                                 is set to 2 and in vcl_deliver if
                                 format_version is set to 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging ftp delete --version=VERSION --name=NAME [<flags>]
    Delete an FTP logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the FTP logging object

  logging splunk create --name=NAME --version=VERSION --url=URL [<flags>]
    Create a Splunk logging endpoint on a Fastly service version

    -n, --name=NAME                The name of the Splunk logging object. Used
                                   as a primary key for API access
    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
        --url=URL                  The URL to POST to
        --tls-ca-cert=TLS-CA-CERT  A secure certificate to authenticate the
                                   server with. Must be in PEM format
        --tls-hostname=TLS-HOSTNAME  
                                   The hostname used to verify the server's
                                   certificate. It can either be the Common Name
                                   or a Subject Alternative Name (SAN)
        --format=FORMAT            Apache style log formatting
        --format-version=FORMAT-VERSION  
                                   The version of the custom logging format used
                                   for the configured endpoint. Can be either 2
                                   (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                   The name of an existing condition in the
                                   configured endpoint, or leave blank to always
                                   execute
        --placement=PLACEMENT      Where in the generated VCL the logging call
                                   should be placed, overriding any
                                   format_version default. Can be none or
                                   waf_debug
        --auth-token=AUTH-TOKEN    A Splunk token for use in posting logs over
                                   HTTP to your collector

  logging splunk list --version=VERSION [<flags>]
    List Splunk endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging splunk describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Splunk logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Splunk logging object

  logging splunk update --version=VERSION --name=NAME [<flags>]
    Update a Splunk logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
    -n, --name=NAME                The name of the Splunk logging object
        --new-name=NEW-NAME        New name of the Splunk logging object
        --url=URL                  The URL to POST to.
        --tls-ca-cert=TLS-CA-CERT  A secure certificate to authenticate the
                                   server with. Must be in PEM format
        --tls-hostname=TLS-HOSTNAME  
                                   The hostname used to verify the server's
                                   certificate. It can either be the Common Name
                                   or a Subject Alternative Name (SAN)
        --format=FORMAT            Apache style log formatting
        --format-version=FORMAT-VERSION  
                                   The version of the custom logging format used
                                   for the configured endpoint. Can be either 2
                                   (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                   The name of an existing condition in the
                                   configured endpoint, or leave blank to always
                                   execute
        --placement=PLACEMENT      Where in the generated VCL the logging call
                                   should be placed, overriding any
                                   format_version default. Can be none or
                                   waf_debug. This field is not required and has
                                   no default value
        --auth-token=AUTH-TOKEN    

  logging splunk delete --version=VERSION --name=NAME [<flags>]
    Delete a Splunk logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Splunk logging object

  logging scalyr create --name=NAME --version=VERSION --auth-token=AUTH-TOKEN [<flags>]
    Create a Scalyr logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Scalyr logging object. Used as
                                 a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --auth-token=AUTH-TOKEN  The token to use for authentication
                                 (https://www.scalyr.com/keys)
        --region=REGION          The region that log data will be sent to. One
                                 of US or EU. Defaults to US if undefined
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging scalyr list --version=VERSION [<flags>]
    List Scalyr endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging scalyr describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Scalyr logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Scalyr logging object

  logging scalyr update --version=VERSION --name=NAME [<flags>]
    Update a Scalyr logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Scalyr logging object
        --new-name=NEW-NAME      New name of the Scalyr logging object
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --auth-token=AUTH-TOKEN  The token to use for authentication
                                 (https://www.scalyr.com/keys)
        --region=REGION          The region that log data will be sent to. One
                                 of US or EU. Defaults to US if undefined
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging scalyr delete --version=VERSION --name=NAME [<flags>]
    Delete a Scalyr logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Scalyr logging object

  logging loggly create --name=NAME --version=VERSION --auth-token=AUTH-TOKEN [<flags>]
    Create a Loggly logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Loggly logging object. Used as
                                 a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --auth-token=AUTH-TOKEN  The token to use for authentication
                                 (https://www.loggly.com/docs/customer-token-authentication-token/)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging loggly list --version=VERSION [<flags>]
    List Loggly endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging loggly describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Loggly logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Loggly logging object

  logging loggly update --version=VERSION --name=NAME [<flags>]
    Update a Loggly logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Loggly logging object
        --new-name=NEW-NAME      New name of the Loggly logging object
        --auth-token=AUTH-TOKEN  The token to use for authentication
                                 (https://www.loggly.com/docs/customer-token-authentication-token/)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging loggly delete --version=VERSION --name=NAME [<flags>]
    Delete a Loggly logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Loggly logging object

  logging honeycomb create --name=NAME --version=VERSION --dataset=DATASET --auth-token=AUTH-TOKEN [<flags>]
    Create a Honeycomb logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Honeycomb logging object. Used
                                 as a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --dataset=DATASET        The Honeycomb Dataset you want to log to
        --auth-token=AUTH-TOKEN  The Write Key from the Account page of your
                                 Honeycomb account
        --format=FORMAT          Apache style log formatting. Your log must
                                 produce valid JSON that Honeycomb can ingest
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging honeycomb list --version=VERSION [<flags>]
    List Honeycomb endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging honeycomb describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Honeycomb logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Honeycomb logging object

  logging honeycomb update --version=VERSION --name=NAME [<flags>]
    Update a Honeycomb logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Honeycomb logging object
        --new-name=NEW-NAME      New name of the Honeycomb logging object
        --format=FORMAT          Apache style log formatting. Your log must
                                 produce valid JSON that Honeycomb can ingest
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --dataset=DATASET        The Honeycomb Dataset you want to log to
        --auth-token=AUTH-TOKEN  The Write Key from the Account page of your
                                 Honeycomb account
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging honeycomb delete --version=VERSION --name=NAME [<flags>]
    Delete a Honeycomb logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Honeycomb logging object

  logging heroku create --name=NAME --version=VERSION --url=URL --auth-token=AUTH-TOKEN [<flags>]
    Create a Heroku logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Heroku logging object. Used as
                                 a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --url=URL                The url to stream logs to
        --auth-token=AUTH-TOKEN  The token to use for authentication
                                 (https://devcenter.heroku.com/articles/add-on-partner-log-integration)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging heroku list --version=VERSION [<flags>]
    List Heroku endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging heroku describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Heroku logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Heroku logging object

  logging heroku update --version=VERSION --name=NAME [<flags>]
    Update a Heroku logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Heroku logging object
        --new-name=NEW-NAME      New name of the Heroku logging object
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --url=URL                The url to stream logs to
        --auth-token=AUTH-TOKEN  The token to use for authentication
                                 (https://devcenter.heroku.com/articles/add-on-partner-log-integration)
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging heroku delete --version=VERSION --name=NAME [<flags>]
    Delete a Heroku logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Heroku logging object

  logging sftp create --name=NAME --version=VERSION --address=ADDRESS --user=USER --ssh-known-hosts=SSH-KNOWN-HOSTS [<flags>]
    Create an SFTP logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the SFTP logging object. Used as a
                                 primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --address=ADDRESS        The hostname or IPv4 addres
        --user=USER              The username for the server
        --ssh-known-hosts=SSH-KNOWN-HOSTS  
                                 A list of host keys for all hosts we can
                                 connect to over SFTP
        --port=PORT              The port number
        --password=PASSWORD      The password for the server. If both password
                                 and secret_key are passed, secret_key will be
                                 used in preference
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk
        --secret-key=SECRET-KEY  The SSH private key for the server. If both
                                 password and secret_key are passed, secret_key
                                 will be used in preference
        --path=PATH              The path to upload logs to. The directory must
                                 exist on the SFTP server before logs can be
                                 saved to it
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging sftp list --version=VERSION [<flags>]
    List SFTP endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging sftp describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about an SFTP logging endpoint on a Fastly service
    version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the SFTP logging object

  logging sftp update --version=VERSION --name=NAME [<flags>]
    Update an SFTP logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the SFTP logging object
        --new-name=NEW-NAME      New name of the SFTP logging object
        --address=ADDRESS        The hostname or IPv4 address
        --port=PORT              The port number
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk
        --secret-key=SECRET-KEY  The SSH private key for the server. If both
                                 password and secret_key are passed, secret_key
                                 will be used in preference
        --ssh-known-hosts=SSH-KNOWN-HOSTS  
                                 A list of host keys for all hosts we can
                                 connect to over SFTP
        --user=USER              The username for the server
        --password=PASSWORD      The password for the server. If both password
                                 and secret_key are passed, secret_key will be
                                 used in preference
        --path=PATH              The path to upload logs to. The directory must
                                 exist on the SFTP server before logs can be
                                 saved to it
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging sftp delete --version=VERSION --name=NAME [<flags>]
    Delete an SFTP logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the SFTP logging object

  logging logshuttle create --name=NAME --version=VERSION --url=URL --auth-token=AUTH-TOKEN [<flags>]
    Create a Logshuttle logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Logshuttle logging object. Used
                                 as a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --url=URL                Your Log Shuttle endpoint url
        --auth-token=AUTH-TOKEN  The data authentication token associated with
                                 this endpoint
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging logshuttle list --version=VERSION [<flags>]
    List Logshuttle endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging logshuttle describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Logshuttle logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Logshuttle logging object

  logging logshuttle update --version=VERSION --name=NAME [<flags>]
    Update a Logshuttle logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Logshuttle logging object
        --new-name=NEW-NAME      New name of the Logshuttle logging object
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --url=URL                Your Log Shuttle endpoint url
        --auth-token=AUTH-TOKEN  The data authentication token associated with
                                 this endpoint
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging logshuttle delete --version=VERSION --name=NAME [<flags>]
    Delete a Logshuttle logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Logshuttle logging object

  logging cloudfiles create --name=NAME --version=VERSION --user=USER --access-key=ACCESS-KEY --bucket=BUCKET [<flags>]
    Create a Cloudfiles logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Cloudfiles logging object. Used
                                 as a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --user=USER              The username for your Cloudfile account
        --access-key=ACCESS-KEY  Your Cloudfile account access key
        --bucket=BUCKET          The name of your Cloudfiles container
        --path=PATH              The path to upload logs to
        --region=REGION          The region to stream logs to. One of:
                                 DFW-Dallas, ORD-Chicago, IAD-Northern Virginia,
                                 LON-London, SYD-Sydney, HKG-Hong Kong
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk

  logging cloudfiles list --version=VERSION [<flags>]
    List Cloudfiles endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging cloudfiles describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Cloudfiles logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Cloudfiles logging object

  logging cloudfiles update --version=VERSION --name=NAME [<flags>]
    Update a Cloudfiles logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Cloudfiles logging object
        --new-name=NEW-NAME      New name of the Cloudfiles logging object
        --user=USER              The username for your Cloudfile account
        --access-key=ACCESS-KEY  Your Cloudfile account access key
        --bucket=BUCKET          The name of your Cloudfiles container
        --path=PATH              The path to upload logs to
        --region=REGION          The region to stream logs to. One of:
                                 DFW-Dallas, ORD-Chicago, IAD-Northern Virginia,
                                 LON-London, SYD-Sydney, HKG-Hong Kong
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk

  logging cloudfiles delete --version=VERSION --name=NAME [<flags>]
    Delete a Cloudfiles logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Cloudfiles logging object

  logging digitalocean create --name=NAME --version=VERSION --bucket=BUCKET --access-key=ACCESS-KEY --secret-key=SECRET-KEY [<flags>]
    Create a DigitalOcean Spaces logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the DigitalOcean Spaces logging
                                 object. Used as a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --bucket=BUCKET          The name of the DigitalOcean Space
        --access-key=ACCESS-KEY  Your DigitalOcean Spaces account access key
        --secret-key=SECRET-KEY  Your DigitalOcean Spaces account secret key
        --domain=DOMAIN          The domain of the DigitalOcean Spaces endpoint
                                 (default 'nyc3.digitaloceanspaces.com')
        --path=PATH              The path to upload logs to
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk

  logging digitalocean list --version=VERSION [<flags>]
    List DigitalOcean Spaces logging endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging digitalocean describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a DigitalOcean Spaces logging endpoint on a
    Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the DigitalOcean Spaces logging
                                 object

  logging digitalocean update --version=VERSION --name=NAME [<flags>]
    Update a DigitalOcean Spaces logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the DigitalOcean Spaces logging
                                 object
        --new-name=NEW-NAME      New name of the DigitalOcean Spaces logging
                                 object
        --bucket=BUCKET          The name of the DigitalOcean Space
        --domain=DOMAIN          The domain of the DigitalOcean Spaces endpoint
                                 (default 'nyc3.digitaloceanspaces.com')
        --access-key=ACCESS-KEY  Your DigitalOcean Spaces account access key
        --secret-key=SECRET-KEY  Your DigitalOcean Spaces account secret key
        --path=PATH              The path to upload logs to
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk

  logging digitalocean delete --version=VERSION --name=NAME [<flags>]
    Delete a DigitalOcean Spaces logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the DigitalOcean Spaces logging
                                 object

  logging elasticsearch create --name=NAME --version=VERSION --index=INDEX --url=URL [<flags>]
    Create an Elasticsearch logging endpoint on a Fastly service version

    -n, --name=NAME                The name of the Elasticsearch logging object.
                                   Used as a primary key for API access
    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
        --index=INDEX              The name of the Elasticsearch index to send
                                   documents (logs) to. The index must follow
                                   the Elasticsearch index format rules
                                   (https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html).
                                   We support strftime
                                   (http://man7.org/linux/man-pages/man3/strftime.3.html)
                                   interpolated variables inside braces prefixed
                                   with a pound symbol. For example, #{%F} will
                                   interpolate as YYYY-MM-DD with today's date
        --url=URL                  The URL to stream logs to. Must use HTTPS.
        --pipeline=PIPELINE        The ID of the Elasticsearch ingest pipeline
                                   to apply pre-process transformations to
                                   before indexing. For example my_pipeline_id.
                                   Learn more about creating a pipeline in the
                                   Elasticsearch docs
                                   (https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html)
        --tls-ca-cert=TLS-CA-CERT  A secure certificate to authenticate the
                                   server with. Must be in PEM format
        --tls-client-cert=TLS-CLIENT-CERT  
                                   The client certificate used to make
                                   authenticated requests. Must be in PEM format
        --tls-client-key=TLS-CLIENT-KEY  
                                   The client private key used to make
                                   authenticated requests. Must be in PEM format
        --tls-hostname=TLS-HOSTNAME  
                                   The hostname used to verify the server's
                                   certificate. It can either be the Common Name
                                   or a Subject Alternative Name (SAN)
        --format=FORMAT            Apache style log formatting. Your log must
                                   produce valid JSON that Elasticsearch can
                                   ingest
        --format-version=FORMAT-VERSION  
                                   The version of the custom logging format used
                                   for the configured endpoint. Can be either 2
                                   (default) or 1
        --placement=PLACEMENT      Where in the generated VCL the logging call
                                   should be placed, overriding any
                                   format_version default. Can be none or
                                   waf_debug
        --response-condition=RESPONSE-CONDITION  
                                   The name of an existing condition in the
                                   configured endpoint, or leave blank to always
                                   execute
        --request-max-entries=REQUEST-MAX-ENTRIES  
                                   Maximum number of logs to append to a batch,
                                   if non-zero. Defaults to 0 for unbounded
        --request-max-bytes=REQUEST-MAX-BYTES  
                                   Maximum size of log batch, if non-zero.
                                   Defaults to 0 for unbounded

  logging elasticsearch list --version=VERSION [<flags>]
    List Elasticsearch endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging elasticsearch describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about an Elasticsearch logging endpoint on a
    Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Elasticsearch logging object

  logging elasticsearch update --version=VERSION --name=NAME [<flags>]
    Update an Elasticsearch logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
    -n, --name=NAME                The name of the Elasticsearch logging object
        --new-name=NEW-NAME        New name of the Elasticsearch logging object
        --index=INDEX              The name of the Elasticsearch index to send
                                   documents (logs) to. The index must follow
                                   the Elasticsearch index format rules
                                   (https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html).
                                   We support strftime
                                   (http://man7.org/linux/man-pages/man3/strftime.3.html)
                                   interpolated variables inside braces prefixed
                                   with a pound symbol. For example, #{%F} will
                                   interpolate as YYYY-MM-DD with today's date
        --url=URL                  The URL to stream logs to. Must use HTTPS.
        --pipeline=PIPELINE        The ID of the Elasticsearch ingest pipeline
                                   to apply pre-process transformations to
                                   before indexing. For example my_pipeline_id.
                                   Learn more about creating a pipeline in the
                                   Elasticsearch docs
                                   (https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html)
        --tls-ca-cert=TLS-CA-CERT  A secure certificate to authenticate the
                                   server with. Must be in PEM format
        --tls-client-cert=TLS-CLIENT-CERT  
                                   The client certificate used to make
                                   authenticated requests. Must be in PEM format
        --tls-client-key=TLS-CLIENT-KEY  
                                   The client private key used to make
                                   authenticated requests. Must be in PEM format
        --tls-hostname=TLS-HOSTNAME  
                                   The hostname used to verify the server's
                                   certificate. It can either be the Common Name
                                   or a Subject Alternative Name (SAN)
        --format=FORMAT            Apache style log formatting. Your log must
                                   produce valid JSON that Elasticsearch can
                                   ingest
        --format-version=FORMAT-VERSION  
                                   The version of the custom logging format used
                                   for the configured endpoint. Can be either 2
                                   (default) or 1
        --placement=PLACEMENT      Where in the generated VCL the logging call
                                   should be placed, overriding any
                                   format_version default. Can be none or
                                   waf_debug
        --response-condition=RESPONSE-CONDITION  
                                   The name of an existing condition in the
                                   configured endpoint, or leave blank to always
                                   execute
        --request-max-entries=REQUEST-MAX-ENTRIES  
                                   Maximum number of logs to append to a batch,
                                   if non-zero. Defaults to 0 for unbounded
        --request-max-bytes=REQUEST-MAX-BYTES  
                                   Maximum size of log batch, if non-zero.
                                   Defaults to 0 for unbounded

  logging elasticsearch delete --version=VERSION --name=NAME [<flags>]
    Delete an Elasticsearch logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Elasticsearch logging object

  logging azureblob create --name=NAME --version=VERSION --container=CONTAINER --account-name=ACCOUNT-NAME --sas-token=SAS-TOKEN [<flags>]
    Create an Azure Blob Storage logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Azure Blob Storage logging
                                 object. Used as a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --container=CONTAINER    The name of the Azure Blob Storage container in
                                 which to store logs
        --account-name=ACCOUNT-NAME  
                                 The unique Azure Blob Storage namespace in
                                 which your data objects are stored
        --sas-token=SAS-TOKEN    The Azure shared access signature providing
                                 write access to the blob service objects. Be
                                 sure to update your token before it expires or
                                 the logging functionality will not work
        --path=PATH              The path to upload logs to
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk

  logging azureblob list --version=VERSION [<flags>]
    List Azure Blob Storage logging endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging azureblob describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about an Azure Blob Storage logging endpoint on a
    Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Azure Blob Storage logging
                                 object

  logging azureblob update --version=VERSION --name=NAME [<flags>]
    Update an Azure Blob Storage logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Azure Blob Storage logging
                                 object
        --new-name=NEW-NAME      New name of the Azure Blob Storage logging
                                 object
        --container=CONTAINER    The name of the Azure Blob Storage container in
                                 which to store logs
        --account-name=ACCOUNT-NAME  
                                 The unique Azure Blob Storage namespace in
                                 which your data objects are stored
        --sas-token=SAS-TOKEN    The Azure shared access signature providing
                                 write access to the blob service objects. Be
                                 sure to update your token before it expires or
                                 the logging functionality will not work
        --path=PATH              The path to upload logs to
        --period=PERIOD          How frequently log files are finalized so they
                                 can be available for reading (in seconds,
                                 default 3600)
        --gzip-level=GZIP-LEVEL  What level of GZIP encoding to have when
                                 dumping logs (default 0, no compression)
        --format=FORMAT          Apache style log formatting
        --message-type=MESSAGE-TYPE  
                                 How the message should be formatted. One of:
                                 classic (default), loggly, logplex or blank
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --timestamp-format=TIMESTAMP-FORMAT  
                                 strftime specified timestamp formatting
                                 (default "%Y-%m-%dT%H:%M:%S.000")
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug
        --public-key=PUBLIC-KEY  A PGP public key that Fastly will use to
                                 encrypt your log files before writing them to
                                 disk

  logging azureblob delete --version=VERSION --name=NAME [<flags>]
    Delete an Azure Blob Storage logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Azure Blob Storage logging
                                 object

  logging datadog create --name=NAME --version=VERSION --auth-token=AUTH-TOKEN [<flags>]
    Create a Datadog logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Datadog logging object. Used as
                                 a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --auth-token=AUTH-TOKEN  The API key from your Datadog account
        --region=REGION          The region that log data will be sent to. One
                                 of US or EU. Defaults to US if undefined
        --format=FORMAT          Apache style log formatting. For details on the
                                 default value refer to the documentation
                                 (https://developer.fastly.com/reference/api/logging/datadog/)
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging datadog list --version=VERSION [<flags>]
    List Datadog endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging datadog describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Datadog logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Datadog logging object

  logging datadog update --version=VERSION --name=NAME [<flags>]
    Update a Datadog logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Datadog logging object
        --new-name=NEW-NAME      New name of the Datadog logging object
        --auth-token=AUTH-TOKEN  The API key from your Datadog account
        --region=REGION          The region that log data will be sent to. One
                                 of US or EU. Defaults to US if undefined
        --format=FORMAT          Apache style log formatting. For details on the
                                 default value refer to the documentation
                                 (https://developer.fastly.com/reference/api/logging/datadog/)
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug

  logging datadog delete --version=VERSION --name=NAME [<flags>]
    Delete a Datadog logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Datadog logging object

  logging https create --name=NAME --version=VERSION --url=URL [<flags>]
    Create an HTTPS logging endpoint on a Fastly service version

    -n, --name=NAME                The name of the HTTPS logging object. Used as
                                   a primary key for API access
    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
        --url=URL                  URL that log data will be sent to. Must use
                                   the https protocol
        --content-type=CONTENT-TYPE  
                                   Content type of the header sent with the
                                   request
        --header-name=HEADER-NAME  Name of the custom header sent with the
                                   request
        --header-value=HEADER-VALUE  
                                   Value of the custom header sent with the
                                   request
        --method=METHOD            HTTP method used for request. Can be POST or
                                   PUT. Defaults to POST if not specified
        --json-format=JSON-FORMAT  Enforces valid JSON formatting for log
                                   entries. Can be disabled 0, array of json
                                   (wraps JSON log batches in an array) 1, or
                                   newline delimited json (places each JSON log
                                   entry onto a new line in a batch) 2
        --tls-ca-cert=TLS-CA-CERT  A secure certificate to authenticate the
                                   server with. Must be in PEM format
        --tls-client-cert=TLS-CLIENT-CERT  
                                   The client certificate used to make
                                   authenticated requests. Must be in PEM format
        --tls-client-key=TLS-CLIENT-KEY  
                                   The client private key used to make
                                   authenticated requests. Must be in PEM format
        --tls-hostname=TLS-HOSTNAME  
                                   The hostname used to verify the server's
                                   certificate. It can either be the Common Name
                                   or a Subject Alternative Name (SAN)
        --message-type=MESSAGE-TYPE  
                                   How the message should be formatted. One of:
                                   classic (default), loggly, logplex or blank
        --format=FORMAT            Apache style log formatting. Your log must
                                   produce valid JSON that HTTPS can ingest
        --format-version=FORMAT-VERSION  
                                   The version of the custom logging format used
                                   for the configured endpoint. Can be either 2
                                   (default) or 1
        --placement=PLACEMENT      Where in the generated VCL the logging call
                                   should be placed, overriding any
                                   format_version default. Can be none or
                                   waf_debug
        --response-condition=RESPONSE-CONDITION  
                                   The name of an existing condition in the
                                   configured endpoint, or leave blank to always
                                   execute
        --request-max-entries=REQUEST-MAX-ENTRIES  
                                   Maximum number of logs to append to a batch,
                                   if non-zero. Defaults to 0 for unbounded
        --request-max-bytes=REQUEST-MAX-BYTES  
                                   Maximum size of log batch, if non-zero.
                                   Defaults to 0 for unbounded

  logging https list --version=VERSION [<flags>]
    List HTTPS endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging https describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about an HTTPS logging endpoint on a Fastly
    service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the HTTPS logging object

  logging https update --version=VERSION --name=NAME [<flags>]
    Update an HTTPS logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
    -n, --name=NAME                The name of the HTTPS logging object
        --new-name=NEW-NAME        New name of the HTTPS logging object
        --url=URL                  URL that log data will be sent to. Must use
                                   the https protocol
        --content-type=CONTENT-TYPE  
                                   Content type of the header sent with the
                                   request
        --header-name=HEADER-NAME  Name of the custom header sent with the
                                   request
        --header-value=HEADER-VALUE  
                                   Value of the custom header sent with the
                                   request
        --method=METHOD            HTTP method used for request. Can be POST or
                                   PUT. Defaults to POST if not specified
        --json-format=JSON-FORMAT  Enforces valid JSON formatting for log
                                   entries. Can be disabled 0, array of json
                                   (wraps JSON log batches in an array) 1, or
                                   newline delimited json (places each JSON log
                                   entry onto a new line in a batch) 2
        --tls-ca-cert=TLS-CA-CERT  A secure certificate to authenticate the
                                   server with. Must be in PEM format
        --tls-client-cert=TLS-CLIENT-CERT  
                                   The client certificate used to make
                                   authenticated requests. Must be in PEM format
        --tls-client-key=TLS-CLIENT-KEY  
                                   The client private key used to make
                                   authenticated requests. Must be in PEM format
        --tls-hostname=TLS-HOSTNAME  
                                   The hostname used to verify the server's
                                   certificate. It can either be the Common Name
                                   or a Subject Alternative Name (SAN)
        --message-type=MESSAGE-TYPE  
                                   How the message should be formatted. One of:
                                   classic (default), loggly, logplex or blank
        --format=FORMAT            Apache style log formatting. Your log must
                                   produce valid JSON that HTTPS can ingest
        --format-version=FORMAT-VERSION  
                                   The version of the custom logging format used
                                   for the configured endpoint. Can be either 2
                                   (default) or 1
        --placement=PLACEMENT      Where in the generated VCL the logging call
                                   should be placed, overriding any
                                   format_version default. Can be none or
                                   waf_debug
        --response-condition=RESPONSE-CONDITION  
                                   The name of an existing condition in the
                                   configured endpoint, or leave blank to always
                                   execute
        --request-max-entries=REQUEST-MAX-ENTRIES  
                                   Maximum number of logs to append to a batch,
                                   if non-zero. Defaults to 0 for unbounded
        --request-max-bytes=REQUEST-MAX-BYTES  
                                   Maximum size of log batch, if non-zero.
                                   Defaults to 0 for unbounded

  logging https delete --version=VERSION --name=NAME [<flags>]
    Delete an HTTPS logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the HTTPS logging object

  logging kafka create --name=NAME --version=VERSION --topic=TOPIC --brokers=BROKERS [<flags>]
    Create a Kafka logging endpoint on a Fastly service version

    -n, --name=NAME                The name of the Kafka logging object. Used as
                                   a primary key for API access
    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
        --topic=TOPIC              The Kafka topic to send logs to
        --brokers=BROKERS          A comma-separated list of IP addresses or
                                   hostnames of Kafka brokers
        --compression-codec=COMPRESSION-CODEC  
                                   The codec used for compression of your logs.
                                   One of: gzip, snappy, lz4
        --required-acks=REQUIRED-ACKS  
                                   The Number of acknowledgements a leader must
                                   receive before a write is considered
                                   successful. One of: 1 (default) One server
                                   needs to respond. 0 No servers need to
                                   respond. -1 Wait for all in-sync replicas to
                                   respond
        --use-tls                  Whether to use TLS for secure logging. Can be
                                   either true or false
        --tls-ca-cert=TLS-CA-CERT  A secure certificate to authenticate the
                                   server with. Must be in PEM format
        --tls-client-cert=TLS-CLIENT-CERT  
                                   The client certificate used to make
                                   authenticated requests. Must be in PEM format
        --tls-client-key=TLS-CLIENT-KEY  
                                   The client private key used to make
                                   authenticated requests. Must be in PEM format
        --tls-hostname=TLS-HOSTNAME  
                                   The hostname used to verify the server's
                                   certificate. It can either be the Common Name
                                   or a Subject Alternative Name (SAN)
        --format=FORMAT            Apache style log formatting. Your log must
                                   produce valid JSON that Kafka can ingest
        --format-version=FORMAT-VERSION  
                                   The version of the custom logging format used
                                   for the configured endpoint. Can be either 2
                                   (default) or 1
        --placement=PLACEMENT      Where in the generated VCL the logging call
                                   should be placed, overriding any
                                   format_version default. Can be none or
                                   waf_debug
        --response-condition=RESPONSE-CONDITION  
                                   The name of an existing condition in the
                                   configured endpoint, or leave blank to always
                                   execute

  logging kafka list --version=VERSION [<flags>]
    List Kafka endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging kafka describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Kafka logging endpoint on a Fastly service
    version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Kafka logging object

  logging kafka update --version=VERSION --name=NAME [<flags>]
    Update a Kafka logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID    Service ID
        --version=VERSION          Number of service version
    -n, --name=NAME                The name of the Kafka logging object
        --new-name=NEW-NAME        New name of the Kafka logging object
        --topic=TOPIC              The Kafka topic to send logs to
        --brokers=BROKERS          A comma-separated list of IP addresses or
                                   hostnames of Kafka brokers
        --compression-codec=COMPRESSION-CODEC  
                                   The codec used for compression of your logs.
                                   One of: gzip, snappy, lz4
        --required-acks=REQUIRED-ACKS  
                                   The Number of acknowledgements a leader must
                                   receive before a write is considered
                                   successful. One of: 1 (default) One server
                                   needs to respond. 0 No servers need to
                                   respond. -1 Wait for all in-sync replicas to
                                   respond
        --use-tls                  Whether to use TLS for secure logging. Can be
                                   either true or false
        --tls-ca-cert=TLS-CA-CERT  A secure certificate to authenticate the
                                   server with. Must be in PEM format
        --tls-client-cert=TLS-CLIENT-CERT  
                                   The client certificate used to make
                                   authenticated requests. Must be in PEM format
        --tls-client-key=TLS-CLIENT-KEY  
                                   The client private key used to make
                                   authenticated requests. Must be in PEM format
        --tls-hostname=TLS-HOSTNAME  
                                   The hostname used to verify the server's
                                   certificate. It can either be the Common Name
                                   or a Subject Alternative Name (SAN)
        --format=FORMAT            Apache style log formatting. Your log must
                                   produce valid JSON that Kafka can ingest
        --format-version=FORMAT-VERSION  
                                   The version of the custom logging format used
                                   for the configured endpoint. Can be either 2
                                   (default) or 1
        --placement=PLACEMENT      Where in the generated VCL the logging call
                                   should be placed, overriding any
                                   format_version default. Can be none or
                                   waf_debug
        --response-condition=RESPONSE-CONDITION  
                                   The name of an existing condition in the
                                   configured endpoint, or leave blank to always
                                   execute

  logging kafka delete --version=VERSION --name=NAME [<flags>]
    Delete a Kafka logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Kafka logging object

  logging googlepubsub create --name=NAME --version=VERSION --user=USER --secret-key=SECRET-KEY --topic=TOPIC --project-id=PROJECT-ID [<flags>]
    Create a Google Cloud Pub/Sub logging endpoint on a Fastly service version

    -n, --name=NAME              The name of the Google Cloud Pub/Sub logging
                                 object. Used as a primary key for API access
    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
        --user=USER              Your Google Cloud Platform service account
                                 email address. The client_email field in your
                                 service account authentication JSON
        --secret-key=SECRET-KEY  Your Google Cloud Platform account secret key.
                                 The private_key field in your service account
                                 authentication JSON
        --topic=TOPIC            The Google Cloud Pub/Sub topic to which logs
                                 will be published
        --project-id=PROJECT-ID  The ID of your Google Cloud Platform project
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug. This field
                                 is not required and has no default value
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute

  logging googlepubsub list --version=VERSION [<flags>]
    List Google Cloud Pub/Sub endpoints on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version

  logging googlepubsub describe --version=VERSION --name=NAME [<flags>]
    Show detailed information about a Google Cloud Pub/Sub logging endpoint on a
    Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Google Cloud Pub/Sub logging
                                 object

  logging googlepubsub update --version=VERSION --name=NAME [<flags>]
    Update a Google Cloud Pub/Sub logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Google Cloud Pub/Sub logging
                                 object
        --new-name=NEW-NAME      New name of the Google Cloud Pub/Sub logging
                                 object
        --user=USER              Your Google Cloud Platform service account
                                 email address. The client_email field in your
                                 service account authentication JSON
        --secret-key=SECRET-KEY  Your Google Cloud Platform account secret key.
                                 The private_key field in your service account
                                 authentication JSON
        --topic=TOPIC            The Google Cloud Pub/Sub topic to which logs
                                 will be published
        --project-id=PROJECT-ID  The ID of your Google Cloud Platform project
        --format=FORMAT          Apache style log formatting
        --format-version=FORMAT-VERSION  
                                 The version of the custom logging format used
                                 for the configured endpoint. Can be either 2
                                 (default) or 1
        --placement=PLACEMENT    Where in the generated VCL the logging call
                                 should be placed, overriding any format_version
                                 default. Can be none or waf_debug. This field
                                 is not required and has no default value
        --response-condition=RESPONSE-CONDITION  
                                 The name of an existing condition in the
                                 configured endpoint, or leave blank to always
                                 execute

  logging googlepubsub delete --version=VERSION --name=NAME [<flags>]
    Delete a Google Cloud Pub/Sub logging endpoint on a Fastly service version

    -s, --service-id=SERVICE-ID  Service ID
        --version=VERSION        Number of service version
    -n, --name=NAME              The name of the Google Cloud Pub/Sub logging
                                 object

  stats regions
    List stats regions


  stats historical --service-id=SERVICE-ID [<flags>]
    View historical stats for a Fastly service

    -s, --service-id=SERVICE-ID  Service ID
        --from=FROM              From time, accepted formats at
                                 https://docs.fastly.com/api/stats#Range
        --to=TO                  To time
        --by=BY                  Aggregation period (minute/hour/day)
        --region=REGION          Filter by region ('stats regions' to list)
        --format=FORMAT          Output format (json)

  stats realtime --service-id=SERVICE-ID [<flags>]
    View realtime stats for a Fastly service

    -s, --service-id=SERVICE-ID  Service ID
        --format=FORMAT          Output format (json)

fastly compute build fails with "EOF"

Version
v0.15.0

Please paste the output of fastly version here.

Fastly CLI version 0.15.0 (05a2fe4)
Built with go version go1.14.4 linux/amd64

What happened

Please describe the command you ran, what you expected to happen, and what happened instead.

  1. fastly compute init --path fun
  2. Take all of the defaults
  3. fastly compute build
✓ Initializing...
✓ Verifying package manifest...
✗ Verifying local rust toolchain...

ERROR: error reading cargo metadata: EOF.

If you believe this error is the result of a bug, please file an issue: https://github.com/fastly/cli/issues/new?labels=bug&template=bug_repor
t.md

I expected it to pull down necessary dependencies.

Operations on current and active version

👋 Hello Team!
Fantastic CLI! and I'm excited about its future.
During my usage over the last few days, I came up w/ some small (perhaps) ideas I thought I'd share with y'all. Please feel free to 👍 or 👎 .

For the subcommands that require a version number, it'd be nice if I can simply set it to use the latest version or
the currently active version.
Here are some potential ideas:

# Specify some defined keywords: LATEST | ACTIVE
fastly logging syslog list -s '...' --version=LATEST

# Flags for latest and active
fastly logging syslog list -s '...' --version-latest

I'd be happy to take a crack at implementation. Lemme know what y'all think.
Thanks!

unintended files included in upload package

Fastly CLI version v0.5.0 (0fba867)

fastly compute build generates a package that contains unintended files like .main.rs.swp when vim is open. Maybe it should respect .gitignore? No I will not switch to emacs.

$ tar -tzvf pkg/ecp-loadtest-graphql.tar.gz
-rw-r--r--  0 mteodoro staff     161 Apr  8 07:57 ecp-loadtest-graphql/fastly.toml
-rw-r--r--  0 mteodoro staff     321 Apr  8 07:48 ecp-loadtest-graphql/Cargo.toml
drwxr-x---  0 mteodoro staff       0 Apr  3 17:04 ecp-loadtest-graphql/bin/
-rw-r--r--  0 mteodoro staff 34663899 Apr 17 12:24 ecp-loadtest-graphql/bin/main.wasm
drwxr-x---  0 mteodoro staff        0 Apr 17 12:24 ecp-loadtest-graphql/src/
-rw-r--r--  0 mteodoro staff    16384 Apr 17 12:24 ecp-loadtest-graphql/src/.main.rs.swp
-rw-r--r--  0 mteodoro staff     8163 Apr  8 07:58 ecp-loadtest-graphql/src/main.rs

fastly --help returns argument parsing error

Version

Fastly CLI version 0.16.1 (b12ad86)
Built with go version go1.14.6 linux/amd64

What happened

Ran the command fastly --help

got

ERROR: error parsing arguments: command not specified.

expected: this command should be complete and not continue with argument parsing.

"fastly version" complains "context deadline exceeded"

Version

$ fastly version
Fastly CLI version 0.30.0 (326882f)
Built with go version go1.16.4 linux/amd64

ERROR: there was a problem updating the versioning information for the Fastly CLI:

Get "https://developer.fastly.com/api/internal/cli-config": context deadline exceeded.

If you believe this error is the result of a bug, please file an issue: https://github.com/fastly/cli/issues/new?labels=bug&template=bug_report.md

What happened

No matter what I do, the fastly command barfs with that message.

Oddly, I can fetch the url it complains about without trouble, e.g.

$ curl https://developer.fastly.com/api/internal/cli-config

completes promptly and shows a nice config.

Add new subcommand to build and deploy a C@E service

Add a publish subcommand to fastly compute to build and deploy a service.
This was mentioned recently in two separate conversations.

After this change, fastly compute publish always builds.
If you use fastly compute deploy and have local changes, they will be ignored (existing behaviour).

Init a compute project without creating a service and objects

Currently, fastly compute init requires a valid API token and will provision a new Compute@Edge service for the user on their account and add any objects (backends, domains etc) that they provide during the wizard flow to the initial service version.

While this is normally the desired outcome there are situations when a user wants to scaffold out a project for local without touching the API:

  • They are intending on using Terraform to create and manage the compute service
  • They only want local development / experimentation before creating any object in their companies production account
  • They have no or limited network (aeroplane etc)

Therefore, it would be nice if we could provide a mechanism to scaffold out a compute project locally without creating a service. Either via a flag or changing the default behaviour to not touch the API.

This will become a more common pattern when we have a local development server an no need to publish to a service to test code.

README's build instructions do not work without additional dependencies met

staticcheck, golint, and gosec are required dependencies. Ideally, the documentation should reflect that so the user can install them, or have the build process take care of it.

% make
gofmt -l ./cmd ./pkg
go vet ./{cmd,pkg}/...
go: downloading github.com/blang/semver v3.5.1+incompatible
go: downloading github.com/fastly/go-fastly v1.7.0
go: downloading gopkg.in/src-d/go-git.v4 v4.13.1
go: downloading github.com/BurntSushi/toml v0.3.1
go: downloading github.com/google/go-cmp v0.3.1
go: downloading github.com/segmentio/textio v1.2.0
go: downloading github.com/mitchellh/go-wordwrap v1.0.0
go: downloading gopkg.in/alecthomas/kingpin.v3-unstable v3.0.0-20180810215634-df19058c872c
go: downloading github.com/kennygrant/sanitize v1.2.4
go: downloading github.com/mholt/archiver v3.1.1+incompatible
go: downloading github.com/fatih/color v1.7.0
go: downloading github.com/mholt/archiver/v3 v3.3.0
go: downloading github.com/dustinkirkland/golang-petname v0.0.0-20191129215211-8e5a1ed0cff0
go: downloading golang.org/x/crypto v0.0.0-20191029031824-8986dd9e96cf
go: downloading github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d
go: downloading golang.org/x/net v0.0.0-20200226121028-0de0cce0169b
go: downloading github.com/mattn/go-colorable v0.1.4
go: downloading github.com/nicksnyder/go-i18n v1.10.1
go: downloading github.com/klauspost/pgzip v1.2.1
go: downloading github.com/nwaples/rardecode v1.0.0
go: downloading github.com/andybalholm/brotli v0.0.0-20190621154722-5f990b63d2d6
go: downloading github.com/ajg/form v1.5.1
go: downloading github.com/google/go-github/v28 v28.1.1
go: downloading github.com/hashicorp/go-cleanhttp v0.5.1
go: downloading github.com/mitchellh/mapstructure v1.1.2
go: downloading github.com/dsnet/compress v0.0.1
go: downloading github.com/mattn/go-isatty v0.0.10
go: downloading github.com/ulikunitz/xz v0.5.6
go: downloading gopkg.in/src-d/go-billy.v4 v4.3.2
go: downloading github.com/sergi/go-diff v1.0.0
go: downloading github.com/google/jsonapi v0.0.0-20200226002910-c8283f632fb7
go: downloading golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e
go: downloading github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8
go: downloading github.com/google/go-querystring v1.0.0
go: downloading github.com/pelletier/go-toml v1.2.0
go: downloading github.com/klauspost/compress v1.9.2
go: downloading gopkg.in/yaml.v2 v2.2.8
go: downloading github.com/pierrec/lz4 v2.3.0+incompatible
go: downloading github.com/golang/snappy v0.0.1
go: downloading github.com/golang/gddo v0.0.0-20190419222130-af0f2af80721
go: downloading github.com/src-d/gcfg v1.4.0
go: downloading github.com/emirpasic/gods v1.12.0
go: downloading github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99
go: downloading github.com/mitchellh/go-homedir v1.1.0
go: downloading gopkg.in/warnings.v0 v0.1.2
go: downloading github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd
go: downloading github.com/xanzy/ssh-agent v0.2.1
staticcheck ./{cmd,pkg}/...
/bin/bash: staticcheck: command not found
make: *** [staticcheck] Error 127

ERROR: error parsing rustup constraint: improper constraint: .

✗ Verifying local rust toolchain...
ERROR: error parsing rustup constraint: improper constraint: .

Receiving this error after updating to v0.27.0? You have two options:

  • Wait five minutes, and try again twice. Your configuration will update in the background.
  • Find your configuration file (~/Library/Application Support/fastly/fastly.toml on macOS) and remove the last_checked field.

This issue will be resolved in #257.

Feature request: take service ID from FASTLY_SERVICE_ID

I tend to use the CLI in a "session" where I am working on various properties of a single service. Basically every time I invoke fastly I have to pass a service ID as a parameter.

If I happen to be in a directory with a fastly.toml manifest file, I can put the service ID in there, where it's used as a default. Otherwise, I have to specify --service-id with each command. This immediately becomes very tedious, for what I hope are obvious reasons.

It should be possible to specify a service ID via a FASTLY_SERVICE_ID env var. In case the service ID is specified in multiple ways, the priority order would be

  1. File (lowest priority)
  2. Env var
  3. Flag (highest priority)

Let me know if you're down to clown, I can do the PR.

Build failure with Cargo workspaces

Version

$ fastly version
Fastly CLI version 0.19.0 (98cb4ff)
Built with go version unknown

What happened

Build failure with a project using Cargo workspaces.

A minimum project to reproduce this problem: https://github.com/fastly/ecp-workspace-example

You can see the following error messages by make build.

(cd app && fastly compute build)
✓ Initializing...
✓ Verifying package manifest...
✓ Verifying local rust toolchain...
✗ Building package using rust toolchain...

ERROR: copying wasm binary: cannot read source file: /Users/goro-fuji/ghq/github.com/fastly/ecp-workspace-example/app/target/wasm32-wasi/release/fastly-template-rust-default.wasm.

If you believe this error is the result of a bug, please file an issue: https://github.com/fastly/cli/issues/new?labels=bug&template=bug_report.md

I'm using Cargo workspaces to test the core logic in my local machine, but it seems that fastly compute build cannot recognize the workspace project.

Good news: cargo test -p core works! 🎉

Self-update fails on Arch Linux

Version
Applies to all versions

Please paste the output of fastly version here.

Fastly CLI version 0.10.0 (306abd1)
Built with go version go1.14.3 linux/amd64

System Info

$ uname -a
Linux hostname 5.6.15-arch1-1 #1 SMP PREEMPT Wed, 27 May 2020 23:42:26 +0000 x86_64 GNU/Linux

What happened

  1. wget https://github.com/fastly/cli/releases/download/v0.10.0/fastly_v0.10.0_linux-amd64.tar.gz
  2. tar -xzf fastly_v0.10.0_linux-amd64.tar.gz -C /usr/local/bin
  3. Update using fastly update
$ sudo /usr/local/bin/fastly update
- Initializing...Current version: 0.10.0
Latest version: 0.12.0
✓ Initializing...
✓ Fetching latest release...
✗ Replacing binary...

ERROR: error moving latest binary in place: error creating destination file: open /usr/local/bin/fastly: text file busy.

If you believe this error is the result of a bug, please file an issue: https://github.com/fastly/cli/issues/new?labels=bug&template=bug_report.md

debian package doesn't install in default $PATH

Version

Fastly CLI version 0.7.1 (34ea541)
Built with go version go1.14.2 linux/amd64
$ dpkg -I fastly_0.7.1_linux_amd64.deb 
 new Debian package, version 2.0.
 size 6858676 bytes: control archive=327 bytes.
       1 bytes,     0 lines      conffiles            
     187 bytes,     9 lines      control              
      51 bytes,     1 lines      md5sums              
 Package: fastly
 Version: 0.7.1
 Section: 
 Priority: 
 Architecture: amd64
 Maintainer: Fastly
 Installed-Size: 17788
 Homepage: https://github.com/fastly/cli
 Description: no description given

What happened

fastly package targeted installation in a location not reachable by default $PATH.

$ dpkg -i fastly_0.7.1_linux_amd64.deb
$ fastly
fastly: command not found
$ which fastly
$ dpkg -L fastly
/usr
/usr/local
/usr/local/fastly

The package should probably be installed in /usr/local/bin or something reachable by default $PATH

Support more than one Rust toolchain version

Currently we force a single Rust toolchain version when compiling Rust based Compute@Edge programs via fastly compute build. Ideally we should support a SemVer range (minimum -> maximum) to be more flexible for user and CI toolchain environments.

Compute Edge hashsum should be the hash of main.wasm

Currently we hash the tarball, which might contain a newly generated main.wasm if compute build was issued before.
Furthermore, the tarball does not preserve the dates and times of e.g. Cargo.toml or fastly.toml, resulting on different hashes every time the tarball is created.

To avoid this situation, and only create new revisions when the binary changes, we want to change the code to only compute and use the hash of main.wasm.

CC @phamann

CLI shouldn't recommend Rust crate prerelease versions

Version

Please paste the output of fastly version here.

❯ fastly version
Fastly CLI version 0.18.1 (f548f88)
Built with go version go1.14.10 linux/amd64

What happened

fastly compute build checks that the version of fastly-sys used by the local project is compatible with the latest release from crates.io. Prerelease versions such as 0.6.0-beta1 mess with this check. I would propose two things:

  1. If the local project is using a prerelease version, the CLI should not fail due to an out of date version. We might want to warn if there is a non-prerelease version available that is newer than the prerelease version, but in general I would prefer that we assume that folks know what they're doing if they're specifying a prerelease manually (it can only be used if you use an = constraint explicitly in Cargo.toml, like fastly = "=0.6.0-beta1").

    Currently, if I specify fastly = "=0.6.0-beta1", I get the following output, which is incorrect both in that it's recommending I upgrade to a version I'm already using, and recommending that I use a caret dependency which does not work with prerelease versions:

ERROR: fastly-sys crate not found.

To fix this error, edit Cargo.toml with:

         fastly = "^0.6.0-beta1"
  1. If there is a prerelease version available on crates.io that is newer than the local project's version, it should never be recommended as an upgrade. For example, if a project doesn't have a fastly-sys dependency at all (e.g., if it has a fastly = "=0.2.0-alpha4" dependency), we currently recommend "^0.6.0-beta1" rather than the most recent non-prerelease version ^0.5.0.

Current workaround

Running fastly compute build --force sidesteps the issue for now, but is probably too blunt of a tool to use whenever we want to deal with a prerelease crate.

Missing support for TLS certificates

Hi,

Are there any plans to add support for TLS certificates?

The only option currently is to use curl which is non-trivial, especially crafting the json body, e.g.

#! https://developer.fastly.com/reference/api/tls/custom-certs/private-keys/
cat > /tmp/key.json <<EOF
{
  "data": {
    "type": "tls_private_key",
    "attributes": {
      "key": "$(echo "$TLS_KEY" | awk '{ printf "%s\\n", $0 }')",
      "name": "changelog.com"
    }
  }
}
EOF
curl --verbose \
  --header "Accept: application/vnd.api+json" \
  --header "Content-Type: application/vnd.api+json" \
  --header "Fastly-Key: $FASTLY_API_TOKEN" \
  --request POST \
  --data @/tmp/key.json \
  https://api.fastly.com/tls/private_keys
                                                                             
#! https://developer.fastly.com/reference/api/tls/custom-certs/certificates/
cat > /tmp/crt.json <<EOF
{
  "data": {
    "type": "tls_certificate",
    "attributes": {
      "cert_blob": "$(echo "$TLS_CRT" | awk '{ printf "%s\\n", $0 }')",
      "name": "changelog.com"
    }
  }
}
EOF
curl --verbose \
  --header "Accept: application/vnd.api+json" \
  --header "Content-Type: application/vnd.api+json" \
  --header "Fastly-Key: $FASTLY_API_TOKEN" \
  --request POST \
  --data @/tmp/crt.json \
  https://api.fastly.com/tls/certificates

Thank you, Carmina.

Feature Request: Support passing service_name in place of service_id

Service names are human understandable and service IDs are random hashes. Since the CLI already supports searching for service IDs from a service name, a user could be allowed to use a --service_name flag and let the CLI fetch the service ID from the fastly API.

This is a relatively large change in the number of files touched since almost every function takes --service_id as a flag but it could be just a few lines per file to call out to the service search function for the value.

docs: Publish to GoDoc

Rather than code dive right off the bat, I first searched for this package on the GoDoc site, but it's not published. It would be great if this package could be published to the GoDoc site. I believe this would require some refactoring to use the full GitHub paths for the package names (and imports), which would allow GoDoc to generate it automatically and index it on the GoDoc site.

References

fastly compute init should use SNI and Override host for origins

Would it be possible for fastly compute init when adding an origin over TLS to use the hostname for SNI hostname and Override host too? All the origins I talk to require SNI and to pass the real host, not the funny-three-words host, so I then have to go into the UI to fix it.

Multiple switchable profiles

👋 Hellos!

I created this issue #141 earlier sharing some thoughts. I wanted to ask if y'all have anything in mind or planned for folks using multiple API Keys and Service IDs.
I'm currently taking care of this with some functions in my bash profile, like so:

dev() {
  export FASTLY_API_KEY = '...'
  export FASTLY_SVC_ID = '...'
}
stg () {......}

In a way, this is similar to "profiles" on the AWS CLI.

So I could see something like a $HOME/.config/fastly.toml config containing these.

That being said, I understand this tool is quite new, and this probably something way at the back of the roadmap or even thoughts.

rust-crate-0.7.1: failed to compile: associated item not found in `FastlyStatus`

Version

Fastly CLI version 0.30.0 (326882f)
Built with go version go1.16.4 linux/amd64

Issue
On running fastly compute build, getting the following error

✓ Initializing...
✓ Verifying package manifest...
✓ Verifying local rust toolchain...
✗ Building package using rust toolchain...

ERROR: error during execution process:
   Compiling fastly v0.7.1
error[E0599]: no associated item named `HTTPINVALID` found for struct `FastlyStatus` in the current scope
    --> /home/ramanathan/.cargo/registry/src/github.com-1ecc6299db9ec823/fastly-0.7.1/src/http/request.rs:2198:42
     |
2198 |             fastly_shared::FastlyStatus::HTTPINVALID => SendErrorCause::Invalid,
     |                                          ^^^^^^^^^^^ associated item not found in `FastlyStatus`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0599`.
error: could not compile `fastly`

To learn more, run the command again with --verbose..

If you believe this error is the result of a bug, please file an issue: https://github.com/fastly/cli/issues/new?labels=bug&template=bug_report.md

The Cargo.toml file looks like this

[package]
name = "compute-starter-kit-rust-default"
version = "0.1.0"
authors = []

[dependencies]
fastly = "^0.7.1"
minifier = "0.0.41"

Populate package name in Cargo.toml

Version

Fastly CLI version 0.16.1 (b12ad86)

What happened

It’d be super nice if fastly compute init could populate the package name in Cargo.toml when starting from the template.

❯ mkdir codename-moonshot
❯ cd codename-moonshot
❯ fastly compute init
This utility will walk you through creating a Compute@Edge project. It only covers the
most common items, and tries to guess sensible defaults.

Press ^C at any time to quit.

Name: [codename-moonshot] 
...
[1] Starter kit (https://github.com/fastly/fastly-template-rust-default.git)
Choose option or type URL: [1] 
...
❯ grep name Cargo.toml
name = "fastly-template-rust-default"

I would expect the name to be codename-moonshot.

Add --features flag to fastly compute build command

Version

Fastly CLI version 0.31.0 (e2b6042)
Built with go version go1.16.5 linux/amd64

What happened

Not sure if here's the appropriate place to post this but I was wondering if it was possible to add a --features flag to the fastly compute build or fastly compute publish commands so we could customize the builds that are produced.

My use case is that I have a project that I want to deploy to multiple environments (prod, staging, etc) but I want to build slightly different builds for each one.

Unable to login with API key

Version

Fastly CLI version 0.9.0 (1af45eb)
Built with go version go1.14.3 linux/amd64

What happened

$ fastly configure
An API token is used to authenticate requests to the Fastly API. To create a token, visit
https://manage.fastly.com/account/personal/tokens

Fastly API token: 

✓ Initializing...
✗ Validating token...

ERROR: error validating token: Get "https://api.fastly.com/tokens/self": dial tcp 151.101.30.35:443: connect: host is down.

If you believe this error is the result of a bug, please file an issue: https://github.com/fastly/cli/issues/new?labels=bug&template=bug_report.md

To test if the host is down I did the following:

$ curl https://api.fastly.com/tokens/self
{"msg":"Provided credentials are missing or invalid"}

$ ping -c 2 151.101.30.35
PING 151.101.30.35 (151.101.30.35): 56 data bytes
64 bytes from 151.101.30.35: icmp_seq=0 ttl=59 time=129.900 ms
64 bytes from 151.101.30.35: icmp_seq=1 ttl=59 time=146.381 ms

--- 151.101.30.35 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 129.900/138.141/146.381/8.241 ms

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.