parent
bc02e54306
commit
ee32ec10d3
@ -1,2 +1,27 @@
|
||||
# eqx
|
||||
|
||||
## Token
|
||||
export PACKET_TOKEN=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
|
||||
|
||||
Or
|
||||
|
||||
|
||||
cat $HOME/.packet-cli.json
|
||||
|
||||
|
||||
{
|
||||
"token": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
|
||||
}
|
||||
|
||||
|
||||
|
||||
## Dependencies
|
||||
apt install jq
|
||||
|
||||
git clone https://github.com/packethost/packet-cli
|
||||
|
||||
mkdir -p ~/bin
|
||||
wget -O ~/bin/packet https://github.com/packethost/packet-cli/releases/download/0.1.1/packet-linux-amd64
|
||||
chmod +x ~/bin/packet
|
||||
|
||||
|
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
# eqx-cluster-create
|
||||
#
|
||||
# Create a cluster of bare metal on Equinix
|
||||
#
|
||||
# Usage:
|
||||
# eqx-cluster-create
|
||||
# Example:
|
||||
# eqx-cluster-create
|
||||
#
|
||||
|
||||
set -x
|
||||
|
||||
#
|
||||
|
||||
EQXRANDHOST=`dd bs=12 count=1 if=/dev/random 2>/dev/null | base64 | tr [:upper:] [:lower:] | tr -dc [:alpha:]`
|
||||
|
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
# Usage:
|
||||
# eqx-create-org [name]
|
||||
# Example:
|
||||
# eqx-create-org fooorg
|
||||
# eqx-create-org fooorg --description "barrog" --website "http://127.0.0.1"
|
||||
|
||||
set -x
|
||||
|
||||
packet \
|
||||
organization \
|
||||
create \
|
||||
--name "$@"
|
||||
|
||||
exit
|
||||
|
||||
Example:
|
||||
|
||||
packet organization create -n [name]
|
||||
|
||||
Usage:
|
||||
packet organization create [flags]
|
||||
|
||||
Flags:
|
||||
-d, --description string Description of the organization
|
||||
-h, --help help for create
|
||||
-l, --logo string Logo URL]
|
||||
-n, --name string Name of the organization
|
||||
-t, --twitter string Twitter URL of the organization
|
||||
-w, --website string Website URL of the organization
|
||||
|
||||
Global Flags:
|
||||
--config string Path to JSON or YAML configuration file
|
||||
--exclude strings Comma seperated Href references to collapse in results, may be dotted three levels deep
|
||||
--include strings Comma seperated Href references to expand in results, may be dotted three levels deep
|
||||
-j, --json JSON output
|
||||
--search string Search keyword for use in 'get' actions. Search is not supported by all resources.
|
||||
-y, --yaml YAML output
|
||||
|
@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
# eqx-create-project
|
||||
# Create an Equinix Project.
|
||||
# If no name is given, a random string is chosen
|
||||
#
|
||||
# Usage:
|
||||
# eqx-create-project [name]
|
||||
# Example:
|
||||
# eqx-create-project
|
||||
# eqx-create-project fooproject
|
||||
|
||||
EQXRAND=`dd bs=12 count=1 if=/dev/random 2>/dev/null | base64 | tr [:upper:] [:lower:] | tr -dc [:alpha:]`
|
||||
EQXPROJECT="$1"
|
||||
|
||||
if [[ $1 == "" ]]
|
||||
then EQXPROJECT=$EQXRAND
|
||||
fi
|
||||
|
||||
packet \
|
||||
project \
|
||||
create \
|
||||
--name \
|
||||
$EQXPROJECT \
|
||||
2>/dev/null | \
|
||||
grep -v -e "^+" -e "CREATED" | \
|
||||
cut -f 4 -d " "
|
||||
|
||||
|
||||
exit
|
||||
|
||||
2021/01/23 14:45:25 [DEBUG] POST https://api.equinix.com/metal/v1/projects
|
||||
+--------------------------------------+--------------+----------------------+
|
||||
| ID | NAME | CREATED |
|
||||
+--------------------------------------+--------------+----------------------+
|
||||
| 7ac35d0b-17be-4e76-a15a-cc68a3f3d81b | udmlbdyxsouf | 2021-01-23T21:45:26Z |
|
||||
+--------------------------------------+--------------+----------------------+
|
||||
|
||||
|
||||
packet project create --name [project_name]
|
||||
|
||||
Usage:
|
||||
packet project create [flags]
|
||||
|
||||
Flags:
|
||||
-h, --help help for create
|
||||
-n, --name string Name of the project
|
||||
-o, --organization-id string UUID of the organization
|
||||
-m, --payment-method-id string UUID of the payment method
|
||||
|
||||
Global Flags:
|
||||
--config string Path to JSON or YAML configuration file
|
||||
--exclude strings Comma seperated Href references to collapse in results, may be dotted three levels deep
|
||||
--include strings Comma seperated Href references to expand in results, may be dotted three levels deep
|
||||
-j, --json JSON output
|
||||
--search string Search keyword for use in 'get' actions. Search is not supported by all resources.
|
||||
-y, --yaml YAML output
|
||||
|
@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
# eqx-delete-project
|
||||
# Delete an Equinix Project.
|
||||
#
|
||||
# Usage:
|
||||
# eqx-delete-project [name]
|
||||
# Example:
|
||||
# eqx-delete-project fooproject
|
||||
|
||||
#set -x
|
||||
|
||||
EQXPROJECT="$1"
|
||||
|
||||
if [[ $1 == "" ]]
|
||||
then \
|
||||
echo -e "Need project name, such as:\n"
|
||||
eqx-get-project-names
|
||||
echo
|
||||
exit
|
||||
fi
|
||||
|
||||
EQXPROJECTID=`eqx-get-project-uuid $EQXPROJECT`
|
||||
|
||||
packet \
|
||||
project \
|
||||
delete \
|
||||
--id \
|
||||
$EQXPROJECTID \
|
||||
2>/dev/null
|
||||
|
||||
exit
|
||||
|
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# eqx-delete-project
|
||||
# Delete an Equinix Project.
|
||||
#
|
||||
# Usage:
|
||||
# eqx-delete-project [name]
|
||||
# Example:
|
||||
# eqx-delete-project fooproject
|
||||
|
||||
#set -x
|
||||
|
||||
EQXPROJECT="$1"
|
||||
|
||||
if [[ $1 == "" ]]
|
||||
then \
|
||||
echo -e "Need project name, such as:\n"
|
||||
eqx-get-project-names
|
||||
echo
|
||||
exit
|
||||
fi
|
||||
|
||||
EQXPROJECTID=`eqx-get-project-uuid $EQXPROJECT`
|
||||
|
||||
packet \
|
||||
project \
|
||||
delete \
|
||||
--force \
|
||||
--id \
|
||||
$EQXPROJECTID \
|
||||
2>/dev/null
|
||||
|
||||
exit
|
||||
|
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
eqx-get-projects | jq --raw-output '.[] | {name}' | grep name | cut -f 2 -d ":" | sed -e 's/ //g' -e 's/"//g'
|
||||
|
@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
# eqx-get-project-uuid
|
||||
#
|
||||
# XXX not real stable way to do this...
|
||||
#
|
||||
# Get project UUID from a name
|
||||
#
|
||||
# Usage:
|
||||
# eqx-get-project-uuid [name]
|
||||
# Example:
|
||||
# eqx-get-project-uuid fooproject
|
||||
|
||||
EQXPROJECT="$1"
|
||||
|
||||
if [[ $1 == "" ]]
|
||||
then \
|
||||
echo -e "Need project name, such as:\n"
|
||||
eqx-get-project-names
|
||||
echo
|
||||
exit
|
||||
fi
|
||||
|
||||
# XXX this...
|
||||
packet \
|
||||
project \
|
||||
get \
|
||||
--project $EQXPROJECT \
|
||||
2>/dev/null | \
|
||||
grep -w " $EQXPROJECT " | \
|
||||
cut -f 2 -d " "
|
||||
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"token": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
|
||||
}
|
Loading…
Reference in new issue