You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+52-95Lines changed: 52 additions & 95 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,73 +8,33 @@ This project provides a cross-platform command line interface for [DNSimple][0].
8
8
9
9
This project's command line interface is based on the [azure-cli](https://github.com/Azure/azure-sdk-tools-xplat), although its features and functionality are entirely different and not related to [azure](http://azure.microsoft.com/) whatsoever.
10
10
11
-
## Current Features
12
-
13
-
See the [command reference][3] for complete planned command structure.
14
-
15
-
--
16
-
* Accounts: `(command: dnsimple account)`
17
-
* Secure authentication for multiple DNSimple accounts/subscriptions
18
-
* List authenticated accounts/subscriptions
19
-
* Set current account/subscription
20
-
21
11
--
22
-
* Domains: `(command: dnsimple domain)`
23
-
* List domains in your account `(command: dnsimple domain list)`
24
-
* List domains in your account that match a wildcard filter (e.g. *.com) `(command: dnsimple domain list *.com)`
25
-
* Show details for a specific domain in your account `(command: dnsimple domain show)`
26
-
* Add a domain to your account `(command: dnsimple domain add)`
27
-
* Delete a domain from your account `(command: dnsimple domain delete)`
28
-
* Reset a domain token for one or more domains`(command: dnsimple domain reset)`
29
-
* Push one or more domains from the current account to another `(command: dnsimple domain push)`
30
-
* Check availability of one or more domains `(command: dnsimple domain check)`
31
-
* Register one or more domains `(command: dnsimple domain register)`
32
-
* Enable/Disable Auto-Renewal for one or more domains `(command: dnsimple domain autorenew)`
33
-
* Records: `(command: dnsimple domain record)`
34
-
* Show DNS Records for a specific domain `(command: dnsimple domain record list)`
35
-
* Show DNS Records of a specific type (A, CNAME, TXT, NS, etc.) for a specific domain `(command: dnsimple domain record list -t CNAME)`
36
-
* Show DNS Records whose content matches a specific filter (e.g. \*spf\*) `(command: dnsimple domain record list -f *spf*)`
37
-
* Add DNS Records to a domain `(command: dnsimple domain record add)`
38
-
* Show details for a domain DNS Record `(command: dnsimple domain record show)`
39
-
* Update DNS Records for a domain `(command: dnsimple domain record update)`
40
-
* Delete DNS Records for a domain `(command: dnsimple domain record delete)`
The code on Github is the most recent version, but can be unstable:
63
22
64
-
--
65
-
## Installation
23
+
```bash
24
+
npm install anderly/dnsimple-cli
25
+
```
66
26
67
-
### Install from npm (coming soon)
27
+
### dnsimple cli on Ubuntu
28
+
If you want to run dnsimple cli on Ubuntu, then you should install **nodejs-legacy** instead of **nodejs**. For more information please check the following links:
29
+
-[why there is a problem with nodejs installation on ubuntu](http://stackoverflow.com/questions/14914715/express-js-no-such-file-or-directory/14914716#14914716)
30
+
-[how to solve the nodejs installation problem on ubuntu](https://github.com/expressjs/keygrip/issues/7)
68
31
69
-
You can install the dnsimple-cli npm package directly.
32
+
Please perform the installation steps in following order:
70
33
```bash
34
+
sudo apt-get install nodejs-legacy
35
+
sudo apt-get install npm
71
36
npm install -g dnsimple-cli
72
37
```
73
-
### Install from GitHub
74
-
You can install the latest code (could be unstable) directly from GitHub.
Just type `dnsimple` at a command prompt to get started and see available commands. For more details see the [command reference][3].
52
+
Just type `dnsimple` or `dns` at a command prompt to get started and see available commands. Please see the [command reference][3] and [wiki](wiki) for more details.
109
53
110
54
```bash
111
55
user@host:~$ dnsimple
@@ -120,7 +64,7 @@ info: |_|
120
64
info:
121
65
info: DNSimple: We make DNS simple.
122
66
info:
123
-
info: Tool version 0.0.1
67
+
info: Tool version 0.3.0
124
68
help:
125
69
help: Display help for a given command
126
70
help: help [options] [command]
@@ -150,35 +94,48 @@ help: -h, --help output usage information
150
94
help: -v, --version output the application version
151
95
```
152
96
153
-
In general, following are the steps:
97
+
Authentication
98
+
-----
154
99
155
-
* Login to your DNSimple account.
156
-
* Use the commands
100
+
Authentication by **email + password** and **email + token** are both supported. If you authenticate using **email + password**, your account api token is retrieved and used for all subsequent calls. All credentials are securely stored in OS-specific secure credential stores such as OS X Keychain or Windows Credential Manager.
157
101
158
-
The first step can be different for different environments you are targeting. The DNSimple [sandbox][1] is supported in addition to [production][0].
102
+
The DNSimple [sandbox][1] environment is supported in addition to [production][0].
159
103
160
-
### Login directly from dnsimple-cli
104
+
### Password Authentication
161
105
162
106
```bash
163
107
# This will prompt for your password in the console
If you want to run dnsimple cli on Ubuntu, then you should install **nodejs-legacy** instead of **nodejs**. For more information please check the following links:
172
-
- [why there is a problem with nodejs installation on ubuntu](http://stackoverflow.com/questions/14914715/express-js-no-such-file-or-directory/14914716#14914716)
173
-
- [how to solve the nodejs installation problem on ubuntu](https://github.com/expressjs/keygrip/issues/7)
117
+
### Token Authentication
174
118
175
-
Please perform the installation steps in following order:
varshouldContinue=options.quiet||cli.interaction.confirm(util.format($('This will permanently remove member %s from domain %s. Are you sure? '),context.member,context.domain.name),_);
103
+
if(!shouldContinue){
104
+
log.warn('Domain member delete cancelled.');
105
+
return;
106
+
}
107
+
108
+
domain.client(context).deleteMember(context,_);
109
+
110
+
},
111
+
112
+
domainMembers.command('list [name]')
113
+
.usage('[options] [name]')
114
+
.description($('Show domain members'))
115
+
.option('-t --type <type>',$('Only show records of this type'))
116
+
.option('-f --filter <filter>',$('Only show records whose content matches this filter'))
117
+
.option('-d --details',$('Show extra information about the records'))
118
+
.execute(domainMembers.listCommand);
119
+
120
+
domainMembers.command('add [member] [name]')
121
+
.usage('[options] <member> [name]')
122
+
.description($('Grant a user access to a domain'))
123
+
.option('-m --member <member>',$('Email address for the person to add.'))
124
+
.execute(domainMembers.addCommand);
125
+
126
+
domainMembers.command('delete [member] [name]')
127
+
.usage('[options] <member> [name]')
128
+
.description($('Revoke a user\'s access for a domain'))
129
+
.option('-m --member <member>',$('The member email or membership id. Use dnsimple domain member list [domain] to see existing members.'))
130
+
.option('-q --quiet',$('quiet mode, do not ask for delete confirmation'))
0 commit comments