diff --git a/api-ref/src/docbkx/ch_compute-v2-ext.xml b/api-ref/src/docbkx/ch_compute-v2-ext.xml
index d5513cd60..ba926d63f 100644
--- a/api-ref/src/docbkx/ch_compute-v2-ext.xml
+++ b/api-ref/src/docbkx/ch_compute-v2-ext.xml
@@ -618,6 +618,25 @@
href="../wadls/compute-api/src/v2/ext/os-quota-sets.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
+
+ Security groups (os-security-groups)
+
+ Lists, shows information for, creates, and deletes security
+ groups.
+
+
+
+
+ Rules for security group (os-security-group-rules)
+
+ Creates and deletes security group rules.
+
+
+
Rules for default security group
(os-security-group-default-rules)
@@ -629,16 +648,6 @@
href="../wadls/compute-api/src/v2/ext/os-security-group-default-rules.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
-
- Security groups (os-security-groups)
-
- Lists, shows information for, creates, and deletes security
- groups.
-
-
-
Server groups (os-server-groups)
diff --git a/api-ref/src/docbkx/ch_compute-v2.1.xml b/api-ref/src/docbkx/ch_compute-v2.1.xml
index 91572b27a..b5b74f521 100644
--- a/api-ref/src/docbkx/ch_compute-v2.1.xml
+++ b/api-ref/src/docbkx/ch_compute-v2.1.xml
@@ -549,6 +549,15 @@
href="../wadls/compute-api/src/v2.1/wadl/os-security-groups-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
+
+ Rules for security group (os-security-group-rules)
+
+ Creates and deletes security group rules.
+
+
+
Server groups (os-server-groups)
diff --git a/api-ref/src/wadls/compute-api/src/v2.1/api_samples/os-security-group-rules/security-group-rules-create-req.json b/api-ref/src/wadls/compute-api/src/v2.1/api_samples/os-security-group-rules/security-group-rules-create-req.json
new file mode 100644
index 000000000..b4bfc4246
--- /dev/null
+++ b/api-ref/src/wadls/compute-api/src/v2.1/api_samples/os-security-group-rules/security-group-rules-create-req.json
@@ -0,0 +1,9 @@
+{
+ "security_group_rule": {
+ "from_port": "443",
+ "ip_protocol": "tcp",
+ "to_port": "443",
+ "cidr": "0.0.0.0/0",
+ "parent_group_id": "48700ff3-30b8-4e63-845f-a79c9633e9fb"
+ }
+}
diff --git a/api-ref/src/wadls/compute-api/src/v2.1/api_samples/os-security-group-rules/security-group-rules-create-resp.json b/api-ref/src/wadls/compute-api/src/v2.1/api_samples/os-security-group-rules/security-group-rules-create-resp.json
new file mode 100644
index 000000000..edc35e7b1
--- /dev/null
+++ b/api-ref/src/wadls/compute-api/src/v2.1/api_samples/os-security-group-rules/security-group-rules-create-resp.json
@@ -0,0 +1,13 @@
+{
+ "security_group_rule": {
+ "id": "2d021cf1-ce4b-4292-994f-7a785d62a144",
+ "ip_range": {
+ "cidr": "0.0.0.0/0"
+ },
+ "parent_group_id": "48700ff3-30b8-4e63-845f-a79c9633e9fb",
+ "to_port": 443,
+ "ip_protocol": "tcp",
+ "group": {},
+ "from_port": 443
+ }
+}
diff --git a/api-ref/src/wadls/compute-api/src/v2.1/wadl/os-security-group-rules-v2.1.wadl b/api-ref/src/wadls/compute-api/src/v2.1/wadl/os-security-group-rules-v2.1.wadl
new file mode 100644
index 000000000..994ae8791
--- /dev/null
+++ b/api-ref/src/wadls/compute-api/src/v2.1/wadl/os-security-group-rules-v2.1.wadl
@@ -0,0 +1,240 @@
+
+
+ %common;
+
+ %common_project;
+]>
+
+
+
+
+
+
+
+ The ID of the tenant.
+
+
+
+
+
+
+
+
+
+ The ID of the security group rule.
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a rule for a specified security group.
+
+
+
+
+
+
+
+
+
+
+ A security_group_rule
object.
+
+
+
+
+
+
+ Security group ID.
+
+
+
+
+
+
+ The IP protocol: ICMP, TCP, or UDP.
+
+
+
+
+
+
+ Port at start of range.
+
+
+
+
+
+
+ Port at end of range.
+
+
+
+
+
+
+ The CIDR for address range.
+
+
+
+
+
+
+ Source security group ID.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A security_group_rule
object.
+
+
+
+
+
+
+ The IP protocol: ICMP, TCP, or UDP.
+
+
+
+
+
+
+ Port at start of range.
+
+
+
+
+
+
+ Port at end of range.
+
+
+
+
+
+
+ An ip_range
object.
+
+
+
+
+
+
+ The CIDR for address range.
+
+
+
+
+
+
+ The security group ID.
+
+
+
+
+
+
+ A group
object. Includes the tenant
+ ID and the source security group name.
+
+
+
+
+
+
+ The ID of the tenant who owns the source security
+ group.
+
+
+
+
+
+
+ The source security group name.
+
+
+
+
+
+
+
+
+
+ Deletes a specified security group rule.
+
+
+
+
+
diff --git a/api-ref/src/wadls/compute-api/src/v2/api_samples/os-security-group-rules/security-group-rules-create-req.json b/api-ref/src/wadls/compute-api/src/v2/api_samples/os-security-group-rules/security-group-rules-create-req.json
new file mode 100644
index 000000000..b4bfc4246
--- /dev/null
+++ b/api-ref/src/wadls/compute-api/src/v2/api_samples/os-security-group-rules/security-group-rules-create-req.json
@@ -0,0 +1,9 @@
+{
+ "security_group_rule": {
+ "from_port": "443",
+ "ip_protocol": "tcp",
+ "to_port": "443",
+ "cidr": "0.0.0.0/0",
+ "parent_group_id": "48700ff3-30b8-4e63-845f-a79c9633e9fb"
+ }
+}
diff --git a/api-ref/src/wadls/compute-api/src/v2/api_samples/os-security-group-rules/security-group-rules-create-resp.json b/api-ref/src/wadls/compute-api/src/v2/api_samples/os-security-group-rules/security-group-rules-create-resp.json
new file mode 100644
index 000000000..edc35e7b1
--- /dev/null
+++ b/api-ref/src/wadls/compute-api/src/v2/api_samples/os-security-group-rules/security-group-rules-create-resp.json
@@ -0,0 +1,13 @@
+{
+ "security_group_rule": {
+ "id": "2d021cf1-ce4b-4292-994f-7a785d62a144",
+ "ip_range": {
+ "cidr": "0.0.0.0/0"
+ },
+ "parent_group_id": "48700ff3-30b8-4e63-845f-a79c9633e9fb",
+ "to_port": 443,
+ "ip_protocol": "tcp",
+ "group": {},
+ "from_port": 443
+ }
+}
diff --git a/api-ref/src/wadls/compute-api/src/v2/ext/os-security-group-rules.wadl b/api-ref/src/wadls/compute-api/src/v2/ext/os-security-group-rules.wadl
new file mode 100644
index 000000000..3e646cf80
--- /dev/null
+++ b/api-ref/src/wadls/compute-api/src/v2/ext/os-security-group-rules.wadl
@@ -0,0 +1,240 @@
+
+
+ %common;
+
+ %common_project;
+]>
+
+
+
+
+
+
+
+ The ID of the tenant.
+
+
+
+
+
+
+
+
+
+ The ID of the security group rule.
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a rule for a specified security group.
+
+
+
+
+
+
+
+
+
+
+ A security_group_rule
object.
+
+
+
+
+
+
+ Security group ID.
+
+
+
+
+
+
+ The IP protocol: ICMP, TCP, or UDP.
+
+
+
+
+
+
+ Port at start of range.
+
+
+
+
+
+
+ Port at end of range.
+
+
+
+
+
+
+ The CIDR for address range.
+
+
+
+
+
+
+ Source security group ID.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A security_group_rule
object.
+
+
+
+
+
+
+ The IP protocol: ICMP, TCP, or UDP.
+
+
+
+
+
+
+ Port at start of range.
+
+
+
+
+
+
+ Port at end of range.
+
+
+
+
+
+
+ An ip_range
object.
+
+
+
+
+
+
+ The CIDR for address range.
+
+
+
+
+
+
+ The security group ID.
+
+
+
+
+
+
+ A group
object. Includes the tenant
+ ID and the source security group name.
+
+
+
+
+
+
+ The ID of the tenant who owns the source security
+ group.
+
+
+
+
+
+
+ The source security group name.
+
+
+
+
+
+
+
+
+
+ Deletes a specified security group rule.
+
+
+
+
+