diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2019-11-26 14:09:09 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2019-11-26 14:09:09 +0200 |
commit | 0f78a1684e0119adceba8e9fd99a8bc33fa826b1 (patch) | |
tree | 8ad56bbc1d748f4fa2fc8af6a0b7522ee3723735 | |
parent | ce1af46af7a84d061676ede08dab2a0be3fadbaf (diff) | |
download | eclat-0f78a1684e0119adceba8e9fd99a8bc33fa826b1.tar.gz eclat-0f78a1684e0119adceba8e9fd99a8bc33fa826b1.tar.bz2 |
Implement MoveAddressToVpc (addr2vpc) and RestoreAddressToClassic (addr2ec2)
* TODO: Document changes.
* doc/Makefile.inc: Add new files.
* doc/eclat-addr2ec2.1: New file.
* doc/eclat-addr2vpc.1: New file.
* etc/Makefile.am: Add new files.
* etc/move-address-to-vpc.fln: New file.
* etc/restore-address-to-classic.fln: New file.
* src/Makefile.am: Add new file.
* src/mvaddr.c: New file.
* src/eclat.c (cmdtab): New commands: addr2vpc and addr2ec2.
* src/eclat.h (eclat_move_address): New proto.
* etc/describe-images.fln: List creation date.
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | doc/Makefile.inc | 4 | ||||
-rw-r--r-- | doc/eclat-addr2ec2.1 | 66 | ||||
-rw-r--r-- | doc/eclat-addr2vpc.1 | 59 | ||||
-rw-r--r-- | etc/Makefile.am | 2 | ||||
-rw-r--r-- | etc/describe-images.fln | 1 | ||||
-rw-r--r-- | etc/move-address-to-vpc.fln | 23 | ||||
-rw-r--r-- | etc/restore-address-to-classic.fln | 22 | ||||
-rw-r--r-- | src/Makefile.am | 1 | ||||
-rw-r--r-- | src/eclat.c | 6 | ||||
-rw-r--r-- | src/eclat.h | 1 | ||||
-rw-r--r-- | src/mvaddr.c | 39 |
12 files changed, 224 insertions, 2 deletions
@@ -136,2 +136,3 @@ ModifyVpcAttribute setvpcattr [X] [ ] | |||
136 | MonitorInstances - [ ] [ ] | 136 | MonitorInstances - [ ] [ ] |
137 | MoveAddressToVpc addr2vpc [X] [X] | ||
137 | PurchaseReservedInstancesOffering - [ ] [ ] | 138 | PurchaseReservedInstancesOffering - [ ] [ ] |
@@ -150,2 +151,3 @@ ResetNetworkInterfaceAttribute - [ ] [ ] | |||
150 | ResetSnapshotAttribute clrsattr [X] [X] | 151 | ResetSnapshotAttribute clrsattr [X] [X] |
152 | RestoreAddressToClassic addr2ec2 [X] [X] | ||
151 | RevokeSecurityGroupEgress sg [X] [X] | 153 | RevokeSecurityGroupEgress sg [X] [X] |
diff --git a/doc/Makefile.inc b/doc/Makefile.inc index e55c607..ab6c2a7 100644 --- a/doc/Makefile.inc +++ b/doc/Makefile.inc | |||
@@ -1,3 +1,3 @@ | |||
1 | # This file is part of Eclat -*- Makefile -*- | 1 | # This file is part of Eclat -*- Makefile -*- |
2 | # Copyright (C) 2012-2018 Sergey Poznyakoff | 2 | # Copyright (C) 2012-2019 Sergey Poznyakoff |
3 | # | 3 | # |
@@ -22,2 +22,4 @@ MANPAGES1=\ | |||
22 | eclat.1\ | 22 | eclat.1\ |
23 | eclat-addr2ec2.1\ | ||
24 | eclat-addr2vpc.1\ | ||
23 | eclat-assocaddr.1\ | 25 | eclat-assocaddr.1\ |
diff --git a/doc/eclat-addr2ec2.1 b/doc/eclat-addr2ec2.1 new file mode 100644 index 0000000..983fc8f --- /dev/null +++ b/doc/eclat-addr2ec2.1 | |||
@@ -0,0 +1,66 @@ | |||
1 | .\" This file is part of Eclat -*- nroff -*- | ||
2 | .\" Copyright (C) 2012-2019 Sergey Poznyakoff | ||
3 | .\" | ||
4 | .\" Eclat is free software; you can redistribute it and/or modify | ||
5 | .\" it under the terms of the GNU General Public License as published by | ||
6 | .\" the Free Software Foundation; either version 3, or (at your option) | ||
7 | .\" any later version. | ||
8 | .\" | ||
9 | .\" Eclat is distributed in the hope that it will be useful, | ||
10 | .\" but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | .\" GNU General Public License for more details. | ||
13 | .\" | ||
14 | .\" You should have received a copy of the GNU General Public License | ||
15 | .\" along with Eclat. If not, see <http://www.gnu.org/licenses/>. | ||
16 | .TH ECLAT-ADDR2EC2 1 "November 26, 2019" "ECLAT" "Eclat User Reference" | ||
17 | .SH NAME | ||
18 | eclat-addr2ec2 \- Move VPC IP address back to EC2 Classic | ||
19 | .SH SYNOPSIS | ||
20 | .nh | ||
21 | .na | ||
22 | \fBeclat addr2ec2\fR \fIIP\fR | ||
23 | .PP | ||
24 | \fBeclat restore-address-to-classic\fR \fIIP\fR | ||
25 | .PP | ||
26 | \fBeclat addr2ec2\fR \fB\-\-help\fR | ||
27 | .ad | ||
28 | .hy | ||
29 | .SH DESCRIPTION | ||
30 | Restores an Elastic IP address that was previously moved to the | ||
31 | EC2-VPC platform back to the EC2-Classic platform (addresses are | ||
32 | moved to EC2-VPC using the | ||
33 | .BR eclat\-addr2vpc (1) | ||
34 | command). | ||
35 | You cannot move an | ||
36 | Elastic IP address that was originally allocated for use in | ||
37 | EC2-VPC. The Elastic IP address must not be associated with an | ||
38 | instance or network interface. | ||
39 | .PP | ||
40 | .PP | ||
41 | To move the address back to EC2 classic, use | ||
42 | .BR "eclat addr2ec2". | ||
43 | .SH "SEE ALSO" | ||
44 | .BR eclat (1), | ||
45 | .BR eclat\-addr2vpc (1). | ||
46 | .SH AUTHORS | ||
47 | Sergey Poznyakoff | ||
48 | .SH "BUG REPORTS" | ||
49 | Report bugs to <bug\-eclat@gnu.org.ua>. | ||
50 | .SH COPYRIGHT | ||
51 | Copyright \(co 2012-2019 Sergey Poznyakoff | ||
52 | .br | ||
53 | .na | ||
54 | License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> | ||
55 | .br | ||
56 | .ad | ||
57 | This is free software: you are free to change and redistribute it. | ||
58 | There is NO WARRANTY, to the extent permitted by law. | ||
59 | .\" Local variables: | ||
60 | .\" eval: (add-hook 'write-file-hooks 'time-stamp) | ||
61 | .\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.\\-]* [0-9] \"" | ||
62 | .\" time-stamp-format: "%:B %:d, %:y" | ||
63 | .\" time-stamp-end: "\"" | ||
64 | .\" time-stamp-line-limit: 20 | ||
65 | .\" end: | ||
66 | |||
diff --git a/doc/eclat-addr2vpc.1 b/doc/eclat-addr2vpc.1 new file mode 100644 index 0000000..dec6bda --- /dev/null +++ b/doc/eclat-addr2vpc.1 | |||
@@ -0,0 +1,59 @@ | |||
1 | .\" This file is part of Eclat -*- nroff -*- | ||
2 | .\" Copyright (C) 2012-2019 Sergey Poznyakoff | ||
3 | .\" | ||
4 | .\" Eclat is free software; you can redistribute it and/or modify | ||
5 | .\" it under the terms of the GNU General Public License as published by | ||
6 | .\" the Free Software Foundation; either version 3, or (at your option) | ||
7 | .\" any later version. | ||
8 | .\" | ||
9 | .\" Eclat is distributed in the hope that it will be useful, | ||
10 | .\" but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | .\" GNU General Public License for more details. | ||
13 | .\" | ||
14 | .\" You should have received a copy of the GNU General Public License | ||
15 | .\" along with Eclat. If not, see <http://www.gnu.org/licenses/>. | ||
16 | .TH ECLAT-ADDR2VPC 1 "November 26, 2019" "ECLAT" "Eclat User Reference" | ||
17 | .SH NAME | ||
18 | eclat-addr2vpc \- Move IP address from EC2 to EC2-VPC | ||
19 | .SH SYNOPSIS | ||
20 | .nh | ||
21 | .na | ||
22 | \fBeclat addr2vpc\fR \fIIP\fR | ||
23 | .PP | ||
24 | \fBeclat move-address-to-vpc\fR \fIIP\fR | ||
25 | .PP | ||
26 | \fBeclat addr2vpc\fR \fB\-\-help\fR | ||
27 | .ad | ||
28 | .hy | ||
29 | .SH DESCRIPTION | ||
30 | Moves the Elastic IP address \fIIP\fR from the EC2-Classic platform to | ||
31 | the EC2-VPC platform. \fIIP\fR must be allocated to your account for | ||
32 | more than 24 hours, and it must not be associated with an instance. | ||
33 | .PP | ||
34 | To move the address back to EC2 classic, use | ||
35 | .BR "eclat addr2ec2". | ||
36 | .SH "SEE ALSO" | ||
37 | .BR eclat (1), | ||
38 | .BR eclat\-addr2ec2 (1). | ||
39 | .SH AUTHORS | ||
40 | Sergey Poznyakoff | ||
41 | .SH "BUG REPORTS" | ||
42 | Report bugs to <bug\-eclat@gnu.org.ua>. | ||
43 | .SH COPYRIGHT | ||
44 | Copyright \(co 2012-2019 Sergey Poznyakoff | ||
45 | .br | ||
46 | .na | ||
47 | License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> | ||
48 | .br | ||
49 | .ad | ||
50 | This is free software: you are free to change and redistribute it. | ||
51 | There is NO WARRANTY, to the extent permitted by law. | ||
52 | .\" Local variables: | ||
53 | .\" eval: (add-hook 'write-file-hooks 'time-stamp) | ||
54 | .\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.\\-]* [0-9] \"" | ||
55 | .\" time-stamp-format: "%:B %:d, %:y" | ||
56 | .\" time-stamp-end: "\"" | ||
57 | .\" time-stamp-line-limit: 20 | ||
58 | .\" end: | ||
59 | |||
diff --git a/etc/Makefile.am b/etc/Makefile.am index 7d0b355..d508fbf 100644 --- a/etc/Makefile.am +++ b/etc/Makefile.am | |||
@@ -77,2 +77,3 @@ FLNFILES=\ | |||
77 | modify-vpc-attribute.fln\ | 77 | modify-vpc-attribute.fln\ |
78 | move-address-to-vpc.fln\ | ||
78 | reboot-instances.fln\ | 79 | reboot-instances.fln\ |
@@ -80,2 +81,3 @@ FLNFILES=\ | |||
80 | replace-route.fln\ | 81 | replace-route.fln\ |
82 | restore-address-to-classic.fln\ | ||
81 | route.fln\ | 83 | route.fln\ |
diff --git a/etc/describe-images.fln b/etc/describe-images.fln index ac2fc79..01ebd5f 100644 --- a/etc/describe-images.fln +++ b/etc/describe-images.fln | |||
@@ -19,2 +19,3 @@ if (.DescribeImagesResponse.imagesSet) { | |||
19 | print("\nImage ID: ", var.imageId, "\n"); | 19 | print("\nImage ID: ", var.imageId, "\n"); |
20 | print("\tCreated on: ", var.creationDate, "\n"); | ||
20 | print("\tName: ", var.name, "\n"); | 21 | print("\tName: ", var.name, "\n"); |
diff --git a/etc/move-address-to-vpc.fln b/etc/move-address-to-vpc.fln new file mode 100644 index 0000000..24dab40 --- /dev/null +++ b/etc/move-address-to-vpc.fln | |||
@@ -0,0 +1,23 @@ | |||
1 | /* This file is part of Eclat. | ||
2 | Copyright (C) 2019 Sergey Poznyakoff. | ||
3 | |||
4 | Eclat is free software; you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation; either version 3, or (at your option) | ||
7 | any later version. | ||
8 | |||
9 | Eclat is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with Eclat. If not, see <http://www.gnu.org/licenses/>. */ | ||
16 | |||
17 | if (.MoveAddressToVpcResponse.status) { | ||
18 | print(.MoveAddressToVpcResponse.status); | ||
19 | if (.MoveAddressToVpcResponse.allocationId) | ||
20 | print("\t", .MoveAddressToVpcResponse.allocationId); | ||
21 | print("\n"); | ||
22 | } | ||
23 | |||
diff --git a/etc/restore-address-to-classic.fln b/etc/restore-address-to-classic.fln new file mode 100644 index 0000000..4750d63 --- /dev/null +++ b/etc/restore-address-to-classic.fln | |||
@@ -0,0 +1,22 @@ | |||
1 | /* This file is part of Eclat. | ||
2 | Copyright (C) 2019 Sergey Poznyakoff. | ||
3 | |||
4 | Eclat is free software; you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation; either version 3, or (at your option) | ||
7 | any later version. | ||
8 | |||
9 | Eclat is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with Eclat. If not, see <http://www.gnu.org/licenses/>. */ | ||
16 | |||
17 | if (.RestoreAddressToClassicResponse.status) { | ||
18 | print(.RestoreAddressToClassicResponse.status); | ||
19 | if (.RestoreAddressToClassicResponse.publicIp) | ||