Beginning work on SSL termination :lock:
diff --git a/rackspace/lb/v1/ssl/results.go b/rackspace/lb/v1/ssl/results.go
new file mode 100644
index 0000000..4bc3c10
--- /dev/null
+++ b/rackspace/lb/v1/ssl/results.go
@@ -0,0 +1,68 @@
+package throttle
+
+import (
+ "github.com/mitchellh/mapstructure"
+ "github.com/rackspace/gophercloud"
+)
+
+// SSLTermConfig represents the SSL configuration for a particular load balancer.
+type SSLTermConfig struct {
+ // The port on which the SSL termination load balancer listens for secure
+ // traffic. The value must be unique to the existing LB protocol/port
+ // combination
+ SecurePort int `mapstructure:"securePort"`
+
+ // The private key for the SSL certificate which is validated and verified
+ // against the provided certificates.
+ PrivateKey string `mapstructure:"privatekey"`
+
+ // The certificate used for SSL termination, which is validated and verified
+ // against the key and intermediate certificate if provided.
+ Certificate string
+
+ // The intermediate certificate (for the user). The intermediate certificate
+ // is validated and verified against the key and certificate credentials
+ // provided. A user may only provide this value when accompanied by a
+ // Certificate, PrivateKey, and SecurePort. It may not be added or updated as
+ // a single attribute in a future operation.
+ IntCertificate string `mapstructure:"intermediatecertificate"`
+
+ // Determines if the load balancer is enabled to terminate SSL traffic or not.
+ // If this is set to false, the load balancer retains its specified SSL
+ // attributes but does not terminate SSL traffic.
+ Enabled bool
+
+ // Determines if the load balancer can only accept secure traffic. If set to
+ // true, the load balancer will not accept non-secure traffic.
+ SecureTrafficOnly bool
+}
+
+// DeleteResult represents the result of a delete operation.
+type DeleteResult struct {
+ gophercloud.ErrResult
+}
+
+// UpdateResult represents the result of an update operation.
+type UpdateResult struct {
+ gophercloud.ErrResult
+}
+
+// GetResult represents the result of a get operation.
+type GetResult struct {
+ gophercloud.Result
+}
+
+// Extract interprets a GetResult as a SSLTermConfig struct, if possible.
+func (r GetResult) Extract() (*SSLTermConfig, error) {
+ if r.Err != nil {
+ return nil, r.Err
+ }
+
+ var response struct {
+ SSL SSLTermConfig `mapstructure:"sslTermination"`
+ }
+
+ err := mapstructure.Decode(r.Body, &response)
+
+ return &response.SSL, err
+}