diff --git a/openstack/cdn/v1/services/requests.go b/openstack/cdn/v1/services/requests.go
index 801fd3b..ad1e1da 100644
--- a/openstack/cdn/v1/services/requests.go
+++ b/openstack/cdn/v1/services/requests.go
@@ -339,12 +339,14 @@
 	return result
 }
 
+type UpdateOpts []Patch
+
 // Update accepts a slice of Patch operations (Insertion, Append, Replacement or Removal) and
 // updates an existing CDN service using the values provided. idOrURL can be either the service's
 // URL or its ID. For example, both "96737ae3-cfc1-4c72-be88-5d0e7cc9a3f0" and
 // "https://global.cdn.api.rackspacecloud.com/v1.0/services/96737ae3-cfc1-4c72-be88-5d0e7cc9a3f0"
 // are valid options for idOrURL.
-func Update(c *gophercloud.ServiceClient, idOrURL string, patches []Patch) UpdateResult {
+func Update(c *gophercloud.ServiceClient, idOrURL string, opts UpdateOpts) UpdateResult {
 	var url string
 	if strings.Contains(idOrURL, "/") {
 		url = idOrURL
@@ -352,8 +354,8 @@
 		url = updateURL(c, idOrURL)
 	}
 
-	reqBody := make([]map[string]interface{}, len(patches))
-	for i, patch := range patches {
+	reqBody := make([]map[string]interface{}, len(opts))
+	for i, patch := range opts {
 		reqBody[i] = patch.ToCDNServiceUpdateMap()
 	}
 
diff --git a/openstack/cdn/v1/services/requests_test.go b/openstack/cdn/v1/services/requests_test.go
index 2c11562..59e826f 100644
--- a/openstack/cdn/v1/services/requests_test.go
+++ b/openstack/cdn/v1/services/requests_test.go
@@ -298,7 +298,7 @@
 	HandleUpdateCDNServiceSuccessfully(t)
 
 	expected := "https://www.poppycdn.io/v1.0/services/96737ae3-cfc1-4c72-be88-5d0e7cc9a3f0"
-	ops := []Patch{
+	ops := UpdateOpts{
 		// Append a single Domain
 		Append{Value: Domain{Domain: "appended.mocksite4.com"}},
 		// Insert a single Domain
