From 3256b5ca8d1eed02db0f0020fbf3d8de0a8ab8d1 Mon Sep 17 00:00:00 2001
From: Tejaswini Duggaraju <naduggar@microsoft.com>
Date: Mon, 6 May 2019 14:35:29 -0700
Subject: [PATCH] Resolved merge conflicts, updated the model for the token to
 take certificates

---
 .../containerregistry_scopemap.json           | 369 ++++++++++--------
 .../RegistryGenerateCredentials.WithPEM.json  |  23 --
 .../examples/RegistryGenerateCredentials.json |   2 +-
 .../examples/ScopeMapCreate.json              |   6 +-
 .../examples/ScopeMapGet.json                 |   2 +-
 .../examples/ScopeMapList.json                |   2 +-
 .../examples/ScopeMapUpdate.json              |  12 +-
 .../examples/TokenCreate.json                 |   9 +-
 .../TokenCreate_WithCertificates.json         |  68 ++++
 .../2019-05-01-preview/examples/TokenGet.json |   3 +-
 .../examples/TokenList.json                   |   3 +-
 .../examples/TokenUpdate.json                 |   6 +-
 .../TokenUpdate_WithCertificates.json         |  68 ++++
 .../resource-manager/readme.go.md             |  10 +-
 .../resource-manager/readme.md                |   1 -
 15 files changed, 386 insertions(+), 198 deletions(-)
 delete mode 100644 specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/RegistryGenerateCredentials.WithPEM.json
 create mode 100644 specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenCreate_WithCertificates.json
 create mode 100644 specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenUpdate_WithCertificates.json

diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
index e8f8e1b1991c..3cd00ae8f31a 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
@@ -15,55 +15,6 @@
     "application/json"
   ],
   "paths": {
-    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/generateCredentials": {
-      "post": {
-        "tags": [
-          "Registries"
-        ],
-        "description": "Generate keys for a token of a specified container registry.",
-        "operationId": "Registries_GenerateKeys",
-        "parameters": [
-          {
-            "$ref": "#/parameters/ApiVersionParameter"
-          },
-          {
-            "$ref": "#/parameters/SubscriptionIdParameter"
-          },
-          {
-            "$ref": "#/parameters/ResourceGroupParameter"
-          },
-          {
-            "$ref": "#/parameters/RegistryNameParameter"
-          },
-          {
-            "name": "generateCredentialsParameters",
-            "in": "body",
-            "description": "The parameters for generating credentials.",
-            "required": true,
-            "schema": {
-              "$ref": "#/definitions/GenerateCredentialsParameters"
-            }
-          }
-        ],
-        "responses": {
-          "200": {
-            "description": "The request was successful; the request was well-formed and received properly.",
-            "schema": {
-              "$ref": "#/definitions/GenerateCredentialsResult"
-            }
-          },
-          "202": {
-            "description": "The request was successful; the operation will complete asynchronously."
-          }
-        },
-        "x-ms-examples": {
-          "RegistryGenerateCredentials": {
-            "$ref": "./examples/RegistryGenerateCredentials.json"
-          }
-        },
-        "x-ms-long-running-operation": true
-      }
-    },
     "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName}": {
       "get": {
         "tags": [
@@ -186,7 +137,7 @@
             "description": "The request was successful; the operation will complete asynchronously."
           },
           "204": {
-            "description": "The webhook does not exist in the subscription."
+            "description": "The scopemap does not exist in the subscription."
           }
         },
         "x-ms-examples": {
@@ -411,7 +362,7 @@
             "description": "The request was successful; the operation will complete asynchronously."
           },
           "204": {
-            "description": "The webhook does not exist in the subscription."
+            "description": "The token does not exist in the subscription."
           }
         },
         "x-ms-examples": {
@@ -513,103 +464,58 @@
           "nextLinkName": "nextLink"
         }
       }
-    }
-  },
-  "definitions": {
-    "GenerateCredentialsParameters": {
-      "description": "The parameters used to generate credentials for a specified token or user of a container registry.",
-      "type": "object",
-      "properties": {
-        "tokenId": {
-          "description": "The resource ID of the token for which credentials have to be generated.",
-          "type": "string"
-        },
-        "expiry": {
-          "format": "date-time",
-          "description": "The expiry date of the generated credentials after which the credentials become invalid.",
-          "default": "9999-12-31T15:59:59.9999999-08:00",
-          "type": "string"
-        },
-        "name": {
-          "description": "Specifies name of the password which should be regenerated if any -- password or password2.",
-          "enum": [
-            "password",
-            "password2"
-          ],
-          "type": "string",
-          "x-ms-enum": {
-            "name": "PasswordName",
-            "modelAsString": true
-          }
-        },
-        "publicCertificateAsPEM": {
-          "description": "Base 64 encoded string of the public certificate in PEM format that will be used for authenticating the token.",
-          "type": "string"
-        }
-      }
     },
-    "GenerateCredentialsResult": {
-      "description": "The response from the GenerateCredentials operation.",
-      "type": "object",
-      "properties": {
-        "username": {
-          "description": "The username for a container registry.",
-          "type": "string"
-        },
-        "passwords": {
-          "description": "The list of passwords for a container registry.",
-          "type": "array",
-          "items": {
-            "$ref": "#/definitions/TokenPassword"
+    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/generateCredentials": {
+      "post": {
+        "tags": [
+          "Registries"
+        ],
+        "description": "Generate keys for a token of a specified container registry.",
+        "operationId": "Registries_GenerateCredentials",
+        "parameters": [
+          {
+            "$ref": "#/parameters/ApiVersionParameter"
+          },
+          {
+            "$ref": "#/parameters/SubscriptionIdParameter"
+          },
+          {
+            "$ref": "#/parameters/ResourceGroupParameter"
+          },
+          {
+            "$ref": "#/parameters/RegistryNameParameter"
+          },
+          {
+            "name": "generateCredentialsParameters",
+            "in": "body",
+            "description": "The parameters for generating credentials.",
+            "required": true,
+            "schema": {
+              "$ref": "#/definitions/GenerateCredentialsParameters"
+            }
           }
-        },
-        "certificate": {
-          "$ref": "#/definitions/TokenCertificate",
-          "description": "The public certificate that will be used for authenticating the token of a container registry."
-        }
-      }
-    },
-    "TokenPassword": {
-      "description": "The password that will be used for authenticating the token of a container registry.",
-      "type": "object",
-      "properties": {
-        "expiry": {
-          "format": "date-time",
-          "description": "The expiry datetime of the password.",
-          "type": "string"
-        },
-        "name": {
-          "description": "The password name \"password\" or \"password2\"",
-          "enum": [
-            "password",
-            "password2"
-          ],
-          "type": "string",
-          "x-ms-enum": {
-            "name": "PasswordName",
-            "modelAsString": true
+        ],
+        "responses": {
+          "200": {
+            "description": "The request was successful; the request was well-formed and received properly.",
+            "schema": {
+              "$ref": "#/definitions/GenerateCredentialsResult"
+            }
+          },
+          "202": {
+            "description": "The request was successful; the operation will complete asynchronously."
           }
         },
-        "value": {
-          "description": "The password value.",
-          "type": "string"
-        }
-      }
-    },
-    "TokenCertificate": {
-      "type": "object",
-      "properties": {
-        "expiry": {
-          "format": "date-time",
-          "description": "The expiry datetime of the certificate.",
-          "type": "string"
+        "x-ms-examples": {
+          "RegistryGenerateCredentials": {
+            "$ref": "./examples/RegistryGenerateCredentials.json"
+          }
         },
-        "thumbprint": {
-          "description": "The thumbprint of the certificate.",
-          "type": "string"
-        }
+        "x-ms-long-running-operation": true
       }
-    },
+    }
+  },
+  "definitions": {
     "ScopeMap": {
       "description": "An object that represents a scope map for a container registry.",
       "type": "object",
@@ -629,7 +535,7 @@
     "ScopeMapProperties": {
       "description": "The properties of a scope map.",
       "required": [
-        "actions"
+        "Actions"
       ],
       "type": "object",
       "properties": {
@@ -665,11 +571,6 @@
             "modelAsString": true
           }
         },
-        "permissionsStatus": {
-          "description": "The status of the permission propagation to all the tokens associated with this scope map.",
-          "type": "string",
-          "readOnly": true
-        },
         "actions": {
           "description": "The list of scoped permissions for registry artifacts.\r\nE.g. repositories/repository-name/pull, \r\nrepositories/repository-name/delete",
           "type": "array",
@@ -775,13 +676,100 @@
           "description": "The user/group/application object ID for which the token has to be created.",
           "type": "string"
         },
-        "permissionsStatus": {
-          "description": "The status of the permission propagation to all the users associated with this token.",
+        "credentials": {
+          "$ref": "#/definitions/TokenCredentialsProperties",
+          "description": "The credentials that can be used for authenticating the token."
+        },
+        "status": {
+          "description": "The status of the token example enabled or disabled.",
+          "enum": [
+            "enabled",
+            "disabled"
+          ],
           "type": "string",
-          "readOnly": true
+          "x-ms-enum": {
+            "name": "Status",
+            "modelAsString": true
+          }
+        }
+      }
+    },
+    "TokenCredentialsProperties": {
+      "description": "The properties of the credentials that can be used for authenticating the token.",
+      "type": "object",
+      "properties": {
+        "certificates": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/TokenCertificate"
+          }
         },
-        "type": {
-          "description": "The type of the token. E.g. Device.",
+        "passwords": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/TokenPassword"
+          }
+        }
+      }
+    },
+    "TokenCertificate": {
+      "description": "The properties of a certificate used for authenticating a token.",
+      "type": "object",
+      "properties": {
+        "name": {
+          "enum": [
+            "certificate1",
+            "certificate2"
+          ],
+          "type": "string",
+          "x-ms-enum": {
+            "name": "Name",
+            "modelAsString": true
+          }
+        },
+        "expiry": {
+          "format": "date-time",
+          "description": "The expiry datetime of the certificate.",
+          "type": "string"
+        },
+        "thumbprint": {
+          "description": "The thumbprint of the certificate.",
+          "type": "string"
+        },
+        "encodedPEMCertificate": {
+          "description": "Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token.",
+          "type": "string"
+        }
+      }
+    },
+    "TokenPassword": {
+      "description": "The password that will be used for authenticating the token of a container registry.",
+      "type": "object",
+      "properties": {
+        "creationTime": {
+          "format": "date-time",
+          "description": "The password created datetime of the password.",
+          "type": "string"
+        },
+        "expiry": {
+          "format": "date-time",
+          "description": "The expiry datetime of the password.",
+          "type": "string"
+        },
+        "name": {
+          "description": "The password name \"password\" or \"password2\"",
+          "enum": [
+            "password1",
+            "password2"
+          ],
+          "type": "string",
+          "x-ms-enum": {
+            "name": "PasswordName",
+            "modelAsString": true
+          }
+        },
+        "value": {
+          "description": "The password value.",
           "type": "string",
           "readOnly": true
         }
@@ -792,12 +780,38 @@
       "type": "object",
       "properties": {
         "properties": {
-          "$ref": "#/definitions/TokenProperties",
+          "$ref": "#/definitions/TokenUpdateProperties",
           "description": "The properties of the token update parameters.",
           "x-ms-client-flatten": true
         }
       }
     },
+    "TokenUpdateProperties": {
+      "description": "The parameters for updating token properties.",
+      "type": "object",
+      "properties": {
+        "scopeMapId": {
+          "description": "The resource ID of the scope map to which the token will be associated with.",
+          "type": "string"
+        },
+        "status": {
+          "description": "The status of the token example enabled or disabled.",
+          "enum": [
+            "enabled",
+            "disabled"
+          ],
+          "type": "string",
+          "x-ms-enum": {
+            "name": "Status",
+            "modelAsString": true
+          }
+        },
+        "credentials": {
+          "$ref": "#/definitions/TokenCredentialsProperties",
+          "description": "The credentials that can be used for authenticating the token."
+        }
+      }
+    },
     "TokenListResult": {
       "description": "The result of a request to list tokens for a container registry.",
       "type": "object",
@@ -815,6 +829,51 @@
         }
       }
     },
+    "GenerateCredentialsParameters": {
+      "description": "The parameters used to generate credentials for a specified token or user of a container registry.",
+      "type": "object",
+      "properties": {
+        "tokenId": {
+          "description": "The resource ID of the token for which credentials have to be generated.",
+          "type": "string"
+        },
+        "expiry": {
+          "format": "date-time",
+          "description": "The expiry date of the generated credentials after which the credentials become invalid.",
+          "default": "9999-12-31T15:59:59.9999999-08:00",
+          "type": "string"
+        },
+        "name": {
+          "description": "Specifies name of the password which should be regenerated if any -- password or password2.",
+          "enum": [
+            "password1",
+            "password2"
+          ],
+          "type": "string",
+          "x-ms-enum": {
+            "name": "PasswordName",
+            "modelAsString": true
+          }
+        }
+      }
+    },
+    "GenerateCredentialsResult": {
+      "description": "The response from the GenerateCredentials operation.",
+      "type": "object",
+      "properties": {
+        "username": {
+          "description": "The username for a container registry.",
+          "type": "string"
+        },
+        "passwords": {
+          "description": "The list of passwords for a container registry.",
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/TokenPassword"
+          }
+        }
+      }
+    },
     "ProxyResource": {
       "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.",
       "properties": {
@@ -880,6 +939,7 @@
       "type": "string",
       "maxLength": 50,
       "minLength": 5,
+      "pattern": "^[a-zA-Z][a-zA-Z0-9-]*$",
       "x-ms-parameter-location": "method"
     },
     "TokenNameParameter": {
@@ -890,6 +950,7 @@
       "type": "string",
       "maxLength": 50,
       "minLength": 5,
+      "pattern": "^[a-zA-Z][a-zA-Z0-9-]*$",
       "x-ms-parameter-location": "method"
     }
   },
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/RegistryGenerateCredentials.WithPEM.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/RegistryGenerateCredentials.WithPEM.json
deleted file mode 100644
index 7fcd2d40f622..000000000000
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/RegistryGenerateCredentials.WithPEM.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-    "parameters": {
-        "api-version": "2019-05-01-preview",
-        "subscriptionId": "00000000-0000-0000-0000-000000000000",
-        "resourceGroupName": "myResourceGroup",
-        "registryName": "myRegistry",
-        "generateCredentialsParameters": {
-            "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
-            "publicCertificateAsPEM": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURkekNDQWwrZ0F3SUJBZ0lFQWdBQXVUQU5CZ2txaGtpRzl3MEJBUVVGQURCYU1Rc3dDUVlEVlFRR0V3SkoKUlRFU01CQUdBMVVFQ2hNSlFtRnNkR2x0YjNKbE1STXdFUVlEVlFRTEV3cERlV0psY2xSeWRYTjBNU0l3SUFZRApWUVFERXhsQ1lXeDBhVzF2Y21VZ1EzbGlaWEpVY25WemRDQlNiMjkwTUI0WERUQXdNRFV4TWpFNE5EWXdNRm9YCkRUSTFNRFV4TWpJek5Ua3dNRm93V2pFTE1Ba0dBMVVFQmhNQ1NVVXhFakFRQmdOVkJBb1RDVUpoYkhScGJXOXkKWlRFVE1CRUdBMVVFQ3hNS1EzbGlaWEpVY25WemRERWlNQ0FHQTFVRUF4TVpRbUZzZEdsdGIzSmxJRU41WW1WeQpWSEoxYzNRZ1VtOXZkRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLTUV1eUtyCm1EMVg2Q1p5bXJWNTFDbmk0ZWlWZ0xHdzQxdU9LeW1hWk4raFhlMndDUVZ0MnlndXptS2lZdjYwaU5vUzZ6anIKSVozQVFTc0JVbnVJZDlNY2o4ZTZ1WWkxYWdubmMrZ1JRS2ZSek1waWpTM2xqd3VtVU5Lb1VNTW82dldySlllSwptcFljcVdlNFB3elY5L2xTRXkvQ0c5VndjUENQd0JMS0JzdWE0ZG5LTTNwMzF2anN1ZkZvUkVKSUU5TEF3cVN1ClhtRCt0cVlGL0xUZEIxa0MxRmtZbUdQMXBXUGdrQXg5WGJJR2V2T0Y2dXZVQTY1ZWhENWYveFh0YWJ6NU9UWnkKZGM5M1VrM3p5WkFzdVQzbHlTTlRQeDhrbUNGY0I1a3B2Y1k2N09kdWhqcHJsM1JqTTcxb0dESHdlSTEydi95ZQpqbDBxaHFkTmtOd25HamtDQXdFQUFhTkZNRU13SFFZRFZSME9CQllFRk9XZFdUQ0NSMWpNclBvSVZEYUdlenExCkJFM3dNQklHQTFVZEV3RUIvd1FJTUFZQkFmOENBUU13RGdZRFZSMFBBUUgvQkFRREFnRUdNQTBHQ1NxR1NJYjMKRFFFQkJRVUFBNElCQVFDRkRGMk81RzlSYUVJRm9OMjdUeWNsaEFPOTkyVDlMZGN3NDZRUUYrdmFLU20yZVQ5Mgo5aGtUSTdnUUN2bFlwTlJoY0wwRVlXb1NpaGZWQ3IzRnZEQjgxdWtNSlkyR1FFL3N6S04rT01ZM0VVL3QzV2d4CmprelNzd0YwN3I1MVhnZElHbjl3L3haY2hNQjVoYmdGL1grK1pSR2pEOEFDdFBoU056a0UxYWt4ZWhpL29DcjAKRXBuM28wV0M0enhlOVoyZXRjaWVmQzdJcEo1T0NCUkxiZjF3YldzYVk3MWs1aCszenZEeW55NjdHN2Z5VUloegprc0xpNHhhTm1qSUNxNDRZM2VrUUVlNStOYXVRcno0d2xIclFNejJuWlEvMS9JNmVZczlIUkN3Qlhic2R0VExTClI5STRMdEQrZ2R3eWFoNjE3anpWL09lQkhSbkRKRUxxWXptcAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t"
-        }
-    },
-    "responses": {
-        "200": {
-            "body": {
-                "username": "myToken",
-                "certificate": {
-                    "thumbprint": "d4de20d05e66fc53fe1a50882c78db2852cae474",
-                    "expiry": "2025-12-05T16:59:00.0000000Z"
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/RegistryGenerateCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/RegistryGenerateCredentials.json
index 7898b1b2a91b..e9ac07aba554 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/RegistryGenerateCredentials.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/RegistryGenerateCredentials.json
@@ -16,7 +16,7 @@
                 "passwords": [
                     {
                         "expiry": "2020-12-31T15:59:59.0707808Z",
-                        "name": "password",
+                        "name": "password1",
                         "value": "00000000000000000000000000000000"
                     },
                     {
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapCreate.json
index 63acf593c54d..943f0c70cc6f 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapCreate.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapCreate.json
@@ -9,7 +9,7 @@
             "properties": {
                 "description": "Developer Scopes",
                 "actions": [
-                    "repositories/myrepository/push",
+                    "repositories/myrepository/contentWrite",
                     "repositories/myrepository/delete"
                 ]
             }
@@ -25,7 +25,7 @@
                     "creationDate": "2017-03-01T23:14:37.0707808Z",
                     "type": "IsUserDefined",
                     "actions": [
-                        "repositories/myrepository/push",
+                        "repositories/myrepository/contentWrite",
                         "repositories/myrepository/delete"
                     ],
                     "provisioningState": "Succeeded"
@@ -41,7 +41,7 @@
                     "creationDate": "2017-03-01T23:14:37.0707808Z",
                     "type": "IsUserDefined",
                     "actions": [
-                        "repositories/myrepository/push",
+                        "repositories/myrepository/contentWrite",
                         "repositories/myrepository/delete"
                     ],
                     "provisioningState": "Succeeded"
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapGet.json
index 4060d3973928..87e29454892c 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapGet.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapGet.json
@@ -16,7 +16,7 @@
                     "creationDate": "2017-03-01T23:14:37.0707808Z",
                     "type": "IsUserDefined",
                     "actions": [
-                        "repositories/myrepository/push",
+                        "repositories/myrepository/contentWrite",
                         "repositories/myrepository/delete"
                     ],
                     "provisioningState": "Succeeded"
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapList.json
index 4fceb795cf8c..ad075f5d99c9 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapList.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapList.json
@@ -17,7 +17,7 @@
                             "creationDate": "2017-03-01T23:14:37.0707808Z",
                             "type": "IsUserDefined",
                             "actions": [
-                                "repositories/myrepository/push",
+                                "repositories/myrepository/contentWrite",
                                 "repositories/myrepository/delete"
                             ],
                             "provisioningState": "Succeeded"
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapUpdate.json
index d0ebbb84c0c5..1d7251182953 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapUpdate.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/ScopeMapUpdate.json
@@ -9,8 +9,8 @@
             "properties": {
                 "description": "Developer Scopes",
                 "actions": [
-                    "repositories/myrepository/push",
-                    "repositories/myrepository/pull"
+                    "repositories/myrepository/contentWrite",
+                    "repositories/myrepository/contentRead"
                 ]
             }
         }
@@ -25,8 +25,8 @@
                     "creationDate": "2017-03-01T23:14:37.0707808Z",
                     "type": "IsUserDefined",
                     "actions": [
-                        "repositories/myrepository/push",
-                        "repositories/myrepository/pull"
+                        "repositories/myrepository/contentWrite",
+                        "repositories/myrepository/contentRead"
                     ],
                     "provisioningState": "Succeeded"
                 }
@@ -41,8 +41,8 @@
                     "creationDate": "2017-03-01T23:14:37.0707808Z",
                     "type": "IsUserDefined",
                     "actions": [
-                        "repositories/myrepository/push",
-                        "repositories/myrepository/pull"
+                        "repositories/myrepository/contentWrite",
+                        "repositories/myrepository/contentRead"
                     ],
                     "provisioningState": "Succeeded"
                 }
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenCreate.json
index 87ce79b62894..bf64fd4f484e 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenCreate.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenCreate.json
@@ -7,7 +7,8 @@
         "tokenName": "myToken",
         "tokenCreateParameters": {
             "properties": {
-                "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap"
+                "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+                "status": "disabled"
             }
         }
     },
@@ -20,7 +21,8 @@
                 "properties": {
                     "creationDate": "2017-03-01T23:14:37.0707808Z",
                     "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
-                    "provisioningState": "Succeeded"
+                    "provisioningState": "Succeeded",
+                    "status": "disabled"
                 }
             }
         },
@@ -32,7 +34,8 @@
                 "properties": {
                     "creationDate": "2017-03-01T23:14:37.0707808Z",
                     "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
-                    "provisioningState": "Succeeded"
+                    "provisioningState": "Succeeded",
+                    "status": "disabled"
                 }
             }
         }
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenCreate_WithCertificates.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenCreate_WithCertificates.json
new file mode 100644
index 000000000000..a93d827321fa
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenCreate_WithCertificates.json
@@ -0,0 +1,68 @@
+{
+    "parameters": {
+        "api-version": "2019-05-01-preview",
+        "subscriptionId": "00000000-0000-0000-0000-000000000000",
+        "resourceGroupName": "myResourceGroup",
+        "registryName": "myRegistry",
+        "tokenName": "myToken",
+        "tokenCreateParameters": {
+            "properties": {
+                "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+                "credentials": {
+                    "certificates": [
+                        {
+                            "name": "certificate1",
+                            "encodedPEMCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
+                        }
+                    ]
+                }
+            }
+        }
+    },
+    "responses": {
+        "200": {
+            "body": {
+                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+                "name": "myToken",
+                "type": "Microsoft.ContainerRegistry/registries/tokens",
+                "properties": {
+                    "creationDate": "2017-03-01T23:14:37.0707808Z",
+                    "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+                    "provisioningState": "Succeeded",
+                    "status": "enabled",
+                    "credentials": {
+                        "certificates": [
+                            {
+                                "name": "certificate1",
+                                "thumbprint":"feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7",
+                                "expiry":"2020-12-04T15:32:48.0707808Z"
+                            }
+                        ]
+                    }
+                }
+            }
+        },
+        "201": {
+            "body": {
+                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+                "name": "myToken",
+                "type": "Microsoft.ContainerRegistry/registries/tokens",
+                "properties": {
+                    "creationDate": "2017-03-01T23:14:37.0707808Z",
+                    "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+                    "provisioningState": "Succeeded",
+                    "status": "enabled",
+                    "credentials": {
+                        "certificates": [
+                            {
+                                "name": "certificate1",
+                                "thumbprint":"feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7",
+                                "expiry":"2020-12-04T15:32:48.0707808Z"
+                            }
+                        ]
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenGet.json
index 9fd7c4fd5582..cdc64b423794 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenGet.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenGet.json
@@ -15,7 +15,8 @@
                 "properties": {
                     "creationDate": "2017-03-01T23:14:37.0707808Z",
                     "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
-                    "provisioningState": "Succeeded"
+                    "provisioningState": "Succeeded",
+                    "status": "enabled"
                 }
             }
         }
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenList.json
index 28516ac8d4e5..4ac04229390d 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenList.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenList.json
@@ -16,7 +16,8 @@
                         "properties": {
                             "creationDate": "2017-03-01T23:14:37.0707808Z",
                             "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
-                            "provisioningState": "Succeeded"
+                            "provisioningState": "Succeeded",
+                            "status": "enabled"
                         }
                     }
                 ]
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenUpdate.json
index 0cafc1fc5a8c..96a88449da47 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenUpdate.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenUpdate.json
@@ -20,7 +20,8 @@
                 "properties": {
                     "creationDate": "2017-03-01T23:14:37.0707808Z",
                     "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
-                    "provisioningState": "Succeeded"
+                    "provisioningState": "Succeeded",
+                    "status": "enabled"
                 }
             }
         },
@@ -32,7 +33,8 @@
                 "properties": {
                     "creationDate": "2017-03-01T23:14:37.0707808Z",
                     "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
-                    "provisioningState": "Succeeded"
+                    "provisioningState": "Succeeded",
+                    "status": "enabled"
                 }
             }
         }
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenUpdate_WithCertificates.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenUpdate_WithCertificates.json
new file mode 100644
index 000000000000..a5d748262b5f
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-05-01-preview/examples/TokenUpdate_WithCertificates.json
@@ -0,0 +1,68 @@
+{
+    "parameters": {
+        "api-version": "2019-05-01-preview",
+        "subscriptionId": "00000000-0000-0000-0000-000000000000",
+        "resourceGroupName": "myResourceGroup",
+        "registryName": "myRegistry",
+        "tokenName": "myToken",
+        "tokenUpdateParameters": {
+            "properties": {
+                "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
+                "credentials": {
+                    "certificates": [
+                        {
+                            "name": "certificate1",
+                            "encodedPEMCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
+                        }
+                    ]
+                }
+            }
+        }
+    },
+    "responses": {
+        "200": {
+            "body": {
+                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+                "name": "myToken",
+                "type": "Microsoft.ContainerRegistry/registries/tokens",
+                "properties": {
+                    "creationDate": "2017-03-01T23:14:37.0707808Z",
+                    "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
+                    "provisioningState": "Succeeded",
+                    "status": "enabled",
+                    "credentials": {
+                        "certificates": [
+                            {
+                                "name": "certificate1",
+                                "thumbprint":"feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7",
+                                "expiry":"2020-12-04T15:32:48.0707808Z"
+                            }
+                        ]
+                    }
+                }
+            }
+        },
+        "201": {
+            "body": {
+                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+                "name": "myToken",
+                "type": "Microsoft.ContainerRegistry/registries/tokens",
+                "properties": {
+                    "creationDate": "2017-03-01T23:14:37.0707808Z",
+                    "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
+                    "provisioningState": "Succeeded",
+                    "status": "enabled",
+                    "credentials": {
+                        "certificates": [
+                            {
+                                "name": "certificate1",
+                                "thumbprint":"feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7",
+                                "expiry":"2020-12-04T15:32:48.0707808Z"
+                            }
+                        ]
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/specification/containerregistry/resource-manager/readme.go.md b/specification/containerregistry/resource-manager/readme.go.md
index 6008e706debf..fe01b312389f 100644
--- a/specification/containerregistry/resource-manager/readme.go.md
+++ b/specification/containerregistry/resource-manager/readme.go.md
@@ -21,8 +21,16 @@ batch:
   - tag: package-2017-03
   - tag: package-2016-06-preview
 ```
+### Tag: package-2019-05-preview and go
 
-### Tag: package-2018-09 and go
+These settings apply only when `--tag=package-2019-05-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=<path to the root directory of your azure-sdk-for-go clone>`.
+
+``` yaml $(tag) == 'package-2019-05-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-05-01-preview/$(namespace)
+```
+
+### Tag: package-2019-04 and go
 
 These settings apply only when `--tag=package-2019-04 --go` is specified on the command line.
 Please also specify `--go-sdk-folder=<path to the root directory of your azure-sdk-for-go clone>`.
diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md
index af8ae1c8a573..5c997d882ab2 100644
--- a/specification/containerregistry/resource-manager/readme.md
+++ b/specification/containerregistry/resource-manager/readme.md
@@ -36,7 +36,6 @@ These settings apply only when `--tag=package-2019-05-preview` is specified on t
 ``` yaml $(tag) == 'package-2019-05-preview'
 input-file:
 - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json
-- Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
 - Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
 ```